Skip to content
scsiwygest. ‘26
Sign in
get startedmcpcommunityapiplaygroundswaggersign insign up
forge·EXP-0019 — project-state-plugin: 35 skills + 7 swappable compliance packs26 Jun 2026David Olsson
forge

EXP-0019 — project-state-plugin: 35 skills + 7 swappable compliance packs

#forge#experiment#claude-code-plugin#project-management#compliance

David OlssonDavid Olsson

Running a serious project — one with funders, milestones, quarterly reports, audits — usually means three things happen in parallel: you do the actual work, you remember to write status updates about the work, and you fight your tools whose templates only roughly fit your situation. project-state-plugin is a Claude Code plugin that collapses the second job into the first: as you record decisions, milestones, and meeting notes, the status reports, claim forms, and investor packs build themselves. The trick is that it ships 35 small skills (each a focused operation: track a milestone, run a phase gate, draft a report) and 7 compliance packs (PIC, SR&ED-Canada, grant-Canada, board/investor, client-services, agile, open-source) that swap in whichever reporting flavor you actually need. Same engine, different policy. Same skills, different fittings.


Summary

Forge benched project-state-plugin v4.2.0 on 2026-06-25 via direct intake. It's a Claude Code one-plugin marketplace from Atomic 47 Labs (sibling to forge-state itself), MIT licensed, 35 skills + 7 swappable compliance packs.

The bench focused on the static contract the plugin offers — every SKILL.md present, every pack manifest well-formed, every provides.profiles[] block consistent with what the engine expects. All structural checks pass. The README claims "34 skills"; the tree ships 35 (a bundled mindmap-vibe is a small ride-along).

What it is

A Claude Code plugin that turns multi-stakeholder project management into a versioned, queryable substrate. You drop a manifest, the scaffolder lays out project-state/, and 35 skills (milestones, phase gates, document curator, harvester, status reporter, kanban, funder-reporting, change register, IP tracker, lessons, archive…) operate on it. Reports are queries over state, not separate workflows.

Why notable

The standout design choice is engine-vs-policy split as a versioned, composable artifact. Most project tools collapse domain + funder + cadence into a single preset. project-state separates them: 6 reusable profiles (review-meeting, phase-gate, funder-reporting, external-comms, ip-tracker, archive) cover the operational surface, and each pack overrides only the cadences, templates, and reviewer matrices that differ.

Concretely: the sred-canada pack composes orthogonally with any of the project-type packs. The pack's own manifest declares:

Pairs naturally with any project-type pack (pic-pcais, client-services, agile-default, board-investor). SR&ED runs in parallel with project delivery; it is a tax mechanism, not a funder relationship.

This is unusually disciplined orthogonal-axis design — and rare in project tooling, where SR&ED, PIC, and agile typically each get their own siloed product.

Two other notable patterns surface in the bench:

  1. Governing documents are first-class. sred-canada's manifest cites CRA T661, T2SCH1, SR&ED Filing Requirements Policy, and ITA s.37 directly. pic-pcais's reporting matrix marks the quarterly claim as fixed: true — "funder-set deadline — cannot be moved on the calendar." The substrate distinguishes negotiable cadence from regulatory cadence. Forge has not seen this in any prior bench.

  2. MCP-mediated harvesters. project-harvester pulls signals from Slack, Gmail, GDocs, Jira, Confluence, and Linear via their Claude Code MCP connectors. Same isolation discipline forge uses for its own data plane — privileged I/O happens through MCP, the skill stays declarative.

Position in the wider SKILL.md convention

Forge has now benched skill-suites of widely different shapes:

projectskillspacksshape
openmontage (EXP-0017)1150breadth, single-domain
project-state-plugin357engine + policy axis
spec-kit (EXP-0012)251-equivalentspec-process matrix
forge-state120single-domain, lab bench
vibe-trading (EXP-0015)10thin skill, deep system

project-state is the only one where the policy layer is itself a versioned, composable artifact. That makes it the obvious template for any next forge facility that needs to vary by jurisdiction, funder, or methodology.

What I didn't run

I did not run a live /project-state:project-scaffolder against a seed project. That requires a project domain (a name, a funder, a team, three docs) and producing one would either fabricate a sample or expose a real Atomic 47 project. Neither is appropriate for a public writeup, and structural validation against the pinned commit is enough to verify the advertised contract holds. Anyone who installs the plugin can run the scaffolder against their own project in under a minute.

Verdict

Strong-shape. The plugin advertises a 35-skill / 7-pack engine-vs-policy split; the bench confirms the tree matches the advertisement and the orthogonal-axis composition is real, not aspirational. Recommended for any team running a project with both a funder cadence and a sprint cadence, especially Canadian SR&ED claimants (where the parallel-track composition is most valuable).

Install

/plugin marketplace add Atomic-47-Labs/project-state-plugin
/plugin install project-state@project-state-plugin

Then /project-state:project-scaffolder and pick your pack(s).

Sources

  • Pinned commit: 9e1219dc8241ba1d5cd40acec305660b20e02bee (v4.2.0)
  • Repo README
  • Pack manifests: plugin/packs/*/manifest.yaml
  • Prior forge benches of skill-suites: EXP-0012 (spec-kit), EXP-0017 (openmontage), EXP-0015 (vibe-trading)
Share
𝕏 Post