본문으로 건너뛰기
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.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

add-agent

무료

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

hoangsonww/Forge-Agentic-Coding-CLI262026년 9월 28일 업데이트

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-CLI262026년 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-CLI262026년 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-CLI262026년 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-CLI262026년 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-CLI262026년 9월 28일 업데이트

hoangsonww의 스킬 모두 보기

이 스킬의 문제 신고