Skip to content
cccskills
FreePublished on GitHub

add-tool

Scaffold a new Forge tool end-to-end — implementation, registration, permission/risk metadata, sandbox routing, and a unit test.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md1.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

A new tool touches four places. Do all four or the tool is half-registered.

1. src/tools/<name>.ts

  • zod schemas for input and output.
  • Declare both sideEffect (none|read|write|network|exec) and risk (low|medium|high|critical) on the schema. Be honest — these drive the permission classifier.
  • All filesystem access goes through src/sandbox/fs.ts helpers.
  • All shell commands go through src/sandbox/shell.ts + classifyCommandRisk.
  • Request permission via requestPermission (src/permissions/manager.ts) before the side effect, not after.
  • Return { ok: true, data } / { ok: false, error }. Throw only for programmer errors, and then use ForgeRuntimeError.

2. Registration

Wire it into the registry, following the pattern of an existing tool like src/tools/read-file.ts.

3. test/unit/<name>.test.ts

Minimum coverage:

  • happy path with valid input,
  • zod rejection on invalid input,
  • permission denied → structured error (not throw),
  • sandbox refuses path-escape,
  • (if shell) critical command hard-blocked.

Use vi.mock for the permission manager and sandbox boundaries. No real filesystem writes outside os.tmpdir().

4. Docs

If user-visible, update the tools table in docs/ARCHITECTURE.md and the README "At a glance" count.

Finish with the verify skill.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Scaffold a new Forge subagent (planner/architect/executor/reviewer/debugger/memory-style). Use when adding anything to src/agents/.

The English summary is being prepared. Showing the original description.

hoangsonww/Forge-Agentic-Coding-CLI26Updated Sep 28, 2026

Scaffold a new Forge subagent (planner/architect/executor/reviewer/debugger/memory-style).

The English summary is being prepared. Showing the original description.

hoangsonww/Forge-Agentic-Coding-CLI26Updated Sep 28, 2026

Scaffold a new model provider for Forge — class implementation, registry wiring, providerEnum entry, local-catalog classification, and unit test with mocked transport. Use for anything under src/models/.

The English summary is being prepared. Showing the original description.

hoangsonww/Forge-Agentic-Coding-CLI26Updated Sep 28, 2026

Scaffold a new model provider for Forge — class, registry wiring, providerEnum entry, local-catalog classification, router check, and a unit test with mocked transport.

The English summary is being prepared. Showing the original description.

hoangsonww/Forge-Agentic-Coding-CLI26Updated Sep 28, 2026

Scaffold a new Forge tool end-to-end — type, implementation, registration, permission/risk classification, and unit test. Use when adding anything to src/tools/.

The English summary is being prepared. Showing the original description.

hoangsonww/Forge-Agentic-Coding-CLI26Updated Sep 28, 2026

Scaffold a new Forge tool — implementation, registration, permission/risk metadata, sandbox routing, and a unit test. Use when adding anything to src/tools/.

The English summary is being prepared. Showing the original description.

hoangsonww/Forge-Agentic-Coding-CLI26Updated Sep 28, 2026

See all skills by hoangsonww

Report a problem with this skill