Agent Skills: ๐Ÿ”„ ๅคš AI ๅ่ฐƒๅŒๆญฅๅ่ฎฎ

ๅคš AI ๅ่ฐƒๅŒๆญฅๅ่ฎฎ - ่งฃๅ†ณ Claude/Codex/Gemini ๅฆ‚ไฝ•ๅๅŒๅทฅไฝœ

UncategorizedID: WenJunDuan/Rlues/multi-ai-sync

Install this agent skill to your local

pnpm dlx add-skill https://github.com/WenJunDuan/Rlues/tree/HEAD/vibeCoding/old%20version/claude/config-agent_v7.4/.claude/skills/multi-ai-sync

Skill Files

Browse the full folder contents for multi-ai-sync.

Download Skill

Loading file treeโ€ฆ

vibeCoding/old version/claude/config-agent_v7.4/.claude/skills/multi-ai-sync/SKILL.md

Skill Metadata

Name
multi-ai-sync
Description
ๅคš AI ๅ่ฐƒๅŒๆญฅๅ่ฎฎ - ่งฃๅ†ณ Claude/Codex/Gemini ๅฆ‚ไฝ•ๅๅŒๅทฅไฝœ

๐Ÿ”„ ๅคš AI ๅ่ฐƒๅŒๆญฅๅ่ฎฎ

ๆ ธๅฟƒ้—ฎ้ข˜๏ผšๅฝ“ๅคšไธช AI๏ผˆClaude Codeใ€Codexใ€Gemini๏ผ‰ๅŒๆ—ถๆˆ–ไบคๆ›ฟๅทฅไฝœๆ—ถ๏ผŒๅฆ‚ไฝ•ไฟ่ฏ๏ผš

  1. ็Šถๆ€ไธ€่‡ดๆ€ง
  2. ไธŠไธ‹ๆ–‡่ฟž็ปญๆ€ง
  3. ไปปๅŠกไธๅ†ฒ็ช
  4. ็ป“ๆžœๅฏ่ฟฝๆบฏ

1. ๆ ธๅฟƒๅŽŸๅˆ™

1.1 ๆ–‡ไปถ็ณป็ปŸๆ˜ฏๅ”ฏไธ€็œŸ็†

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   ๅ”ฏไธ€็œŸ็†ๆฅๆบ                           โ”‚
โ”‚         project_document/.ai_state/                     โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”               โ”‚
โ”‚  โ”‚ Claude  โ”‚   โ”‚ Codex   โ”‚   โ”‚ Gemini  โ”‚               โ”‚
โ”‚  โ”‚  Code   โ”‚   โ”‚  CLI    โ”‚   โ”‚  CLI    โ”‚               โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜               โ”‚
โ”‚       โ”‚             โ”‚             โ”‚                     โ”‚
โ”‚       โ–ผ             โ–ผ             โ–ผ                     โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”           โ”‚
โ”‚  โ”‚         .ai_state/ (ๆ–‡ไปถ็ณป็ปŸ)            โ”‚           โ”‚
โ”‚  โ”‚  โ”œโ”€โ”€ active_context.md  # ๅฝ“ๅ‰็Šถๆ€       โ”‚           โ”‚
โ”‚  โ”‚  โ”œโ”€โ”€ kanban.md          # ่ฟ›ๅบฆ็œ‹ๆฟ       โ”‚           โ”‚
โ”‚  โ”‚  โ”œโ”€โ”€ handoff.md         # ไบคๆŽฅ่ฎฐๅฝ•       โ”‚           โ”‚
โ”‚  โ”‚  โ””โ”€โ”€ .ai_lock           # ๅนถๅ‘้”         โ”‚           โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜           โ”‚
โ”‚                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

่ง„ๅˆ™๏ผš
- ๆฏไธช AI ๅผ€ๅง‹ๅทฅไฝœๅ‰ๅฟ…้กป่ฏปๅ– .ai_state/
- ๆฏไธช AI ๅฎŒๆˆๅทฅไฝœๅŽๅฟ…้กปๆ›ดๆ–ฐ .ai_state/
- ไธไพ่ต–ไผš่ฏ่ฎฐๅฟ†๏ผŒๅชไพ่ต–ๆ–‡ไปถ

1.2 ไปปๅŠกๅ•ไธ€ๆ‰€ๆœ‰ๆƒ

ๅŒไธ€ๆ—ถๅˆป๏ผŒไธ€ไธชไปปๅŠกๅช่ƒฝ่ขซไธ€ไธช AI ๆ‰ง่กŒ๏ผš

T-001: Claude Code โœ… (ๆญฃๅœจๆ‰ง่กŒ)
T-002: Codex      โœ… (ๆญฃๅœจๆ‰ง่กŒ)  
T-003: ๅพ…ๅˆ†้…    โณ (็ญ‰ๅพ…ไธญ)
T-001: Gemini    โŒ (ๅ†ฒ็ช๏ผๅทฒ่ขซ Claude ๅ ็”จ)

1.3 ๆ˜พๅผไบคๆŽฅ

AI ไน‹้—ดไธ่ƒฝ"้šๅผ"ไผ ้€’ไฟกๆฏ๏ผŒๅฟ…้กป้€š่ฟ‡ handoff.md ๆ˜พๅผไบคๆŽฅ๏ผš

Claude Code ๅฎŒๆˆ T-001 โ†’ ๅ†™ๅ…ฅ handoff.md โ†’ Codex ่ฏปๅ–ๅŽ็ปง็ปญ

2. ็Šถๆ€ๆ–‡ไปถ่ง„่Œƒ

2.1 active_context.md๏ผˆๅฝ“ๅ‰็Šถๆ€๏ผ‰

# Active Context

## ๐Ÿ”’ ๅฝ“ๅ‰ๆ‰ง่กŒ้”

| ไปปๅŠก | ๆ‰ง่กŒ่€… | ๅผ€ๅง‹ๆ—ถ้—ด | ็Šถๆ€ |
|:----|:------|:--------|:----|
| T-002 | codex | 2025-01-11T10:30:00 | ๐Ÿ”„ ๆ‰ง่กŒไธญ |
| T-003 | claude-code | 2025-01-11T10:35:00 | ๐Ÿ”„ ๆ‰ง่กŒไธญ |

## ๐Ÿ“‹ ไปปๅŠก้˜Ÿๅˆ—

### ๆ‰ง่กŒไธญ
- T-002: ๆ•ฐๆฎๅบ“่ฎพ่ฎก (codex)
- T-003: API ๆŽฅๅฃ (claude-code)

### ๅพ…ๆ‰ง่กŒ
- T-004: ๅ‰็ซฏ้กต้ข (ๅพ…ๅˆ†้…)
- T-005: ็”จๆˆท่ฎค่ฏ (ๅพ…ๅˆ†้…)

### ๅทฒๅฎŒๆˆ
- T-001: ้กน็›ฎๅˆๅง‹ๅŒ– โœ… (codex, 10:28)

## ๐Ÿ“ ๆœ€่ฟ‘ๅ˜ๆ›ด

| ๆ—ถ้—ด | AI | ๅŠจไฝœ | ๆ–‡ไปถ |
|:----|:---|:----|:----|
| 10:35 | claude-code | ๅˆ›ๅปบ | src/api/users.ts |
| 10:32 | codex | ๅˆ›ๅปบ | src/db/schema.ts |

2.2 handoff.md๏ผˆไปปๅŠกไบคๆŽฅ๏ผ‰

# ไปปๅŠกไบคๆŽฅ่ฎฐๅฝ•

---

## Handoff #001

**ๆ—ถ้—ด**: 2025-01-11T10:30:00
**ไปปๅŠก**: T-002 ๆ•ฐๆฎๅบ“่ฎพ่ฎก
**ไบคๆŽฅๆ–นๅ‘**: claude-code โ†’ codex

### ๅทฒๅฎŒๆˆๅทฅไฝœ
- ๆ•ฐๆฎๆจกๅž‹่ฎพ่ฎกๅฎŒๆˆ
- ๆŽฅๅฃๅฎšไน‰ๅทฒๅ†™ๅ…ฅ src/types/

### ๅพ…็ปง็ปญๅทฅไฝœ
- ๅฎž็Žฐ CRUD ๅ‡ฝๆ•ฐ
- ๆทปๅŠ ๆ•ฐๆฎ้ชŒ่ฏ

### ไธŠไธ‹ๆ–‡ๆ‘˜่ฆ

็”จๆˆท้œ€ๆฑ‚๏ผšๅšๅฎข็ณป็ปŸ ๆŠ€ๆœฏๆ ˆ๏ผšNext.js + SQLite ๆ•ฐๆฎๆจกๅž‹๏ผšUser, Article, Tag ๅ…ณ็ณป๏ผšArticle belongsTo User, Article hasMany Tags


### ๅ…ณ้”ฎๆ–‡ไปถ
- `src/types/models.ts` - ๆ•ฐๆฎๆจกๅž‹ๅฎšไน‰
- `src/db/schema.sql` - ๆ•ฐๆฎๅบ“ Schema

### ๆณจๆ„ไบ‹้กน
- ็”จๆˆท่ฆๆฑ‚ไฝฟ็”จ SQLite
- ๆ–‡็ซ ้œ€่ฆๆ”ฏๆŒ Markdown

---

2.3 .ai_lock๏ผˆๅนถๅ‘้”๏ผ‰

{
  "locked_by": "codex",
  "locked_at": "2025-01-11T10:30:00Z",
  "task_id": "T-002",
  "expires_at": "2025-01-11T10:35:00Z"
}

3. ๅ่ฐƒๆต็จ‹

3.1 ไปปๅŠก้ข†ๅ–ๆต็จ‹

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ไปปๅŠก้ข†ๅ–ๆต็จ‹                          โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                         โ”‚
โ”‚  1. ๆฃ€ๆŸฅ .ai_lock                                       โ”‚
โ”‚     โ”œโ”€โ”€ ๆ— ้” โ†’ ็ปง็ปญ                                     โ”‚
โ”‚     โ””โ”€โ”€ ๆœ‰้” โ†’ ็ญ‰ๅพ…ๆˆ–้€‰ๆ‹ฉๅ…ถไป–ไปปๅŠก                        โ”‚
โ”‚                                                         โ”‚
โ”‚  2. ๅˆ›ๅปบ้”ๆ–‡ไปถ                                          โ”‚
โ”‚     .ai_lock = { locked_by: "codex", task_id: "T-002" } โ”‚
โ”‚                                                         โ”‚
โ”‚  3. ่ฏปๅ– active_context.md                              โ”‚
โ”‚     ่Žทๅ–ไปปๅŠก่ฏฆๆƒ…ๅ’ŒไธŠไธ‹ๆ–‡                                 โ”‚
โ”‚                                                         โ”‚
โ”‚  4. ่ฏปๅ– handoff.md๏ผˆๅฆ‚ๆœ‰ๅ‰ๅบไบคๆŽฅ๏ผ‰                      โ”‚
โ”‚     ่Žทๅ–ๅ‰ไธ€ไธช AI ็š„ๅทฅไฝœๆˆๆžœ                             โ”‚
โ”‚                                                         โ”‚
โ”‚  5. ๆ‰ง่กŒไปปๅŠก                                            โ”‚
โ”‚                                                         โ”‚
โ”‚  6. ๆ›ดๆ–ฐ็Šถๆ€ๆ–‡ไปถ                                        โ”‚
โ”‚     - active_context.md                                 โ”‚
โ”‚     - handoff.md๏ผˆๅฆ‚้œ€ไบคๆŽฅ๏ผ‰                            โ”‚
โ”‚     - kanban.md                                         โ”‚
โ”‚                                                         โ”‚
โ”‚  7. ้‡Šๆ”พ้”                                              โ”‚
โ”‚     ๅˆ ้™ค .ai_lock                                       โ”‚
โ”‚                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

3.2 ไปปๅŠกไบคๆŽฅๆต็จ‹

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚            Claude Code โ†’ Codex ไบคๆŽฅ็คบไพ‹                  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                         โ”‚
โ”‚  Claude Code (ๅฎŒๆˆ่ฎพ่ฎก้˜ถๆฎต):                             โ”‚
โ”‚                                                         โ”‚
โ”‚  1. ๅฎŒๆˆๆžถๆž„่ฎพ่ฎก                                        โ”‚
โ”‚  2. ๅ†™ๅ…ฅ handoff.md:                                    โ”‚
โ”‚     - ๅทฒๅฎŒๆˆ: ๆ•ฐๆฎๆจกๅž‹่ฎพ่ฎก                               โ”‚
โ”‚     - ๅพ…็ปง็ปญ: ๅฎž็Žฐ CRUD                                 โ”‚
โ”‚     - ๅ…ณ้”ฎๆ–‡ไปถ: src/types/models.ts                     โ”‚
โ”‚  3. ๆ›ดๆ–ฐ active_context.md:                             โ”‚
โ”‚     - T-002: claude-code โ†’ handoff โ†’ codex             โ”‚
โ”‚  4. ้‡Šๆ”พ้”                                              โ”‚
โ”‚                                                         โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚
โ”‚                                                         โ”‚
โ”‚  Codex (ๆŽฅๆ”ถๆ‰ง่กŒ้˜ถๆฎต):                                   โ”‚
โ”‚                                                         โ”‚
โ”‚  1. ่Žทๅ–้”                                              โ”‚
โ”‚  2. ่ฏปๅ– handoff.md                                     โ”‚
โ”‚  3. ่ฏปๅ–ๅ…ณ้”ฎๆ–‡ไปถ src/types/models.ts                    โ”‚
โ”‚  4. ็ปง็ปญๅฎž็Žฐ CRUD                                       โ”‚
โ”‚  5. ๅฎŒๆˆๅŽๆ›ดๆ–ฐ็Šถๆ€                                       โ”‚
โ”‚                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

3.3 ๅนถ่กŒๆ‰ง่กŒๆต็จ‹

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ๅนถ่กŒๆ‰ง่กŒ็คบไพ‹                          โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                         โ”‚
โ”‚  ๅ‰ๆ๏ผšไปปๅŠกไน‹้—ดๆ— ไพ่ต–ๅ…ณ็ณป                                โ”‚
โ”‚                                                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”               โ”‚
โ”‚  โ”‚   Codex     โ”‚         โ”‚   Codex     โ”‚               โ”‚
โ”‚  โ”‚   T-004     โ”‚         โ”‚   T-005     โ”‚               โ”‚
โ”‚  โ”‚  ๅ‰็ซฏ็ป„ไปถ   โ”‚         โ”‚  ๅŽ็ซฏAPI    โ”‚               โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜               โ”‚
โ”‚         โ”‚                       โ”‚                       โ”‚
โ”‚         โ–ผ                       โ–ผ                       โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”           โ”‚
โ”‚  โ”‚         active_context.md               โ”‚           โ”‚
โ”‚  โ”‚                                         โ”‚           โ”‚
โ”‚  โ”‚  ๆ‰ง่กŒไธญ:                                โ”‚           โ”‚
โ”‚  โ”‚  - T-004: codex (instance-1)           โ”‚           โ”‚
โ”‚  โ”‚  - T-005: codex (instance-2)           โ”‚           โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜           โ”‚
โ”‚                                                         โ”‚
โ”‚  ่ง„ๅˆ™๏ผš                                                 โ”‚
โ”‚  1. ๆฏไธชไปปๅŠกๆœ‰็‹ฌ็ซ‹็š„้”                                  โ”‚
โ”‚  2. ๅนถ่กŒไปปๅŠกไธ่ƒฝไฟฎๆ”นๅŒไธ€ๆ–‡ไปถ                            โ”‚
โ”‚  3. ๅฎŒๆˆๅŽ้œ€่ฆ้›†ๆˆ้ชŒ่ฏ                                  โ”‚
โ”‚                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

4. ๅ†ฒ็ช่งฃๅ†ณ

4.1 ๆ–‡ไปถๅ†ฒ็ช

ๅœบๆ™ฏ: Codex ๅ’Œ Claude Code ๅŒๆ—ถไฟฎๆ”นไบ†ๅŒไธ€ๆ–‡ไปถ

่งฃๅ†ณๆ–นๆกˆ:
  1. ๆฃ€ๆต‹ๅ†ฒ็ช:
     - ๆฏ”่พƒๆ–‡ไปถไฟฎๆ”นๆ—ถ้—ดๆˆณ
     - ไฝฟ็”จ git diff ๆฃ€ๆต‹
     
  2. ๅ†ฒ็ชๅค„็†ไผ˜ๅ…ˆ็บง:
     - ็”จๆˆทๆŒ‡ๅฎš > ๅŽๅฎŒๆˆ็š„ AI > ๅ…ˆๅฎŒๆˆ็š„ AI
     
  3. ่‡ชๅŠจๅˆๅนถ:
     - ๅฆ‚ๆžœไฟฎๆ”นไธๅŒๅŒบๅŸŸ๏ผŒๅฐ่ฏ•่‡ชๅŠจๅˆๅนถ
     - ๅฆ‚ๆžœไฟฎๆ”นๅŒไธ€ๅŒบๅŸŸ๏ผŒๅˆ›ๅปบ .conflict ๆ–‡ไปถ็ญ‰ๅพ…ไบบๅทฅๅค„็†

4.2 ไปปๅŠกๅ†ฒ็ช

ๅœบๆ™ฏ: ไธคไธช AI ๅŒๆ—ถๅฐ่ฏ•้ข†ๅ–ๅŒไธ€ไปปๅŠก

่งฃๅ†ณๆ–นๆกˆ:
  1. ้”ๆœบๅˆถ:
     - ๅ…ˆ่Žทๅ–้”็š„ AI ๆ‰ง่กŒ
     - ๅŽๅˆฐ็š„ AI ้€‰ๆ‹ฉๅ…ถไป–ไปปๅŠกๆˆ–็ญ‰ๅพ…
     
  2. ้”่ถ…ๆ—ถ:
     - ้”ๆœ‰่ถ…ๆ—ถๆ—ถ้—ด๏ผˆ้ป˜่ฎค 5 ๅˆ†้’Ÿ๏ผ‰
     - ่ถ…ๆ—ถๅŽๅ…ถไป– AI ๅฏไปฅๆŽฅ็ฎก
     
  3. ๆญป้”ๆฃ€ๆต‹:
     - ๅฎšๆœŸๆฃ€ๆŸฅ้”็Šถๆ€
     - ๅ‘็Žฐๆญป้”่‡ชๅŠจ้‡Šๆ”พ

5. ๅฎž้™…่ฐƒ็”จ็คบไพ‹

5.1 ไธป AI ่ฐƒๅบฆๅ…ถไป– AI

## ๅœบๆ™ฏ๏ผšClaude Code ไฝœไธบไธป AI๏ผŒ่ฐƒๅบฆ Codex ๆ‰ง่กŒๅญไปปๅŠก

### Claude Code ๆ“ไฝœ๏ผš

1. ๅˆ†ๆžไปปๅŠก๏ผŒๅ†ณๅฎšไบค็ป™ Codex๏ผš
   "T-004 ๆ˜ฏๅนถ่กŒ็š„ๅ‰็ซฏไปปๅŠก๏ผŒไบค็ป™ Codex ๆ‰ง่กŒ"

2. ๅ†™ๅ…ฅไบคๆŽฅไฟกๆฏๅˆฐ handoff.md

3. ่ฐƒ็”จ Codex๏ผš
   ```bash
   codex - <<'EOF'
   ไปปๅŠกID: T-004
   ๆ่ฟฐ: ๅฎž็Žฐ็”จๆˆทๅˆ—่กจ็ป„ไปถ
   ไธŠไธ‹ๆ–‡: @project_document/.ai_state/handoff.md
   ่Œƒๅ›ด: @src/components/UserList/
   ๅฎŒๆˆๅŽๆ›ดๆ–ฐ: @project_document/.ai_state/active_context.md
   EOF
  1. ็ญ‰ๅพ… Codex ๅฎŒๆˆ

  2. ่ฏปๅ–ๆ›ดๆ–ฐๅŽ็š„ active_context.md๏ผŒ็ปง็ปญไธ‹ไธ€ๆญฅ


### 5.2 ็”จๆˆทๆŒ‡ๅฎš AI

```markdown
## ๅœบๆ™ฏ๏ผš็”จๆˆท่ฆๆฑ‚็”จ Codex ๅฎŒๆˆๅผ€ๅ‘

็”จๆˆท: "็”จ codex ๆฅๅฎž็Žฐ่ฟ™ไธช็™ปๅฝ•ๅŠŸ่ƒฝ"

ไธป AI ๆ“ไฝœ๏ผš
1. ่ฏ†ๅˆซ็”จๆˆทๆŒ‡ๅฎšไบ† codex
2. ๆ— ่ฎบ orchestrator.yaml ๅฆ‚ไฝ•้…็ฝฎ๏ผŒ้ƒฝไฝฟ็”จ codex
3. ๅ‡†ๅค‡ไปปๅŠกไธŠไธ‹ๆ–‡
4. ่ฐƒ็”จ codex ๆ‰ง่กŒ

5.3 ๅคš AI ๅไฝœๅฎŒๆ•ดๆต็จ‹

## ๅœบๆ™ฏ๏ผšๅšๅฎข็ณป็ปŸๅผ€ๅ‘

Phase 1 - ้œ€ๆฑ‚ๅˆ†ๆž (Claude Code ไธปๅฏผ)
โ”œโ”€โ”€ Claude Code ๅˆ†ๆž้œ€ๆฑ‚
โ”œโ”€โ”€ ็”ŸๆˆไปปๅŠกๅˆ—่กจ
โ””โ”€โ”€ ๅ†™ๅ…ฅ active_context.md

Phase 2 - ๅนถ่กŒๅผ€ๅ‘ (ๅคš AI)
โ”œโ”€โ”€ T-001 ้กน็›ฎๅˆๅง‹ๅŒ–: Codex (ๅฟซ)
โ”œโ”€โ”€ T-002 ๆ•ฐๆฎๅบ“่ฎพ่ฎก: Claude Code (้œ€ๆ€่€ƒ)
โ”œโ”€โ”€ T-003 ๅŽ็ซฏ API: 
โ”‚   โ”œโ”€โ”€ Claude Code ่ฎพ่ฎกๆŽฅๅฃ
โ”‚   โ””โ”€โ”€ Codex ๅฎž็Žฐไปฃ็  (ไบคๆŽฅ)
โ””โ”€โ”€ T-004/T-005 ๅ‰็ซฏ้กต้ข: Codex ๅนถ่กŒ

Phase 3 - ้›†ๆˆๆต‹่ฏ• (Claude Code)
โ”œโ”€โ”€ ่ฏปๅ–ๆ‰€ๆœ‰ AI ็š„ๅทฅไฝœๆˆๆžœ
โ”œโ”€โ”€ ้ชŒ่ฏ้›†ๆˆ
โ””โ”€โ”€ ไฟฎๅค้—ฎ้ข˜

ๆฏไธช้˜ถๆฎต่ฝฌๆขๆ—ถ๏ผš
1. ๅฝ“ๅ‰ AI ๆ›ดๆ–ฐ active_context.md
2. ๅ†™ๅ…ฅ handoff.md
3. ไธ‹ไธ€ไธช AI ่ฏปๅ–ๅŽ็ปง็ปญ

6. ่ฐƒๅบฆๅ™จๅฎž็Žฐ่ฆ็‚น

6.1 Orchestrator ่Œ่ดฃ

class Orchestrator:
    def __init__(self, config_path="orchestrator.yaml"):
        self.config = load_yaml(config_path)
        self.state_dir = self.config["sync"]["state_dir"]
    
    def select_engine(self, task, user_override=None):
        """
        ๅผ•ๆ“Ž้€‰ๆ‹ฉไผ˜ๅ…ˆ็บง๏ผš
        1. ็”จๆˆทๆŒ‡ๅฎš
        2. ่ง’่‰ฒๆ˜ ๅฐ„
        3. ไปปๅŠก็ฑปๅž‹ๆ็คบ
        4. ้ป˜่ฎคๅผ•ๆ“Ž
        """
        if user_override:
            return user_override
        
        role = task.get("assigned_role")
        if role and role in self.config["role_engine_mapping"]:
            return self.config["role_engine_mapping"][role]
        
        task_type = task.get("type")
        if task_type and task_type in self.config["task_type_hints"]:
            return self.config["task_type_hints"][task_type]
        
        return self.config["default_engine"]["name"]
    
    def dispatch(self, task, engine):
        """ๅˆ†ๅ‘ไปปๅŠกๅˆฐๆŒ‡ๅฎšๅผ•ๆ“Ž"""
        # 1. ่Žทๅ–้”
        self.acquire_lock(task["id"], engine)
        
        # 2. ๅ‡†ๅค‡ไธŠไธ‹ๆ–‡
        context = self.prepare_context(task)
        
        # 3. ่ฐƒ็”จๅผ•ๆ“Ž
        if engine == "codex":
            result = self.call_codex(task, context)
        elif engine == "gemini":
            result = self.call_gemini(task, context)
        else:
            result = self.execute_directly(task, context)
        
        # 4. ๆ›ดๆ–ฐ็Šถๆ€
        self.update_state(task, result)
        
        # 5. ้‡Šๆ”พ้”
        self.release_lock(task["id"])
        
        return result

6.2 ็Šถๆ€ๅŒๆญฅๅฎž็Žฐ

class StateSync:
    def read_context(self):
        """่ฏปๅ–ๅฝ“ๅ‰ไธŠไธ‹ๆ–‡"""
        return read_file(f"{self.state_dir}/active_context.md")
    
    def write_context(self, content):
        """ๅ†™ๅ…ฅไธŠไธ‹ๆ–‡๏ผˆๅธฆ้”๏ผ‰"""
        with file_lock(f"{self.state_dir}/.ai_lock"):
            write_file(f"{self.state_dir}/active_context.md", content)
    
    def create_handoff(self, from_ai, to_ai, task, summary):
        """ๅˆ›ๅปบไบคๆŽฅ่ฎฐๅฝ•"""
        handoff = f"""
## Handoff #{self.next_handoff_id()}

**ๆ—ถ้—ด**: {now()}
**ไปปๅŠก**: {task['id']} {task['name']}
**ไบคๆŽฅ**: {from_ai} โ†’ {to_ai}

### ๅทฒๅฎŒๆˆ
{summary['completed']}

### ๅพ…็ปง็ปญ
{summary['pending']}

### ๅ…ณ้”ฎๆ–‡ไปถ
{summary['files']}
"""
        append_file(f"{self.state_dir}/handoff.md", handoff)

7. ๆฃ€ๆŸฅๆธ…ๅ•

ไปปๅŠกๅผ€ๅง‹ๅ‰

  • [ ] ่ฏปๅ– active_context.md
  • [ ] ๆฃ€ๆŸฅๆ˜ฏๅฆๆœ‰้”ๅ†ฒ็ช
  • [ ] ่ฏปๅ– handoff.md๏ผˆๅฆ‚ๆœ‰ไบคๆŽฅ๏ผ‰
  • [ ] ่Žทๅ–ไปปๅŠก้”

ไปปๅŠกๆ‰ง่กŒไธญ

  • [ ] ๅฎšๆœŸๆ›ดๆ–ฐ่ฟ›ๅบฆ๏ผˆ้•ฟไปปๅŠก๏ผ‰
  • [ ] ่ฎฐๅฝ•ไฟฎๆ”น็š„ๆ–‡ไปถๅˆ—่กจ

ไปปๅŠกๅฎŒๆˆๅŽ

  • [ ] ๆ›ดๆ–ฐ active_context.md
  • [ ] ๆ›ดๆ–ฐ kanban.md
  • [ ] ๅ†™ๅ…ฅ handoff.md๏ผˆๅฆ‚้œ€ไบคๆŽฅ๏ผ‰
  • [ ] ้‡Šๆ”พ้”

็‰ˆๆœฌ: v1.0 | ๆ ธๅฟƒ: ๆ–‡ไปถ็ณป็ปŸๅŒๆญฅ + ๆ˜พๅผไบคๆŽฅ + ้”ๆœบๅˆถ