Agent skill

Testing Prpm CLI

by pr-pm in pr-pm/prpm

A skill your agent uses when testing PRPM CLI commands locally - provides build, environment setup, execution workflow, contract testing to verify documented behavior matches implementation, and…

MITAuto-check passedTesting & QA

Install Testing Prpm CLI

skills CLI
$ npx skills add pr-pm/prpm --skill testing-prpm-cli -a claude-code

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

GitHub CLI
$ gh skill install pr-pm/prpm testing-prpm-cli --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/testing-prpm-cli .claude/skills/testing-prpm-cli && 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
testing-prpm-cli
GitHub stars
122
Token cost
~3.1k tokens
SKILL.md length
759 words
Files
1
Skills in repo
35
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when testing PRPM CLI commands locally - provides build, environment setup, execution workflow, contract testing to verify documented behavior matches implementation, and…

  • Works in 4 steps: Build the CLI (Required First Step) → Start Local Registry → Configure Local Registry → …
  • Testing PRPM CLI commands locally - provides build
  • SKILL.md covers Overview, When to Use, Quick Reference and Workflow, plus 5 more sections
  • Calls node and npm

What it does

Testing Prpm CLI is an agent skill from pr-pm/prpm. Use when testing PRPM CLI commands locally - provides build, environment setup, execution workflow, contract testing to verify documented behavior matches implementation, and comprehensive cross-format conversion testing against local registry

Its SKILL.md is about 3.1k 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 Testing & QA, covering Integration testing. It works with npm. The repository describes itself as: The universal registry for AI coding tools. The licence is MIT.

When your agent uses it

  • Testing PRPM CLI commands locally - provides build
  • Environment setup
  • Execution workflow
  • Contract testing to verify documented behavior matches implementation

Example prompts

  • “/testing-prpm-cli”

Workflow steps

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

  1. Build the CLI (Required First Step)
  2. Start Local Registry
  3. Configure Local Registry
  4. Run CLI Commands

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:

    • node
    • npm

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

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    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

Testing Prpm CLI loads about 3.1k tokens when it runs. Until then it costs about 65 tokens; SKILL.md has 759 words of instructions outside code blocks.

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

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). 759 words, ~3,065 tokens.

Download SKILL.mdSave it as .claude/skills/testing-prpm-cli/SKILL.md (or your agent's skills folder).
name
testing-prpm-cli
description
Use when testing PRPM CLI commands locally - provides build, environment setup, execution workflow, contract testing to verify documented behavior matches implementation, and comprehensive cross-format conversion testing against local registry

Testing PRPM CLI

Overview

Test PRPM CLI commands against a local registry by building the package, setting the registry URL, and invoking the CLI directly. Includes comprehensive cross-format conversion testing patterns and contract testing to verify documented behavior matches implementation.

When to Use

  • Testing new CLI commands or features
  • Debugging CLI behavior
  • Verifying CLI changes before committing
  • Testing against local registry data
  • Validating cross-format conversions
  • Testing new format converters
  • Contract testing: verifying documented behavior matches implementation

Quick Reference

StepCommand
Build CLInpm run build --workspace=packages/cli
Start local registrynpm run dev --workspace=packages/registry
Set local registryexport PRPM_REGISTRY_URL=http://127.0.0.1:3111
Run CLI directlynode /Users/khaliqgant/Projects/prpm/app/packages/cli/dist/index.js <command>
Run via npm linkprpm <command> (after linking)

Workflow

1. Build the CLI (Required First Step)

Always rebuild before testing to ensure you're testing current code:

bash
npm run build --workspace=packages/cli
2. Start Local Registry

Start the registry server in background:

bash
npm run dev --workspace=packages/registry &
sleep 3
lsof -i :3111  # Verify it's running
3. Configure Local Registry

Point CLI to local registry instead of production:

bash
export PRPM_REGISTRY_URL=http://127.0.0.1:3111

Verify it's set:

bash
echo $PRPM_REGISTRY_URL
4. Run CLI Commands

Option A: Direct invocation (recommended for testing)

bash
node /Users/khaliqgant/Projects/prpm/app/packages/cli/dist/index.js search typescript
node /Users/khaliqgant/Projects/prpm/app/packages/cli/dist/index.js install some-package

Option B: npm link (for interactive testing)

bash
cd packages/cli
npm link
prpm search typescript

Comprehensive Conversion Testing

Use Self-Improving Skill to Find Test Packages

Before testing conversions, use the self-improving skill to download a diverse set of packages:

bash
# Search for packages of different types
node $CLI search "claude" --limit 10
node $CLI search "cursor" --limit 10
node $CLI search "agent" --limit 10
node $CLI search "skill" --limit 10
Create Test Directory and Install Diverse Packages
bash
mkdir -p /tmp/prpm-conversion-tests
cd /tmp/prpm-conversion-tests
export PRPM_REGISTRY_URL=http://127.0.0.1:3111
CLI="/Users/khaliqgant/Projects/prpm/app/packages/cli/dist/index.js"

# Install packages of different subtypes
node $CLI install @prpm/agent-builder-skill --as claude      # Skill
node $CLI install @prpm/creating-cursor-rules --as cursor    # Cursor Rule
node $CLI install @camoneart/context-engineering-agent --as claude  # Agent
Supported Formats (CLI_SUPPORTED_FORMATS)

Test conversions across ALL supported formats:

FormatDescription
cursorCursor IDE rules (.mdc)
claudeClaude Code (skills, agents, commands)
windsurfWindsurf rules
continueContinue rules
copilotGitHub Copilot instructions
kiroKiro steering files
agents.mdAgents.md format
geminiGemini CLI extensions
rulerRuler format
zedZed editor extensions
opencodeOpenCode rules
aiderAider conventions
traeTrae rules
replitReplit agent rules
zencoderZenCoder rules
droidFactory/Droid rules
Conversion Test Matrix

Run comprehensive conversion tests:

bash
cd /tmp/prpm-conversion-tests
mkdir -p /tmp/conversions
CLI="/Users/khaliqgant/Projects/prpm/app/packages/cli/dist/index.js"

# Claude Skill → All formats
for format in cursor windsurf kiro gemini zed continue copilot opencode aider trae replit zencoder droid; do
  node $CLI convert .claude/skills/*/SKILL.md --to $format -o /tmp/conversions/skill-to-$format.md 2>&1
done

# Cursor Rule → Multiple formats
for format in claude windsurf gemini zed; do
  node $CLI convert .cursor/rules/*.mdc --to $format -o /tmp/conversions/cursor-to-$format.md 2>&1
done

# Claude Agent → Multiple formats
for format in cursor gemini windsurf; do
  node $CLI convert .claude/agents/*.md --to $format -o /tmp/conversions/agent-to-$format.md 2>&1
done
Round-Trip Testing

Verify content preservation through round-trip conversions:

bash
# Claude → Cursor → Claude
node $CLI convert .claude/skills/*/SKILL.md --to cursor -o /tmp/conversions/step1-cursor.mdc
node $CLI convert /tmp/conversions/step1-cursor.mdc --to claude -o /tmp/conversions/step2-claude.md

# Compare file sizes (expect some reduction but not dramatic)
wc -c .claude/skills/*/SKILL.md /tmp/conversions/step1-cursor.mdc /tmp/conversions/step2-claude.md
Validation Checklist

For each conversion, verify:

  • Command succeeds - Exit code 0, no errors
  • Output file created - File exists at specified path
  • Content preserved - Core markdown structure intact
  • Format-specific frontmatter - Correct fields for target format
  • File size reasonable - Not truncated (compare with source)
Expected File Sizes
Conversion TypeExpected Size Ratio
Claude → Cursor~95-100%
Claude → Windsurf~95-100%
Claude → Gemini~95-100%
Claude → OpenCodeMay be smaller (format limits)
Claude → DroidMay be smaller (format limits)
Round-trip~50-70% (metadata loss expected)
Test Report Template

Document results in this format:

markdown
## Conversion Test Report

### Test Setup
- Registry: Local (port 3111)
- Test packages: [list installed packages]

### Results

| Source | Target | Status | Output Size |
|--------|--------|--------|-------------|
| Claude Skill | Gemini | Pass/Fail | X bytes |
| ... | ... | ... | ... |

### Observations
- [Note any issues, truncations, or unexpected behavior]

Contract Testing (CRITICAL)

Contract testing ensures documented behavior matches implementation. This is the most important type of testing for features with configurable behavior.

Why Contract Testing Matters

The eager/lazy loading bug is a case study: documentation described a precedence chain (CLI > file > package > default), but implementation only handled CLI flags. Tests passed because they only tested the CLI flag path. Contract testing would have caught this.

Show full SKILL.md (319 more words)Show less
Contract Testing Principles
  1. Test EVERY documented behavior path, not just the happy path
  2. Test precedence chains completely - if docs say "A > B > C > default", test all 4 cases
  3. Test behavior WITHOUT flags - verify defaults and configuration-driven behavior
  4. Test WITH and WITHOUT explicit settings - don't assume flag presence
Contract Testing Checklist

For ANY feature with documented behavior:

  • Read the documentation first - what does it claim to do?
  • List all behavior paths - every if/else/default mentioned
  • Create test for each path - one test per documented behavior
  • Test WITHOUT user flags - verify package/config defaults work
  • Test precedence - verify higher-priority overrides lower
  • Verify error messages match - documented errors should occur
Example: Eager/Lazy Loading Contract Tests

Documentation states: "Precedence: CLI flag > package-level > default (lazy)"

Required tests:

bash
# Setup test directory
mkdir -p /tmp/prpm-contract-tests
cd /tmp/prpm-contract-tests
export PRPM_REGISTRY_URL=http://127.0.0.1:3111
CLI="/Users/khaliqgant/Projects/prpm/app/packages/cli/dist/index.js"

# Test 1: CLI --eager flag (highest priority)
rm -rf .openskills AGENTS.md
node $CLI install @prpm/some-skill --as agents.md --eager
# VERIFY: AGENTS.md contains activation="eager" or priority="0"
grep -q 'activation="eager"\|priority="0"' AGENTS.md && echo "PASS: CLI --eager works" || echo "FAIL: CLI --eager"

# Test 2: CLI --lazy flag overrides package eager
rm -rf .openskills AGENTS.md
# Install a package that has eager:true in prpm.json with --lazy flag
node $CLI install @prpm/eager-package --as agents.md --lazy
# VERIFY: Should be lazy despite package setting
grep -q 'activation="lazy"\|priority="1"' AGENTS.md && echo "PASS: CLI --lazy overrides" || echo "FAIL: CLI --lazy"

# Test 3: Package-level eager (NO CLI flag) - THIS IS THE BUG THAT WAS MISSED
rm -rf .openskills AGENTS.md
# Install a package that has eager:true in its prpm.json WITHOUT --eager flag
node $CLI install @prpm/eager-package --as agents.md
# VERIFY: Should be eager based on package setting
grep -q 'activation="eager"\|priority="0"' AGENTS.md && echo "PASS: Package eager works" || echo "FAIL: Package eager"

# Test 4: Default (lazy) when no flags and no package setting
rm -rf .openskills AGENTS.md
node $CLI install @prpm/normal-skill --as agents.md
# VERIFY: Should be lazy by default
grep -q 'activation="lazy"\|priority="1"' AGENTS.md && echo "PASS: Default lazy works" || echo "FAIL: Default"
Contract Test Template

For any new feature, create tests in this format:

markdown
## Contract Tests for [Feature Name]

### Documentation Claims:
1. [Claim 1 from docs]
2. [Claim 2 from docs]
3. [Precedence/default behavior from docs]

### Test Cases:

| # | Documented Behavior | Test Setup | Expected Result | Pass/Fail |
|---|--------------------|-----------| ----------------|-----------|
| 1 | [Claim 1] | [How to test] | [What to verify] | |
| 2 | [Claim 2] | [How to test] | [What to verify] | |
| 3 | Default behavior | [No flags/config] | [Default result] | |

### Results:
- All tests must pass before feature is considered complete
- Document any deviations between docs and implementation
Anti-Patterns to Avoid
Anti-PatternWhy It FailsCorrect Approach
Only testing with flagsMisses config/default pathsTest without flags first
Assuming documentation is implementationDocs may describe intent, not realityVerify each claim with test
Testing happy path onlyMisses precedence bugsTest all documented paths
Skipping default behavior testDefaults often brokenAlways test "no config" case
Not reading docs before testingMiss documented behaviorsRead docs, list claims, test each

Common Mistakes

MistakeSymptomFix
Forgetting to buildOld behavior, changes not reflectedRun npm run build --workspace=packages/cli
Missing registry envCommands hit production registrySet PRPM_REGISTRY_URL before running
Stale npm linkWrong version runningRe-run npm link after rebuilding
Local registry not runningConnection refused errorsStart registry: npm run dev --workspace=packages/registry
Testing single format onlyMiss format-specific bugsTest ALL formats in CLI_SUPPORTED_FORMATS
No round-trip testingMiss content loss bugsAlways verify round-trip preservation
No contract testingDocs ≠ implementationTest EVERY documented behavior
Only testing with CLI flagsMiss config/default bugsTest without flags to verify defaults

One-Liner Setup

bash
npm run build --workspace=packages/cli && export PRPM_REGISTRY_URL=http://127.0.0.1:3111

Then test commands:

bash
node packages/cli/dist/index.js --help

Unit Test Commands

Run converter unit tests:

bash
# All converter tests
npm run test --workspace=packages/converters

# Specific test files
npm run test --workspace=packages/converters -- --testPathPattern="file-references"
npm run test --workspace=packages/converters -- --testPathPattern="security"
npm run test --workspace=packages/converters -- --testPathPattern="cross-format"
npm run test --workspace=packages/converters -- --testPathPattern="zed"

© 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/testing-prpm-cli of pr-pm/prpm.

Open the folder on GitHubat commit 5f993e6

Compare with similar skills

Testing Prpm CLI 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.

Testing Prpm CLI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Testing Prpm CLI this skillpr-pm/prpm122—~3.1kAutomated safety check: PassMIT
OpenHarness End-to-End EvalsHKUDS/OpenHarness16k1 repos~2.1kAutomated safety check: NotesMIT
Interactive CLI Testing With tui-testslopus/happy24k—~603Automated safety check: PassMIT
Running TestsNangoHQ/nango13k—~876Automated safety check: PassCustom licence
Run Integration Testsmicrosoft/vscode-python-environments141—~1.1kAutomated safety check: PassMIT
E2E Testinglangflow-ai/langflow156k—~3.3kAutomated safety check: PassMIT

Similar skills

  • Validates OpenHarness features by running real multi-turn agent loops with live LLM calls against an unfamiliar codebase, checking actual tool execution.

    16k GitHub starsUsed in 1 repo~2.1k tokens
    Testing & QAAuto-check: notes
  • Tests interactive CLI and TUI programs with Microsoft's tui-test, driving prompts, arrow keys and screen output in a real pseudo-terminal.

    24k GitHub stars~603 tokensUpdated today
    Testing & QAAuto-check passed
  • Running Tests

    NangoHQ/nango

    A skill your agent uses when running tests in the Nango monorepo - knows unit vs integration configs, vitest commands, Docker setup, and common test patterns

    13k GitHub stars~876 tokensUpdated today
    Testing & QAAuto-check passed
  • Run Integration Tests

    microsoft/vscode-python-environments

    Official

    Run integration tests to verify that extension components work together correctly.

    141 GitHub stars~1.1k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • E2E Testing

    langflow-ai/langflow

    Write and review Playwright E2E tests for Langflow. An agent skill from langflow-ai/langflow.

    156k GitHub stars~3.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Test Writing Workflow

    iOfficeAI/AionUi

    Sets the test-writing workflow for the repository: risk-first scenario lists, behavior-focused Vitest tests, a full run before each commit and a coverage target.

    33k GitHub starsUsed in 1 repo~1.2k tokens
    Testing & QAAuto-check passed

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 3 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 building custom Kiro AI agents or when user asks for agent configurations - provides JSON structure, tool configuration, prompt patterns, and security best practices for…

    122 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • A skill your agent uses when creating OpenCode agents - provides markdown format with YAML frontmatter, mode/tools/permission configuration, and best practices for specialized AI assistants

    122 GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed

Works with

Categories

Questions about Testing Prpm CLI

What does Testing Prpm CLI do?

A skill your agent uses when testing PRPM CLI commands locally - provides build, environment setup, execution workflow, contract testing to verify documented behavior matches implementation, and…. Testing Prpm CLI is an agent skill from pr-pm/prpm.

When should I use Testing Prpm CLI?

Testing Prpm CLI fits situations like: testing PRPM CLI commands locally - provides build; environment setup; execution workflow; contract testing to verify documented behavior matches implementation.

How do I install Testing Prpm CLI in Claude Code?

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

How do I install Testing Prpm CLI in Codex?

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

Can I use Testing Prpm CLI 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 testing-prpm-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/testing-prpm-cli, .gemini/skills/testing-prpm-cli, .github/skills/testing-prpm-cli and .opencode/skills/testing-prpm-cli in your project.

What does Testing Prpm CLI need to run?

Going by SKILL.md and its folder, Testing Prpm CLI needs the command-line tools its instructions call (node and npm).

Does Testing Prpm CLI access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Testing Prpm CLI 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 Testing Prpm CLI use?

Testing Prpm CLI 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 Testing Prpm CLI use?

About 3.1k tokens (SKILL.md is roughly 12k 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 Testing Prpm CLI?

Skills that share tags, products or a category with Testing Prpm CLI: OpenHarness End-to-End Evals (HKUDS/OpenHarness, 16k stars), Interactive CLI Testing With tui-test (slopus/happy, 24k stars), Running Tests (NangoHQ/nango, 13k stars) and Run Integration Tests (microsoft/vscode-python-environments, 141 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Testing Prpm CLI?

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.