By ForgePlan
Flagship workflow plugin for the ForgePlan ecosystem. 40 engineering skills + dev-advisor agent + 5 hooks (+ smith greeting + insight watchdog). v1.49.0: NEW /forge-heal skill — PRD-074/RFC-020 brick 2 (Layer 4 heal-or-task): propose-not-silent 3-tier dispatch of findings onto PRD-032 AUTO/ADI/USER — AUTO auto-fixes ONLY 2 reversible kinds (phase_mismatch, complete stuck_draft) after a batch confirm + journal + one-call rollback (phase rollback via phase_advance --to prior, NOT undo_last); ADI reasons; USER writes a tracked NOTE-013 task + suggests the agent; never silent-mutates the tree. v1.48.0: NEW /forge-insight skill + insight-watchdog SessionStart hook — PRD-074/RFC-019 brick 1 self-aware integrity: filtered anomaly digest (silent when clean), accurate session counts from forgeplan truth (retires the stale-grep draft-count falsehood), NOTE-013 machine-findings ledger; plus a decay-reminder.sh stale --output/--kind flag fix (its ADR-trigger scan was silently no-opping). v1.46.0: NEW /conformance-vectors skill (SDD optional enrichment — ADR-008 / PRD-072 FR-006 / DEFER-012): the `## Conformance Vectors` convention (frozen language-neutral corpus = sole oracle) + a corpus-agnostic generic harness (freeze + conformance + cross-language equivalence gates, live negative-control-verified) + the proven 4-language semver reference promoted from sandbox (EVID-119) + a cross-language equivalence guardian-gate for multi-language SPECs. v1.45.0: /autorun RIPER methodology gate (DEFER-016 / RFC-018 FR-4) — a Row-4 (non-trivial production bug → RIPER, hook-gate=No) task makes the Plan→Execute transition human_required; autopilot HOLDS before the first Execute dispatch (unattended default = WAIT, not proceed) + checkpoint + CONCERNS EVIDENCE; closes the EVID-167 F1 / G8 autonomous-RIPER gap. v1.44.1: /riper FR-5 pin-hash basis clarified — hash the Research NOTE body content (sections, excluding mutable frontmatter), NOT the projection file (which false-stales on unrelated activation/link/score); + F2 note (the orchestrator records the Research NOTE; research-analyst is read-only Profile C) — DEFER-018 / EVID-172 F1+F2. v1.44.0: RIPER instance #4 (RFC-018 / ADR-010) — /riper formalized into the contract instance (C1-C6 + non-freezable Research C4+C6 + Plan-gate pin-freshness + per-mode hard constraints + hook-gate=No main-session orchestration), smith Row 4 reframe + disambiguator, /methodology-check Step 10 recognizes the Research ## Pinned revision C6; the ADR-012 internal codename is rendered hook-gate in all shipped artifacts. v1.43.0: smith routing-map Row 3 (new feature in existing service) reframed as the explicit SPARC instance — master-coordinated sparc-orchestrator dispatch + mandatory per-gate independent C4 + Pseudocode-absorption + Refinement→TDD delegation + SPARC/BMAD/TDD/Strangler disambiguator (RFC-016/ADR-010 instance #3). v1.42.0: smith routing-map Row 1 (greenfield) reframed as the explicit BMAD instance — master-coordinated agents-bmad dispatch + 3 mandatory C4 gates + BMAD/SPARC/TDD/Strangler disambiguator (RFC-013/ADR-010 instance #2). v1.41.1: smith routing-map adds a 'TDD-first feature' context row routing to the agents-tdd dispatch sequence (RFC-012/ADR-010). v1.41.0: /spec-author skill (ADR-008 light-path SDD; frozen #### Scenario = oracle) merged alongside the FR-3 ground-truth clause (PRs #130 + #131). v1.40.0: RFC-011 FR-3 ground-truth verification clause (generator≠verifier) — AGENT-AUTHORING-GUIDE adds canonical 'Profile B Step 4.5' section (variants A/A'/A'' + `## Ground-truth verification` EVID template + Profile B universal HARD RULE 8 making ML-13 enforceable: empty git diff on a claimed change = BLOCKER even when tests are green); smith routing-map adds 'Ground-truth verification (generator≠verifier)' methodology card applying to every Build/Audit row; corrected the worktree under-claim (isolation works for standalone subagents + Workflow + AgentTeams teammates, not coder-only — real risks are leak + assume-without-verify). Refs PROB-002/RFC-011/ADR-009; smoke `sandbox-verify/r3-reviewer-groundtruth-smoke.sh`. v1.38.1: cookbook §07 fix — final-e2e found CLI vs MCP agent-id validator asymmetry on forgeplan 0.32.1 (filed as forgeplan#353). Cookbook §07.1 example switched from 'adr-architect/1.11.1' (CLI rejects) to dash-form 'adr-architect-v1-11-1' (both accept). §14.4 added documenting the asymmetry + workaround. §14.5/14.6/14.7 renumbered. v1.38.0: NEW `/forgeplan-cookbook` skill — agentic-RAG router for 66 mcp__forgeplan__* MCP tools + 82 forgeplan CLI subcommands. 14 sections by use-case (lifecycle / discovery / quality / pipeline-health / session-phase / AI-driven / multi-agent / brownfield / activity / FPF / playbooks / plugins / release / MCP-safety) + flat alphabetical _index. Quick router maps intent → section. Section 14 documents 3 filed upstream bugs (#348 score-all hint, #350 CRITICAL @filepath data loss, #351 plugins doctor syntax) + canonical safe patterns. v1.37.1: CRITICAL safety convention — AGENT-AUTHORING-GUIDE now documents the MCP `body` parameter as literal-string-only (forgeplan#350 silent data-loss bug). Canonical safe pattern: Read file via host CLI, pass content as string. CLI vs MCP semantics table prevents agent confusion. Profile A/B/D agents are most exposed (canonical body writers). v1.37.0: --help-driven verification + Step 1b uses native `forgeplan migrate-secrets --apply` for LLM key import (PRD-077 FR-023 Part B). 4-row table covers: gemini (default template match), anthropic, openai, or no-key-found path. Removes 35-line manual config snippet — auto-import is the canonical forgeplan flow. v1.36.0: deep-e2e fix pack — (a) templates/smith-bootstrap.md acceptance probes use --type (4 places) — was --kind=, drifted from SKILL.md fix in v1.35.2; (b) new Step 1b in smith-bootstrap probes .forgeplan/config.yaml for an llm: block right after forgeplan init; if absent, prints informational guidance (3 providers — Anthropic / Gemini / OpenAI — with full config + secrets.env example) so the user can configure before the first /forge-cycle Step 4.5 ADI call; (c) Failure modes covers downstream LLM-not-configured halt. Closes deep-e2e findings 2 and 4. v1.35.2: e2e-test fix pack — smith-bootstrap Step 5/6 acceptance probes use correct CLI flag `--type` (not `--kind` — that name only exists in MCP forgeplan_new(kind=...) form), Step 6 documents the literal section names forgeplan validate MUST-requires (Problem statement, Target audience, Goals/Success Criteria, Functional Requirements with literal capitalisation, Out of scope, Related Artifacts) + cites the validator rule names that trigger on miss, and adds `forgeplan validate PRD-NNN → PASS` to acceptance criteria. v1.35.1: smoke-test fix — Step 0c 6th state `plugin-handles-it` (fpl-hsmem enabled + no project-local .mcp.json hindsight block = normal/healthy, not unclassified). Smoke against fresh tmp project surfaced that the previous 5-state matrix marked this normal case as 'UNCLASSIFIED'. Reference implementation now ships as bash if/elif ladder with explicit precedence order. v1.35.0: MCP-wiring drift closure trio — (1) /fpl-init Step 5 migrated from Python merge to native `forgeplan mcp install --client claude --scope project` (same primitive as smith-bootstrap Step 0b, eliminates skill-to-skill drift); (2) hooks bundle expanded from 1 to 3 files (safety-hook + pre-pr-evidence-check + forge-safety-hook) at templates/hooks/; (3) AGENTS.md MCP server registration section now leads with `forgeplan mcp install` as canonical wiring command across Claude Code / Cursor / Windsurf / Gemini / Codex. v1.34.0: smith-bootstrap Step 0 refactored from halt-and-instruct to active infrastructure runner. 5 sub-steps: 0a plugin enablement gate (halt-only on MUST miss), 0b forgeplan MCP auto-wire via native `forgeplan mcp install --client claude --scope project` (replaces halt + Python merge), 0c Hindsight detection with 5-state classification (fully wired / key missing / env-var naming mismatch / Docker quick-start / plugin not enabled) — informational guidance, never writes secrets, 0d minimal hooks bundle copy from templates/hooks/ (safety-hook.sh starter), 0e user-driven /reload-plugins + ToolSearch verify. Closes real-project gap observed 2026-05-20 where bootstrap landed CLAUDE.md+AGENTS.md but skipped MCP wiring → downstream agents shell-fallback → degraded artifacts. v1.33.0: smith-bootstrap pre-flight gates. v1.31.1: EPIC-002 niceties patch. v1.31.0: EPIC-002 — 4 smith skills + templates + session-start.sh.
Recommends the right canonical agent (or set of agents) for a described engineering task. Consults the `mm-agent-selection` mental model in Hindsight when available, falls back to embedded knowledge of the 17 forgeplan-aware canonical agents + their CRUD-R-A profile matrix (PRD-026). Returns a structured recommendation — primary agent, optional secondaries, profile letter, short rationale, and a ready-to-paste `Task({ subagent_type: ... })` invocation snippet. Use when the user describes a task in natural language and asks "which agent should I use?", or when you (Claude) want to dispatch the right specialist for a phase but are not 100% sure of the canonical mapping. Triggers (EN/RU) — "which agent for", "recommend agent", "what agent should I use", "agent for this task", "какого агента", "посоветуй агента", "/agent-advisor".
Methodology: Cross-marketplace agent/skill suggestion (suggest-only, NO auto-install). EN: When canonical 17 forgeplan-aware agents don't fit the task, searches installed marketplaces (~/.claude/plugins/marketplaces/) for matching agents/skills. Ranks by keyword overlap + trust tier + specificity. Surfaces top 3 with description + install command + security caveats. NEVER auto-installs — user runs the command manually. Falls back to external catalogs (VoltAgent awesome-*, DenisSergeevitch) when no local match. RU: Когда канонических 17 forgeplan-aware агентов не хватает, ищет среди установленных маркетплейсов подходящих агентов/скиллов. Ранжирует по ключевым словам + tier + специфичности. Показывает топ-3 с описанием + командой установки + предупреждениями. НЕ устанавливает автоматически. Fallback на external catalogs. Triggers: "find agent for", "fetch agent", "external agent", "cross-marketplace agent", "search marketplaces", "найди агента", "поищи в маркетплейсах", "/agent-fetcher"
Multi-expert audit of code, architecture, or a finished feature — at least 4 parallel reviewer agents, each with a specialization (logic, architecture/SOLID, typing, security; optionally tests, backend patterns, frontend, task-completion). Each runs its own checklist. Output is cross-validation, score, verdict, and action plan. On completion, **automatically writes an EvidencePack via forgeplan MCP** (`mcp__forgeplan__forgeplan_new` + `forgeplan_update` + `forgeplan_link`) so the audit lands in the artifact graph and R_eff reflects it — no manual step required (CLI fallback if MCP not connected). Use when the user wants a sharp second pair of eyes on code, a PR, a branch diff, or a sprint. Triggers (EN/RU) — "audit", "review", "проверь код", "ревью", "оцени качество", "всё ли правильно", "code audit", "expert review", "/audit".
Autonomous orchestrator for green-light / overnight execution. Takes one task and runs the full engineering cycle (research → plan → sprint → audit → report) end-to-end without approval checkpoints. Uses TeamCreate with explicit file-ownership and blockedBy edges between waves, resolves blockers via ADI (Abduct → Induct → Deduce) instead of asking the user, and only stops on red-line actions (push to main, secret writes, destructive ops, deploys). Use when you want to give one prompt and let it run unattended — overnight runs, bypassPermissions sessions, or when you can't watch checkpoints. Triggers (EN/RU) — "autorun X", "run unattended", "do this overnight", "запусти автопилот", "сделай всё автономно", "ночной прогон", "/autorun".
Deploys the author's Claude Code starter scaffold into a new or existing project — creates a CLAUDE.md from the template, a guides/ folder with author guides (Git Flow, CLAUDE.md best practices), and guides/INDEX.md. Use when the user starts a new project and wants the standard Claude Code baseline, or when adding these guides to an existing project. **No forgeplan dependency** (per PRD-022 Tier B): pure file-scaffolding; if the user wants forgeplan integration after bootstrap, suggest `/fpl-init` (which IS MCP-first). Triggers (EN/RU) — "bootstrap project", "init claude baseline", "install my guides", "scaffold claude code", "поставь мои гайды", "разверни базу", "установи базовый CLAUDE.md", "подготовь проект под claude", "засетапь проект".
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Uses power tools
Uses Bash, Write, or Edit tools
Uses power tools
Uses Bash, Write, or Edit tools
Official plugin marketplace for Claude Code from ForgePlan — UX, workflow, engineering, and developer tools.
18 plugins | 25 marketplace-aware agents (75 total) | 38+ skills | 9+ knowledge bases
ForgePlan ecosystem: this marketplace +
forgeplanCLI (artifact lifecycle) +@forgeplan/web(browser viewer with time-travel + graph). Three siblings; install what you need.
| Guide | When to read |
|---|---|
| 👋 Onboarding | Read this first — pocket guide, friendly tone, get from zero to autonomous agent dispatch in 30-60 min. Hindsight setup + command cookbook + when-you're-needed matrix |
| 🚧 Brownfield guide | Companion to Onboarding — existing codebases, Discover Agent, Strangler Fig + DDD + ACL with concrete examples |
| 🚀 Developer Journey | Longer 30-min walkthrough from zero to your first shipped feature, with 4 persona Day 0 walkthroughs |
| 🧭 Smith — master orchestrator | Routing map: 12 contexts × 27 methodologies. When and how to dispatch /smith as the BMAD-style master that picks the right workflow for the task |
| 📋 Playbook | Use-case matrix: which command for which scenario (empty project, brownfield, night-run, …) |
| 📖 Usage Guide | Reference manual: 18 commands, hooks, agent activation rules, troubleshooting |
| 🏛 Architecture | 4-layer mental model — Orchestra (where) · Forgeplan (what) · FPF (how to think) · SPARC (how to code) |
| 🔬 Methodologies | What's built into forgeplan (BMAD, OpenSpec, ADI, F-G-R, DDR, Verification Gate) vs what's external |
| 🔁 Autoresearch integration | Combining uditgoenka/autoresearch (metric-driven loops) with /forge-cycle lifecycle |
| 🧭 AI-SDLC mapping | Phase-by-phase map for users coming from AI-SDLC vocabulary (Concept → Research → Design → Build → Test → Release → Operate → Maintain) |
| 📚 Upstream methodologies | Bibliography — pointers to Quint-code, BMAD, OpenSpec, FPF, Karpathy autoresearch, git-adr, ccpm, adr-tools |
| 🛠 Setup Guide for new repo | End-to-end bootstrap (~20 min): forgeplan + Claude Code plugins + GitHub Projects v2 + auto-add workflow + convention. Use when adding a new ForgePlan repo to the ecosystem. |
| 🚚 Migration: dev-toolkit → fpl-skills | Switching plugins safely (side-by-side or clean-cut, with rollback plan) |
| 🗂 Tracker Integration | Recipes for Orchestra · GitHub Issues · Linear · Jira · local TODO |
| 🌐 Forgeplan Web | Browser viewer — time-travel slider + artifact graph + health dashboard |
| 🔄 Process Reference (EN) / RU | Full process from idea to commit — 5 agent profiles, 10 artifact kinds, 4-layer pipeline, methodologies (BMAD/FPF/SPARC/RIPER-5) |
| 📜 Changelog | Release history |
| 🤝 Contributing | Add a new plugin to the marketplace |
# 1. Add the ForgePlan marketplace
/plugin marketplace add ForgePlan/marketplace
# 2. Install your first plugin (works with any project, no dependencies)
/plugin install dev-toolkit@ForgePlan-marketplace
# 3. Reload to activate
/reload-plugins
# 4. Try it — run a code audit
/audit
New here? Pick the row that matches you. Each row is a complete setup — no need to read the full catalog.
| Your role | Install these | Why |
|---|---|---|
| I want a master orchestrator | fpl-skills + agents-pro | Start here → /smith routes 12 contexts to 27 methodologies |
| Forgeplan user (recommended) | fpl-skills | One install, 38 skills, full route → ship loop |
| Any developer (no forgeplan) | dev-toolkit + agents-core | Universal tools, no CLI dependency |
| Frontend | fpl-skills + laws-of-ux + agents-domain | UX + framework agents |
| Architect | fpl-skills + fpf + agents-pro + agents-sparc | Thinking + SPARC |
| Multi-session / team | fpl-skills + forgeplan-orchestra | Coordination + Inbox Pattern |
| Brownfield migration | fpl-skills + forgeplan-brownfield-pack | Ingest legacy docs + C4/DDD/research analyses |
| Everything | All 18 plugins | Complete ecosystem |
npx claudepluginhub forgeplan/marketplace --plugin fpl-skillsv0.19.0: forgeplan-web dogfood re-run follow-ups (findings A/B/C, after v0.18.0 proved the pipeline completes end-to-end on a real repo -- top map confirmed + 4/4 layers confirmed, GC-9 + parent_zone live-PASS). (A) map-emit.mjs input PRE-FLIGHT: refuse a wrong-shape (pre-v0.18) scratch instead of silently degrading. Resuming an old scratch under the new script had nested repo_head/project under meta. + a flat {edges:[]} shape, so the emit silently produced a 'nogit:' fingerprint, dropped title/description_ru, and would have shipped 0 edges -- against the pack's honest-failure discipline. The script now names the mismatch (repo_head/project must be top-level; edges must be {typedLink,codeDep} with id+namespace) and writes NOTHING; +2 test/emit-script.mjs scenarios. (B+C) scoped-layer ROLE DECOMPOSITION now mandatory in the orchestrator Scoped-pass rules + /map-build-layer + a map-emitter HARD RULE: a layer build routes input-prep through zone-extractor (scoped .extract.json + persisted .composition.json) + edge-verifier (scoped .edges.json), and map-emitter does ONLY flows + the script -- it never self-authors scoped inputs (the dogfood saw 3/5 emitters overstep, and one self-authored layer forgot repo_head -> a nogit: fingerprint on that one layer). 81 assertions green across 4 suites. Plugin v0.18.0 -> v0.19.0, catalog 1.117.0 -> 1.118.0. v0.18.0: DETERMINISTIC EMIT -- the headline fix from the 2026-07-15 forgeplan-web dogfood, which proved the LLM-typed emitter cannot scale to a real repo. On 274 nodes / 316 edges (~4,000 lines) map-emitter blew the 64,000-token output cap 3 runs out of 3; round 3 suppressed prose to five lines and STILL died, proving THE DOCUMENT is the cap-breaker, not agent chattiness (round 1 only 'barely fit': 553k tokens, 56 min -- so even the first write was at the edge, and anything larger fails outright). Neither proposed workaround was enough: granting Edit only fixes CORRECTION loops (the initial write stays at the cap), and chunked writes need Edit/Bash anyway while still having an LLM re-type 4,000 lines. Root cause is architectural -- an LLM re-typing a mechanical document whose every content DECISION was already made upstream (.extract.json=zones/nodes, .edges.json=edges, composed composition=layout). NEW scripts/map-emit.mjs (deterministic, dependency-free Node, mirroring map-guardian.mjs) now owns everything clerical: meta + 'git:<sha>' build anchor, tier-row layout + CM-22 accent de-collision, CM-07 canonical layer meta + B5 CONTENT seed_fingerprint, CM-01 visible() collapsed-child rewrite + CM-05 edge_ids resolution, CM-23 _content_sig drop + found_at hoist, the assembly-guard trio with reject-before-write, atomic tmp-rename, status:'proposed', and the NEEDS_CONFIRM sentinel. The map-emitter AGENT now decides ONLY the flows (the sole judgment call) into a tiny .work/.emit-plan.json and invokes the script (Bash granted for that one purpose; Edit + every forgeplan_* mutator still denied; it no longer writes map.json at all). The script's plain fs write is invisible to the write-hook BY CONSTRUCTION -- the same sanctioned shape ADR-017 blesses for the guardian -- and GC-5's git audit remains the single-writer backstop. Orchestrator SELECT now persists the composed base+overlays as .work/.composition.json (the script parses no YAML). NEW test/emit-script.mjs (35 assertions) including the end-to-end one that matters: emit a document, then run the REAL guardian over it and require exit 0 (GC-2/GC-7/GC-10/GC-11 PASS, GC-9 PASS on a layer) -- proving emitter and gates agree. No token cap, deterministic, instant, scales to any repo. Plugin v0.17.0 -> v0.18.0, catalog 1.116.0 -> 1.117.0. v0.17.0: first-live-dogfood fix -- /map-doctor now handles a LEGACY (pre-v0.16) map gracefully. Running the v0.16.0 /map-doctor on a REAL forgeplan-web map (generated by the OLD v0.7.1 map-pack; source_fingerprint 'fpw-map-...' is not a git anchor) surfaced 2 real command-prose defects the deterministic gates + the self-audit could NOT catch -- they test v0.16-generated maps, not legacy ones. (A) A legacy map produced a wall of GC-7/GC-9/GC-10 BLOCKERs that READ as corruption but are just schema drift (the old generator never emitted found_at / canonical layer-meta / grouped-mega-kind); /map-doctor now DETECTS a legacy map (non-git source_fingerprint, or layers lacking scope:'layer'/parent_map_id) and LEADS with a 'LEGACY MAP -> rebuild once with /map-build' banner, tagging those BLOCKERs legacy-schema-gap instead of a dozen alarming per-layer failures. (B) A layer with a MISSING meta.parent_zone was wrongly flagged an ORPHAN; orphan now means ONLY a present-but-dangling parent_zone (a zone deleted from the top map), while a missing parent_zone is non-canonical meta (GC-9's job), not orphan. The doctor itself verified WORKING on the live run (fast, read-only, accurate 11+2 checks, readable digest, correct fix commands) -- the real-run gap is now closed for /map-doctor. Plugin v0.16.0 -> v0.17.0, catalog 1.115.0 -> 1.116.0. v0.16.0: dogfood-brief batch 5 (CM-25) -- two new commands + content-aware staleness, closing the 25-finding v0.7.1 dogfood brief. Folds in an 18-finding adversarial self-audit remediation (a generator!=verifier workflow over the 5 batches of agent-prose): reconciled the E5 auto-cascade seed_fingerprint to the content-aware B5 form (it still read as membership-only, re-introducing the exact staleness-blindness B5 fixed on the default --layers path), gave the guardian a `--check-only` read-only deep flag so /map-doctor --deep exercises Layer B WITHOUT the proposed->confirmed write it previously performed (+ guardian-layer-b.mjs Scenario 7), realigned the zone-extractor AGENT body to the grouped-collapse contract its own SKILL uses (the body still taught the 170->1 single-blob dump), dropped the unfulfillable 'fold the narrating doc blob SHA' staleness claim (docs-scanner has no Bash to compute one), threaded manifests[] to edge-verifier, fixed the _content_sig/contentSig producer/consumer key drift, and corrected ~9 cross-file prose drifts (smoke-coverage GC-7..GC-11, stale GC enumerations, mtimes vs git-anchor, mega ref prefix, project shape). NEW /map-refresh: rebuild ONLY the layers whose content changed since the map was built, not the whole cascade. It rests on a real upgrade -- meta.seed_fingerprint is now a CONTENT fingerprint (sha1 over each member's id + its git blob signature / artifact updated-stamp), not the old membership-only id-set hash; so EDITING a file inside a card (git) or updating a doc now marks its layer stale, which the v0.8.0 idempotent-skip was blind to. The top map's meta.source_fingerprint becomes a robust git build anchor 'git:<HEAD-sha>' (was fragile mtimes); /map-refresh diffs `git diff <anchor>..HEAD` UNION uncommitted, maps changed files to stale zones via node provenance.ref paths + doc narration, recomputes each layer's content fingerprint, and rebuilds only the mismatched layers in parallel (the orchestrator's new Refresh mode). code-scanner records per-file git blob content_sig + repo HEAD; forgeplan-scanner records per-artifact updated; zone-extractor threads a scratch-only _content_sig (dropped before ship, CM-23) that map-emitter folds into seed_fingerprint. NEW /map-doctor: fast, read-only triage -- runs the deterministic guardian (--smoke Layer A) over the top map + every layer, flags stale layers via the same git anchor, finds orphan layers (zone gone), and prints a fix-oriented digest (which command repairs each issue) WITHOUT regenerating anything or dispatching an agent. Doctor diagnoses, refresh fixes. All agent-prose + 2 command files; no guardian/schema change. Plugin v0.15.0 -> v0.16.0, catalog 1.114.0 -> 1.115.0. v0.15.0: dogfood-brief batch 4B (CM-10/CM-15/CM-21/CM-22/CM-23/CM-24) -- layout + grouping prose, completing batch 4 (the 25-finding v0.7.1 dogfood brief is now closed except batch 5 = new /map-doctor + /map-refresh commands). CM-24: edge-verifier dedupes edges globally by (from,to,relation) (the edge id's own key), keeping the higher-trust survivor -- a relationship the graph AND a grep both surfaced no longer ships twice or double-lights a flow (A->B and B->A stay distinct). CM-22: map-emitter tier-row layout de-collides accents -- no two grid-neighbour zones share a --map-accent-* token (GC-11); minimal reassignment keeps authored accents and only breaks a colliding tie. CM-15: zone-extractor collapses at EVEN density -- ~ceil(sqrt(N)) comparably-sized group cards (sub-split a lopsided giant), never one blob next to slivers. CM-10: the decision zone can group by narrative ARC (Shape/Design/Decide/Prove) on the TOP map when the composition provides decision_grouping:"arc" + kind_to_arc (promoting the arc derivation the extractor already did one level down), instead of a bag-of-kinds. CM-21: a scoped layer build selects its sub-composition from a catalogue keyed on the target zone's KIND (store->data-shaped, surface->UI-shaped, truth->decision-arc) instead of flooring every drill-down to generic. CM-23: field discipline -- emit only schema-defined + named-consumer fields uniformly (all-or-none); drop speculative extras like the inconsistent description_ru_source / edge note the dogfood shipped. All agent-prose; GC-7..GC-11 gates + 3 test suites catch regressions. Plugin v0.14.0 -> v0.15.0, catalog 1.113.0 -> 1.114.0. v0.14.0: dogfood-brief batch 4A (CM-11/CM-16/CM-17/CM-19/CM-20) -- flows + labels prose. CM-19: a flow is a CONNECTED edge-path, not an arbitrary node set -- map-emitter walks the edge graph and, when a hint's path splits into two edge-disconnected arcs, emits two separate flows instead of one spliced one (the v0.7.1 decision flow lit two islands with a dead gap). CM-11: every flow (hint- and entrypoint-derived) carries a short EN chip name + RU steps (GC-8). CM-17 + CM-20: ONE label policy (zone-extractor Algorithm 5c) -- a code node's label is the basename/curated short name (full repo-relative path in provenance.ref), an artifact node's label is "<ID> -- <title>" (bare artifact_id in provenance.ref); the full machine ref never renders on the card. CM-17: forgeplan-scanner now carries title + a one-line summary per artifact; zone-extractor builds the artifact node's description_ru from that summary (omit when absent, never faked). CM-16: a scoped layer build narrates at FULL budget (one zone = room to explain each node richly) and the richer description propagates up so the top card never carries a thinner description than its own layer produced. All agent-prose; the GC-7..GC-11 gates + 3 test suites catch regressions. Plugin v0.13.0 -> v0.14.0, catalog 1.112.0 -> 1.113.0. v0.13.0: dogfood-brief batch 3 (CM-06/CM-07/CM-08/CM-18) -- content-provenance + meta canonicalization prose the v0.11.0 GC-7..GC-11 gates guard against regression. CM-06: real `found_at` -- code-scanner gains a NARROW git-read Bash (git log --diff-filter=A first-add date, argv-safe, read-only; same edge-verifier precedent + GC-5 git-audit backstop, user-approved) to record per-file first_seen; forgeplan-scanner records each artifact's `created`; zone-extractor Algorithm 5b stamps found_at from a REAL first-seen (code node=git first_seen, artifact node=created, mega=earliest child, deterministic repo-level fallback) -- NEVER now(), which churns the GC-7 append-stability sort key (the v0.7.1 constant/missing-found_at defect). CM-07: map-emitter Algorithm 4 freezes the canonical layer-meta struct GC-9 requires (scope:"layer" + parent_map_id + parent_zone + map_id==<parent>::<zone> frozen :: separator + no needs_confirm floor + seed_fingerprint; the top map writes NONE of these layer keys). CM-08: docs-scanner extracts a project {title, description_ru} from the real README H1 + tagline (omit if absent, never invented); zone-extractor carries it through .extract.json; map-emitter stamps meta.title + meta.description_ru (additive, meta.additionalProperties:true) -- the map finally carries a human heading instead of a bare map_id. CM-18: zone-extractor Algorithm 5 -- a group mega's kind is ALWAYS the literal "mega" (GC-10 BLOCKERs is_mega!==(kind==mega); never the members' leaf kind, which inflated counts) and its provenance.ref carries the machine-recoverable preimage mega:<zoneId>:<groupKey>, not a human sentence. The one security-surface change (code-scanner narrow git-read Bash) is user-approved and lint-safe (code-scanner stays C-coder-class: denies every forgeplan_* mutator + Edit/NotebookEdit). Plugin v0.12.0 -> v0.13.0, catalog 1.111.0 -> 1.112.0. v0.12.0: dogfood-brief batch 2 (P0 prose fixes CM-01/CM-02/CM-05) -- the flow + id-stability defects the v0.11.0 deterministic gates now guard against regression. CM-02: node `kind` is frozen as an ALTITUDE-INVARIANT identity property (zone-extractor skill Algorithm 2a) -- only a node's `zone` is re-computed per scope, so `sha1(kind:ref)` is byte-identical on the top map and inside a drilled-in layer; keeps GC-6 valid and lets forgeplan-web's deriveSubDocument carry a node across altitudes (id-carry no longer breaks when a scoped pass would classify the same entity differently). CM-05: edge-verifier now mints a stable content-hash edge id (sha1("edge:"+from+"|"+to+"|"+relation)[:12] over the REMAPPED endpoints, doubling as the CM-24 dedup key) so flows can reference edges; map-emitter carries edge.id through verbatim and resolves each consecutive flow node pair into flow.edge_ids -- GC-8 had WARNed on the always-empty edge_ids chip. CM-01: after grouped mega-collapse, map-emitter rewrites every flow's node_ids through a visible() map (a hidden collapsed-child -> its containing mega) with consecutive-dedup, so selecting a flow lights RENDERED mega cards the user can expand instead of hidden children (which lit nothing). All three are agent-prose (skills/zone-extractor, skills/edge-verifier, skills/map-emitter + a map-orchestrator scoped-layer note) -- no gate or schema change; the GC-7..GC-11 gates + the 3 test suites catch any regression. v0.11.0: five new deterministic guardian gates (CM-13, from the 5-audit v0.7.1 dogfood brief) -- GC-7 found_at completeness (BLOCKER), GC-8 flow completeness (WARN: multi-node flows must carry edge_ids + RU steps), GC-9 layer-meta canonicalization (BLOCKER: frozen keys + <parent>::<zone> map_id + no auto-confirmed needs_confirm floor), GC-10 is_mega<=>kind==mega (BLOCKER), GC-11 accent-neighbour collision (WARN). All Layer A (doc-only, run under --smoke). They deterministically catch the content defects the dogfood shipped (CM-05/06/07/18/22). Covered by test/guardian-content-gates.mjs (13 assertions). v0.10.0: composition library COMPLETE -- 7 more abstract base archetypes (data-pipeline / ml-project / ai-agent / cms / mobile-app / desktop-app / docs-site), for a full set of 13 base archetypes + 6 pattern overlays. Any common project type -- frontend, backend, CLI, library, data, ML, agentic, CMS, mobile, desktop, docs, fullstack, or the generic floor -- now has a tuned archetype, and hybrids compose base + overlays into one map. v0.9.0: composition BREADTH -- the base-TYPE + pattern-OVERLAY engine (COMPOSITIONS-GUIDE). The orchestrator SELECT stage now detects ALL active pattern overlays independently (not just one base) and composes base + overlays into one effective composition; the emitter lays the merged zones out by tier row (entry/core/data/decisions) for any zone count. Ships 6 overlays (microservices / serverless / cqrs-eventsourcing / mcp-server / api-gateway / monorepo -- the last a regroup-by-package modifier) + 4 new abstract base archetypes (web-frontend / backend-api / cli-tool / library-sdk) alongside web-fullstack / generic (rust-cli-mcp kept as a legacy forgeplan-core specialization). A hybrid repo (e.g. monorepo + backend-api + microservices) now composes into one coherent map instead of falling to the generic floor. v0.8.0: E5 auto-cascade layer generation (PRD-076 FR-5 / ADR-018) -- after the top map is CONFIRMED, /map-build (default --layers) auto-fans-out one scoped per-zone layer build IN PARALLEL (disjoint map/layers/<zone>.json write targets, own scratch + guardian pass), gated by 3 cost controls: seed-fingerprint idempotent skip (unchanged zone not rebuilt), thin-zone threshold (~6 members), depth policy (first level auto; deeper on demand via /map-build-layer or --layers-depth N). meta.seed_fingerprint doubles as forgeplan-web's staleness check. Rejected eager (top map still mutates in gate loops) + sequential (sum-of-zones wall-clock). 8-agent orchestrated pipeline that scans any forgeplan-enabled project and emits a validated .forgeplan/map/map.json (schema forgeplan.map/v1) for forgeplan-web's composed-map renderer. EMITTER profile throughout: a fail-closed PreToolUse hook + agent denylist + a deterministic map-guardian.mjs gate make it structurally impossible for the pipeline to write anywhere except the derived map/layer files or to mutate any forgeplan artifact. v0.7.0: understanding-map quality wave (PRD-076). E1 -- architecture-quality content: over-capacity zones collapse GROUPED by kind (PRD/RFC/ADR/EVID/...) instead of one opaque 170-artifact card; zones carry an abstract RU region description + meaning-subtitle; nodes get a rich RU description synthesized from GROUNDED scanned facts (code-scanner now records module facts -- top-comment, exports, role -- never fabricated from a filename). E2 -- richer flows: web-fullstack ships 4 flow_hints + the emitter derives entrypoint flows to reach 6+ named journeys. E3/E4 -- per-zone generated layers: new /map-build-layer "<zone>" command + orchestrator scoped mode emit a zone's own validated sub-map to .forgeplan/map/layers/<zone>.json (hook + guardian GC-5 extended to sanction map/layers/**); rendering the layer needs forgeplan-web's deriveSubDocument seam (cross-repo contract, PRD-076 FR-3). v0.6.0: output-quality pass on the first rendered real map -- (O-1) node.meta is now a SHORT card subline (full prose -> description_ru), fixing cards that overflowed ~5x; (O-2) the emitter derives flows[] from a composition's flow_hints (short chip name + path + RU steps), so the flow-navigation chips are no longer dark on real data; (O-3) web-fullstack lays zones out in a 2D grid instead of a tall single-column ribbon. Adds COMPOSITIONS-GUIDE.md (the abstract-archetype authoring contract: base TYPE + pattern OVERLAY model, 7-accent convention, shared canvas constants, depth-agnostic hints, flow_hints) and flow_hints on the two curated templates. v0.5.0: dogfood tail-stage fixes -- the write+validate defects the first end-to-end forgeplan-web run surfaced. (F4) map-emitter-gate.sh normalizes the plugin-qualified dispatch identity (forgeplan-map-pack:map-emitter) before its single-writer check -- an exact-string test was denying the emitter's OWN write. (F6) guardian XC-2 + the edge-verifier grep now scope every re-grep with --exclude-dir (node_modules/.git/build/... -- an identical set both sides share) -- an unbounded grep -rlF over the whole repo hung the guardian on any repo with dependencies. (F5) documents honestly that the Write-hook cannot police a Bash-mediated write (edge-verifier needs Bash for grep), so GC-5's after-the-fact git audit is the real single-writer backstop, not the hook. Adds test/emitter-gate-identity.sh + a node_modules-exclusion scenario in test/guardian-layer-b.mjs. v0.4.0: first-dogfood hardening -- fixes the 3 defects the first real forgeplan-web run surfaced. (1) Guardian XC-1 now compares typed-link edges in content-hash id-space (v0.2.0 compared them against artifact-id-keyed scan edges, failing EVERY edge). (2) Guardian GC-5 is now a write-SCOPE check that passes whether map.json is committed (forgeplan-web ships it tracked as the P0 render-proof) or gitignored -- v0.2.0 BLOCKER-ed any committed-map repo and carried a porcelain leading-space parse bug. (3) The web-fullstack composition detection + zone_hints are depth-agnostic, so a nested app root (template/src/**) is recognized instead of falling to the generic floor. Adds test/guardian-layer-b.mjs, a non-smoke regression test covering the Layer-B checks --smoke never exercised (XC-1/GC-5/GC-6/XC-2). v0.3.0: /map-build slash command as the human-facing entry point. v0.2.0: full P1 implementation -- all 8 agents, 3 skills, 3 MVP composition templates, the map-build playbook, and the guardian/hook pair. Pre-1.0: guardian fixes are regression-tested; the depth-agnostic detection fix awaits final confirmation on a full forgeplan-web re-run.
Practical cookbook of forgeplan CLI recipes — task-oriented how-to guides covering getting-started, PRD authoring, Evidence patterns, workflow cycles, multi-plugin discipline, AI-pair dispatch, troubleshooting Sprint A-O anomalies, and CLI/MCP quick-reference. Each recipe: Цель → Команда → Пример → Common errors. / Практическая поваренная книга рецептов forgeplan CLI — пошаговые руководства по онбордингу, PRD, Evidence, рабочим циклам, мультиплагинной дисциплине, диспетчеризации AI-агентов, устранению аномалий и справочнику CLI/MCP.
UX laws knowledge base and frontend code reviewer. Analyzes HTML/CSS/JS/React/Vue/Svelte code against 30 Laws of UX principles. Provides actionable recommendations for improving user experience. Use when building UI components, reviewing frontend code, or learning UX best practices. v1.4.1: ux-reviewer agent canonical-lint compliant (LR-1..LR-3).
First Principles Framework (FPF) — thinking amplifier for structured reasoning, system decomposition, and decision-making. Enhanced version with applied patterns, forgeplan integration, and practical commands. Based on the FPF specification by Anatoly Levenchuk. v1.4.1: fpf-advisor agent canonical-lint compliant (LR-1..LR-3).
ForgePlan Hindsight memory plugin for Claude Code. Long-term cross-session memory wrapping Hindsight (vectorize-io). Provides 13 MCP tools (memory_* + mental_model_* + document_ingest_*), 3 auto-hooks (recall on UserPromptSubmit, retain on Stop, force-retain on SessionEnd), and 5 helper skills (/status, /bootstrap, /mental-model, /diagnose, /export-bank). Three activation modes: plugin install (default-on, bank derived from cwd), per-project setup CLI (explicit `.mcp.json`), or direct MCP wire-up (standalone bundle). Source code colocated under plugins/fpl-hsmem/src/. Implements Ruflo-style outcome-feedback patterns (NOTE-004).
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
A growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.
Harness-native ECC plugin for engineering teams - 67 agents, 279 skills, 94 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
Consult multiple AI coding agents (Gemini, OpenAI, Grok, Perplexity, plus codex, antigravity, and grok CLIs when installed) to get diverse perspectives on coding problems
Develop, test, build, and deploy Godot 4.x games with Claude Code. Includes GdUnit4 testing, web/desktop exports, CI/CD pipelines, and deployment to Vercel/GitHub Pages/itch.io.
Lazy senior dev mode. Forces the simplest, shortest solution that actually works: YAGNI, stdlib first, no unrequested abstractions.