Agent Forge
Outcome
Design the smallest justified persistent actor, or deliberately downgrade the request to a skill or temporary worker. Compile it only when a Foundry runtime is present.
Agent necessity gate
An agent must own at least one durable boundary:
- stable decision rights;
- a distinct memory scope;
- a constrained tool or permission boundary;
- genuine ownership transfer or handoff authority;
- an ongoing schedule, channel, or API trigger.
If none applies, stop and route to $skill-forge. A name, persona, or desire for “more intelligence” is not an agent boundary.
Procedure
Build the Task Envelope.
- Record the objective, deliverables, stakes, autonomy, permissions, evidence policy, and termination tests.
Prove necessity.
- Mark each necessity-gate field true or false.
- Explain the persistent boundary in operational language.
- Compare the proposed agent against a skill, deterministic tool, and temporary task worker.
Define decision rights.
- State what the agent may decide, what it may recommend, and what requires operator approval.
- Exclude public release, financial commitment, destructive action, permission expansion, and substrate change unless explicitly authorized.
Define memory and tools.
- Name readable and writable scopes separately.
- Choose turn, session, or durable retention.
- Allow only the minimum tools needed; list denied tools explicitly.
Define handoffs and termination.
- Give every handoff a condition and target.
- Set success conditions, stop conditions, and a hard turn or round ceiling.
Compose existing skills.
- Agents orchestrate capabilities; they do not duplicate skill procedures inside a persona prompt.
Select the execution mode.
- Foundry runtime available: only when
tools/foundry/cli.mjs and foundry/contracts/ exist in the current workspace, compile and prove:
node tools/foundry/cli.mjs forge \
--envelope <task-envelope.json> \
--pack <agent-pack.json> \
--out <package-directory>
node tools/foundry/cli.mjs prove <package-directory>
- Portable skills-only install: read
references/portable-contracts.md, then author the Task Envelope and Agent Pack with those field names. Mark compilation and proof pending-runtime; do not invent an Evidence Receipt. Provide the commands above as an optional handoff for a later SIS workspace run.
Refuse false persistence.
- If the boundary disappears during design, return a Skill Pack proposal instead of forcing agent creation.
Quality gates
- At least one durable boundary is true and explained.
- Decision rights do not exceed the Task Envelope autonomy.
- Tool and memory permissions are least-privilege.
- Handoffs do not form an unbounded loop.
- The agent has explicit success and stop conditions.
- Behavioral, security, and drift evidence are required before production autonomy.
Return
Return the necessity verdict, chosen topology, Agent Pack, execution mode, permissions requiring approval, and any downgrade recommendation. Include a compiled package path and Evidence Receipt only when they were actually produced.
1---2name: agent-forge3description: Design an agent only when a durable autonomy boundary is justified; compile it only when a Foundry runtime is available. Use for persistent decision rights, distinct memory, constrained tools, ownership transfer, or an ongoing schedule, channel, or API trigger.4---56# Agent Forge78## Outcome910Design the smallest justified persistent actor, or deliberately downgrade the request to a skill or temporary worker. Compile it only when a Foundry runtime is present.1112## Agent necessity gate1314An agent must own at least one durable boundary:1516- stable decision rights;17- a distinct memory scope;18- a constrained tool or permission boundary;19- genuine ownership transfer or handoff authority;20- an ongoing schedule, channel, or API trigger.2122If none applies, stop and route to `$skill-forge`. A name, persona, or desire for “more intelligence” is not an agent boundary.2324## Procedure25261. Build the Task Envelope.27 - Record the objective, deliverables, stakes, autonomy, permissions, evidence policy, and termination tests.282. Prove necessity.29 - Mark each necessity-gate field true or false.30 - Explain the persistent boundary in operational language.31 - Compare the proposed agent against a skill, deterministic tool, and temporary task worker.323. Define decision rights.33 - State what the agent may decide, what it may recommend, and what requires operator approval.34 - Exclude public release, financial commitment, destructive action, permission expansion, and substrate change unless explicitly authorized.354. Define memory and tools.36 - Name readable and writable scopes separately.37 - Choose turn, session, or durable retention.38 - Allow only the minimum tools needed; list denied tools explicitly.395. Define handoffs and termination.40 - Give every handoff a condition and target.41 - Set success conditions, stop conditions, and a hard turn or round ceiling.426. Compose existing skills.43 - Agents orchestrate capabilities; they do not duplicate skill procedures inside a persona prompt.447. Select the execution mode.45 - **Foundry runtime available:** only when `tools/foundry/cli.mjs` and `foundry/contracts/` exist in the current workspace, compile and prove:4647 ```bash48 node tools/foundry/cli.mjs forge \49 --envelope <task-envelope.json> \50 --pack <agent-pack.json> \51 --out <package-directory>52 node tools/foundry/cli.mjs prove <package-directory>53 ```5455 - **Portable skills-only install:** read `references/portable-contracts.md`, then author the Task Envelope and Agent Pack with those field names. Mark compilation and proof `pending-runtime`; do not invent an Evidence Receipt. Provide the commands above as an optional handoff for a later SIS workspace run.56578. Refuse false persistence.58 - If the boundary disappears during design, return a Skill Pack proposal instead of forcing agent creation.5960## Quality gates6162- At least one durable boundary is true and explained.63- Decision rights do not exceed the Task Envelope autonomy.64- Tool and memory permissions are least-privilege.65- Handoffs do not form an unbounded loop.66- The agent has explicit success and stop conditions.67- Behavioral, security, and drift evidence are required before production autonomy.6869## Return7071Return the necessity verdict, chosen topology, Agent Pack, execution mode, permissions requiring approval, and any downgrade recommendation. Include a compiled package path and Evidence Receipt only when they were actually produced.