From c7f19d5dab20f2ec62557290bcdd3ee99a65ad52 Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 18 Mar 2026 17:45:17 +0900 Subject: [PATCH] refactor: move skills/ and agents/ from .claude/ to plugin root Per the Claude Code plugin manifest schema, component directories (skills, agents) should be located at the plugin root rather than nested inside .claude/. This change moves them while keeping the plugin.json skills/agents path fields updated accordingly. Co-Authored-By: Claude Opus 4.6 (1M context) --- .claude-plugin/plugin.json | 4 ++-- .github/workflows/sync-manifest.yml | 2 ++ CLAUDE.md | 8 ++++---- {.claude/agents => agents}/backend-impl.md | 0 {.claude/agents => agents}/db-impl.md | 0 {.claude/agents => agents}/debug-investigator.md | 0 {.claude/agents => agents}/frontend-impl.md | 0 {.claude/agents => agents}/mobile-impl.md | 0 {.claude/agents => agents}/pm-planner.md | 0 {.claude/agents => agents}/qa-reviewer.md | 0 cli/generate-manifest.ts | 7 ++----- {.claude/skills => skills}/brainstorm/SKILL.md | 0 {.claude/skills => skills}/commit/SKILL.md | 0 {.claude/skills => skills}/coordinate/SKILL.md | 0 {.claude/skills => skills}/debug/SKILL.md | 0 {.claude/skills => skills}/deepinit/SKILL.md | 0 {.claude/skills => skills}/exec-plan/SKILL.md | 0 {.claude/skills => skills}/orchestrate/SKILL.md | 0 {.claude/skills => skills}/plan/SKILL.md | 0 {.claude/skills => skills}/review/SKILL.md | 0 {.claude/skills => skills}/setup/SKILL.md | 0 {.claude/skills => skills}/tools/SKILL.md | 0 {.claude/skills => skills}/ultrawork/SKILL.md | 0 23 files changed, 10 insertions(+), 11 deletions(-) rename {.claude/agents => agents}/backend-impl.md (100%) rename {.claude/agents => agents}/db-impl.md (100%) rename {.claude/agents => agents}/debug-investigator.md (100%) rename {.claude/agents => agents}/frontend-impl.md (100%) rename {.claude/agents => agents}/mobile-impl.md (100%) rename {.claude/agents => agents}/pm-planner.md (100%) rename {.claude/agents => agents}/qa-reviewer.md (100%) rename {.claude/skills => skills}/brainstorm/SKILL.md (100%) rename {.claude/skills => skills}/commit/SKILL.md (100%) rename {.claude/skills => skills}/coordinate/SKILL.md (100%) rename {.claude/skills => skills}/debug/SKILL.md (100%) rename {.claude/skills => skills}/deepinit/SKILL.md (100%) rename {.claude/skills => skills}/exec-plan/SKILL.md (100%) rename {.claude/skills => skills}/orchestrate/SKILL.md (100%) rename {.claude/skills => skills}/plan/SKILL.md (100%) rename {.claude/skills => skills}/review/SKILL.md (100%) rename {.claude/skills => skills}/setup/SKILL.md (100%) rename {.claude/skills => skills}/tools/SKILL.md (100%) rename {.claude/skills => skills}/ultrawork/SKILL.md (100%) diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 08edfd69..9142d33b 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -19,6 +19,6 @@ "codex", "gemini" ], - "skills": "./.claude/skills/", - "agents": "./.claude/agents/" + "skills": "./skills/", + "agents": "./agents/" } diff --git a/.github/workflows/sync-manifest.yml b/.github/workflows/sync-manifest.yml index 39bdc676..9cbdea6d 100644 --- a/.github/workflows/sync-manifest.yml +++ b/.github/workflows/sync-manifest.yml @@ -5,6 +5,8 @@ on: branches: [main] paths: - ".agents/**" + - "skills/**" + - "agents/**" - "cli/generate-manifest.ts" jobs: diff --git a/CLAUDE.md b/CLAUDE.md index 3baf96bf..7b149912 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -6,9 +6,9 @@ - **응답 언어**: 한국어 (`.agents/config/user-preferences.yaml` → `language: ko`) ## 아키텍처 -- **13 도메인 Skills**: `.agents/skills/` (심링크로 `.claude/skills/`에 노출) -- **11 Workflows**: `.agents/workflows/` (`.claude/skills/`에 네이티브 skill로 매핑) -- **7 서브에이전트**: `.claude/agents/` (Task tool로 스폰) +- **13 도메인 Skills**: `.agents/skills/` +- **11 Workflows**: `.agents/workflows/` (`skills/`에 네이티브 skill로 매핑) +- **7 서브에이전트**: `agents/` (Task tool로 스폰) ## 네이티브 모드 매핑 @@ -33,7 +33,7 @@ 3. `.agents/skills/_shared/prompt-structure.md` — 4요소: Goal, Context, Constraints, Done When ## 서브에이전트 스폰 규칙 -- `.claude/agents/*.md` 정의 → Task tool로 스폰 +- `agents/*.md` 정의 → Task tool로 스폰 - 병렬 스폰: 같은 메시지에서 복수 Task tool 호출 - 결과: Task tool이 동기 반환 (CLI 폴링 불필요) - 에이전트 결과: `.agents/results/result-{agent}.md`에 기록 diff --git a/.claude/agents/backend-impl.md b/agents/backend-impl.md similarity index 100% rename from .claude/agents/backend-impl.md rename to agents/backend-impl.md diff --git a/.claude/agents/db-impl.md b/agents/db-impl.md similarity index 100% rename from .claude/agents/db-impl.md rename to agents/db-impl.md diff --git a/.claude/agents/debug-investigator.md b/agents/debug-investigator.md similarity index 100% rename from .claude/agents/debug-investigator.md rename to agents/debug-investigator.md diff --git a/.claude/agents/frontend-impl.md b/agents/frontend-impl.md similarity index 100% rename from .claude/agents/frontend-impl.md rename to agents/frontend-impl.md diff --git a/.claude/agents/mobile-impl.md b/agents/mobile-impl.md similarity index 100% rename from .claude/agents/mobile-impl.md rename to agents/mobile-impl.md diff --git a/.claude/agents/pm-planner.md b/agents/pm-planner.md similarity index 100% rename from .claude/agents/pm-planner.md rename to agents/pm-planner.md diff --git a/.claude/agents/qa-reviewer.md b/agents/qa-reviewer.md similarity index 100% rename from .claude/agents/qa-reviewer.md rename to agents/qa-reviewer.md diff --git a/cli/generate-manifest.ts b/cli/generate-manifest.ts index a20a393c..252fd506 100644 --- a/cli/generate-manifest.ts +++ b/cli/generate-manifest.ts @@ -13,7 +13,6 @@ import path from "node:path"; import { fileURLToPath } from "node:url"; const AGENT_DIR = ".agents"; -const CLAUDE_DIR = ".claude"; const MANIFEST_FILE = "prompt-manifest.json"; export const REPOSITORY_URL = "https://github.com/first-fluke/oh-my-agent"; const EXCLUDED_PATTERNS = [ @@ -159,10 +158,8 @@ function main(): void { const allFiles = getAllFiles(AGENT_DIR, [], AGENT_DIR); - // Scan .claude/skills/ and .claude/agents/ for Claude Code native files - const claudeDirs = ["skills", "agents"]; - for (const sub of claudeDirs) { - const dir = path.join(CLAUDE_DIR, sub); + // Scan root skills/ and agents/ for Claude Code plugin discovery + for (const dir of ["skills", "agents"]) { if (fs.existsSync(dir)) { getAllFiles(dir, allFiles, dir); } diff --git a/.claude/skills/brainstorm/SKILL.md b/skills/brainstorm/SKILL.md similarity index 100% rename from .claude/skills/brainstorm/SKILL.md rename to skills/brainstorm/SKILL.md diff --git a/.claude/skills/commit/SKILL.md b/skills/commit/SKILL.md similarity index 100% rename from .claude/skills/commit/SKILL.md rename to skills/commit/SKILL.md diff --git a/.claude/skills/coordinate/SKILL.md b/skills/coordinate/SKILL.md similarity index 100% rename from .claude/skills/coordinate/SKILL.md rename to skills/coordinate/SKILL.md diff --git a/.claude/skills/debug/SKILL.md b/skills/debug/SKILL.md similarity index 100% rename from .claude/skills/debug/SKILL.md rename to skills/debug/SKILL.md diff --git a/.claude/skills/deepinit/SKILL.md b/skills/deepinit/SKILL.md similarity index 100% rename from .claude/skills/deepinit/SKILL.md rename to skills/deepinit/SKILL.md diff --git a/.claude/skills/exec-plan/SKILL.md b/skills/exec-plan/SKILL.md similarity index 100% rename from .claude/skills/exec-plan/SKILL.md rename to skills/exec-plan/SKILL.md diff --git a/.claude/skills/orchestrate/SKILL.md b/skills/orchestrate/SKILL.md similarity index 100% rename from .claude/skills/orchestrate/SKILL.md rename to skills/orchestrate/SKILL.md diff --git a/.claude/skills/plan/SKILL.md b/skills/plan/SKILL.md similarity index 100% rename from .claude/skills/plan/SKILL.md rename to skills/plan/SKILL.md diff --git a/.claude/skills/review/SKILL.md b/skills/review/SKILL.md similarity index 100% rename from .claude/skills/review/SKILL.md rename to skills/review/SKILL.md diff --git a/.claude/skills/setup/SKILL.md b/skills/setup/SKILL.md similarity index 100% rename from .claude/skills/setup/SKILL.md rename to skills/setup/SKILL.md diff --git a/.claude/skills/tools/SKILL.md b/skills/tools/SKILL.md similarity index 100% rename from .claude/skills/tools/SKILL.md rename to skills/tools/SKILL.md diff --git a/.claude/skills/ultrawork/SKILL.md b/skills/ultrawork/SKILL.md similarity index 100% rename from .claude/skills/ultrawork/SKILL.md rename to skills/ultrawork/SKILL.md