with one click
aish-add-skills
// Create new skills from documents, tutorials, or examples. Use when user wants to create a skill from learning materials or existing content.
// Create new skills from documents, tutorials, or examples. Use when user wants to create a skill from learning materials or existing content.
| name | aish-add-skills |
| description | Create new skills from documents, tutorials, or examples. Use when user wants to create a skill from learning materials or existing content. |
Create reusable skills by extracting methodologies from learning materials or examples.
User: "ๆ นๆฎ่ฟ็ฏ Docker ๆ็จๅๅปบไธไธช skill"
AI: ่ฏปๅๆๆกฃ โ ๆๅๆญฅ้ชค โ ็ๆ skill ็ปๆ โ ไฟๅญๅฐ ~/.config/aish/skills/
Extract actionable methodologies from learning materials or examples to generate reusable Skills.
Use Create Mode when:
Critical first step - determine which processing path:
User Input
โ
โโ Has teaching intent? ("how to", "steps", "guide")
โ โโ YES โ Path A: Methodology Document
โ
โโ Is a finished work? (article, design, code, proposal)
โ โโ YES โ Path B: Example (Reverse Engineering)
โ
โโ Neither? โ Tell user this content is not suitable
Check if suitable for skill generation (must meet at least 2):
If not suitable: Tell user honestly and explain why.
| Type | Characteristics | Examples |
|---|---|---|
| How-to | Clear step sequence, inputโoutput | Deploy Docker, Configure CI/CD |
| Decision | Conditions, trade-offs, choices | Choose database, Select framework |
| Framework | Mental model, analysis dimensions | SWOT, 5W1H, First Principles |
| Checklist | Verification list, pass/fail criteria | Code review checklist, Launch checklist |
For How-to: Prerequisites โ Step sequence โ Expected result โ Common errors
For Decision: Decision factors โ Options with pros/cons โ Decision tree โ Recommended default
For Framework: Core concepts โ Analysis dimensions โ Application method โ Limitations
For Checklist: Check items with criteria โ Priority levels โ Commonly missed items
File naming principles:
template.md or sample.mdCreate structure based on skill needs:
{skill-name}/
โโโ SKILL.md # Main instructions (required)
โโโ {descriptive-name}.md # Reference docs (name by content)
โโโ examples/ # Example outputs (descriptive names)
โ โโโ {example-description}.md
โโโ scripts/ # Helper scripts (name by purpose)
โโโ {script-purpose}.{py|sh}
Example for blog-post-writer skill:
blog-post-writer/
โโโ SKILL.md
โโโ structure-template.md # Blog post structure template
โโโ examples/
โ โโโ technical-post.md # Example technical blog post
โ โโโ tutorial-post.md # Example tutorial post
โโโ scripts/
โโโ word-count.py # Word counter script
Use this template:
---
name: {skill-name}
description: {What it does and when to use it}
---
# {Skill Name}
{Brief description}
## When to Use
Use this skill when:
- {Scenario 1}
- {Scenario 2}
## Prerequisites
- {Prerequisite 1}
- {Prerequisite 2}
## Steps
1. **{Step 1}** - {Expected outcome}
- {Detail}
2. **{Step 2}** - {Expected outcome}
- {Detail}
## Quality Checkpoints
- [ ] {Checkpoint 1}
- [ ] {Checkpoint 2}
## Common Pitfalls
- **{Pitfall 1}**: {How to avoid}
## Source
- Document: {name/URL}
- Extracted: {timestamp}
Reference supporting files:
## Additional Resources
- For detailed template, see [structure-template.md](structure-template.md)
- For examples, see [examples/](examples/)
SKILL_DIR=~/.config/aish/skills/{skill-name}
# Create directories only if needed
# mkdir -p "$SKILL_DIR/examples"
# mkdir -p "$SKILL_DIR/scripts"
# Write SKILL.md (required)
cat > "$SKILL_DIR/SKILL.md" << 'EOF'
{SKILL.md content}
EOF
# Write optional files with descriptive names
What kind of artifact is this?
Structure Analysis:
โโโ [Part 1]: [Function] - [Proportion %]
โโโ [Part 2]: [Function] - [Proportion %]
โโโ [Part N]: [Function] - [Proportion %]
Questions:
| Dimension | Questions |
|---|---|
| Structure | How is content organized? |
| Style | Tone, word choice, expression? |
| Technique | What methods make it effective? |
| Logic | How does information flow? |
| Details | Small but important touches? |
## Deduced Production Steps
1. [Step 1]: [What to do] - [Key point]
2. [Step 2]: [What to do] - [Key point]
## Key Decisions
- [Decision 1]: [Options] - [Chose X because...]
## Reusable Techniques
- [Technique 1]: [How to apply]
Example for technical-blog-writer skill:
technical-blog-writer/
โโโ SKILL.md
โโโ blog-post-template.md # Template for blog posts
โโโ examples/
โ โโโ react-hooks-post.md # The analyzed example
โโโ scripts/
โโโ readability.py # Readability checker
---
name: {skill-name}
description: {What it does}
---
# {Skill Name}
{Brief description}
## Output Type
{What kind of artifact this produces}
## When to Use
Use this skill when:
- {Scenario 1}
- {Scenario 2}
## Structure Template
1. [Part 1]: [Function] - [~X%]
2. [Part 2]: [Function] - [~X%]
## Quality Characteristics
Learned from example:
- [Characteristic 1]: [How it manifests]
- [Characteristic 2]: [How it manifests]
## Production Steps
1. **{Step 1}**: [What to do] - [Tips]
2. **{Step 2}**: [What to do] - [Tips]
## Checklist
- [ ] [Check item 1]
- [ ] [Check item 2]
## Reference Example
- Source: [name/URL]
- Analyzed: [timestamp]
## Additional Resources
- For template, see [blog-post-template.md](blog-post-template.md)
- For reference example, see [examples/react-hooks-post.md](examples/react-hooks-post.md)
SKILL_DIR=~/.config/aish/skills/{skill-name}
# Write SKILL.md
cat > "$SKILL_DIR/SKILL.md" << 'EOF'
{SKILL.md content}
EOF
# Write optional files with descriptive names
Good naming:
api-reference.md (not reference.md)blog-post-template.md (not template.md)examples/react-hooks-post.md (not examples/sample.md)scripts/validate-readability.py (not scripts/helper.py)Avoid generic names like: template.md, sample.md, original.md, helper.py
---
name: my-skill
description: What this skill does and when to use it
disable-model-invocation: true # Only user can invoke
user-invocable: false # Hide from / menu
allowed-tools: Read, Grep # Restrict tool access
argument-hint: [filename] # Autocomplete hint
---
Reference content: Knowledge, conventions, patterns (runs inline)
Task content: Step-by-step instructions (often user-invoked)
Skills are saved to: ~/.config/aish/skills/
aish automatically hot-reloads skills from this directory.