Borrowing it
Nothing to install: this file belongs to mort-lab/excel-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/mort-lab/excel-mcp/main/.claude/commands/rapid-development/experimental/prp-analyze-run.mdgit clone --depth 1 https://github.com/mort-lab/excel-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/mort-lab/excel-mcp/prp-analyze-run)<a href="https://agentmods.dev/commands/mort-lab/excel-mcp/prp-analyze-run"><img src="https://agentmods.dev/badge/commands/mort-lab/excel-mcp/prp-analyze-run.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.04843 |
| Opus 5 | $0.00000 | $0.02422 |
| Sonnet 5 | $0.00000 | $0.00969 |
| Haiku 4.5 | $0.00000 | $0.00484 |
Grade A, and why
prp-analyze-run scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
git_files = subprocess.check_output(['git', 'log', '--name-only', '--pretty=format:', '--since=2 hours ago']).decode().strip().split('\n') How it starts
The opening of the file, as written. The whole thing — 651 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Analyze PRP Results
PRP File: $ARGUMENTS
Post-execution analysis of a PRP implementation to capture lessons learned, success metrics, and template improvements.
Analysis Process
-
Execution Metrics Collection
- Measure actual vs estimated token usage
- Track implementation time and iterations
- Document test failures and fixes
- Analyze code quality metrics
-
Success Pattern Analysis
- Identify what worked well
- Extract reusable patterns
- Document effective context elements
- Capture successful validation strategies
-
Failure Pattern Learning
- Document encountered issues
- Analyze root causes
- Create prevention strategies
- Update known gotchas database
-
Template Improvement Recommendations
- Identify context gaps
- Suggest validation enhancements
- Recommend documentation updates
- Propose new anti-patterns
-
Knowledge Base Updates
- Add new failure patterns to database
- Update success metrics
- Enhance similar feature detection
- Improve confidence scoring
Analysis Framework
Metrics Collection
# Collect implementation metrics
echo "Collecting execution metrics..."
# Get git statistics
COMMITS_DURING_IMPL=$(git rev-list --count HEAD --since="2 hours ago")
FILES_CHANGED=$(git diff --name-only HEAD~$COMMITS_DURING_IMPL HEAD | wc -l)
LINES_ADDED=$(git diff --shortstat HEAD~$COMMITS_DURING_IMPL HEAD | grep -o '[0-9]* insertion' | grep -o '[0-9]*' || echo 0)
LINES_DELETED=$(git diff --shortstat HEAD~$COMMITS_DURING_IMPL HEAD | grep -o '[0-9]* deletion' | grep -o '[0-9]*' || echo 0)
# Get test results
TEST_RESULTS=$(pytest tests/ --tb=no -q 2>&1 | tail -n 1)
TEST_COUNT=$(echo "$TEST_RESULTS" | grep -o '[0-9]* passed' | grep -o '[0-9]*' || echo 0)
TEST_FAILURES=$(echo "$TEST_RESULTS" | grep -o '[0-9]* failed' | grep -o '[0-9]*' || echo 0)
# Get code quality metrics
RUFF_ISSUES=$(ruff check . 2>&1 | grep -c "error\|warning" || echo 0)
MYPY_ERRORS=$(mypy . 2>&1 | grep -c "error:" || echo 0)
echo "📊 Implementation Metrics:"
echo "- Commits: $COMMITS_DURING_IMPL"
echo "- Files changed: $FILES_CHANGED"
echo "- Lines added: $LINES_ADDED"
echo "- Lines deleted: $LINES_DELETED"
echo "- Tests passing: $TEST_COUNT"
echo "- Tests failing: $TEST_FAILURES"
echo "- Ruff issues: $RUFF_ISSUES"
echo "- MyPy errors: $MYPY_ERRORS"
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 651 lines · 0 tokens per session scan A da8b7f373153
prp-analyze-run is a command published in the GitHub repository mort-lab/excel-mcp (5 stars, last pushed 1mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 4,843 tokens. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
review-epo-claims
Analyze patent claims for EPO Art. 84 EPC compliance - clarity, conciseness, support by description.
ingest-dev
Ingest a URL, directory, or file into your knowledge base. remember = a specific durable fact, ingest = a URL, learn = a distilled lesson that gets retrieval preference.
quarry
Manage your quarry knowledge base.
remember-dev
Remember inline text content in your knowledge base. remember = a specific durable fact, ingest = a URL, learn = a distilled lesson that gets retrieval preference.
resume
Auto-detect and resume any interrupted Plan Cascade task. Detects mega-plan, hybrid-worktree, or hybrid-auto context and routes to the appropriate resume command.
scout
Scout vetted GitHub candidates for a thin shelf (or a stale entry's successor), deduped against the library, ending in /add-entry offers.