mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-10-15 16:14:43 +00:00
Align skill-creator with GoClaw conventions: update skill store paths to ~/.goclaw/skills-store/, fix author metadata, remove external Claude Code references, update publish_skill documentation.
2.5 KiB
2.5 KiB
Skill Validation Checklist
Quick validation before packaging. Run scripts/package_skill.py for automated checks.
Critical (Must Pass)
Metadata
name: namespacednamespace:skill-name(orskill-namefor legacy), descriptivedescription: under 200 characters, specific triggers, not generic
Size Limits
- SKILL.md: under 300 lines
- Each reference file: under 300 lines
- No info duplication between SKILL.md and references
Structure
- SKILL.md exists with valid YAML frontmatter
- Unused example files deleted
- File names: kebab-case, self-documenting
Scripts (If Applicable)
- Tests exist and pass
- Cross-platform (Node.js/Python preferred)
- Runtime packages installed via
pip3 install <pkg>ornpm install -g <pkg>(no sudo, persists in/app/data/.runtime/) - Dependencies listed in
references/or SKILL.md so users know what to install - Manually tested with real use cases inside GoClaw exec tool
Quality
Writing Style
- Imperative form: "To accomplish X, do Y"
- Third-person metadata: "This skill should be used when..."
- Concise, no fluff
Practical Utility
- Teaches how to do tasks, not what tools are
- Based on real workflows
- Includes concrete trigger phrases/examples
Integration
- No duplication with existing skills
- Related topics consolidated (e.g., cloudflare + docker → devops)
- Composable with other skills
Automated Validation
Run packaging script to validate:
scripts/package_skill.py <path/to/skill-folder>
Checks performed:
- YAML frontmatter format
- Required fields present
- Description length (<200 chars)
- Directory structure
- File organization
Fix all errors before distributing.
Subagent Delegation Enforcement
When a skill requires subagent delegation (via Task tool):
- Use MUST language - "Use subagent" is weak; "MUST spawn subagent" is enforceable
- Include Task pattern - Show exact syntax:
Task(subagent_type="X", prompt="Y", description="Z") - Add validation rule - "If Task tool calls = 0 at end, workflow is INCOMPLETE"
- Mark requirements clearly - Use table with "MUST spawn" column
- Forbid direct implementation - "DO NOT implement X yourself - DELEGATE to subagent"
Anti-pattern (weak):
- Use `tester` agent for testing
Correct pattern (enforceable):
- **MUST** spawn `tester` subagent: `Task(subagent_type="tester", prompt="Run tests", description="Test")`
- DO NOT run tests yourself - DELEGATE