forge-forge
Compile a sealed change.md into plan.yaml via the ForgeSpec CLI.
Skill by forgespec
Chalk Labs
Need help deploying forge-forge?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/tiagomoscoso-forge-forge
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/forge-forge
What's inside
- Skill name
forge-forge- Description
- Compile a sealed change.md into plan.yaml via the ForgeSpec CLI. Use after propose seal.
- License
- MIT
- Compatibility
- Requires forgespec CLI.
- Metadata
- author: forgespec · version: 1.0 · generatedBy: 0.1.0
- Instructions
- 92 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
Compile change.md into an executable task graph. This is not "split the work into pieces" — it's designing an execution structure that a set of agents (possibly running in parallel) can execute correctly.
The only artifact is `forgespec/changes/<id>/plan.yaml`. Do not persist an execution-order or progress Markdown file; `forgespec waves --json` is the derived view of execution order, always up to date, never hand-maintained.
## Ground tasks in the real repository
1. Read `forgespec/changes/<id>/change.md` and the actual repository state before drafting tasks — a task list produced from the contract alone, without checking what already exists, tends to invent unnecessary work or miss what's already partially done.
2. Reject placeholder tasks ("inspect the code", "understand the requirements") — every task must be a concrete unit of engineering work. `forgespec forge` already rejects these at compile time; don't rely on that as your quality bar, catch them yourself first.
## Design each task as one coherent responsibility
A good task has one coherent engineering responsibility, is sized for a single focused exec session, has requirement coverage, has objective acceptance conditions, and has a clear validation path. It does not mix unrelated architectural layers without necessity, is not split merely by file, is not artificially tiny, and is not so large that a failure is hard to diagnose.
Poor: "Implement backend changes" (too broad to diagnose on failure, mixes unrelated responsibilities).
Poor: "Edit file A" / "Edit file B" / "Edit file C" (split by file, not by responsibility — a reader can't tell what any one task is actually for).
Better: "Reject expired and unsigned tokens in AuthMiddleware" (one responsibility, one requirement, one clear pass/fail).
## Cover every mandatory requirement, justify every task
Every mandatory requirement in change.md must map to `requirements: [...]` on at least one task — `forgespec forge` enforces this (uncovered requirements and orphan tasks both fail compilation), so treat that as a real constraint to satisfy while drafting, not a check to fix after the fact. A task with no requirement should be an explicit, clearly-labeled enabling/infrastructure task (e.g. scaffolding a new module the requirement-bearing tasks depend on), not silently included as if it were required — and there should be no task that exists for no traceable reason at all.
## Depend on what's actually required, not what's convenient to serialize
Use `depends_on` only for a true dependency: task B cannot be correctly implemented or verified before task A exists. A "feels more natural in this order" preference is not a dependency — encoding it as one over-serializes the graph and kills parallelism for no correctness benefit.
Maximize safe parallelism. Tasks are good candidates to run in the same wave when they touch:
- separate subsystems
- independent files
- independent APIs
- independent tests
- no shared mutable infrastructure
Set `depends_on_state` deliberately: depending on a task reaching `implemented` is weaker (and faster to unblock) than requiring `verified`; use `implemented` only when that weaker guarantee is genuinely sufficient for the dependent task to proceed correctly.
## Declare real conflicts so parallel execution stays safe
Two tasks that would otherwise run in parallel but actually conflict must say so through `touches` and `locks` — overlapping `touches` globs or a shared `locks` entry are what the CLI uses to detect a conflict. Consider each of these as a real conflict source:
- overlapping files
- shared configuration
- a database schema
- generated code
- a shared external environment
- the same named lock/resource
- the same integration surface
Do not claim two tasks are independent when their `touches` would obviously collide, and do not add a lock "just in case" for tasks that don't actually share a resource — that serializes work that could have run in parallel.
## Represent external and manual prerequisites explicitly
A task that needs any of the following before it can start should declare it through `prerequisites` (`env`/`manual`/`command`), not bury it in the task description where `forgespec agent preflight` can't check it and a future exec will discover it the hard way:
- a live service
- credentials
- specific hardware
- a manual approval
- an external environment
- manual validation that can't be automated
## Decide test placement deliberately
Do not automatically create a separate "write tests" task. Tests that prove a task's own acceptance criteria belong on that task. Create a separate test/integration task only when there's a genuine architectural reason (e.g. an integration suite that spans multiple tasks' output and can't be attributed to any single one).
## Assign validators that actually verify the task, not by default
Pick a credible verification path for each task rather than assigning validators mechanically — for example:
- focused tests, for a task with behavioral acceptance criteria
- `build`/`typecheck`, for a task that's mostly structural
- an integration test, when the acceptance criteria span more than one component
- `code-review` or `spec-compliance` (semantic validators), when the task needs judgment a deterministic check can't apply
- manual/external verification, when the task genuinely requires it — say so explicitly rather than inventing an automated check that can't exist
`architecture-review`, `security-review`, `spec-compliance`, and `code-review` are semantic validators: they gate archive through a submitted review, not through `exec finish`, so only assign them where the task's own review actually needs that scrutiny. A spike or pure manual-verification task may credibly need no automated validator at all.
## Review the whole graph before compiling
Before running `forgespec forge --change <id> --json`, check the drafted graph for:
- an uncovered mandatory requirement
- duplicate tasks covering the same ground
- a dependency cycle
- unnecessary serialization that could safely be removed
- unsafe parallelism (two tasks that will actually conflict but aren't marked as such)
- a task that's too broad to diagnose on failure
- a task that's too granular to be worth a session
- missing validation for a task whose acceptance criteria need it
- a missing external/manual prerequisite
- implementation work not justified by any requirement or a stated enabling reason
- scope beyond what change.md actually asked for
Then run `forgespec forge --change <id> --json` and let the CLI's deterministic checks (duplicate ids, bad dependencies, missing requirement references, empty acceptance, cycles, coverage) be the final gate, not the first one. If it fails, fix the plan rather than reflexively re-running it.
If a sealed plan must change, use `forgespec forge --change <id> --replan --json` only once no task is `RUNNING` — replanning under a live task risks invalidating in-flight evidence.From TiagoMoscoso/ForgeSpec, MIT.
More from TiagoMoscoso/ForgeSpec
- 0.523score
forge-propose
forgespec
Write and seal a ForgeSpec change.md contract.
SkillBFreshness: BClaude Code +9 - 0.518score
forge-archive
forgespec
Archive a ForgeSpec task through the fail-closed evidence gate, then close the change when ready.
SkillBFreshness: BClaude Code +9 - 0.518score
forge-exec
forgespec
Execute exactly one ForgeSpec task with CLI preflight, validators, and evidence.
SkillBFreshness: BClaude Code +9 - 0.518score
forge-explore
forgespec
Explore the repository and problem without implementing.
SkillBFreshness: BClaude Code +9 - 0.515score
specialist-concurrency
forgespec
Shared state and parallel execution.
SkillBFreshness: BClaude Code +9 - 0.515score
specialist-frontend
forgespec
User-facing states and interaction.
SkillBFreshness: BClaude Code +9 - 0.515score
specialist-migration
forgespec
Forward/backward compatibility of persisted state and deployments.
SkillBFreshness: BClaude Code +9 - 0.515score
specialist-observability
forgespec
What must be visible to prove the change worked and to diagnose it when it does not.
SkillBFreshness: BClaude Code +9 - 0.515score
specialist-security
forgespec
Trust boundaries and sensitive data.
SkillBFreshness: BClaude Code +9 - 0.515score
specialist-architecture
forgespec
Boundaries, ownership, and reuse.
SkillBFreshness: BClaude Code +9 - 0.514score
specialist-data
forgespec
Schema, ownership, and consistency.
SkillBFreshness: BClaude Code +9 - 0.514score
specialist-api
forgespec
External contracts.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 11, 2026 (1 month ago)
- Last release
- Sep 11, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0
- License
- MIT
- Repository
- github.com/TiagoMoscoso/ForgeSpec
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from forgespec
- 0.523score
forge-propose
forgespec
Write and seal a ForgeSpec change.md contract.
SkillBFreshness: BClaude Code +9 - 0.518score
forge-explore
forgespec
Explore the repository and problem without implementing.
SkillBFreshness: BClaude Code +9 - 0.518score
forge-archive
forgespec
Archive a ForgeSpec task through the fail-closed evidence gate, then close the change when ready.
SkillBFreshness: BClaude Code +9 - 0.518score
forge-exec
forgespec
Execute exactly one ForgeSpec task with CLI preflight, validators, and evidence.
SkillBFreshness: BClaude Code +9 - 0.515score
specialist-security
forgespec
Trust boundaries and sensitive data.
SkillBFreshness: BClaude Code +9 - 0.515score
specialist-architecture
forgespec
Boundaries, ownership, and reuse.
SkillBFreshness: BClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get forge-forge running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
forge-forge skill. Agent Mart. https://agentmart.dev/skills/tiagomoscoso-forge-forge (last updated 2026-10-24)