design-agent-capabilities
Design or review an agent's skills and tools. Use when deciding whether behavior belongs in instructions, deterministic code, a tool or toolset, or an Agent Skill; defining schemas and policies; class
SKILL.mdskills/design-agent-capabilities/SKILL.md
GitHubDesign Agent Capabilities
Turn an agent's responsibilities into a small, governed capability surface.
Workflow
- Inventory each behavior the agent needs and the data or side effects it touches.
- Place each behavior in exactly one primary layer:
- prompt or policy for compact behavioral constraints;
- deterministic code for stable computation and validation;
- tool for a callable operation or external capability;
- skill for reusable procedural knowledge, examples, and supporting resources.
- For every tool, define typed inputs and outputs, authorization, timeout, idempotency, retry safety, side effects, observability fields, and user-visible errors.
- Classify every tool as
read,write_reversible, orwrite_consequential, then document idempotency and approval separately. - For every skill, use Agent Skills-compatible packaging: a matching directory name and
SKILL.mdwith onlynameanddescriptionrequired in YAML frontmatter. - Keep the main
SKILL.mdprocedural and concise. Put detailed standards and examples in one-levelreferences/files. Put executable utilities inscripts/and output materials inassets/only when needed. - Wire capabilities through an explicit per-agent allowlist. Deny undeclared capabilities.
- Test schemas, authorization, retry semantics, denied paths, and representative skill-triggering prompts.
Decision Rule
If the model only needs to know how to reason or work, use a skill. If it needs to perform an operation, use a tool. If behavior must be exact and repeatable, use deterministic code. Keep policy outside all three when it must be centrally governed.
Read the capability standard before adding a skill or tool. Use the examples for packaging and tool contracts.
Guardrails
- Do not wrap every function as a tool.
- Do not use skills to smuggle credentials or bypass tool authorization.
- Do not mark a non-idempotent write as automatically retryable.
- Do not depend on a skill description to enforce runtime security.
- Do not duplicate a shared capability inside each agent without a documented reason.
Completion Check
Confirm that each capability has one owner, a narrow contract, a risk classification, explicit consumers, negative-path tests, and traceable usage.