add-tool

SkillDev tools

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

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the add-tool skill

What this skill tells your AI

The instructions your AI receives, as published by hoangsonww/forge-agentic-coding-cli in .codex/skills/add-tool/SKILL.md and read by ahel’s review.

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.

Signals

GitHub stars
22
Forks
9
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
add-tool-hoangsonww
Source
github.com/hoangsonww/forge-agentic-coding-cli