Agent skill

Creating Claude Commands

by pr-pm in pr-pm/prpm

Expert guidance for creating Claude Code slash commands with correct frontmatter, structure, and best practices

MITAuto-check passedAgent Workflows

Install Creating Claude Commands

skills CLI
$ npx skills add pr-pm/prpm --skill creating-claude-commands -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install pr-pm/prpm creating-claude-commands --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/pr-pm/prpm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/creating-claude-commands .claude/skills/creating-claude-commands && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
creating-claude-commands
GitHub stars
122
Token cost
~3.9k tokens
SKILL.md length
658 words
Files
1
Skills in repo
35
Repo updated
First seen
Licence
MIT

At a glance

Expert guidance for creating Claude Code slash commands with correct frontmatter, structure, and best practices

  • Works in 6 steps: Keep Commands Focused → Use Clear Descriptions → Specify Tool Permissions → …
  • Tasks that involve Hooks and plugins
  • SKILL.md covers When to Use This Skill, Quick Reference, Special Features and File Location, plus 5 more sections
  • Calls git

What it does

Creating Claude Commands is an agent skill from pr-pm/prpm. Expert guidance for creating Claude Code slash commands with correct frontmatter, structure, and best practices

Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Hooks and plugins. It works with Bash. The repository describes itself as: The universal registry for AI coding tools. The licence is MIT.

When your agent uses it

  • Tasks that involve Hooks and plugins

Example prompts

  • “/creating-claude-commands”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Keep Commands Focused
  2. Use Clear Descriptions
  3. Specify Tool Permissions
  4. Document Expected Arguments
  5. Include Usage Examples
  6. Specify Output Format

What it can do on your machine

Read from SKILL.md and the folder at commit 5f993e6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.claude.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Creating Claude Commands loads about 3.9k tokens when it runs. Until then it costs about 34 tokens; SKILL.md has 658 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~34
When it runs · the whole SKILL.md, loaded when a task matches
~3.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from pr-pm/prpm at commit 5f993e6, republished under its MIT licence (© pr-pm). 658 words, ~3,902 tokens.

Download SKILL.mdSave it as .claude/skills/creating-claude-commands/SKILL.md (or your agent's skills folder).
name
creating-claude-commands
description
Expert guidance for creating Claude Code slash commands with correct frontmatter, structure, and best practices

Creating Claude Code Slash Commands

Expert guidance for creating Claude Code slash commands - quick actions triggered by /command-name.

When to Use This Skill

Activate this skill when:

  • User wants to create a new slash command
  • User needs to understand slash command structure
  • User asks about frontmatter fields for commands
  • User wants validation guidance for commands
  • User needs examples of command patterns

Quick Reference

FieldRequiredTypeDescription
descriptionNostringBrief description shown in autocomplete
allowed-toolsNostringComma-separated list of tools (inherits if not specified)
argument-hintNostringExpected arguments (e.g., add [tagId] | remove [tagId] | list)
modelNostringSpecific model (sonnet, opus, haiku, inherit)
disable-model-invocationNobooleanPrevent SlashCommand tool from calling this
commandTypeNostringSet to "slash-command" for round-trip conversion

Special Features

File Referencing with @

Reference files directly in command prompts using @ prefix:

markdown
Review the implementation in @src/utils/helpers.js
Compare @src/old-version.js with @src/new-version.js
Bash Execution with !

Execute bash commands inline using ! prefix (requires Bash in allowed-tools):

markdown
---
allowed-tools: Bash(git *)
---

Current git status: !`git status`
Last 5 commits: !`git log --oneline -5`
Arguments
  • $ARGUMENTS - All arguments passed to command
  • $1, $2, $3... $9 - Individual positional arguments
Namespacing
  • Use subdirectories in .claude/commands/ to organize commands
  • Commands appear as /subdirectory.command-name
  • Example: .claude/commands/git/quick-commit.md → /git.quick-commit

File Location

Slash commands must be saved as Markdown files:

Project commands (shared with team):

.claude/commands/command-name.md

Personal commands (individual use):

~/.claude/commands/command-name.md

Format Requirements

Basic Structure
markdown
---
description: Generate documentation for code
allowed-tools: Read, Edit
model: sonnet
---

# 📝 Documentation Generator

Generate comprehensive documentation for the selected code.

## Instructions

- Analyze code structure and purpose
- Generate clear, concise documentation
- Include parameter descriptions
- Add usage examples
- Follow JSDoc/TSDoc format for TypeScript
With Arguments
markdown
---
description: Manage tags for files
argument-hint: add [tagId] | remove [tagId] | list
allowed-tools: Read, Write
---

# Tag Manager

Manage tags for project files.

## Usage

- `/tags add <tagId>` - Add a tag (use $1 for tagId)
- `/tags remove <tagId>` - Remove a tag (use $1 for tagId)
- `/tags list` - List all tags

## Implementation

Action: $1
Tag ID: $2
All arguments: $ARGUMENTS
With File References
markdown
---
description: Compare two files and suggest improvements
allowed-tools: Read, Edit
argument-hint: <file1> <file2>
---

# File Comparator

Compare @$1 with @$2 and identify:
- Differences in approach
- Which implementation is better
- Suggested improvements
With Bash Execution
markdown
---
description: Create commit with git status context
argument-hint: <commit-message>
allowed-tools: Bash(git *)
---

# Smart Git Commit

## Current Status
!`git status --short`

## Recent Changes
!`git diff --stat`

Create a commit with message: $ARGUMENTS

Ensure the commit message follows conventional commit format.
Minimal Command
markdown
---
description: Quick code review
---

Review the current file for:
- Code quality issues
- Security vulnerabilities
- Performance bottlenecks
- Best practice violations

Frontmatter Fields

description (optional)

Brief description of what the command does. Shown in autocomplete. Defaults to first line from prompt if not specified.

yaml
---
description: Generate comprehensive documentation for selected code
---
allowed-tools (optional)

Comma-separated string of tools the command can use. Inherits from conversation if not specified.

Valid tools: Read, Write, Edit, Grep, Glob, Bash, WebSearch, WebFetch, Task, Skill, SlashCommand, TodoWrite, AskUserQuestion

yaml
---
allowed-tools: Read, Edit, Grep
---

With Bash restrictions:

yaml
---
allowed-tools: Bash(git status:*), Bash(git diff:*), Read
---
argument-hint (optional)

Expected arguments for the command. Shown when auto-completing.

yaml
---
argument-hint: [file-path]
---
yaml
---
argument-hint: add [tagId] | remove [tagId] | list
---
model (optional)

Specific model to use for this command. Inherits from conversation if not specified.

Valid values:

  • sonnet - General purpose (Claude Sonnet 3.5)
  • haiku - Fast, simple tasks (Claude Haiku 3.5)
  • opus - Complex reasoning (Claude Opus 4)
  • inherit - Use conversation model (default)
yaml
---
model: sonnet
---
disable-model-invocation (optional)

Set to true to prevent Claude from automatically invoking this command via the SlashCommand tool.

yaml
---
disable-model-invocation: true
---
commandType (optional)

Set to "slash-command" for explicit type preservation in round-trip conversion (PRPM extension).

yaml
---
commandType: slash-command
---

Content Format

The content after frontmatter contains the command prompt and instructions.

H1 Title (optional)

Can include emoji icon for visual identification:

markdown
# 📝 Documentation Generator
markdown
# 🔍 Code Reviewer
Instructions

Clear, actionable guidance for what the command should do:

markdown
## Instructions

- Analyze code structure and purpose
- Generate clear, concise documentation
- Include parameter descriptions
- Add usage examples
Output Format

Specify expected output format:

markdown
## Output Format

Return formatted documentation ready to paste above the code:

/**
 * Function description
 * @param {string} name - Parameter description
 * @returns {Promise<User>} Return value description
 */
Examples

Show Claude what good output looks like:

markdown
## Example Output

```typescript
/**
 * Creates a new user with the provided data
 * @param {UserData} userData - User information (email, name)
 * @returns {Promise<User>} Created user with ID
 * @throws {ValidationError} If email format is invalid
 */
async function createUser(userData: UserData): Promise<User> {
  // ...
}

## Schema Validation

Commands are validated against the JSON Schema:

**Schema Location:** https://github.com/pr-pm/prpm/blob/main/packages/converters/schemas/claude-slash-command.schema.json

**Required structure:**
```json
{
  "frontmatter": {
    "description": "string (optional)",
    "allowed-tools": "string (optional)",
    "argument-hint": "string (optional)",
    "model": "string (optional)",
    "disable-model-invocation": "boolean (optional)",
    "commandType": "slash-command (optional)"
  },
  "content": "string (markdown content)"
}
Show full SKILL.md (261 more words)Show less

Common Mistakes

MistakeProblemSolution
Using array for toolsallowed-tools: [Read, Write]Use string: allowed-tools: Read, Write
Wrong field namestools:, arguments:Use allowed-tools, argument-hint
Missing frontmatter delimitersFrontmatter not parsedUse --- before and after YAML
Invalid tool namesbash, grep (lowercase)Use capitalized: Bash, Grep
Invalid model values3.5-sonnet, claude-opusUse: sonnet, opus, haiku, inherit
Icons in frontmattericon: 📝Put icon in H1: # 📝 Title
No descriptionAutocomplete shows filenameAdd description field

Best Practices

1. Keep Commands Focused

Each command should do ONE thing well:

Good:

markdown
---
description: Generate JSDoc comments for functions
---

Bad:

markdown
---
description: Generate docs, fix linting, add tests, refactor code
---
2. Use Clear Descriptions

Make descriptions specific and actionable:

Good:

yaml
description: Generate comprehensive JSDoc documentation for selected code

Bad:

yaml
description: Make docs
3. Specify Tool Permissions

Only request tools actually needed:

Good:

yaml
allowed-tools: Read, Edit

Bad:

yaml
allowed-tools: Read, Write, Edit, Grep, Glob, Bash, WebSearch
4. Document Expected Arguments

Use argument-hint to show expected arguments:

yaml
argument-hint: [file-path]
yaml
argument-hint: <feature-name>
yaml
argument-hint: add [item] | remove [item] | list
5. Include Usage Examples

Show users how to invoke the command:

markdown
## Usage

- `/generate-docs path/to/file.ts` - Generate docs for specific file
- `/generate-docs` - Generate docs for current selection
6. Specify Output Format

Tell Claude what format you want:

markdown
## Output Format

Generate TypeScript interfaces with JSDoc comments:

```typescript
/**
 * User account information
 */
interface User {
  /** Unique identifier */
  id: string;
  /** User email address */
  email: string;
}

### 7. Add Examples to Prompt

Show Claude examples of good output:

```markdown
## Example

Good documentation:

```typescript
/**
 * Calculates total price with tax
 * @param price - Base price before tax
 * @param taxRate - Tax rate as decimal (e.g., 0.08 for 8%)
 * @returns Total price including tax
 */
function calculateTotal(price: number, taxRate: number): number {
  return price * (1 + taxRate);
}

### 8. Use Icons for Visual Identification

Add emoji to H1 heading for quick recognition:

```markdown
# 📝 Documentation Generator
# 🔍 Code Reviewer
# 🧪 Test Generator
# 🔧 Refactoring Assistant
# 🐛 Bug Finder
Namespaced Commands

Organize related commands using subdirectories:

File: .claude/commands/git/status.md

markdown
---
description: Show enhanced git status
allowed-tools: Bash(git *)
---

# Git Status

!`git status`

Branch: !`git branch --show-current`
Recent commits: !`git log --oneline -3`

Invoke with: /git.status

File: .claude/commands/git/quick-commit.md

markdown
---
description: Quick commit with conventional format
argument-hint: <type> <message>
allowed-tools: Bash(git *)
---

# Quick Commit

Create conventional commit: $1($2): $ARGUMENTS

!`git add -A && git commit -m "$1: $ARGUMENTS"`

Invoke with: /git.quick-commit feat "add user auth"

Common Patterns

Code Review Command
markdown
---
description: Review code for quality, security, and performance issues
allowed-tools: Read, Grep
---

# 🔍 Code Reviewer

Review the selected code or current file for:

## Code Quality
- Clean, readable code
- Proper naming conventions
- DRY principle adherence
- SOLID principles

## Security
- Input validation
- SQL injection risks
- XSS vulnerabilities
- Authentication/authorization

## Performance
- Inefficient algorithms
- Unnecessary computations
- Memory leaks
- Database query optimization

## Output Format

Provide specific file:line references for all issues:

**[Issue Type]** (file.ts:42) - Issue description and suggested fix
Documentation Generator
markdown
---
description: Generate comprehensive documentation for selected code
allowed-tools: Read, Edit
model: sonnet
---

# 📝 Documentation Generator

Generate comprehensive documentation for the selected code.

## Instructions

- Analyze code structure and purpose
- Generate clear, concise documentation
- Include parameter descriptions with types
- Add usage examples
- Follow JSDoc/TSDoc format for TypeScript
- Document error conditions and edge cases

## Output Format

Return formatted documentation ready to paste above the code.

For TypeScript/JavaScript:
```typescript
/**
 * Function description
 * @param {Type} paramName - Parameter description
 * @returns {ReturnType} Return value description
 * @throws {ErrorType} Error conditions
 */

### Test Generator

```markdown
---
description: Generate test cases for selected code
allowed-tools: Read, Write
---

# 🧪 Test Generator

Generate comprehensive test cases for the selected code.

## Test Coverage

Create tests covering:
- Happy path scenarios
- Edge cases
- Error conditions
- Boundary values
- Invalid input handling

## Structure

Follow the project's testing conventions:
- Use existing test framework (Jest, Mocha, etc.)
- Match naming patterns
- Follow setup/teardown patterns
- Use appropriate matchers

## Example

```typescript
describe('calculateTotal', () => {
  it('should calculate total with valid inputs', () => {
    const result = calculateTotal(100, 0.08);
    expect(result).toBe(108);
  });

  it('should handle zero tax rate', () => {
    const result = calculateTotal(100, 0);
    expect(result).toBe(100);
  });

  it('should throw for negative price', () => {
    expect(() => calculateTotal(-100, 0.08)).toThrow();
  });
});

### Git Workflow Command

```markdown
---
description: Create and push feature branch
argument-hint: <feature-name>
allowed-tools: Bash(git *)
---

# 🌿 Feature Branch Creator

Create and push a new feature branch.

## Process

1. Create branch: `feature/$1`
2. Switch to new branch
3. Push to origin with upstream tracking

## Usage

```bash
/feature user-authentication
/feature api-optimization

Implementation

bash
git checkout -b feature/$1
git push -u origin feature/$1

### Refactoring Command

```markdown
---
description: Refactor code while preserving behavior
allowed-tools: Read, Edit, Bash
---

# 🔧 Refactoring Assistant

Refactor the selected code while maintaining functionality.

## Guidelines

- Preserve existing behavior exactly
- Improve code structure and readability
- Extract reusable functions
- Reduce complexity
- Follow project conventions
- Update related tests

## Process

1. Read and understand current implementation
2. Identify refactoring opportunities
3. Propose changes with explanations
4. Update code with improvements
5. Verify tests still pass
6. Update documentation if needed

## Safety

- Run tests after refactoring
- Commit changes incrementally
- Keep changes focused and atomic

Validation Checklist

Before finalizing a slash command:

  • Command name is clear and concise
  • Description is specific and actionable
  • Argument hints provided if arguments expected
  • Tool permissions are minimal and specific
  • Model selection appropriate for task complexity
  • Frontmatter uses correct field names
  • Frontmatter values match allowed types
  • allowed-tools is comma-separated string, not array
  • H1 title includes icon (optional but recommended)
  • Instructions are clear and actionable
  • Expected output format is specified
  • Examples included in prompt
  • File saved to .claude/commands/*.md
  • Command tested and working

© pr-pm, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/creating-claude-commands of pr-pm/prpm.

Open the folder on GitHubat commit 5f993e6

Compare with similar skills

Creating Claude Commands next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Creating Claude Commands compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Creating Claude Commands this skillpr-pm/prpm122—~3.9kAutomated safety check: PassMIT
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official38k10 repos~4.1kAutomated safety check: NotesApache-2.0
Plugin Settings Patternanthropics/claude-plugins-official38k7 repos~3kAutomated safety check: PassApache-2.0
Crush Configurationcharmbracelet/crush29k—~3.7kAutomated safety check: PassCustom licence
Verify Setup Health Checkdiet103/claude-code-infrastructure-showcase10k—~363Automated safety check: PassMIT
Claude SmartReflexioAI/claude-smart783—~439Automated safety check: PassApache-2.0

Similar skills

  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 10 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Plugin Settings Pattern

    anthropics/claude-plugins-official

    Official

    Shows how Claude Code plugins keep per-project settings and state in .claude/plugin-name.local.md files with YAML frontmatter and a markdown body.

    38k GitHub starsUsed in 7 repos~3k tokens
    Agent WorkflowsAuto-check passed
  • Crush Configuration

    charmbracelet/crush

    Explains how to configure the Crush coding agent with crushrc or crush.json, covering providers, models, LSPs, MCP servers, hooks, permissions and config precedence.

    29k GitHub stars~3.7k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Verify Setup Health Check

    diet103/claude-code-infrastructure-showcase

    Run the infrastructure health check and fix anything that fails

    10k GitHub stars~363 tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check passed
  • Claude Smart

    ReflexioAI/claude-smart

    Codex-only — use when the user asks to run claude-smart commands in Codex, including claude-smart show, learn, restart, dashboard, clear-all, or slash-like requests such as /claude-smart:learn.

    783 GitHub stars~439 tokensUpdated 3 days ago
    Agent WorkflowsAuto-check passed
  • Hook Creator

    greatSumini/cc-system

    Create and configure Claude Code hooks for customizing agent behavior.

    438 GitHub stars~662 tokensUpdated 4 mo ago
    Agent WorkflowsAuto-check: notes

More from pr-pm/prpm

All 35 skills in this repo
  • Reference for writing Claude Code agent files: location, frontmatter fields, validation limits, tool and model choices, and the required content format.

    122 GitHub starsUsed in 2 repos~4k tokens
    Auto-check passed
  • Covers how to build, configure and publish Claude Code hooks: event types, exit codes, JSON I/O, and PRPM packaging.

    122 GitHub starsUsed in 2 repos~3.9k tokens
    Auto-check: notes
  • Shows how to write .claude/rules/ files correctly: paths frontmatter instead of globs, quoted glob patterns, global rules and conversion of Cursor rules.

    122 GitHub starsUsed in 2 repos~551 tokens
    Auto-check passed
  • Reference for writing portable Agent Skills packages, covering SKILL.md frontmatter limits, name rules, directory layout and where Codex CLI, GitHub Copilot and Amp look for skills.

    122 GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • A skill your agent uses when implementing Stripe webhook endpoints and getting 'Raw body not available' or signature verification errors - provides raw body parsing solutions and subscription period…

    122 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Guides writing an agents.md project-context file: plain markdown with no frontmatter, focused on what an AI coding assistant cannot already know.

    122 GitHub stars~2k tokensUpdated 2 days ago
    Auto-check passed

Works with

Categories

Questions about Creating Claude Commands

What does Creating Claude Commands do?

Expert guidance for creating Claude Code slash commands with correct frontmatter, structure, and best practices. Creating Claude Commands is an agent skill from pr-pm/prpm.

When should I use Creating Claude Commands?

Creating Claude Commands fits situations like: tasks that involve Hooks and plugins.

How do I install Creating Claude Commands in Claude Code?

Run `npx skills add pr-pm/prpm --skill creating-claude-commands -a claude-code`. Or copy the skill folder (.claude/skills/creating-claude-commands in pr-pm/prpm) into .claude/skills/creating-claude-commands in your project. Claude Code loads it when a task matches its description.

How do I install Creating Claude Commands in Codex?

Run `npx skills add pr-pm/prpm --skill creating-claude-commands -a codex`. Or copy the skill folder (.claude/skills/creating-claude-commands in pr-pm/prpm) into .agents/skills/creating-claude-commands in your project. Codex loads it when a task matches its description.

Can I use Creating Claude Commands in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pr-pm/prpm --skill creating-claude-commands -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/creating-claude-commands, .gemini/skills/creating-claude-commands, .github/skills/creating-claude-commands and .opencode/skills/creating-claude-commands in your project.

What does Creating Claude Commands need to run?

Going by SKILL.md and its folder, Creating Claude Commands needs the command-line tools its instructions call (git).

Does Creating Claude Commands access the network?

SKILL.md names 1 domain. As links in the text: docs.claude.com. This is read from the text; nothing was executed.

Is Creating Claude Commands safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Creating Claude Commands use?

Creating Claude Commands is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Creating Claude Commands use?

About 3.9k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Creating Claude Commands?

Skills that share tags, products or a category with Creating Claude Commands: Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Plugin Settings Pattern (anthropics/claude-plugins-official, 38k stars), Crush Configuration (charmbracelet/crush, 29k stars) and Verify Setup Health Check (diet103/claude-code-infrastructure-showcase, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Creating Claude Commands?

pr-pm (a GitHub organization) maintains it in pr-pm/prpm, which has 122 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 6, 2026.

Source: pr-pm/prpm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.