skill-creator

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

skill-creator

skill-creator

Purpose

用途

To create new CLI skills following Anthropic's official best practices with zero manual configuration. This skill automates brainstorming, template application, validation, and installation processes while maintaining progressive disclosure patterns and writing style standards.
按照Anthropic官方最佳实践创建新的CLI skill,无需任何手动配置。本skill可自动化头脑风暴、模板应用、验证和安装流程,同时遵循渐进式披露模式和写作风格标准。

When to Use This Skill

适用场景

This skill should be used when:
  • User wants to extend CLI functionality with custom capabilities
  • User needs to create a skill following official standards
  • User wants to automate repetitive CLI tasks with a reusable skill
  • User needs to package domain knowledge into a skill format
  • User wants both local and global skill installation options
在以下场景中可使用本skill:
  • 用户想要通过自定义功能扩展CLI能力
  • 用户需要按照官方标准创建skill
  • 用户想要通过可复用的skill自动化重复的CLI任务
  • 用户需要将领域知识打包为skill格式
  • 用户需要本地和全局skill安装选项

Core Capabilities

核心功能

  1. Interactive Brainstorming - Collaborative session to define skill purpose and scope
  2. Prompt Enhancement - Optional integration with prompt-engineer skill for refinement
  3. Template Application - Automatic file generation from standardized templates
  4. Validation - YAML, content, and style checks against Anthropic standards
  5. Installation - Local repository or global installation with symlinks
  6. Progress Tracking - Visual gauge showing completion status at each step
  1. 交互式头脑风暴 - 协作会话,用于定义skill的用途和范围
  2. 提示词优化 - 可选择集成prompt-engineer skill进行优化
  3. 模板应用 - 从标准化模板自动生成文件
  4. 验证 - 按照Anthropic标准检查YAML、内容和风格
  5. 安装 - 本地仓库或通过符号链接进行全局安装
  6. 进度跟踪 - 可视化进度条,显示每个步骤的完成状态

Step 0: Discovery

步骤0:发现阶段

Before starting skill creation, gather runtime information:
bash
undefined
开始创建skill之前,先收集运行时信息:
bash
undefined

Detect available platforms

Detect available platforms

COPILOT_INSTALLED=false CLAUDE_INSTALLED=false CODEX_INSTALLED=false
if command -v gh &>/dev/null && gh copilot --version &>/dev/null 2>&1; then COPILOT_INSTALLED=true fi
if [[ -d "$HOME/.claude" ]]; then CLAUDE_INSTALLED=true fi
if [[ -d "$HOME/.codex" ]]; then CODEX_INSTALLED=true fi
COPILOT_INSTALLED=false CLAUDE_INSTALLED=false CODEX_INSTALLED=false
if command -v gh &>/dev/null && gh copilot --version &>/dev/null 2>&1; then COPILOT_INSTALLED=true fi
if [[ -d "$HOME/.claude" ]]; then CLAUDE_INSTALLED=true fi
if [[ -d "$HOME/.codex" ]]; then CODEX_INSTALLED=true fi

Determine working directory

Determine working directory

REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd) SKILLS_REPO="$REPO_ROOT"
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd) SKILLS_REPO="$REPO_ROOT"

Check if in cli-ai-skills repository

Check if in cli-ai-skills repository

if [[ ! -d "$SKILLS_REPO/.github/skills" ]]; then echo "⚠️ Not in cli-ai-skills repository. Creating standalone skill." STANDALONE=true fi
if [[ ! -d "$SKILLS_REPO/.github/skills" ]]; then echo "⚠️ Not in cli-ai-skills repository. Creating standalone skill." STANDALONE=true fi

Get user info from git config

Get user info from git config

AUTHOR=$(git config user.name || echo "Unknown") EMAIL=$(git config user.email || echo "")

**Key Information Needed:**
- Which platforms to target (Copilot, Claude, Codex, or all three)
- Installation preference (local, global, or both)
- Skill name and purpose
- Skill type (general, code, documentation, analysis)
AUTHOR=$(git config user.name || echo "Unknown") EMAIL=$(git config user.email || echo "")

**所需关键信息:**
- 目标平台(Copilot、Claude、Codex,或三者皆选)
- 安装偏好(本地、全局,或两者皆选)
- Skill名称和用途
- Skill类型(通用型、代码型、文档型、分析型)

Main Workflow

主工作流

Progress Tracking Guidelines

进度跟踪指南

Throughout the workflow, display a visual progress bar before starting each phase to keep the user informed. The progress bar format is:
[████████████░░░░░░] 60% - Step 3/5: Creating SKILL.md
Format specifications:
  • 20 characters wide (use █ for filled, ░ for empty)
  • Percentage based on current step (Step 1=20%, Step 2=40%, Step 3=60%, Step 4=80%, Step 5=100%)
  • Step counter showing current/total (e.g., "Step 3/5")
  • Brief description of current phase
Display the progress bar using:
bash
echo "[████░░░░░░░░░░░░░░] 20% - Step 1/5: Brainstorming & Planning"
在整个工作流中,每个阶段开始前都要显示可视化进度条,让用户了解当前进度。进度条格式如下:
[████████████░░░░░░] 60% - Step 3/5: Creating SKILL.md
格式规范:
  • 宽度为20个字符(用 █ 表示已完成,░ 表示未完成)
  • 百分比基于当前步骤(步骤1=20%,步骤2=40%,步骤3=60%,步骤4=80%,步骤5=100%)
  • 步骤计数器显示当前/总步骤数(例如:"Step 3/5")
  • 简要描述当前阶段
使用以下命令显示进度条:
bash
echo "[████░░░░░░░░░░░░░░] 20% - Step 1/5: Brainstorming & Planning"

Phase 1: Brainstorming & Planning

阶段1:头脑风暴与规划

Progress: Display before starting this phase:
bash
echo "[████░░░░░░░░░░░░░░] 20% - Step 1/5: Brainstorming & Planning"
Display progress:
╔══════════════════════════════════════════════════════════════╗
║     🛠️  SKILL CREATOR - Creating New Skill                  ║
╠══════════════════════════════════════════════════════════════╣
║ → Phase 1: Brainstorming                 [10%]               ║
║ ○ Phase 2: Prompt Refinement                                 ║
║ ○ Phase 3: File Generation                                   ║
║ ○ Phase 4: Validation                                        ║
║ ○ Phase 5: Installation                                      ║
╠══════════════════════════════════════════════════════════════╣
║ Progress: ███░░░░░░░░░░░░░░░░░░░░░░░░░░░  10%              ║
╚══════════════════════════════════════════════════════════════╝
Ask the user:
  1. What should this skill do? (Free-form description)
    • Example: "Help users debug Python code by analyzing stack traces"
  2. When should it trigger? (Provide 3-5 trigger phrases)
    • Example: "debug Python error", "analyze stack trace", "fix Python exception"
  3. What type of skill is this?
    • General purpose (default template)
    • Code generation/modification
    • Documentation creation/maintenance
    • Analysis/investigation
  4. Which platforms should support this skill?
    • GitHub Copilot CLI
    • Claude Code
    • Codex
    • All three (recommended)
  5. Provide a one-sentence description (will appear in metadata)
    • Example: "Analyzes Python stack traces and suggests fixes"
Capture responses and prepare for next phase.
进度显示: 开始此阶段前显示:
bash
echo "[████░░░░░░░░░░░░░░] 20% - Step 1/5: Brainstorming & Planning"
显示详细进度:
╔══════════════════════════════════════════════════════════════╗
║     🛠️  SKILL CREATOR - Creating New Skill                  ║
╠══════════════════════════════════════════════════════════════╣
║ → Phase 1: Brainstorming                 [10%]               ║
║ ○ Phase 2: Prompt Refinement                                 ║
║ ○ Phase 3: File Generation                                   ║
║ ○ Phase 4: Validation                                        ║
║ ○ Phase 5: Installation                                      ║
╠══════════════════════════════════════════════════════════════╣
║ Progress: ███░░░░░░░░░░░░░░░░░░░░░░░░░░░  10%              ║
╚══════════════════════════════════════════════════════════════╝
向用户询问:
  1. 这个skill的功能是什么?(自由描述)
    • 示例:"通过分析堆栈跟踪帮助用户调试Python代码"
  2. 触发条件是什么?(提供3-5个触发短语)
    • 示例:"debug Python error", "analyze stack trace", "fix Python exception"
  3. 这是什么类型的skill?
    • 通用型(默认模板)
    • 代码生成/修改
    • 文档创建/维护
    • 分析/调查
  4. 该skill应支持哪些平台?
    • GitHub Copilot CLI
    • Claude Code
    • Codex
    • 三者皆选(推荐)
  5. 提供一句简短描述(将显示在元数据中)
    • 示例:"分析Python堆栈跟踪并提供修复建议"
记录用户回复,为下一阶段做准备。

Phase 2: Prompt Enhancement (Optional)

阶段2:提示词优化(可选)

Progress: Display before starting this phase:
bash
echo "[████████░░░░░░░░░░] 40% - Step 2/5: Prompt Enhancement"
Update progress:
╔══════════════════════════════════════════════════════════════╗
║ ✓ Phase 1: Brainstorming                                     ║
║ → Phase 2: Prompt Refinement             [30%]               ║
╠══════════════════════════════════════════════════════════════╣
║ Progress: █████████░░░░░░░░░░░░░░░░░░░░░  30%              ║
╚══════════════════════════════════════════════════════════════╝
Ask the user: "Would you like to refine the skill description using the prompt-engineer skill?"
  • Yes - Use prompt-engineer to enhance clarity and structure
  • No - Proceed with current description
If Yes:
  1. Check if prompt-engineer skill is available
  2. Invoke with current description as input
  3. Review enhanced output with user
  4. Ask: "Accept enhanced version or keep original?"
If No or prompt-engineer unavailable:
  • Proceed with original user input
进度显示: 开始此阶段前显示:
bash
echo "[████████░░░░░░░░░░] 40% - Step 2/5: Prompt Enhancement"
更新进度:
╔══════════════════════════════════════════════════════════════╗
║ ✓ Phase 1: Brainstorming                                     ║
║ → Phase 2: Prompt Refinement             [30%]               ║
╠══════════════════════════════════════════════════════════════╣
║ Progress: █████████░░░░░░░░░░░░░░░░░░░░░  30%              ║
╚══════════════════════════════════════════════════════════════╝
向用户询问: "是否想要使用prompt-engineer skill优化skill描述?"
  • 是 - 使用prompt-engineer提升清晰度和结构
  • 否 - 继续使用当前描述
如果选择
  1. 检查prompt-engineer skill是否可用
  2. 以当前描述为输入调用该skill
  3. 与用户一起审阅优化后的输出
  4. 询问:"接受优化后的版本还是保留原版本?"
如果选择或prompt-engineer不可用:
  • 继续使用用户的原始输入

Phase 3: File Generation

阶段3:文件生成

Progress: Display before starting this phase:
bash
echo "[████████████░░░░░░] 60% - Step 3/5: File Generation"
Update progress:
╔══════════════════════════════════════════════════════════════╗
║ ✓ Phase 1: Brainstorming                                     ║
║ ✓ Phase 2: Prompt Refinement                                 ║
║ → Phase 3: File Generation               [50%]               ║
╠══════════════════════════════════════════════════════════════╣
║ Progress: ███████████████░░░░░░░░░░░░░░░  50%              ║
╚══════════════════════════════════════════════════════════════╝
Generate skill structure:
bash
undefined
进度显示: 开始此阶段前显示:
bash
echo "[████████████░░░░░░] 60% - Step 3/5: File Generation"
更新进度:
╔══════════════════════════════════════════════════════════════╗
║ ✓ Phase 1: Brainstorming                                     ║
║ ✓ Phase 2: Prompt Refinement                                 ║
║ → Phase 3: File Generation               [50%]               ║
╠══════════════════════════════════════════════════════════════╣
║ Progress: ███████████████░░░░░░░░░░░░░░░  50%              ║
╚══════════════════════════════════════════════════════════════╝
生成skill结构:
bash
undefined

Convert skill name to kebab-case

Convert skill name to kebab-case

SKILL_NAME=$(echo "$USER_INPUT" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
SKILL_NAME=$(echo "$USER_INPUT" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')

Create directories

Create directories

if [[ "$PLATFORM" =~ "copilot" ]]; then mkdir -p ".github/skills/$SKILL_NAME"/{references,examples,scripts} fi
if [[ "$PLATFORM" =~ "claude" ]]; then mkdir -p ".claude/skills/$SKILL_NAME"/{references,examples,scripts} fi
if [[ "$PLATFORM" =~ "codex" ]]; then mkdir -p ".codex/skills/$SKILL_NAME"/{references,examples,scripts} fi

**Apply templates:**

1. **SKILL.md** - Use appropriate template:
   - `skill-template-copilot.md`, `skill-template-claude.md`, or `skill-template-codex.md`
   - Substitute placeholders:
     - `{{SKILL_NAME}}` → kebab-case name
     - `{{DESCRIPTION}}` → one-line description
     - `{{TRIGGERS}}` → comma-separated trigger phrases
     - `{{PURPOSE}}` → detailed purpose from brainstorming
     - `{{AUTHOR}}` → from git config
     - `{{DATE}}` → current date (YYYY-MM-DD)
     - `{{VERSION}}` → "1.0.0"

2. **README.md** - Use `readme-template.md`:
   - User-facing documentation (300-500 words)
   - Include installation instructions
   - Add usage examples

3. **References/** (optional but recommended):
   - Create `detailed-guide.md` for extended documentation (2k-5k words)
   - Move lengthy content here to keep SKILL.md under 2k words

**File creation commands:**

```bash
if [[ "$PLATFORM" =~ "copilot" ]]; then mkdir -p ".github/skills/$SKILL_NAME"/{references,examples,scripts} fi
if [[ "$PLATFORM" =~ "claude" ]]; then mkdir -p ".claude/skills/$SKILL_NAME"/{references,examples,scripts} fi
if [[ "$PLATFORM" =~ "codex" ]]; then mkdir -p ".codex/skills/$SKILL_NAME"/{references,examples,scripts} fi

**应用模板:**

1. **SKILL.md** - 使用对应模板:
   - `skill-template-copilot.md`、`skill-template-claude.md` 或 `skill-template-codex.md`
   - 替换占位符:
     - `{{SKILL_NAME}}` → 短横线分隔式(kebab-case)名称
     - `{{DESCRIPTION}}` → 单行描述
     - `{{TRIGGERS}}` → 逗号分隔的触发短语
     - `{{PURPOSE}}` → 头脑风暴阶段确定的详细用途
     - `{{AUTHOR}}` → 来自git配置
     - `{{DATE}}` → 当前日期(YYYY-MM-DD)
     - `{{VERSION}}` → "1.0.0"

2. **README.md** - 使用 `readme-template.md`:
   - 面向用户的文档(300-500字)
   - 包含安装说明
   - 添加使用示例

3. **References/**(可选但推荐):
   - 创建 `detailed-guide.md` 用于扩展文档(2000-5000字)
   - 将冗长内容移至此处,保持SKILL.md字数在2000字以内

**文件创建命令:**

```bash

Apply template with substitution

Apply template with substitution

sed "s/{{SKILL_NAME}}/$SKILL_NAME/g;
s/{{DESCRIPTION}}/$DESCRIPTION/g;
s/{{AUTHOR}}/$AUTHOR/g;
s/{{DATE}}/$(date +%Y-%m-%d)/g"
resources/templates/skill-template-copilot.md
> ".github/skills/$SKILL_NAME/SKILL.md"
sed "s/{{SKILL_NAME}}/$SKILL_NAME/g;
s/{{DESCRIPTION}}/$DESCRIPTION/g;
s/{{AUTHOR}}/$AUTHOR/g;
s/{{DATE}}/$(date +%Y-%m-%d)/g"
resources/templates/skill-template-copilot.md
> ".github/skills/$SKILL_NAME/SKILL.md"

Create README

Create README

sed "s/{{SKILL_NAME}}/$SKILL_NAME/g"
resources/templates/readme-template.md
> ".github/skills/$SKILL_NAME/README.md"
sed "s/{{SKILL_NAME}}/$SKILL_NAME/g"
resources/templates/readme-template.md
> ".github/skills/$SKILL_NAME/README.md"

Apply template for Codex if selected

Apply template for Codex if selected

if [[ "$PLATFORM" =~ "codex" ]]; then sed "s/{{SKILL_NAME}}/$SKILL_NAME/g;
s/{{DESCRIPTION}}/$DESCRIPTION/g;
s/{{AUTHOR}}/$AUTHOR/g;
s/{{DATE}}/$(date +%Y-%m-%d)/g"
resources/templates/skill-template-codex.md
> ".codex/skills/$SKILL_NAME/SKILL.md"
sed "s/{{SKILL_NAME}}/$SKILL_NAME/g" \
    resources/templates/readme-template.md \
    > ".codex/skills/$SKILL_NAME/README.md"
fi

**Display created structure:**
✅ Created: .github/skills/your-skill-name/ (if Copilot selected) .claude/skills/your-skill-name/ (if Claude selected) .codex/skills/your-skill-name/ (if Codex selected) ├── SKILL.md (832 lines) ├── README.md (347 lines) ├── references/ ├── examples/ └── scripts/
undefined
if [[ "$PLATFORM" =~ "codex" ]]; then sed "s/{{SKILL_NAME}}/$SKILL_NAME/g;
s/{{DESCRIPTION}}/$DESCRIPTION/g;
s/{{AUTHOR}}/$AUTHOR/g;
s/{{DATE}}/$(date +%Y-%m-%d)/g"
resources/templates/skill-template-codex.md
> ".codex/skills/$SKILL_NAME/SKILL.md"
sed "s/{{SKILL_NAME}}/$SKILL_NAME/g" \
    resources/templates/readme-template.md \
    > ".codex/skills/$SKILL_NAME/README.md"
fi

**显示已创建的结构:**
✅ Created: .github/skills/your-skill-name/ (if Copilot selected) .claude/skills/your-skill-name/ (if Claude selected) .codex/skills/your-skill-name/ (if Codex selected) ├── SKILL.md (832 lines) ├── README.md (347 lines) ├── references/ ├── examples/ └── scripts/
undefined

Phase 4: Validation

阶段4:验证

Progress: Display before starting this phase:
bash
echo "[████████████████░░] 80% - Step 4/5: Validation"
Update progress:
╔══════════════════════════════════════════════════════════════╗
║ ✓ Phase 3: File Generation                                   ║
║ → Phase 4: Validation                    [70%]               ║
╠══════════════════════════════════════════════════════════════╣
║ Progress: █████████████████████░░░░░░░░░  70%              ║
╚══════════════════════════════════════════════════════════════╝
Run validation scripts:
bash
undefined
进度显示: 开始此阶段前显示:
bash
echo "[████████████████░░] 80% - Step 4/5: Validation"
更新进度:
╔══════════════════════════════════════════════════════════════╗
║ ✓ Phase 3: File Generation                                   ║
║ → Phase 4: Validation                    [70%]               ║
╠══════════════════════════════════════════════════════════════╣
║ Progress: █████████████████████░░░░░░░░░  70%              ║
╚══════════════════════════════════════════════════════════════╝
运行验证脚本:
bash
undefined

Validate YAML frontmatter

Validate YAML frontmatter

scripts/validate-skill-yaml.sh ".github/skills/$SKILL_NAME"
scripts/validate-skill-yaml.sh ".github/skills/$SKILL_NAME"

Validate content quality

Validate content quality

scripts/validate-skill-content.sh ".github/skills/$SKILL_NAME"

**Expected output:**
🔍 Validating YAML frontmatter... ✅ YAML frontmatter valid!
🔍 Validating content... ✅ Word count excellent: 1847 words ✅ Content validation complete!

**If validation fails:**
- Display specific errors
- Offer to fix automatically (common issues)
- Ask user to manually correct complex issues

**Common auto-fixes:**
- Convert second-person to imperative form
- Reformat description to third-person
- Add missing required fields
scripts/validate-skill-content.sh ".github/skills/$SKILL_NAME"

**预期输出:**
🔍 Validating YAML frontmatter... ✅ YAML frontmatter valid!
🔍 Validating content... ✅ Word count excellent: 1847 words ✅ Content validation complete!

**如果验证失败:**
- 显示具体错误
- 提供自动修复选项(常见问题)
- 请用户手动修正复杂问题

**常见自动修复项:**
- 将第二人称改为祈使句形式
- 将描述重新格式化为第三人称
- 添加缺失的必填字段

Phase 5: Installation

阶段5:安装

Progress: Display before starting this phase:
bash
echo "[████████████████████] 100% - Step 5/5: Installation"
Update progress:
╔══════════════════════════════════════════════════════════════╗
║ ✓ Phase 4: Validation                                        ║
║ → Phase 5: Installation                  [90%]               ║
╠══════════════════════════════════════════════════════════════╣
║ Progress: ██████████████████████████░░░░░  90%              ║
╚══════════════════════════════════════════════════════════════╝
Ask the user: "How would you like to install this skill?"
  • Repository only - Files created in
    .github/skills/
    (works when in repo)
  • Global installation - Create symlinks in
    ~/.copilot/skills/
    (works everywhere)
  • Both - Repository + global symlinks (recommended, auto-updates with git pull)
  • Skip installation - Just create files
If global installation selected:
bash
undefined
进度显示: 开始此阶段前显示:
bash
echo "[████████████████████] 100% - Step 5/5: Installation"
更新进度:
╔══════════════════════════════════════════════════════════════╗
║ ✓ Phase 4: Validation                                        ║
║ → Phase 5: Installation                  [90%]               ║
╠══════════════════════════════════════════════════════════════╣
║ Progress: ██████████████████████████░░░░░  90%              ║
╚══════════════════════════════════════════════════════════════╝
向用户询问: "您希望如何安装此skill?"
  • 仅仓库安装 - 文件创建在
    .github/skills/
    目录(仅在仓库内有效)
  • 全局安装 - 在
    ~/.copilot/skills/
    创建符号链接(任何位置都有效)
  • 两者皆选 - 仓库安装 + 全局符号链接(推荐,可通过git pull自动更新)
  • 跳过安装 - 仅创建文件
如果选择全局安装:
bash
undefined

Detect which platforms to install for

Detect which platforms to install for

INSTALL_TARGETS=()
if [[ "$COPILOT_INSTALLED" == "true" ]] && [[ "$PLATFORM" =~ "copilot" ]]; then INSTALL_TARGETS+=("copilot") fi
if [[ "$CLAUDE_INSTALLED" == "true" ]] && [[ "$PLATFORM" =~ "claude" ]]; then INSTALL_TARGETS+=("claude") fi
if [[ "$CODEX_INSTALLED" == "true" ]] && [[ "$PLATFORM" =~ "codex" ]]; then INSTALL_TARGETS+=("codex") fi
INSTALL_TARGETS=()
if [[ "$COPILOT_INSTALLED" == "true" ]] && [[ "$PLATFORM" =~ "copilot" ]]; then INSTALL_TARGETS+=("copilot") fi
if [[ "$CLAUDE_INSTALLED" == "true" ]] && [[ "$PLATFORM" =~ "claude" ]]; then INSTALL_TARGETS+=("claude") fi
if [[ "$CODEX_INSTALLED" == "true" ]] && [[ "$PLATFORM" =~ "codex" ]]; then INSTALL_TARGETS+=("codex") fi

Ask user to confirm detected platforms

Ask user to confirm detected platforms

echo "Detected platforms: ${INSTALL_TARGETS[*]}" echo "Install for these platforms? [Y/n]"

**Installation process:**

```bash
echo "Detected platforms: ${INSTALL_TARGETS[*]}" echo "Install for these platforms? [Y/n]"

**安装流程:**

```bash

GitHub Copilot CLI

GitHub Copilot CLI

if [[ " ${INSTALL_TARGETS[*]} " =~ " copilot " ]]; then ln -sf "$SKILLS_REPO/.github/skills/$SKILL_NAME"
"$HOME/.copilot/skills/$SKILL_NAME" echo "✅ Installed for GitHub Copilot CLI" fi
if [[ " ${INSTALL_TARGETS[*]} " =~ " copilot " ]]; then ln -sf "$SKILLS_REPO/.github/skills/$SKILL_NAME"
"$HOME/.copilot/skills/$SKILL_NAME" echo "✅ Installed for GitHub Copilot CLI" fi

Claude Code

Claude Code

if [[ " ${INSTALL_TARGETS[*]} " =~ " claude " ]]; then ln -sf "$SKILLS_REPO/.claude/skills/$SKILL_NAME"
"$HOME/.claude/skills/$SKILL_NAME" echo "✅ Installed for Claude Code" fi
if [[ " ${INSTALL_TARGETS[*]} " =~ " claude " ]]; then ln -sf "$SKILLS_REPO/.claude/skills/$SKILL_NAME"
"$HOME/.claude/skills/$SKILL_NAME" echo "✅ Installed for Claude Code" fi

Codex

Codex

if [[ " ${INSTALL_TARGETS[*]} " =~ " codex " ]]; then ln -sf "$SKILLS_REPO/.codex/skills/$SKILL_NAME"
"$HOME/.codex/skills/$SKILL_NAME" echo "✅ Installed for Codex" fi

**Verify installation:**

```bash
if [[ " ${INSTALL_TARGETS[*]} " =~ " codex " ]]; then ln -sf "$SKILLS_REPO/.codex/skills/$SKILL_NAME"
"$HOME/.codex/skills/$SKILL_NAME" echo "✅ Installed for Codex" fi

**验证安装:**

```bash

Check symlinks

Check symlinks

ls -la ~/.copilot/skills/$SKILL_NAME 2>/dev/null ls -la ~/.claude/skills/$SKILL_NAME 2>/dev/null ls -la ~/.codex/skills/$SKILL_NAME 2>/dev/null
undefined
ls -la ~/.copilot/skills/$SKILL_NAME 2>/dev/null ls -la ~/.claude/skills/$SKILL_NAME 2>/dev/null ls -la ~/.codex/skills/$SKILL_NAME 2>/dev/null
undefined

Phase 6: Completion

阶段6:完成

Progress: Display completion message:
bash
echo "[████████████████████] 100% - ✓ Skill created successfully!"
Update progress:
╔══════════════════════════════════════════════════════════════╗
║ ✓ Phase 5: Installation                                      ║
║ ✅ SKILL CREATION COMPLETE!                                  ║
╠══════════════════════════════════════════════════════════════╣
║ Progress: ██████████████████████████████  100%              ║
╚══════════════════════════════════════════════════════════════╝
Display summary:
🎉 Skill created successfully!

📦 Skill Name: your-skill-name
📁 Location: .github/skills/your-skill-name/
🔗 Installed: Global (Copilot + Claude)

📋 Files Created:
   ✅ SKILL.md (1,847 words)
   ✅ README.md (423 words)
   ✅ references/ (empty, ready for extended docs)
   ✅ examples/ (empty, ready for code samples)
   ✅ scripts/ (empty, ready for utilities)

🚀 Next Steps:
   1. Test the skill: Try trigger phrases in CLI
   2. Add examples: Create working code samples in examples/
   3. Extend docs: Add detailed guides to references/
   4. Commit changes: git add .github/skills/your-skill-name && git commit
   5. Share: Push to repository for team use

💡 Pro Tips:
   - Keep SKILL.md under 2,000 words (currently: 1,847)
   - Move detailed content to references/ folder
   - Add executable scripts to scripts/ folder
   - Update README.md with real usage examples
   - Run validation before committing: scripts/validate-skill-yaml.sh
进度显示: 显示完成消息:
bash
echo "[████████████████████] 100% - ✓ Skill created successfully!"
更新进度:
╔══════════════════════════════════════════════════════════════╗
║ ✓ Phase 5: Installation                                      ║
║ ✅ SKILL CREATION COMPLETE!                                  ║
╠══════════════════════════════════════════════════════════════╣
║ Progress: ██████████████████████████████  100%              ║
╚══════════════════════════════════════════════════════════════╝
显示总结:
🎉 Skill created successfully!

📦 Skill Name: your-skill-name
📁 Location: .github/skills/your-skill-name/
🔗 Installed: Global (Copilot + Claude)

📋 Files Created:
   ✅ SKILL.md (1,847 words)
   ✅ README.md (423 words)
   ✅ references/ (empty, ready for extended docs)
   ✅ examples/ (empty, ready for code samples)
   ✅ scripts/ (empty, ready for utilities)

🚀 Next Steps:
   1. Test the skill: Try trigger phrases in CLI
   2. Add examples: Create working code samples in examples/
   3. Extend docs: Add detailed guides to references/
   4. Commit changes: git add .github/skills/your-skill-name && git commit
   5. Share: Push to repository for team use

💡 Pro Tips:
   - Keep SKILL.md under 2,000 words (currently: 1,847)
   - Move detailed content to references/ folder
   - Add executable scripts to scripts/ folder
   - Update README.md with real usage examples
   - Run validation before committing: scripts/validate-skill-yaml.sh

Error Handling

错误处理

Platform Detection Issues

平台检测问题

If platforms cannot be detected:
⚠️  Unable to detect GitHub Copilot CLI or Claude Code
    
Would you like to:
1. Install for repository only (works when in repo)
2. Specify platform manually
3. Skip installation
如果无法检测到平台:
⚠️  Unable to detect GitHub Copilot CLI or Claude Code
    
Would you like to:
1. Install for repository only (works when in repo)
2. Specify platform manually
3. Skip installation

Template Not Found

模板未找到

If templates are missing:
❌ Error: Template not found at resources/templates/

This skill requires the cli-ai-skills repository structure.

Options:
1. Clone cli-ai-skills: git clone <repo-url>
2. Create minimal skill structure manually
3. Exit and set up templates first
如果模板缺失:
❌ Error: Template not found at resources/templates/

This skill requires the cli-ai-skills repository structure.

Options:
1. Clone cli-ai-skills: git clone <repo-url>
2. Create minimal skill structure manually
3. Exit and set up templates first

Validation Failures

验证失败

If content doesn't meet standards:
⚠️  Validation Issues Found:

1. YAML: Description not in third-person format
   Expected: "This skill should be used when..."
   Found: "Use this skill when..."
   
2. Content: Word count too high (5,342 words, max 5,000)
   Suggestion: Move detailed sections to references/

Fix automatically? [Y/n]
如果内容不符合标准:
⚠️  Validation Issues Found:

1. YAML: Description not in third-person format
   Expected: "This skill should be used when..."
   Found: "Use this skill when..."
   
2. Content: Word count too high (5,342 words, max 5,000)
   Suggestion: Move detailed sections to references/

Fix automatically? [Y/n]

Installation Conflicts

安装冲突

If symlink already exists:
⚠️  Skill already installed at ~/.copilot/skills/your-skill-name

Options:
1. Overwrite existing installation
2. Rename new skill
3. Skip installation
4. Install to different location
如果符号链接已存在:
⚠️  Skill already installed at ~/.copilot/skills/your-skill-name

Options:
1. Overwrite existing installation
2. Rename new skill
3. Skip installation
4. Install to different location

Bundled Resources

捆绑资源

This skill includes additional resources in subdirectories:
本skill在子目录中包含额外资源:

references/

references/

Detailed documentation loaded when needed:
  • anthropic-best-practices.md
    - Official Anthropic skill development guidelines
  • writing-style-guide.md
    - Writing standards and examples
  • progressive-disclosure.md
    - Content organization patterns
  • validation-checklist.md
    - Pre-commit quality checks
需要时加载的详细文档:
  • anthropic-best-practices.md
    - Anthropic官方skill开发指南
  • writing-style-guide.md
    - 写作标准和示例
  • progressive-disclosure.md
    - 内容组织模式
  • validation-checklist.md
    - 提交前质量检查清单

examples/

examples/

Working examples demonstrating skill usage:
  • basic-skill-creation.md
    - Simple skill creation walkthrough
  • advanced-skill-bundled-resources.md
    - Complex skill with references/
  • global-installation.md
    - Installing skills system-wide
展示skill用法的实际示例:
  • basic-skill-creation.md
    - 简单skill创建流程
  • advanced-skill-bundled-resources.md
    - 包含references/的复杂skill
  • global-installation.md
    - 系统级skill安装

scripts/

scripts/

Executable utilities for skill maintenance:
  • validate-all-skills.sh
    - Batch validation of all skills in repository
  • update-skill-version.sh
    - Bump version and update changelog
  • generate-skill-index.sh
    - Auto-generate skills catalog
用于skill维护的可执行工具:
  • validate-all-skills.sh
    - 批量验证仓库中所有skill
  • update-skill-version.sh
    - 版本升级并更新变更日志
  • generate-skill-index.sh
    - 自动生成skill目录

Technical Implementation Notes

技术实现说明

Template Substitution:
  • Use
    sed
    for simple replacements
  • Preserve YAML formatting exactly
  • Handle multi-line descriptions with proper escaping
Symlink Strategy:
  • Always use absolute paths:
    ln -sf /full/path/to/source ~/.copilot/skills/name
  • Verify symlink before considering installation complete
  • Benefits: Auto-updates when repository is pulled
Validation Integration:
  • Run validation before installation
  • Block installation if critical errors found
  • Warnings are informational only
Git Integration:
  • Extract author from
    git config user.name
  • Use repository root detection:
    git rev-parse --show-toplevel
  • Respect
    .gitignore
    patterns
模板替换:
  • 使用
    sed
    进行简单替换
  • 严格保留YAML格式
  • 正确处理多行描述的转义
符号链接策略:
  • 始终使用绝对路径:
    ln -sf /full/path/to/source ~/.copilot/skills/name
  • 验证符号链接创建成功后才视为安装完成
  • 优势:仓库更新时可自动同步
验证集成:
  • 安装前运行验证
  • 若发现严重错误则阻止安装
  • 警告仅为信息提示
Git集成:
  • git config user.name
    提取作者信息
  • 使用
    git rev-parse --show-toplevel
    检测仓库根目录
  • 遵循
    .gitignore
    规则

Quality Standards

质量标准

SKILL.md Requirements:
  • 1,500-2,000 words (ideal)
  • Under 5,000 words (maximum)
  • Third-person description format
  • Imperative/infinitive writing style
  • Progressive disclosure pattern
README.md Requirements:
  • 300-500 words
  • User-facing language
  • Clear installation instructions
  • Practical usage examples
Validation Checks:
  • YAML frontmatter completeness
  • Description format (third-person)
  • Word count limits
  • Writing style (no second-person)
  • Required fields present
SKILL.md要求:
  • 理想字数:1500-2000字
  • 最大字数:5000字
  • 描述采用第三人称格式
  • 写作风格为祈使句/不定式
  • 遵循渐进式披露模式
README.md要求:
  • 字数:300-500字
  • 使用面向用户的语言
  • 包含清晰的安装说明
  • 提供实用的使用示例
验证检查项:
  • YAML前置元数据完整性
  • 描述格式(第三人称)
  • 字数限制
  • 写作风格(无第二人称)
  • 必填字段是否存在

References

参考资料