Skill Forge
Outcome
Design one narrow capability as a portable Agent Skills package with explicit activation boundaries, then compile and prove it when a Foundry runtime is available.
Use this skill when
- A successful workflow should become reusable.
- A user asks to create, improve, or package a skill.
- A repeated task needs stable instructions, tools, guardrails, or evaluation.
- The capability should work in ChatGPT, Codex, or a skills-based plugin.
Do not use it when the work requires persistent decision rights, a distinct durable memory scope, or an ongoing trigger owned by an autonomous actor. Use $agent-forge only after proving one of those boundaries.
Procedure
Define the decision contract.
- Capture the objective, audience, deliverables, stakes, reversibility, permissions, constraints, and completion tests.
- Ask only for missing information that materially changes the capability.
Discover before creating.
- Inspect the capability graph and existing skills.
- Reuse or depend on an existing capability when it already owns the behavior.
- Record required, preferred, and forbidden capabilities explicitly.
Bound activation.
- Write concrete positive triggers and at least one negative trigger.
- Keep one skill responsible for one coherent outcome.
- Avoid broad adjectives as requirements; translate them into observable gates.
Author the Skill Pack.
- Give every procedure step a proof obligation.
- Declare inputs, outputs, dependencies, tool policy, memory policy, deployment targets, and optional taste profile.
- Keep
SKILL.md frontmatter limited to name and description.
Select the execution mode.
Foundry runtime available: use this mode only when tools/foundry/cli.mjs and foundry/contracts/ exist in the current workspace. Validate the Task Envelope and Skill Pack, then run:
node tools/foundry/cli.mjs forge \
--envelope <task-envelope.json> \
--pack <skill-pack.json> \
--out <package-directory>
Portable skills-only install: read references/portable-contracts.md, then author the Task Envelope, Skill Pack, and proposed SKILL.md directly with those field names. Mark compilation and proof pending-runtime; do not invent paths, commands, or receipts. Give the operator the command above as an optional handoff for a later SIS workspace run.
Prove.
Run this step only in Foundry runtime mode.
Run static and artifact checks first.
Execute command tests only when the Task Envelope permits the executable.
Keep manual and judge tests pending until independent evidence exists.
Run:
node tools/foundry/cli.mjs prove <package-directory>
Promote only from receipts.
validated: every required lane passed.
experimental: required evidence is still pending.
revise: a required test failed.
rejected: a critical security test failed.
Quality gates
- The skill is narrower than an agent and more reusable than a one-off prompt.
- Trigger examples distinguish when to use and when not to use it.
- The procedure is executable without hidden context.
- Claims about research, tests, writes, or deployment have receipts.
- The producer is not the sole judge for a required taste lane.
Return
Return the Task Envelope, Skill Pack, proposed skill, execution mode, and unresolved proof. Include a compiled package path and Evidence Receipt only when those artifacts were actually produced.
1---2name: skill-forge3description: Forge a reusable, portable skill from a proven workflow or capability brief. Use when the work needs repeatable instructions, triggers, guardrails, and evidence tests but does not need a persistent autonomous identity.4---56# Skill Forge78## Outcome910Design one narrow capability as a portable Agent Skills package with explicit activation boundaries, then compile and prove it when a Foundry runtime is available.1112## Use this skill when1314- A successful workflow should become reusable.15- A user asks to create, improve, or package a skill.16- A repeated task needs stable instructions, tools, guardrails, or evaluation.17- The capability should work in ChatGPT, Codex, or a skills-based plugin.1819Do not use it when the work requires persistent decision rights, a distinct durable memory scope, or an ongoing trigger owned by an autonomous actor. Use `$agent-forge` only after proving one of those boundaries.2021## Procedure22231. Define the decision contract.24 - Capture the objective, audience, deliverables, stakes, reversibility, permissions, constraints, and completion tests.25 - Ask only for missing information that materially changes the capability.262. Discover before creating.27 - Inspect the capability graph and existing skills.28 - Reuse or depend on an existing capability when it already owns the behavior.29 - Record required, preferred, and forbidden capabilities explicitly.303. Bound activation.31 - Write concrete positive triggers and at least one negative trigger.32 - Keep one skill responsible for one coherent outcome.33 - Avoid broad adjectives as requirements; translate them into observable gates.344. Author the Skill Pack.35 - Give every procedure step a proof obligation.36 - Declare inputs, outputs, dependencies, tool policy, memory policy, deployment targets, and optional taste profile.37 - Keep `SKILL.md` frontmatter limited to `name` and `description`.385. Select the execution mode.39 - **Foundry runtime available:** use this mode only when `tools/foundry/cli.mjs` and `foundry/contracts/` exist in the current workspace. Validate the Task Envelope and Skill Pack, then run:4041 ```bash42 node tools/foundry/cli.mjs forge \43 --envelope <task-envelope.json> \44 --pack <skill-pack.json> \45 --out <package-directory>46 ```4748 - **Portable skills-only install:** read `references/portable-contracts.md`, then author the Task Envelope, Skill Pack, and proposed `SKILL.md` directly with those field names. Mark compilation and proof `pending-runtime`; do not invent paths, commands, or receipts. Give the operator the command above as an optional handoff for a later SIS workspace run.49506. Prove.51 - Run this step only in Foundry runtime mode.52 - Run static and artifact checks first.53 - Execute command tests only when the Task Envelope permits the executable.54 - Keep manual and judge tests pending until independent evidence exists.55 - Run:5657 ```bash58 node tools/foundry/cli.mjs prove <package-directory>59 ```60617. Promote only from receipts.62 - `validated`: every required lane passed.63 - `experimental`: required evidence is still pending.64 - `revise`: a required test failed.65 - `rejected`: a critical security test failed.6667## Quality gates6869- The skill is narrower than an agent and more reusable than a one-off prompt.70- Trigger examples distinguish when to use and when not to use it.71- The procedure is executable without hidden context.72- Claims about research, tests, writes, or deployment have receipts.73- The producer is not the sole judge for a required taste lane.7475## Return7677Return the Task Envelope, Skill Pack, proposed skill, execution mode, and unresolved proof. Include a compiled package path and Evidence Receipt only when those artifacts were actually produced.