建立新的 Claude Code Plugin,含完整目錄結構、marketplace.json 同步、CLAUDE.md 產生、GitHub Issue 追蹤。 支援從零建立或從現有 .claude/skills/ 轉換。 當用戶提到「建立 plugin」「新 plugin」「create plugin」「轉成 plugin」「skill 變 plugin」時使用。
建立新的 Claude Code Plugin,包含目錄結構、manifest、CLAUDE.md、marketplace 同步、GitHub Issue 追蹤。
| 模式 | 觸發 | 說明 |
|---|---|---|
| New | /plugin-tools:create-plugin my-plugin | 從零建立全新 plugin |
| Convert | /plugin-tools:create-plugin convert skill-name | 從現有 .claude/skills/ 轉換成 plugin |
動任何事之前先用 TaskCreate 建 todo list:
TaskCreate(name="parse_arguments", description="解析 $ARGUMENTS 決定 New/Convert mode")
TaskCreate(name="gather_info", description="AskUserQuestion 蒐集 plugin name / description / category / skills")
TaskCreate(name="locate_marketplace", description="找到 plugin marketplace repo(psychquant 或 local)")
TaskCreate(name="create_directory_structure", description="mkdir plugins/{name}/{.claude-plugin,skills,...}")
TaskCreate(name="create_plugin_json", description="寫 .claude-plugin/plugin.json")
TaskCreate(name="create_or_convert_skills", description="New: 建空 skills / Convert: 從 .claude/skills 轉換")
TaskCreate(name="generate_claude_md", description="寫 plugin CLAUDE.md 列出所有組件")
TaskCreate(name="sync_marketplace_json", description="加入 marketplace.json 的 plugins 陣列")
TaskCreate(name="commit_push", description="git add + commit + push marketplace repo")
TaskCreate(name="install_plugin", description="claude plugin install {name}@marketplace")
TaskCreate(name="create_github_issue", description="(可選)建追蹤 issue 紀錄這個 plugin 的 roadmap")
完成每一步立即 TaskUpdate → completed。靜默完成 = 違規。
$ARGUMENTS 格式:
- "my-plugin" → New mode
- "convert codex-review" → Convert mode(從 .claude/skills/codex-review 轉換)
- "convert codex-review issue" → Convert mode(合併多個 skill 成一個 plugin)
問以下問題(缺的才問):
PsychQuant/psychquant-claude-plugins)# 找到 marketplace repo 的本地路徑
# 預設:/Users/che/Developer/psychquant-claude-plugins
MARKETPLACE_ROOT=$(git -C "$PLUGIN_SOURCE" rev-parse --show-toplevel 2>/dev/null)
如果找不到,問使用者 marketplace repo 的路徑。
PLUGIN_DIR="$MARKETPLACE_ROOT/plugins/{plugin-name}"
mkdir -p "$PLUGIN_DIR/.claude-plugin"
mkdir -p "$PLUGIN_DIR/skills" # if skills selected
mkdir -p "$PLUGIN_DIR/commands" # if commands selected
mkdir -p "$PLUGIN_DIR/agents" # if agents selected
mkdir -p "$PLUGIN_DIR/hooks" # if hooks selected
{
"name": "{plugin-name}",
"description": "{description}",
"version": "1.0.0",
"author": {
"name": "Che Cheng"
}
}
對每個要轉換的 skill:
.claude/skills/{skill-name}/SKILL.md$PLUGIN_DIR/skills/{skill-name}/SKILL.mdreferences/ 子目錄,一併複製為每個 skill 建立骨架 SKILL.md:
---