Part 7D:實作練習

動手建立「專案初始化器」Skill

Step by Step README.md .gitignore package.json

曾慶良(阿亮老師) | AI 協作簡報實戰工作坊

🎯 實作目標:專案初始化器

我們要做什麼?

建立一個 Skill,能自動產生:

  • README.md(專案說明)
  • .gitignore(Git 忽略檔案)
  • package.json(專案設定)

觸發方式

只要說:

  • 「幫我初始化一個新專案」
  • 「init project」
  • 「建立專案」

完成後的資料夾結構

project-initializer/
├── SKILL.md
└── resources/
    ├── readme-template.md
    ├── gitignore-template.txt
    └── package-template.json
Before:手動建立 3 個檔案,每次都要改內容

After:一句話,AI 自動完成!

1建立資料夾結構

🔵 Google Antigravity 用戶

# 在專案根目錄執行
mkdir -p .agent/skills/project-initializer/resources

建立完成後的路徑:

你的專案/
└── .agent/
    └── skills/
        └── project-initializer/
            └── resources/

🟣 Claude Code 用戶

# 在專案根目錄執行
mkdir -p .claude/skills/project-initializer/resources

建立完成後的路徑:

你的專案/
└── .claude/
    └── skills/
        └── project-initializer/
            └── resources/
💡 Windows 用戶提示:可以用檔案總管手動建立資料夾,記得在「檢視」開啟「顯示隱藏項目」才能看到 .agent 或 .claude 資料夾

2撰寫 SKILL.md

---
name: project-initializer
description: "Initialize new projects with standard files. Triggers: init project, 初始化專案, create project, setup project, 建立專案. Creates: README.md, .gitignore, package.json with customized content."
---

# Project Initializer

This skill creates standard project files with customized content.

## Instructions

### Step 1: Gather Information
1. Ask user for the project name (MUST be lowercase, use hyphens for spaces)
2. Ask user for a brief project description (1-2 sentences)

### Step 2: Create README.md
1. Read the template from `resources/readme-template.md`
2. Replace `{{PROJECT_NAME}}` with the user's project name
3. Replace `{{PROJECT_DESCRIPTION}}` with the user's description
4. Write the result to `./README.md`

### Step 3: Create .gitignore
1. Read the template from `resources/gitignore-template.txt`
2. Write the content to `./.gitignore` (no modifications needed)

### Step 4: Create package.json
1. Read the template from `resources/package-template.json`
2. Replace `{{PROJECT_NAME}}` and `{{PROJECT_DESCRIPTION}}`
3. Write the result to `./package.json`

### Step 5: Report Completion
1. List all created files
2. Show a brief summary of what was set up

3建立模板檔案(1/3)

📄 readme-template.md

# {{PROJECT_NAME}}

{{PROJECT_DESCRIPTION}}

## 安裝

```bash
npm install
```

## 使用方式

```bash
npm start
```

## 開發

```bash
npm run dev
```

## 授權

MIT License

📌 說明

  • {{PROJECT_NAME}} 會被替換成專案名稱
  • {{PROJECT_DESCRIPTION}} 會被替換成專案描述
  • 其他內容保持固定,每個專案都一樣
💡 存檔位置:
resources/readme-template.md

3建立模板檔案(2/3 & 3/3)

📄 gitignore-template.txt

# Dependencies
node_modules/

# Environment
.env
.env.local
.env.*.local

# Build
dist/
build/

# System
.DS_Store
Thumbs.db

# Logs
*.log
npm-debug.log*

# IDE
.vscode/
.idea/

📄 package-template.json

{
  "name": "{{PROJECT_NAME}}",
  "version": "1.0.0",
  "description": "{{PROJECT_DESCRIPTION}}",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "dev": "node --watch index.js",
    "test": "echo \"No tests\" && exit 0"
  },
  "keywords": [],
  "author": "",
  "license": "MIT"
}
⚠️ 注意:JSON 檔案的 {{變數}} 要保留雙引號!

4測試你的 Skill

📝 測試步驟

  1. 開啟 Claude CodeAntigravity
  2. 輸入觸發指令:
    幫我初始化一個新專案
  3. AI 會詢問專案名稱和描述
  4. 提供資訊後,AI 開始工作
  5. 檢查專案根目錄是否出現三個檔案

✅ 預期結果

你的專案/
├── README.md        ← 新建立
├── .gitignore       ← 新建立
├── package.json     ← 新建立
│
└── .claude/skills/project-initializer/
    ├── SKILL.md
    └── resources/
        └── ...
🎉 成功標準:三個檔案都存在,且內容中的 {{變數}} 已被替換成你提供的值!

🔧 常見問題排解

問題 1

Skill 沒有被觸發


原因:description 的關鍵字不夠多

解法:加入更多觸發詞,中英文都加

問題 2

YAML 格式錯誤


原因:冒號後沒空格、減號數量錯

解法:用 YAML 驗證器檢查

問題 3

找不到模板檔案


原因:路徑或檔名大小寫錯誤

解法:確認路徑完全正確

💡 除錯技巧:請 AI「顯示 SKILL.md 的內容」,確認它讀到的是正確版本

📋 Part 7 完整回顧

🧠 Part A:認知與架構

  • Skill = AI 的食譜/SOP
  • 雙平台支援(.agent / .claude)
  • 只有 SKILL.md 是必要的

✍️ Part B:SKILL.md 撰寫

  • Frontmatter(name + description)
  • Description 決定觸發時機
  • 善用 MUST / NEVER / Ask user

📁 Part C:資料夾結構

  • scripts/:Python 腳本
  • data/:CSV、JSON 資料
  • resources/:模板檔案

🔧 Part D:實作練習

  • 建立專案初始化器 Skill
  • 三個模板檔案
  • 測試與除錯

🎉 Part 7 全部完成!

恭喜你學會建立自己的 AI Skill 了

從今天開始,把常用的工作流程都打包成 Skill
讓 AI 成為你的超級助手!

SKILL.md Frontmatter Instructions 模板系統 雙平台支援