本文へ移動
cccskills
無料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/.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md2.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

add-agent

無料

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

日本語の概要は準備中です。原文の説明を表示しています。

hoangsonww/Forge-Agentic-Coding-CLI252026年9月28日 更新

add-agent

無料

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

日本語の概要は準備中です。原文の説明を表示しています。

hoangsonww/Forge-Agentic-Coding-CLI252026年9月28日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

hoangsonww/Forge-Agentic-Coding-CLI252026年9月28日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

hoangsonww/Forge-Agentic-Coding-CLI252026年9月28日 更新

add-tool

無料

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

日本語の概要は準備中です。原文の説明を表示しています。

hoangsonww/Forge-Agentic-Coding-CLI252026年9月28日 更新

add-tool

無料

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

日本語の概要は準備中です。原文の説明を表示しています。

hoangsonww/Forge-Agentic-Coding-CLI252026年9月28日 更新

hoangsonww のスキルをすべて見る

このスキルの問題を報告する