maskweaver 0.9.2 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,11 +19,11 @@
19
19
  "name": "map",
20
20
  "aliases": [],
21
21
  "deprecatedAliases": [],
22
- "description": "코드베이스 구조 분석 + GDC 그래프 연동",
23
- "descriptionEn": "Analyze codebase structure via GDC + Graphify (knowledge graph)",
22
+ "description": "Analyze codebase structure via GDC and optional Graphify",
23
+ "descriptionEn": "Analyze codebase structure via GDC and optional Graphify",
24
24
  "category": "analysis",
25
25
  "args": [
26
- { "name": "deep", "type": "boolean", "default": false, "description": "Run deep analysis with graphify-windows skill" }
26
+ { "name": "deep", "type": "boolean", "default": false, "description": "Run deeper Graphify analysis when available" }
27
27
  ],
28
28
  "mdFile": "weave-map.md",
29
29
  "handler": "handleMap",
@@ -33,8 +33,8 @@
33
33
  "name": "interview",
34
34
  "aliases": [],
35
35
  "deprecatedAliases": [],
36
- "description": "코드베이스 기반 멀티스텝 요구사항 인터뷰",
37
- "descriptionEn": "Multi-step question asking until clarity, with structural change detection",
36
+ "description": "Ask clarifying questions until requirements and structural changes are clear",
37
+ "descriptionEn": "Ask clarifying questions until requirements and structural changes are clear",
38
38
  "category": "analysis",
39
39
  "args": [
40
40
  { "name": "docsPath", "type": "string", "required": false, "description": "Path to requirements documents" }
@@ -47,12 +47,12 @@
47
47
  "name": "prepare",
48
48
  "aliases": [],
49
49
  "deprecatedAliases": [],
50
- "description": "research + spec + plan 번에 생성 (큰 계획은 자동 분할)",
51
- "descriptionEn": "Create research + spec + plan with defaults (auto-splits oversized plans)",
50
+ "description": "Create research, spec, and phase plan artifacts from requirements",
51
+ "descriptionEn": "Create research, spec, and phase plan artifacts from requirements",
52
52
  "category": "planning",
53
53
  "args": [
54
54
  { "name": "docsPath", "type": "string", "required": false, "description": "Path to requirements documents" },
55
- { "name": "planName", "type": "string", "required": false, "description": "Plan name (kebab-case)" },
55
+ { "name": "planName", "type": "string", "required": false, "description": "Plan name in kebab-case" },
56
56
  { "name": "splitPlans", "type": "boolean", "default": true, "description": "Auto-split oversized plans into multiple shard plan files" },
57
57
  { "name": "splitMaxPhases", "type": "number", "default": 3, "min": 2, "max": 8, "description": "Max phases per shard when splitPlans is enabled" },
58
58
  { "name": "splitMaxHours", "type": "number", "default": 10, "min": 4, "max": 40, "description": "Max estimated hours per shard when splitPlans is enabled" }
@@ -65,11 +65,11 @@
65
65
  "name": "refine-plan",
66
66
  "aliases": [],
67
67
  "deprecatedAliases": [],
68
- "description": "Apply structured plan-note directives to active plan",
69
- "descriptionEn": "Apply structured plan-note directives to active plan",
68
+ "description": "Apply structured plan-note directives to the active plan",
69
+ "descriptionEn": "Apply structured plan-note directives to the active plan",
70
70
  "category": "planning",
71
71
  "args": [
72
- { "name": "notesPath", "type": "string", "required": false, "description": "Path to structured plan notes (default: tasks/plan-notes.md)" },
72
+ { "name": "notesPath", "type": "string", "required": false, "description": "Path to structured plan notes" },
73
73
  { "name": "applyNotes", "type": "boolean", "default": true, "description": "Auto-apply plan notes during approve" }
74
74
  ],
75
75
  "mdFile": "weave-refine-plan.md",
@@ -80,11 +80,11 @@
80
80
  "name": "approve",
81
81
  "aliases": [],
82
82
  "deprecatedAliases": [],
83
- "description": "Plan 승인 게이트 통과 (구현 필수)",
83
+ "description": "Approve the plan, or finalize a crafted phase when phaseId is provided",
84
84
  "descriptionEn": "Approve the plan, or finalize a crafted phase when phaseId is provided",
85
85
  "category": "planning",
86
86
  "args": [
87
- { "name": "phaseId", "type": "string", "required": false, "description": "Phase ID to finalize (optional)" },
87
+ { "name": "phaseId", "type": "string", "required": false, "description": "Phase ID to finalize" },
88
88
  { "name": "planReview", "type": "string", "required": false, "description": "Plan review summary text" },
89
89
  { "name": "applyNotes", "type": "boolean", "default": true, "description": "Auto-apply plan notes during approve" }
90
90
  ],
@@ -96,12 +96,12 @@
96
96
  "name": "craft",
97
97
  "aliases": [],
98
98
  "deprecatedAliases": [],
99
- "description": "단일 Phase 수동 실행 준비 (실행 컨텍스트 생성)",
100
- "descriptionEn": "Prepare execution context for a phase (phase auto-select if omitted)",
99
+ "description": "Prepare execution context for a phase",
100
+ "descriptionEn": "Prepare execution context for a phase",
101
101
  "category": "execution",
102
102
  "args": [
103
- { "name": "phaseId", "type": "string", "required": false, "description": "Phase ID (auto-select if omitted)" },
104
- { "name": "projectType", "type": "string", "required": false, "description": "Project type hint (react, nextjs, go, etc.)" }
103
+ { "name": "phaseId", "type": "string", "required": false, "description": "Phase ID, auto-selected if omitted" },
104
+ { "name": "projectType", "type": "string", "required": false, "description": "Project type hint" }
105
105
  ],
106
106
  "mdFile": "weave-craft.md",
107
107
  "handler": "handleCraft",
@@ -111,14 +111,14 @@
111
111
  "name": "build",
112
112
  "aliases": [],
113
113
  "deprecatedAliases": [],
114
- "description": "자율 빌드 루프 실행 관리",
115
- "descriptionEn": "Autonomous build loop — run, resume, or inspect builds",
114
+ "description": "Run, resume, stop, list, or inspect autonomous build loops",
115
+ "descriptionEn": "Run, resume, stop, list, or inspect autonomous build loops",
116
116
  "category": "execution",
117
117
  "args": [
118
118
  { "name": "action", "type": "enum", "values": ["run", "status", "stop", "list", "resume", "sync"], "default": "run", "description": "Build sub-action" },
119
119
  { "name": "phaseIds", "type": "string", "required": false, "description": "Comma-separated phase IDs for run action" },
120
120
  { "name": "buildId", "type": "string", "required": false, "description": "Build ID for status/stop/resume/sync actions" },
121
- { "name": "maxRetries", "type": "number", "default": 3, "min": 1, "max": 10, "description": "Maximum retries per task (for run action)" },
121
+ { "name": "maxRetries", "type": "number", "default": 3, "min": 1, "max": 10, "description": "Maximum retries per task" },
122
122
  { "name": "maxIterations", "type": "number", "default": 1, "min": 1, "max": 20, "description": "Maximum loop iterations before blocking" },
123
123
  { "name": "maxNoProgress", "type": "number", "default": 1, "min": 0, "max": 10, "description": "Maximum repeated no-progress failures before blocking" }
124
124
  ],
@@ -136,8 +136,8 @@
136
136
  "name": "status",
137
137
  "aliases": [],
138
138
  "deprecatedAliases": [],
139
- "description": "전체 플랜 목록 + 진행 상황 확인",
140
- "descriptionEn": "View overall progress",
139
+ "description": "View plans, active phase, and progress",
140
+ "descriptionEn": "View plans, active phase, and progress",
141
141
  "category": "management",
142
142
  "args": [],
143
143
  "mdFile": "weave-status.md",
@@ -148,8 +148,8 @@
148
148
  "name": "worktree",
149
149
  "aliases": [],
150
150
  "deprecatedAliases": [],
151
- "description": "git worktree 기반 병렬 작업 관리",
152
- "descriptionEn": "Manage git worktrees for parallel work",
151
+ "description": "Manage git worktrees for parallel phase or feature work",
152
+ "descriptionEn": "Manage git worktrees for parallel phase or feature work",
153
153
  "category": "management",
154
154
  "args": [
155
155
  { "name": "worktreeAction", "type": "enum", "values": ["create", "list", "open", "remove", "merge"], "required": false, "description": "Worktree action" },
@@ -165,8 +165,8 @@
165
165
  "name": "verify",
166
166
  "aliases": [],
167
167
  "deprecatedAliases": [],
168
- "description": "빌드/테스트 검증 실행 (프로젝트 유형 자동 감지)",
169
- "descriptionEn": "Run build/test verification for current worktree",
168
+ "description": "Run build and test verification for the current worktree",
169
+ "descriptionEn": "Run build and test verification for the current worktree",
170
170
  "category": "management",
171
171
  "args": [
172
172
  { "name": "verifyMode", "type": "enum", "values": ["quick", "full"], "default": "full", "description": "Verification mode" },
@@ -180,7 +180,7 @@
180
180
  "name": "archive",
181
181
  "aliases": [],
182
182
  "deprecatedAliases": [],
183
- "description": "검증된 변경사항 아카이브",
183
+ "description": "Archive the verified active change artifact",
184
184
  "descriptionEn": "Archive the verified active change artifact",
185
185
  "category": "management",
186
186
  "args": [],
@@ -192,13 +192,13 @@
192
192
  "name": "troubleshoot",
193
193
  "aliases": [],
194
194
  "deprecatedAliases": [],
195
- "description": "글로벌 지식 검색 솔루션 기록",
195
+ "description": "Search global knowledge for solutions or record a new one",
196
196
  "descriptionEn": "Search global knowledge for solutions or record a new one",
197
197
  "category": "knowledge",
198
198
  "args": [
199
199
  { "name": "error", "type": "string", "required": false, "description": "Error message to search solutions for" },
200
200
  { "name": "record", "type": "boolean", "default": false, "description": "Record a new solution instead of searching" },
201
- { "name": "solution", "type": "string", "required": false, "description": "Solution to record (when record=true)" },
201
+ { "name": "solution", "type": "string", "required": false, "description": "Solution to record when record=true" },
202
202
  { "name": "context", "type": "string", "required": false, "description": "Context for the troubleshooting entry" }
203
203
  ],
204
204
  "mdFile": "weave-troubleshoot.md",
@@ -212,7 +212,7 @@
212
212
  "name": "repair",
213
213
  "aliases": [],
214
214
  "deprecatedAliases": [],
215
- "description": "plan YAML 파일 자동 검사 수리",
215
+ "description": "Scan and auto-repair corrupted plan YAML files",
216
216
  "descriptionEn": "Scan and auto-repair corrupted plan YAML files",
217
217
  "category": "knowledge",
218
218
  "args": [],
@@ -224,11 +224,11 @@
224
224
  "name": "agents",
225
225
  "aliases": [],
226
226
  "deprecatedAliases": [],
227
- "description": "에이전트 파일 동기화 설정 초기화",
228
- "descriptionEn": "Sync dummy-human agent files and initialize configuration",
227
+ "description": "Sync generated agent files and initialize runtime configuration",
228
+ "descriptionEn": "Sync generated agent files and initialize runtime configuration",
229
229
  "category": "configuration",
230
230
  "args": [
231
- { "name": "sync", "type": "boolean", "default": false, "description": "Force regenerate agent .md files from config pool" },
231
+ { "name": "sync", "type": "boolean", "default": false, "description": "Force regenerate agent markdown files from config pool" },
232
232
  { "name": "init", "type": "boolean", "default": false, "description": "Create default maskweaver.config.json with pool template" }
233
233
  ],
234
234
  "mdFile": "weave-agents.md",
@@ -242,7 +242,7 @@
242
242
  "name": "help",
243
243
  "aliases": [],
244
244
  "deprecatedAliases": [],
245
- "description": "Weave 워크플로우 도움말",
245
+ "description": "Show weave workflow help",
246
246
  "descriptionEn": "Show weave workflow help",
247
247
  "category": "meta",
248
248
  "args": [],
@@ -1,62 +1,22 @@
1
1
  ---
2
- description: 에이전트 파일 동기화 설정 초기화
2
+ description: Sync generated agent files and initialize runtime configuration
3
3
  ---
4
4
 
5
- # /weave-agents - 에이전트 및 설정 관리
5
+ # /weave-agents
6
6
 
7
- ## 개요
7
+ Manage the agent files that Maskweaver exposes to opencode.
8
8
 
9
- 에이전트 파일과 설정 파일을 관리합니다. 기존 `sync-agents`와 `init-config`를 통합한 명령어입니다.
9
+ Use the `weave` tool:
10
10
 
11
- | 플래그 | 설명 | 대응 기존 명령어 |
12
- |--------|------|-----------------|
13
- | `sync` | 설정 기준으로 더미 에이전트 파일 강제 재생성 | `weave sync-agents` |
14
- | `init` | 기본 설정 파일(maskweaver.config.json) 생성 | `weave init-config` |
15
-
16
- ---
17
-
18
- ## 사용법
19
-
20
- ```bash
21
- # 에이전트 파일 동기화
22
- /weave-agents --sync
23
-
24
- # 기본 설정 파일 생성
25
- /weave-agents --init
26
-
27
- # 동시 실행
28
- /weave-agents --sync --init
29
- ```
30
-
31
- ---
32
-
33
- ## 입력
34
-
35
- ```yaml
36
- sync: true # (선택) 에이전트 파일 강제 재생성
37
- init: true # (선택) 기본 설정 파일 생성 (기존 파일 덮어쓰지 않음)
38
- ```
39
-
40
- ---
41
-
42
- ## 출력 예시
43
-
44
- ### 동기화
45
-
46
- ```markdown
47
- ## 🔄 Agent Sync
48
-
49
- ✅ Updated: `.opencode/agents/dummy-human-1.md`
50
- ✅ Updated: `.opencode/agents/dummy-human-2.md`
51
-
52
- > ⚠️ **Important:** You may need to restart OpenCode for the updated agent files to take effect.
11
+ ```txt
12
+ weave command=agents sync=true
13
+ weave command=agents init=true
53
14
  ```
54
15
 
55
- ### 설정 초기화
16
+ ## Modes
56
17
 
57
- ```markdown
58
- ## 📝 Config Initialization
18
+ - `sync=true`: regenerate `.opencode/agents/*.md` from the configured dummy-human pool.
19
+ - `init=true`: create the default runtime and plugin configuration files when they do not exist.
20
+ - `sync=true init=true`: initialize config and refresh generated agent files in one pass.
59
21
 
60
- Created runtime config: maskweaver.config.json
61
- ✅ Created plugin config: .opencode/maskweaver.json
62
- ```
22
+ Prefer this command when agent markdown files are missing, stale, or out of sync with `maskweaver.config.json`.
@@ -1,61 +1,22 @@
1
1
  ---
2
- description: Plan 승인 게이트 통과 (구현 필수)
2
+ description: Approve the plan or finalize a crafted phase
3
3
  ---
4
4
 
5
- # /weave-approve - Plan 승인 게이트
5
+ # /weave-approve
6
6
 
7
- ## 개요
7
+ Pass the approval gate before implementation, or finalize a phase after craft and verify have completed.
8
8
 
9
- 구현 **반드시 통과해야 하는 승인 게이트**입니다. Plan을 검토하고 승인하거나, 이미 craft 완료된 Phase를 최종 확정(finalize)합니다.
9
+ Use the `weave` tool:
10
10
 
11
- **이전 명령어**: `approve-plan` (v0.9까지 alias로 동작)
12
-
13
- ---
14
-
15
- ## 사용법
16
-
17
- ```bash
18
- # Plan 승인 (가장 일반적)
19
- /weave-approve
20
-
21
- # Craft 완료된 Phase 최종 확정
22
- /weave-approve P1
11
+ ```txt
12
+ weave command=approve
13
+ weave command=approve phaseId="P1"
23
14
  ```
24
15
 
25
- ---
26
-
27
- ## 입력
28
-
29
- ```yaml
30
- phaseId: "P1" # (선택) 최종 확정할 Phase ID. 미지정 시 Plan 승인
31
- planReview: "..." # (선택) Plan 검토 요약
32
- applyNotes: true # (선택) plan-notes 자동 반영 여부 (기본: true)
33
- ```
34
-
35
- ---
16
+ ## Behavior
36
17
 
37
- ## 동작 흐름
18
+ - Without `phaseId`, approve the active plan so implementation can begin.
19
+ - With `phaseId`, finalize the crafted phase after verification.
20
+ - `applyNotes=true` applies structured notes before approval when plan notes are present.
38
21
 
39
- ```
40
- 1. 활성 Plan 로드
41
- 2. phaseId 미지정 → Plan 승인
42
- └─ applyNotes=true → plan-notes 자동 반영 후 승인
43
- 3. phaseId 지정 → Phase 최종 확정 (finalize)
44
- └─ verify → 통과 시 완료 처리
45
- ```
46
-
47
- ---
48
-
49
- ## 출력 예시
50
-
51
- ### Plan 승인
52
-
53
- ```markdown
54
- ## ✅ Plan Approved
55
-
56
- - Plan: `.opencode/weave/plans/emotion-diary.yaml`
57
- - Approved at: 2025-04-28T10:30:00.000Z
58
- - Review note: Approved without additional notes.
59
-
60
- 다음 단계: `weave command=craft phaseId="P1"`
61
- ```
22
+ Do not treat approval as a substitute for verification. Use `/weave-verify` or `/build` for evidence before finalizing work.
@@ -0,0 +1,21 @@
1
+ ---
2
+ description: Archive the verified active change artifact
3
+ ---
4
+
5
+ # /weave-archive
6
+
7
+ Archive the active change after implementation has been verified and the phase or plan no longer needs to stay active.
8
+
9
+ Use the `weave` tool:
10
+
11
+ ```txt
12
+ weave command=archive
13
+ ```
14
+
15
+ ## When To Use
16
+
17
+ - The active change has passed build/test verification.
18
+ - The user has accepted the implementation result.
19
+ - The plan should be preserved for history but removed from the active workflow.
20
+
21
+ Do not archive unverified work. Run `/weave-verify` or `/build` first and keep the verification result in the change record.
@@ -1,99 +1,30 @@
1
1
  ---
2
- description: 자율 빌드 루프 실행 및 관리 (run, status, stop, list, resume, sync)
2
+ description: Run, resume, stop, list, or inspect autonomous build loops
3
3
  ---
4
4
 
5
- # /weave-build - 자율 빌드 루프 실행 및 관리
5
+ # /weave-build
6
6
 
7
- ## 개요
7
+ Run the Maskweaver autonomous build loop for approved phases, or manage an existing build loop.
8
8
 
9
- 승인된 플랜의 지정된 Phase(들)를 **자율 빌드 루프**로 실행하거나, 기존 빌드의 상태를 확인/관리합니다.
9
+ Use the `weave` tool:
10
10
 
11
- | 서브 액션 | 설명 | 대응 기존 명령어 |
12
- |-----------|------|-----------------|
13
- | `run` (기본) | 활성 Phase를 Ralph-loop로 자율 실행 | `weave build`, `weave loop-run` |
14
- | `status` | 특정 빌드/루프의 상태 확인 | `weave loop-status` |
15
- | `stop` | 실행 중인 빌드/루프 중단 요청 | `weave loop-stop` |
16
- | `list` | 모든 빌드/루프 목록 조회 | `weave loop-list` |
17
- | `resume` | 중단(blocked)된 빌드 재개 | `weave build-resume` |
18
- | `sync` | 위임된 squad 결과 동기화 | `weave loop-sync` |
19
-
20
- ---
21
-
22
- ## 사용법
23
-
24
- ```bash
25
- # 자율 빌드 시작 (기본)
26
- /weave-build
27
- /weave-build P1,P2
28
-
29
- # 빌드 상태 확인
30
- /weave-build --status build-20250428-a1b2
31
-
32
- # 빌드 중단
33
- /weave-build --stop build-20250428-a1b2
34
-
35
- # 빌드 목록
36
- /weave-build --list
37
-
38
- # 중단 빌드 재개
39
- /weave-build --resume build-20250428-a1b2
40
-
41
- # 위임 결과 동기화
42
- /weave-build --sync build-20250428-a1b2
11
+ ```txt
12
+ weave command=build
13
+ weave command=build action=run phaseIds="P1,P2"
14
+ weave command=build action=status buildId="build-20250428-a1b2"
15
+ weave command=build action=stop buildId="build-20250428-a1b2"
16
+ weave command=build action=list
17
+ weave command=build action=resume buildId="build-20250428-a1b2"
18
+ weave command=build action=sync buildId="build-20250428-a1b2"
43
19
  ```
44
20
 
45
- ---
46
-
47
- ## 입력
48
-
49
- ```yaml
50
- action: run | status | stop | list | resume | sync # (선택) 서브 액션. 기본값: run
51
- phaseIds: "P1,P2" # (선택, action=run) 쉼표로 구분된 Phase ID
52
- buildId: "build-xxx" # (선택, action=status/stop/resume/sync) 대상 빌드 ID
53
- maxRetries: 3 # (선택, action=run) 태스크당 최대 재시도
54
- maxIterations: 1 # (선택) 최대 반복 횟수
55
- maxNoProgress: 1 # (선택) 무진행 허용 횟수
56
- ```
57
-
58
- ---
59
-
60
- ## 출력 예시
61
-
62
- ### 성공 (run)
63
-
64
- ```markdown
65
- ## ✅ Build Complete
66
-
67
- **Build ID**: `build-20250428-a1b2`
68
- **Plan**: `emotion-diary`
69
- **Phases**: P1, P2
70
-
71
- | Phase | 상태 | 소요 시간 |
72
- |-------|------|----------|
73
- | P1 | ✅ 완료 | 12분 |
74
- | P2 | ✅ 완료 | 8분 |
75
- ```
76
-
77
- ### 일부 실패 (blocked)
78
-
79
- ```markdown
80
- ## ⚠️ Build Blocked
81
-
82
- **Build ID**: `build-20250428-c3d4`
83
- **Plan**: `emotion-diary`
84
-
85
- | Phase | 상태 | 실패 원인 |
86
- |-------|------|----------|
87
- | P1 | ✅ 완료 | - |
88
- | P2 | 🚫 blocked | 타입 검증 실패 (3회 재시도 소진) |
89
-
90
- **다음 동작**: `weave build action=resume buildId="build-20250428-c3d4"`
91
- ```
92
-
93
- ---
21
+ ## Actions
94
22
 
95
- ## 관련 명령어
23
+ - `run`: execute selected phases, or the next approved work when phase IDs are omitted.
24
+ - `status`: inspect one build loop.
25
+ - `stop`: request a running loop to stop.
26
+ - `list`: show known build loops.
27
+ - `resume`: continue a blocked or stopped build.
28
+ - `sync`: import squad/runtime results into the build record.
96
29
 
97
- - `/weave-craft [phaseId]` 단일 Phase 수동 실행 준비
98
- - `/weave-verify` — 현재 워크트리 검증
99
- - `/weave-status` — 전체 진행 상황
30
+ The short `/build` command is also installed for opencode users who expect build to appear as a direct command.
@@ -1,43 +1,22 @@
1
- ---
2
- description: Phase 실행 준비 (실행 컨텍스트 생성)
3
- ---
4
-
5
- # /weave-craft - Phase 실행 준비
6
-
7
- ## 개요
8
-
9
- `/weave-craft`는 활성 플랜의 Phase를 실행 가능한 상태로 준비합니다.
10
-
11
- - 대상 phase 자동 선택(또는 직접 지정)
12
- - phase 상태/실행 계획 로드
13
- - 구현에 필요한 다음 액션 안내
14
-
15
- > 이 명령은 과거 자동 루프를 돌리지 않습니다.
16
-
17
- ## 사용법
18
-
19
- ```txt
20
- /weave-craft $ARGUMENTS
21
- ```
22
-
23
- - `$ARGUMENTS` = 선택적 Phase ID (`P1`, `P2` 등)
24
-
25
- 예시:
26
-
27
- ```txt
28
- /weave-craft
29
- /weave-craft P1
30
- ```
31
-
32
- ## 내부 호출
33
-
34
- ```txt
35
- weave command=craft phaseId="$ARGUMENTS"
36
- ```
37
-
38
- ## 권장 흐름
39
-
40
- 1. `weave command=craft`로 phase 실행 컨텍스트 준비
41
- 2. 코드 구현/위임 수행
42
- 3. `weave command=verify`로 검증
43
- 4. `weave command=approve-plan`으로 phase 확정
1
+ ---
2
+ description: Prepare execution context for a phase
3
+ ---
4
+
5
+ # /weave-craft
6
+
7
+ Prepare one approved phase for implementation.
8
+
9
+ Use the `weave` tool:
10
+
11
+ ```txt
12
+ weave command=craft
13
+ weave command=craft phaseId="P1"
14
+ ```
15
+
16
+ ## Behavior
17
+
18
+ - Selects the next runnable phase when `phaseId` is omitted.
19
+ - Loads plan, spec, masks, and execution context for the chosen phase.
20
+ - Gives the implementer the bounded task context needed to start work.
21
+
22
+ After implementation, run `/weave-verify` or `/build` before using `/weave-approve` to finalize the phase.