Design, build, validate, and deploy new skills for the agent skill library
Instalação
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Design, build, validate, and deploy new skills for the agent skill library. Each skill is a single cognitive capability with two artifacts: SKILL.md (agent instructions) and tool.yaml (machine-readable contract).
Execution Model
This is an agent-handled skill (handler: type: agent). When develop_skill is invoked, you (the agent) follow the methodology below to create a complete, validated skill. There is no backing code — you follow these instructions directly. The tool schema in tool.yaml defines the external contract; this document guides how you fulfill it. An orchestrator may route this skill to any agent that has meta/skill-development in its skill list.
When to Use
A new cognitive capability is needed that no existing skill covers
An existing skill needs to be split (too coarse) or merged (too fine)
Adapting a domain-specific process into a domain-agnostic skill
Expanding the skill library to cover gaps in the cognitive loop (Perceive → Analyze → Plan → Synthesize → Execute → Communicate → Reflect)
Methodology
1. Define the Capability
Before writing anything, answer these questions:
What cognitive capability does this skill represent? (one clear sentence)
What category does it belong to? (analysis, planning, synthesis, communication, execution, meta)
What triggers its use? (when should an agent activate this skill?)
What does it produce? (what's the output — a document, a decision, a plan, an action?)
What does it NOT do? (boundaries prevent scope creep)
Granularity check:
If it takes fewer than 3 sentences to describe → too fine, consider merging with an existing skill
If it takes more than a paragraph → too coarse, consider splitting
One skill = one cognitive capability
2. Research Existing Patterns
Before building, investigate:
Existing skills: Read SKILL-SPEC.md and 2-3 existing skills to absorb the format, tone, and conventions
Framework constraints: Read the loader (src/os/tools/loader.py) and executor (src/os/tools/executor.py) to understand what the framework parses and how it routes
Dependencies: Identify which existing skills this one uses: and which skills might use: this one
Domain literature: What established methodologies exist for this capability? (e.g., analytical frameworks for analysis, planning methodologies for planning)
3. Design the Tool Interface
Define the tool.yaml contract first — this is the external API:
No provider lock-in: Never reference specific LLM APIs, models, or provider features
Concrete over abstract: Specific steps over general principles
Poka-yoke: Every "Common Mistakes" entry should correspond to a real failure mode observed or anticipated
5. Write the tool.yaml
name: [skill-name]
version:1.0.0standalone:truedescription: [BriefdescriptionmatchingSKILL.md]
tools:-name: [tool_name]
description:|
[Multi-line description. Must include:]
- What the tool does
- When to use it
- That it's agent-handled (no backing code)
- What it returns
input_schema:type:objectproperties:
[parameters]
required:
[requiredparams]
handler:type:agent# [Comment explaining routing semantics]config:defaults:
[overridablesettingswithsensibledefaults]
security:risk_level: [read|write]
requires_approval: [true|false]
6. Validate
Run this checklist before considering the skill complete:
Skill represents a single, clearly defined cognitive capability
Tool interface has 1-3 required parameters and sensible defaults
SKILL.md methodology is step-by-step, imperative, and domain-neutral
Common Mistakes section reflects real failure modes (not generic advice)
Config defaults cover all hardcoded values that users might want to override
Skill passes all format, content, and framework validation checks
Existing test suite shows no regressions after deployment
Common Mistakes
Skipping the research step: Every new skill should start by reading 2-3 existing skills to absorb conventions. Format drift is the #1 quality killer.
Wrong handler type: Cognitive skills use handler: type: agent, not builtin. Builtin implies there's backing code in the executor — if there isn't, the tool call will error at runtime.
Missing config defaults: Every hardcoded value in the skill (depth levels, scales, thresholds, formats) should appear in config.defaults so it's overridable without editing SKILL.md.
Too many required parameters: If the tool needs 5 required params to produce anything useful, the interface is too complex. Aim for 1-3 required, rest optional with defaults.
Vague methodology: "Analyze the situation" is not a methodology step. "Apply the 5 Whys framework: state the problem, ask why 5 times, verify the root cause" is.
Missing Execution Model section: Without it, users and agents don't understand whether this tool has backing code or is agent-executed.
Forgetting the framework test: Writing the files is not enough. Run discover_tools(), get_skill_instructions(), and the test suite. The loader may reject malformed YAML silently.
Creating skills that are too fine: A single function call (e.g., "format a date") is not a skill. A skill is a cognitive capability that requires methodology.
Hardcoded provider or model in agent identity: Agent identity.yaml files should set llm.provider: null and llm.model: null so the 5-layer config hierarchy resolves them. Hardcoding ties the agent to a specific provider and breaks portability.
No poka-yoke: If the Common Mistakes section is empty or generic, it won't prevent errors. Every entry should correspond to a specific, observed failure.
Completion
Skill development is complete when:
The capability is clearly defined and doesn't overlap with existing skills
SKILL.md and tool.yaml are written and follow all format conventions
All validation checks pass (format, content, framework)
The skill is deployed to the agent-coordinator and the loader parses it correctly
The executor returns a clean delegation response for the tool
The existing test suite passes with no regressions
The skill is documented in the output format above