Skip to content
cccskills
FreePublished on GitHub

add-tool

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.

See how to install

Files included (1)

  • SKILL.md2.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

/add-tool — add a new Forge tool

Adding a tool touches four places. Do all four in one change, or the tool is half-registered.

Tool name: $ARGUMENTS (kebab-case, e.g. read-manifest).

1. Implementation — src/tools/$ARGUMENTS.ts

  • Import Tool from ../types and ForgeRuntimeError from ../types/errors.
  • Define a zod schema for input and output.
  • Declare both metadata fields on the tool schema:
    • sideEffect: none | read | write | network | exec
    • risk: low | medium | high | critical
  • Route every filesystem access through src/sandbox/fs.ts helpers.
  • Route every shell command through src/sandbox/shell.ts + classifyCommandRisk.
  • Request permission via requestPermission from src/permissions/manager.ts before the side-effecting call, not after.
  • Return { ok: true, data } / { ok: false, error }. Throw only for programmer errors.

2. Registration — src/tools/registry.ts (indirectly)

Follow the existing pattern used by sibling tools: export a register helper or a tool constant and wire it up wherever registerTool is called at startup. Read one existing tool (e.g. src/tools/read-file.ts) before writing yours.

3. Unit test — test/unit/$ARGUMENTS.test.ts

At minimum, cover:

  • happy path with valid input
  • invalid input (zod rejection)
  • permission denied → structured error, not throw
  • path-escape attempt is refused by the sandbox
  • (if shell) critical command is hard-blocked

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

4. Documentation

If the tool is user-visible, add a row to the tools table in docs/ARCHITECTURE.md (it lists all 18 tools today). Update the count in README.md "At a glance" if it changed.

Verification

Run /verify when you're done. The test count should increase by the number of tests you added.

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).

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). 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 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 — 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

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.

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

See all skills by hoangsonww

Report a problem with this skill