Design and create reliable, self-enforcing skills for the Hermes Agent ecosystem.
Skill Creator is the authoritative methodology for designing Hermes skills. It encodes the design principles, enforcement patterns, and anti-pattern catalog discovered through months of real-world skill development and debugging.
- Three-layer architecture: SKILL.md → scripts/ → references/, with progressive disclosure
- Design Grill: Systematic boundary-condition analysis before writing code
- Enforcement gradients: 🤖 (mechanical) / ⚡ (load-time) / 🧠 (agent judgment) markers for rules
- skill_lint.py: Static analyzer that checks 9 quality dimensions
- 29 anti-patterns: Real failures with root causes, not theoretical best practices
- Procedural migration: Rules from prose (agent discretion) → code (mechanical enforcement)
# Audit an existing skill
python3 scripts/skill_lint.py <path-to-skill-directory>
# Create a new skill — follow the 5-phase operation chain:
# Phase 0: Gather Requirements → Phase 1: Design Grill → Phase 2: Static Lint
# → Phase 3: Self-Referential Test → Phase 4: Review with UserThis is a Hermes skill. Copy the entire skill-creator/ directory to your Hermes skills directory:
cp -r skill-creator ~/.hermes/skills/software-development/Or symlink it for development:
ln -s $(pwd)/skill-creator ~/.hermes/skills/software-development/skill-creatorSKILL.md < 200 lines (target), < 300 lines (hard limit). Every 100 lines beyond, Agent recall drops measurably. Domain knowledge skills get exemptions when content is operational dependency, not reference material.
Prose instructions are wishes; pipeline gates are guarantees. If a rule can be expressed as "check X → reject/auto-fix", it belongs in scripts/, not in SKILL.md. See references/prose-vs-pipeline.md for empirical evidence.
Skills that define tool chains must use those tools to maintain themselves. This verifies the Agent actually follows the designed workflow, not just reads about it.
skill-creator/
├── SKILL.md # Core methodology (218 lines, < 300 target)
├── scripts/
│ └── skill_lint.py # Static quality analyzer
└── references/
├── prose-vs-pipeline.md # Empirical evidence for code-as-specs
├── hard-gate-pattern.md # 🚨 HARD GATE design template
├── enforcement-gap-patterns.md # Six patterns of rule bypass
├── file-checkpoint-gate.md # Filesystem-driven step ordering
├── pitfall-hygiene.md # Pitfall categorization methodology
├── trigger-point-enforcement.md # Embedding prohibitions at trigger points
├── structured-error-pattern.md # Error code design for data pipelines
├── script-as-gate.md # Agent as analyst, not repairman
├── checklist-mirroring-case-study.md # Embedded checklist enforcement
└── absorb-external-methodology.md # How to adopt external skill ideas
- Python 3.8+ (for skill_lint.py)
- PyYAML (optional — improves frontmatter parsing)
MIT