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 skills add srnichols/plan-forge --skill forge-troubleshootgit clone --depth 1 https://github.com/srnichols/plan-forgeWrote 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/skills/srnichols/plan-forge/forge-troubleshoot)<a href="https://agentmods.dev/skills/srnichols/plan-forge/forge-troubleshoot"><img src="https://agentmods.dev/badge/skills/srnichols/plan-forge/forge-troubleshoot.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.00044 | $0.01731 |
| Opus 5 | $0.00022 | $0.00865 |
| Sonnet 5 | $0.00009 | $0.00346 |
| Haiku 4.5 | $0.00004 | $0.00173 |
Grade A, and why
forge-troubleshoot 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 3d 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.
How it starts
The opening of the file, as written. The whole thing — 165 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Forge Troubleshoot Skill
Trigger
"My plan failed" / "Something went wrong" / "Forge isn't working" / "Fix my forge" / "Diagnose the error" / "Slice failed" / "MCP tools missing" / "Validation gate error"
Steps
1. Capture the Symptom
If the user provided an argument, use it as the starting hypothesis. Otherwise, ask:
- What happened? (plan failed, tool missing, gate error, stalled run)
- At which slice did it fail? (if applicable)
- What error message was shown? (if any)
Categorize the symptom into one of:
- Environment — missing tools, wrong Node version, MCP not connected
- Setup — missing files, unresolved placeholders, broken config
- Run Failure — slice failed a validation gate or threw an error
- Orchestrator — CLI worker not found, token limits, cost overrun
- Code Quality — TODOs/stubs preventing gate passage
2. Environment Scan
Use the forge_smith MCP tool to inspect the environment.
Look for:
- Missing required tools (git, Node 20+, gh CLI, pforge)
- VS Code Copilot agent mode not enabled
- MCP server not running or not connected
.forge.jsonmissing or malformed- Version mismatch (installed vs. required)
If critical failures found: Report each failure with its FIX recommendation before continuing.
3. Setup Validation
Use the forge_validate MCP tool to check that all required Plan Forge files are present and correctly configured.
Look for:
- Missing instruction files (
.github/instructions/) - Missing skill or agent files
- Unresolved
<YOUR PROJECT NAME>or<YOUR TECH STACK>placeholders AGENTS.mdorcopilot-instructions.mdnot generated
If setup failures found: Recommend re-running
pforge checkorsetup.ps1/setup.sh --force.
4. Run Status Check
Use the forge_plan_status MCP tool (no arguments) to retrieve the latest run report.
Look for:
- Which slice(s) failed
- The exact gate error or exception
- Whether the run was aborted or timed out
- Token usage and cost at the point of failure
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.
- 3d ago First seen · 165 lines · 44 tokens per session scan A 6bbfef5fde3c
forge-troubleshoot is a skill published in the GitHub repository srnichols/plan-forge (5 stars, last pushed 3d ago), licensed MIT. It adds 44 tokens to every session and 1,731 once invoked, about $0.0002 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-09-03.
Other skills, from other repositories
systemic-issue-triage
Trigger: new issue, bug report, triage, backlog, issue flood, community report, root cause, dead-end, blocked user. Attack issues by root class, never one-by-one; fixes must shrink the system, not grow it.
issue-root-resolution
Trigger: root audit, atacar la raíz, issue roots, backlog roots, mechanism map, deletion-driven fix, resolver issues de raíz, close outdated issues. Audit and resolve issue clusters by verified root cause.
rdd-defect-workflow
Trigger: RDD, receipt-driven development, review authority, receipt/lineage, correction/recovery, delivery gate/kill switch, bounded review defects. Guide work.
ring:searching-code
Forensic code search and analysis with optional Chain of Draft (CoD) ultra-concise mode. Five-phase methodology (clarification, planning, execution, analysis, synthesis) with severity assessment. Use for targeted investigation of specific patterns, bugs, or vulnerabilities. Skip for broad architecture mapping (use…
ring:using-assert
Using lib-observability/assert, Lerian's runtime assertion package, in two modes. Sweep Mode detects panic()/log.Fatal zero-panic violations, DIY invariant checks, hand-rolled domain predicates, and missing InitAssertionMetrics. Reference Mode catalogs the asserter lifecycle, domain predicates, observability trident…
ring:fixing-lint
Fixing lint to a clean state: runs the linter, groups reported issues into independent streams, and dispatches one parallel fixer agent per stream (ring:backend-go for Go, ring:general-purpose otherwise), iterating until clean. Use when a codebase has lint errors across multiple files. Skip for a single error (fix…