--- namespace: aiwg name: devkit-create-skill platforms: [all] description: Enable interactive design mode triggers: - "help me build a custom workflow" - "help me turn this repeated process into an AIWG workflow" - "decide whether this is a skill agent addon or docs recipe" - "skill architect" --- # Create AIWG Skill Create a new skill that can be triggered by natural language patterns. ## Understanding Skills Skills differ from commands: - **Commands**: Triggered by explicit `/command-name` invocation - **Skills**: Triggered by natural language patterns (e.g., "apply voice", "validate writing") Skills are ideal for: - Capabilities users invoke conversationally - Features that should "just work" without explicit commands - Cross-cutting concerns that apply in many contexts ## Process ### 1. Validate Parameters Verify `$ARGUMENTS` contains: - Skill name (kebab-case) - `--to` target (addon or framework, NOT extension) **Note**: Skills cannot be added to extensions because skills need standalone functionality. Check target exists: ```bash ls ~/.local/share/ai-writing-guide/agentic/code/addons// # or ls ~/.local/share/ai-writing-guide/agentic/code/frameworks// ``` ### 2. Interactive Design (if --interactive) Guide the user through skill design: **Skill Purpose**: > What does this skill do? (e.g., "applies voice profiles to content", "validates code quality") **Trigger Phrases**: > What natural language phrases should activate this skill? > Examples: > - "apply voice", "use voice", "write in voice" > - "validate code", "check quality", "review code" > - "format document", "clean up", "prettify" **Input Requirements**: > What input does this skill need? > - Content to process > - Configuration parameters > - File paths **Output Format**: > What does this skill produce? > - Transformed content > - Validation report > - Recommendations **Reference Materials**: > Does this skill need supporting documentation? > - Style guides > - Validation rules > - Example outputs ### 3. Execute Scaffolding Run the CLI scaffolding tool: ```bash node ~/.local/share/ai-writing-guide/tools/scaffolding/add-skill.mjs \ \ --to ``` ### 4. Generated Structure ``` /skills// ├── SKILL.md # Main skill definition └── references/ # Supporting documentation ``` ### 5. Customize SKILL.md The generated SKILL.md needs customization. **REQUIRED frontmatter fields:** - `name:` — skill slug (kebab-case) - `description:` — **Mandatory.** Used by Claude Code for NL matching and required by Codex (Codex rejects any SKILL.md without a non-empty description). Never leave this blank. - `version:` — semver string (e.g., `1.0.0`) - `priority:` — **Mandatory.** Importance level: `critical`, `high`, `medium`, or `low`. Used by corpus gap reports and backlog tooling to surface work items. Never omit. ```yaml --- name: description: version: 1.0.0 priority: medium --- # ## Trigger Phrases Activate this skill when the user says: - "" - "" - "" ## Input This skill expects: - - ## Execution Process 1. 2. 3. ## Output This skill produces: - - ## Examples ### Example 1: **User**: "" **Result**: ### Example 2: **User**: "" **Result**: ``` ### 6. Add Reference Materials If the skill needs supporting documentation: ```bash # Create reference files touch /skills//references/style-guide.md touch /skills//references/validation-rules.md ``` ### 7. Update Manifest The CLI tool automatically updates the manifest. Verify: ```json { "skills": ["existing-skill", ""] } ``` ## Output Format ``` Skill Created: ───────────────────── Location: /skills// Created: ✓ SKILL.md ✓ references/ Manifest updated: /manifest.json Next Steps: 1. Edit SKILL.md to define trigger phrases 2. Add execution process details 3. Create reference materials (if needed) 4. Test with natural language triggers ``` ## Examples ```bash # Create skill in addon /devkit-create-skill code-formatter --to aiwg-utils # Create skill with interactive guidance /devkit-create-skill voice-apply --to voice-framework --interactive # Create skill in framework /devkit-create-skill requirement-tracer --to sdlc-complete ``` ## Best Practices 1. **Clear trigger phrases**: Use natural, conversational language 2. **Multiple triggers**: Provide several ways to invoke the skill 3. **Specific execution**: Document exactly what happens when triggered 4. **Good examples**: Show realistic usage scenarios 5. **Reference materials**: Include supporting docs when needed ## References - @$AIWG_ROOT/agentic/code/addons/aiwg-dev/README.md — aiwg-dev addon overview - @$AIWG_ROOT/docs/extensions/extension-types.md — Extension types including skill type - @$AIWG_ROOT/docs/cli-reference.md — CLI reference including add-skill command - @$AIWG_ROOT/docs/extensions/creating-extensions.md — Guide to building custom extensions - @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/vague-discretion.md — Concrete trigger phrase and loop termination requirements