Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/christopherkahler/paul/progressgit clone --depth 1 https://github.com/ChristopherKahler/paulWhat 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 | $0.00014 | $0.01033 |
| Opus 5 | $0.00007 | $0.00517 |
| Sonnet 5 | $0.00003 | $0.00207 |
| Haiku 4.5 | $0.00001 | $0.00103 |
Grade A, and why
paul:progress scanned grade A with 0 findings 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 2d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
When to use:
- Mid-session check on progress
- After
/paul:resumefor more context - When unsure what to do next
- To get a tailored suggestion based on your current focus
<execution_context> </execution_context>
@.paul/STATE.md @.paul/ROADMAP.md
Also check .paul/config.md (if exists):
- Is
enterprise_plan_audit: enabled: true? - If plan is at "created, awaiting approval" stage: check if STATE.md mentions "audited"
- Store
audit_enabledandaudit_completedflags for routing
Milestone Progress:
- Phases complete: X of Y
- Current phase progress: Z%
Current Loop:
- Position: PLAN/APPLY/UNIFY
- Status: [what's happening]
User has given additional context about their current focus or constraint. Factor this into routing decision:
- "I need to fix a bug first" → prioritize that over planned work
- "I only have 30 minutes" → suggest smaller scope
- "I want to finish this phase" → stay on current path
- "I'm stuck on X" → suggest debug or research approach
If no argument: Use default routing based on state alone.
Default routing (no user context):
| Situation | Single Suggestion |
|---|---|
| No plan exists | /paul:plan |
| Plan awaiting approval (audit enabled, not yet audited) | /paul:audit [path] |
| Plan awaiting approval (audit complete or not enabled) | "Approve plan to proceed" |
| Plan approved, not executed | /paul:apply [path] |
| Applied, not unified | /paul:unify [path] |
| Loop complete, more phases | /paul:plan (next phase) |
| Milestone complete | "Create next milestone or ship" |
| Blockers present | "Address blocker: [specific]" |
| Context at DEEP/CRITICAL | /paul:pause |
With user context: Adjust suggestion to align with stated intent.
IMPORTANT: Suggest exactly ONE action. Not multiple options.
════════════════════════════════════════
PAUL PROGRESS
════════════════════════════════════════
Milestone: [name] - [X]% complete
├── Phase 1: [name] ████████████ Done
├── Phase 2: [name] ████████░░░░ 70%
├── Phase 3: [name] ░░░░░░░░░░░░ Pending
└── Phase 4: [name] ░░░░░░░░░░░░ Pending
Current Loop: Phase 2, Plan 02-03
┌─────────────────────────────────────┐
│ PLAN ──▶ APPLY ──▶ UNIFY │
│ ✓ ✓ ○ │
└─────────────────────────────────────┘
────────────────────────────────────────
▶ NEXT: /paul:unify .paul/phases/02-features/02-03-PLAN.md
Close the loop and update state.
────────────────────────────────────────
Type "yes" to proceed, or provide context for a different suggestion.
⚠️ Context Advisory: Session at [X]% capacity.
Recommended: /paul:pause before continuing.
<success_criteria>
- Overall progress displayed visually
- Current loop position shown
- Exactly ONE next action suggested (not multiple)
- User context considered if provided
- Context advisory shown if needed </success_criteria>
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.
- 2d ago First seen · 139 lines · 14 tokens per session scan A d1d6ca82e70c
paul:progress is a command published in the GitHub repository ChristopherKahler/paul (1,212 stars, last pushed 11d ago), licensed MIT. It adds 14 tokens to every session and 1,033 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
test
Smart test runner with filtering, coverage, and health monitoring.
safe-refactor
Safe refactoring with automated review, testing, and rollback capabilities.
security-review
Comprehensive security analysis with multi-layer vulnerability detection.
implement-spec
Implement specification with full traceability and test-driven development.
refactor
Interactive refactoring assistant based on Martin Fowler's refactoring catalog.
deploy_to_docker
Build Docker image and start/redeploy the MCP Task Orchestrator container, reusing the last-used config by default.