Skip to content

Releases: Aznatkoiny/plugin-forge

plugin-forge v0.1.1 — bundled skill-forge, standalone hygiene

Choose a tag to compare

@Aznatkoiny Aznatkoiny released this 02 Aug 20:28

What changed since v0.1.0

  • /plugin-forge:skill-forge is now bundled — the 10-phase research-driven skill creator (intent interview → web research → anti-hallucination deep research → packaging). write-contract and build-evals invoke it when a generated plugin needs source-traceable domain content.
  • Standalone-clean: the legacy claude-dev-toolkit knowledge plugin was retired; primitive-catalog cards now cite the official Claude Code docs directly, and the README no longer suggests installing the retired toolkit.
  • Repo hygiene: removed a stray .forge/last-scoreboard.txt that shipped in v0.1.0 (the exact stale-scoreboard hazard the guard design defends against) and added a .gitignore.

Validated: claude plugin validate --strict clean; dogfood regression suite 8/8 PASS from a fresh checkout.

Install / upgrade:

/plugin marketplace add Aznatkoiny/plugin-forge
/plugin install plugin-forge@plugin-forge

plugin-forge v0.1.0 — the eval-first plugin builder

Choose a tag to compare

@Aznatkoiny Aznatkoiny released this 02 Aug 20:17

plugin-forge v0.1.0 — the eval-first plugin builder

The eval suite is the contract; green is the definition of done.

plugin-forge builds Claude Code plugins the way you'd want production software built: nothing is scaffolded until a design contract exists, nothing counts as done until a frozen evaluation suite passes, and the builder is mechanically prevented from grading its own homework.

The pipeline

interview → contract → evals → armed → building → smoke → verify → ship

Phase What happens Gate
Interview Runtime environment first (local / cloud / CI), external systems, side-effect inventory, success criteria design/INTENT.md complete
Contract A Primitive Decision Record: per capability, a six-step consequence chain (trigger → context economics → enforcement → failure modes → testability → distribution) plus a 14-slot ledger over every plugin primitive Adversarial spec-critic agent writes APPROVED
Evals The eval builder generates 20–50 tasks with reference solutions, deterministic-first graders, LLM judges with mandatory Unknown, positive and negative trigger cases Suite complete, antipattern lints clean
Armed Four arming gates: reference solutions pass their own graders; RED baseline (bare Claude must fail); judge calibration ≥ 0.85 vs human labels; sha256 freeze .forge/freeze.json written
Building Headless /goal loop in an isolated git worktree. PreToolUse + Stop guard hooks make the frozen suite un-editable — even under --dangerously-skip-permissions Authoritative full-suite re-run prints RESULT=PASS
Smoke → Verify Init-gate probe, per-skill probes, hook fixture pipes, trigger sanity; then fresh pass^k trials, a holdout tranche the builder never saw, trigger precision/recall under crowded-listing pressure, triage of failures All green
Ship claude plugin validate --strict, freshness lints, README with permission story, versioning decision, distribution menu, and a trace-capture flywheel hook installed into the generated plugin You release

What "unverifiable → unbuildable" means

The contract's testability column is a hard gate: every capability must name the grader type and task IDs that will prove it. The eval builder derives its task list from that column — skip the lookahead thinking and there is literally nothing to generate.

What ships in the box

  • 9 skillsforge (conductor), write-contract, build-evals, arm-evals, build-loop, verify, ship, plus two knowledge decks: a 12-card primitive catalog (each card ends with Consequence prompts / Reject when / Eval hooks) and generation standards with freshness-guard lints
  • 2 agentsspec-critic (read-only, three-lens adversarial gate) and triage (classifies failures as agent-error / grader-error / task-ambiguity)
  • 3 guard hooks — Edit/Write + Bash freeze guards and a Stop-hook sha256 sweep, all <10 ms no-ops outside a build
  • A stdlib-only eval harness (bin/forge-evalscripts/harness/run.py) — vendored into every generated plugin, so suites outlive the builder. Per-trial worktree isolation, system/init gating, timeout/api-retry fairness, --max-cost-usd hard abort, pass@k and pass^k, HTML reports
  • 5 grader CLIs + smoke runner, an eval-run dynamic workflow, full eval/scaffold templates, and a self-verifying dogfood suite (8/8 green, zero tokens, CI-ready)

Validation on this release

  • claude plugin validate --strict — clean
  • Dogfood regression suite — 8/8 PASS (guard hooks, sweep, compaction re-injection, plus meta-evals proving the harness refuses tolerance-less numeric graders and emits the exact scoreboard grammar)
  • Three-lens adversarial review — 34 evidenced findings, all resolved
  • Live headless smoke — plugin loads with zero plugin_errors; all commands and agents registered

Install

/plugin marketplace add Aznatkoiny/plugin-forge
/plugin install plugin-forge@plugin-forge

Then, in the project where your new plugin should live:

/plugin-forge:forge "your plugin idea"

Honest limitations

Eval-first is the most expensive way to build a plugin (trials × tasks × judges × build iterations) — --max-cost-usd and --dry-run are load-bearing. Judge calibration needs 10–20 hand-labeled transcripts per judge, and arm-evals refuses to freeze uncalibrated judges. Overfitting to visible graders is mitigated (holdout tranche, reference solutions staged outside the workspace, triage sampling), not solved: the honest claim is "green + holdout + triage", never "correct".

Grounded in Anthropic's agent-eval methodology, LangChain's eval-engineering automation, and OpenAI's evals registry patterns.