add-tool

Instructions for adding a new Forge tool, meaning an action the agent can call. They cover input and output validation, permissions, risk labels, sandboxed file and shell access, registration, and tests.

In plain words
What is it for?
Implementing and registering tools, validating inputs, handling denied permissions as structured errors, testing path protection, and blocking dangerous shell commands.
Why use it?
They help ensure new tools report their side effects honestly, ask for permission before risky actions, and cannot escape the sandbox.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/hoangsonww/forge-agentic-coding-cli/add-tool
Any agent
npx skills add hoangsonww/Forge-Agentic-Coding-CLI --skill add-tool
Clone the repo
git clone --depth 1 https://github.com/hoangsonww/Forge-Agentic-Coding-CLI

Made for: Claude Code, Codex.

Per session 30 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 383 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00030 $0.00383
Opus 5 $0.00015 $0.00192
Sonnet 5 $0.00006 $0.00077
Haiku 4.5 $0.00003 $0.00038

Measured 2d ago against content hash 05f70d00e24b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

add-tool scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.agents/skills/add-tool/SKILL.md · 47 lines

What it actually says

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.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 47 lines · 30 tokens per session scan A 05f70d00e24b

Subscribe to this mod's changes

add-tool is a skill published in the GitHub repository hoangsonww/Forge-Agentic-Coding-CLI (22 stars, last pushed 16d ago), licensed MIT. It adds 30 tokens to every session and 383 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

code-reviewer

Automatic code quality and best practices analysis. Use proactively when files are modified, saved, or committed. Analyzes code style, patterns, potential bugs, and security basics. Triggers on file changes, git diff, code edits, quality mentions.

alirezarezvani/claude-code-tresor · 54 tokens

git-commit-helper

Generate conventional commit messages automatically. Use when user runs git commit, stages changes, or asks for commit message help. Analyzes git diff to create clear, descriptive conventional commit messages. Triggers on git commit, staged changes, commit message requests.

alirezarezvani/claude-code-tresor · 55 tokens

test-generator

Automatically suggest tests for new functions and components. Use when new code is written, functions added, or user mentions testing. Creates test scaffolding with Jest, Vitest, Pytest patterns. Triggers on new functions, components, test requests, testing mentions.

alirezarezvani/claude-code-tresor · 55 tokens

api-documenter

Auto-generate API documentation from code and comments. Use when API endpoints change, or user mentions API docs. Creates OpenAPI/Swagger specs from code. Triggers on API file changes, documentation requests, endpoint additions.

alirezarezvani/claude-code-tresor · 48 tokens

readme-updater

Keep README files current with project changes. Use when project structure changes, features added, or setup instructions modified. Suggests README updates based on code changes. Triggers on significant project changes, new features, dependency changes.

alirezarezvani/claude-code-tresor · 49 tokens

dependency-auditor

Check dependencies for known vulnerabilities using npm audit, pip-audit, etc. Use when package.json or requirements.txt changes, or before deployments. Alerts on vulnerable dependencies. Triggers on dependency file changes, deployment prep, security mentions.

alirezarezvani/claude-code-tresor · 51 tokens