Agent skill
skill-creator
Create effective skills for brynhild agents. Use when the user wants to create, update, or improve a skill that extends agent capabilities with specialized knowledge, workflows, or tool integrations.
Install this agent skill to your Project
npx add-skill https://github.com/mandersogit/brynhild-harness/tree/main/src/brynhild/builtin_skills/skill-creator
SKILL.md
Skill Creator
Skills are modular packages that extend an agent's capabilities with specialized knowledge, workflows, and tools. Think of them as "onboarding guides" that transform a general-purpose agent into a specialized one.
Core Principle: The Context Window is a Public Good
Skills share context with: system prompt, conversation history, other skills' metadata, and the user's request.
Default assumption: The agent is already very smart. Only add context it doesn't already have. Challenge each piece: "Does the agent really need this?" and "Does this justify its token cost?"
Prefer concise examples over verbose explanations.
Skill Structure
skill-name/
├── SKILL.md (required - the only required file)
├── references/ (optional - docs loaded on-demand)
├── scripts/ (optional - executable code)
└── assets/ (optional - templates, images, etc.)
SKILL.md Format
---
name: skill-name
description: What it does and WHEN to use it. This is the ONLY trigger mechanism.
---
# Skill Name
[Instructions for using the skill - loaded only AFTER skill triggers]
Frontmatter rules:
name(required): hyphen-case, must match directory namedescription(required): what + when. This is ALL the agent sees for selection.- Nothing else. No
license, noallowed-tools, nometadata.
Why minimal frontmatter?
- The description is the ONLY thing that helps with skill selection
- Extra fields are noise that don't help selection decisions
allowed-toolsis for runtime permissions, not selection - skip it- Weaker models get confused by extra frontmatter
The Description is Everything
The description determines when your skill gets loaded. It must answer:
- What does this skill do?
- When should the agent use it?
Good:
description: Create and execute commit plans using the commit-helper tool - use when managing commits across repositories
Bad:
description: A skill for commits
Progressive Disclosure
Three-level loading minimizes context bloat:
- Metadata (~100 tokens) - Always in context (name + description only)
- SKILL.md body (<5k tokens) - Loaded when skill triggers
- Bundled resources (unlimited) - Loaded on-demand by agent
Keep SKILL.md under 500 lines. Split into references/ when approaching this limit.
What to Include
In SKILL.md Body
- Core workflow steps
- Decision points and branching logic
- References to bundled resources ("see references/foo.md for details")
- Concise examples (prefer over verbose explanations)
In references/
- Detailed documentation
- Domain-specific knowledge
- API specs, schemas
- Variant-specific patterns (e.g., aws.md, gcp.md)
In scripts/
- Deterministic operations that would be rewritten each time
- Complex transformations
- Validated, tested code
Script execution guidance:
- Use shebang lines (e.g.,
#!/usr/bin/env python3) so scripts can run directly - Document required dependencies in the script's docstring
- If a specific interpreter is needed, document it in SKILL.md
In assets/
- Templates
- Boilerplate code
- Images, fonts
- Files used in output (not loaded into context)
What to NOT Include
Never create these files:
- README.md
- INSTALLATION_GUIDE.md
- QUICK_REFERENCE.md
- CHANGELOG.md
- Any "meta" documentation
The skill is for an agent, not a human. No auxiliary context about creation, setup, or testing.
System Safety: Do Not Mutate
Default behavior: Do NOT modify the system.
Skills should NEVER encourage the agent to:
- Install packages with
pip install(or npm, apt, brew, etc.) - Modify system configuration
- Create files outside the project directory
- Run commands that require elevated privileges
When scripts have dependencies:
- Document them - List required packages in the script docstring and SKILL.md
- Fail gracefully - If dependencies are missing, report the error clearly
- Let the user decide - Tell the user what's needed; don't auto-install
Exceptions (when agent MAY install packages):
- Agent has explicit custody of a project venv (e.g.,
./local.venv/bin/python) - User has explicitly authorized package installation
- Project rules/guidelines grant this permission
Example SKILL.md guidance for scripts with dependencies:
### If Dependencies Are Missing
If the script fails due to missing packages:
1. Report the error to the user
2. Tell the user what's needed: "This script requires X and Y"
3. Let the user decide how to install
Exception: If you have custody of a project venv and authorization
to install packages, you may install there.
Skill Locations in Brynhild
Skills are discovered from (in priority order):
~/.config/brynhild/skills/- Global user skills$BRYNHILD_SKILL_PATH- Custom paths (colon-separated).brynhild/skills/- Project-local skills (highest priority)
For project-specific skills, use .brynhild/skills/.
For personal/global skills, use ~/.config/brynhild/skills/.
Skill Creation Process
- Understand - Get concrete examples of how the skill will be used
- Plan - Identify what scripts, references, assets would help
- Create - Make the directory and SKILL.md
- Test - Use the skill on real tasks
- Iterate - Refine based on actual usage
Step 1: Understand
Ask clarifying questions:
- "What functionality should this skill support?"
- "Can you give examples of how it would be used?"
- "What would a user say that should trigger this skill?"
Step 2: Plan
For each example, consider:
- What code gets rewritten each time? → scripts/
- What documentation would help? → references/
- What templates or assets are needed? → assets/
Step 3: Create
mkdir -p .brynhild/skills/my-skill
# Create SKILL.md with minimal frontmatter
# Add references/, scripts/, assets/ as needed
Step 4: Test
Use the skill in real scenarios. Note struggles or inefficiencies.
Step 5: Iterate
Update SKILL.md and resources based on actual performance.
Design Patterns
See references/patterns.md for:
- Sequential workflows
- Conditional workflows
- Template patterns
- Example patterns
- Progressive disclosure patterns
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
brynhild-development
Guidelines for contributing to brynhild itself - use when making changes to the brynhild codebase, running tests, or understanding project conventions
commit-helper
Create and execute git commit plans from YAML files - use when organizing changes into logical commits or when user wants help structuring their git history
my-skill
A standalone test skill (not part of a plugin) - use for general skill testing
debugging
Systematic approach to debugging Python code - use when user encounters errors or unexpected behavior
testing
Best practices for writing Python tests - use when creating or improving test coverage
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
Didn't find tool you were looking for?