agentleFS
thepictishbeastthepictishbeast/claude-tools/skills/forge/SKILL.md

forge

Skill1 starsChanged 6 months agoMITView on GitHub

Build, audit, deploy, and reason about the Forge + Loom + Crawler substrate. Token-efficient subcommand surface, structured JSON output; reach for these before bash/grep. Use in any tenant or substrate repo. Heavy ops defer to the `forge` MCP server.

78 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use forge-ship, forge-review and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • redteamlifeSkill

    forge-ship

    Use when the user asks to merge, release, promote, reconcile, or close out work in a repo containing `docs/forge/` or governed by FORGE. Not for per-task commits; those complete inside forge-execute-task.

    Also in 6 projects that use this

  • tonmoy007Skill

    forge-review

    Run a multi-dimensional parallel code review over the current change.

    Also in 8 projects that use this

  • weselbenSkill

    forge-docs

    Load before code changes, before writing docs or an ADR, when a user question exposes a missing how-to, and when closing a chunk of work; also loaded by forge after each squash-merge and by deep-research after a report.

    Also in 3 projects that use this

  • DailenGSkill

    forge-design

    Design, UX, and polish discipline for the forge lifecycle. Covers the design tier, the design brief in docs/DESIGN.md, UX requirements and their verification methods, the per-slice design pass, the UX defect register, and the release polish pass. Load whenever work touches a user-facing surface (GUI, terminal, library API, or operated service), whenever a UX observation needs disposing of, and whenever a release is in reach.

    Also in 3 projects that use this

  • DshamirSkill

    forge-plan

    Takes analysis.json + budget cap → derives the full phase sequence, hyperparameters, instance type, cost estimate, and acceptance thresholds. Emits plan.md (the single human gate document) and plan.json (the machine-readable spec that dispatch-v2 consumes). Refuses to plan if estimated cost exceeds budget×1.2.

    Also in 4 projects that use this

  • tonmoy007Skill

    forge-build

    Run Stage 6 of the Forge pipeline — implementation. Use when the user says

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 3 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 67 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use when working in any tenant repo (~/projects/<Name>/) or substrate repo (~/projects/PlausiDen-Forge, PlausiDen-Loom, PlausiDen-Crawler).

    line 8
  2. Very specific:

    Prefer its typed tools over shelling forge — structured JSON, no CLI re-parse, schemas lazy-load so context cost is per-tool-called.

    line 13
  3. Very specific:

    Every session that touches the substrate runs forge orient (tool or CLI) before anything else — it enumerates doctrine rules in scope, the …

    line 22
  4. Very specific:

    Add a Loom primitive (typed CmsSection / CmsBlock variant), or

    line 58
  5. Distinctive:

    Add a Forge phase / gate, or

    line 59
  6. Distinctive:

    Don't bash/grep when a Forge subcommand/tool exists.

    line 65
  7. Very specific:

    Don't add a new section primitive when atomic CmsBlock composition suffices (doctrine prim-012 rejects one-tenant-shaped premades — …

    line 66
  8. Distinctive:

    Don't bake tenant identity into substrate Rust or commit messages — substrate stays generic.

    line 67

“Common” is measured: kept by at least 6 in 10 of the 67 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/forge — PlausiDen-Forge substrate operations (MCP-backed)

Use when working in any tenant repo (~/projects/<Name>/) or substrate repo (~/projects/PlausiDen-Forge, PlausiDen-Loom, PlausiDen-Crawler).

Prefer the forge MCP server

Forge ships as the forge MCP server (forge-mcp, registered with Claude). Prefer its typed tools over shelling forge — structured JSON, no CLI re-parse, schemas lazy-load so context cost is per-tool-called. ~21 tools incl. forge.orient, forge.build, forge.audit*, forge.doctrine.for, forge.codegen, forge.synthesis.preview, forge.manifest.validate, forge.docs.query, forge.resumption_brief, forge.canonical_tasks, forge.bricks, forge.budgets, forge.exemplars. Shell fallback: ~/projects/PlausiDen-Forge/target/release/forge <cmd>.

Orientation FIRST

Every session that touches the substrate runs forge orient (tool or CLI) before anything else — it enumerates doctrine rules in scope, the skills inventory, canonical defaults (axum / tokio / sqlx / maud / serde-deny-unknown / Ed25519 + ML-DSA / clap / anyhow-thiserror / proptest / tracing), anti-patterns, and next-step commands. It replaces 5–10 file reads.

Tenant model

  • PlausiDen-Forge/ — substrate ONLY (Rust crates, phases, docs). No cms/*.json, no static/assets/*.
  • ~/projects/<Tenant>/ — per-tenant repo: cms/index.json, static/assets/*, forge.toml, optional variables.json / palette.json / site.json.
  • Build a tenant: cd ~/projects/<Tenant> && forge build --root .

Subcommand cheat-sheet

CommandWhatWhen
forge orientSession briefFirst action
forge build --root <tenant>Run every phase against the tenantAfter CMS/substrate edits
forge build --json-report <path>Structured build reportParsing findings programmatically
forge audit <phase> [--explain]One-off scan (+ why it fires / how to fix)Pre-commit, ad-hoc, clearing a strict
forge authoringFlag empty / below-floor content fieldsBefore declaring a tenant authored
forge synthesis previewPreview a SiteSpec before generating cms/Designing a tenant from spec
forge codegenEmit a self-contained axum+tokio+sqlx crate from cms/Static build needs server handlers
forge doctrine for <path> [--terse]Applicable rules (terse = citation-ready)Cite rules in PRs
forge fixAuto-fix mechanical findings from latest reportAfter a build with fixable findings

Shipped tenant-style surface (as of 2026-06)

forge.toml [style.*] drives rendering without hand-authored CSS: palette / fonts / radius / density, plus [style.nav|image|weights|sizes|text] CSS-var hooks and self-hosted [[style.webfonts]]. Tenant overrides emit as an external, SRI-pinned /tenant-style.css (CSP style-src 'self' — inline is blocked). [render] clean_urls=true → extensionless routing; <root>/site.json → site-wide shared chrome (nav/footer/brand). {{ VAR }} / @asset-slug substitution from variables.json / assets-map.json is live.

Substrate-vs-tenant discipline (ABSOLUTE)

Hand-coding HTML / CSS / JS in tenant repos is forbidden — forge build flags it via substrate_purity. Every gap is a substrate change:

  1. Add a Loom primitive (typed CmsSection / CmsBlock variant), or
  2. Add a Forge phase / gate, or
  3. Extend doctrine. Tenant authoring goes through CmsSection premades or CmsSection::Compose + atomic CmsBlock primitives (text/heading/image/link/spacer/divider/container/row/column).

Don't

  • Don't bash/grep when a Forge subcommand/tool exists.
  • Don't add a new section primitive when atomic CmsBlock composition suffices (doctrine prim-012 rejects one-tenant-shaped premades — generalize to variants/config).
  • Don't bake tenant identity into substrate Rust or commit messages — substrate stays generic.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.