tool-protocol
Find, build, or adapt automation tools following the Tool Protocol decision tree
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Find, build, or adapt automation tools following the Tool Protocol decision tree
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Health check procedures D1โD14 for the Audit agent โ structural validation, attention budget, version checks, workspace integrity, and static audit
Configure and manage Model Context Protocol servers for external tool access
Review a UI for accessibility โ WCAG 2.1 AA compliance, semantic HTML, ARIA usage, keyboard navigation, focus management, colour contrast, and screen reader compatibility
Design or review a REST or GraphQL API โ resource modeling, versioning strategy, error contract, OpenAPI/schema-first workflow, and security baseline
Generate a CHANGELOG.md entry from staged changes, a commit range, or a PR diff โ following Keep a Changelog format with conventional commit classification
Set up and audit environment variable management โ create .env.example, add startup validation, separate secrets from config, and document every variable
| name | tool-protocol |
| description | Find, build, or adapt automation tools following the Tool Protocol decision tree |
| compatibility | >=1.4 |
Skill metadata: version "1.1"; license MIT; tags [tools, automation, scripting, toolbox, plugins, mcp-apps]; compatibility ">=1.4"; recommended tools [codebase, editFiles, runCommands, fetch].
When a task requires automation or a repeatable utility, follow this decision tree before writing anything ad-hoc.
Need a tool for task X
โ
โโ 1. FIND โ check .copilot/tools/INDEX.md
โ โโ Exact match โ USE IT directly
โ โโ Close match โ ADAPT (fork, rename, note source in comment at top of file)
โ โโ No match โ โ
โ
โโ 1.5 BUILT-IN โ check VS Code's native tool capabilities
โ โโ Use the exact tool names surfaced by the active runtime; identifiers differ across clients
โ โโ Symbol/reference lookup โ find all references, implementations, callers of a symbol
โ โโ Problems/errors lookup โ get compile or lint errors for a file or the entire workspace
โ โโ Web fetch โ fetch web pages, docs, or API references
โ โโ Semantic search โ natural language search across the codebase
โ โโ Text/regex search โ fast exact-match or pattern search in workspace files
โ โโ Sufficient โ USE built-in tool
โ โโ Not sufficient โ โ
โ
โโ 1.6 PLUGIN TOOLS โ check installed agent plugins for contributed tools
โ โโ Search Extensions view with `@agentPlugins`
โ โโ Inspect plugin docs for commands, skills, hooks, and MCP servers
โ โโ Suitable existing capability โ USE plugin-contributed capability
โ โโ No suitable capability โ โ
โ
โโ 2. SEARCH online (try in order)
โ a. MCP server registry github.com/modelcontextprotocol/servers
โ b. GitHub search github.com/search?type=repositories&q=<task>
โ c. Awesome lists awesome-cli-apps ยท awesome-shell ยท awesome-python ยท awesome-rust ยท awesome-go
โ d. Stack registry npmjs.com / pypi.org / crates.io / pkg.go.dev
โ e. Official CLI docs git ยท docker ยท gh ยท jq ยท ripgrep ยท sed ยท awk (built-ins first)
โ โโ Found something usable โ evaluate fit, adapt as needed, note source
โ โโ Nothing applicable โ โ
โ
โโ 2.5 COMPOSE โ can this be assembled from 2+ existing toolbox tools via pipe or import?
โ โโ Yes โ compose; document the pipeline; save to toolbox if reusable
โ โโ No โ โ
โ
โโ 3. BUILD โ write the tool from scratch
- Follow ยง4 coding conventions and ยง3 LOC baselines
- Single-purpose: one tool, one job; compose via pipes or imports
- Accept arguments instead of hardcoding project-specific paths
- Required inline header at the top of every built or saved tool:
# purpose: <what this tool does โ one precise sentence>
# when: <when to invoke it | when NOT to invoke it>
# inputs: <argument list with types and valid values>
# outputs: <what it returns โ type and structure; include MCP Apps output when interactive UI is beneficial>
# risk: safe | destructive
# source: <url or "original" if built from scratch>
โ
โโ 4. EVALUATE reusability
โโ โฅ 2 distinct tasks in this project would benefit โ SAVE to toolbox
โ a. Place file in .copilot/tools/<kebab-name>.<ext>
โ b. Add a row to .copilot/tools/INDEX.md (see format below)
โโ Single-use / too project-specific โ use inline only; do not save
.copilot/tools/ is created on first tool save (no setup step required). Contents:
Files: INDEX.md (catalogue) ยท *.sh ยท *.py ยท *.js/*.ts ยท *.mcp.json
INDEX.md row format:
| Tool | Lang | What it does | When to use | Output | Risk |
|---|---|---|---|---|---|
count-exports.sh | bash | Count exported symbols per file | API surface audits | symbol counts to stdout | safe |
summarise-metrics.py | python | Parse metrics baselines and print trends | Kaizen review sessions | trend table to stdout | safe |
Naming โ Verb-noun kebab phrase (count-exports, sync-schema), not nouns or generic labels.
Risk tier: safe (read-only/idempotent, invoke freely) | destructive (deletes/overwrites/writes remote; must confirm with user).
Other rules: idempotent where possible; no hardcoded paths/names/secrets (accept arguments); retire unused tools with [DEPRECATED] in INDEX.md (W1); LOC โค 400; prefer targeted reads over raw dumps; prefer MCP Apps output for interactive workflows.
Subagents inherit this protocol. A subagent may build or adapt tools independently but must flag toolbox saves to the parent agent for confirmation.