debian/skills/aish-add-skills/SKILL.md
Create new skills from documents, tutorials, or examples. Use when user wants to create a skill from learning materials or existing content.
npx skillsauth add ai-shell-team/aish aish-add-skillsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
data-ai
Design and customize prompts for aish shell. Use when user wants to modify their shell prompt, describe desired prompt style, or switch between prompt themes. Triggers on keywords like "prompt", "提示符", "主题".
data-ai
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
documentation
Create new skills from documents, tutorials, or examples. Use when user wants to create a skill from learning materials or existing content.
data-ai
Base directory for this skill: $base_dir $skill_content Skill arguments: $skill_args