@henry1981/nondev-harness-plugin 0.1.0 → 0.2.1
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.
- package/.claude-plugin/plugin.json +2 -2
- package/LICENSE +1 -1
- package/README.md +2 -4
- package/agents/critic.md +16 -0
- package/agents/deliverable-general-reviewer.md +2 -2
- package/agents/deliverable-meddev-compliance-reviewer.md +4 -4
- package/agents/deliverable-plan-reviewer.md +6 -6
- package/agents/deliverable-spec-reviewer.md +3 -3
- package/agents/narrator.md +17 -0
- package/agents/strategist.md +17 -0
- package/hooks/hooks.json +16 -0
- package/hooks/routing.md +25 -0
- package/hooks/run-hook.cmd +46 -0
- package/hooks/session-start +41 -0
- package/package.json +3 -2
- package/skills/clarify-nondev/skill.md +53 -62
- package/skills/deliverable-review/SKILL.md +51 -49
- package/skills/execute-nondev/skill.md +34 -38
- package/skills/plan-nondev/skill.md +37 -42
- package/tools/prd-formatter/README.md +1 -1
- package/.claude-plugin/marketplace.json +0 -15
|
@@ -5,7 +5,7 @@ description: Use when proceeding from plan-nondev Plan 6-element output to execu
|
|
|
5
5
|
|
|
6
6
|
# Execute-nondev — 비개발자 작업 Plan 진행자
|
|
7
7
|
|
|
8
|
-
plan-nondev Plan 6 항목 markdown 본문을 입력으로 받아 Plan 본문 step-by-step 진행한다. 본 스킬은
|
|
8
|
+
plan-nondev Plan 6 항목 markdown 본문을 입력으로 받아 Plan 본문 step-by-step 진행한다. 본 스킬은 비개발자 하네스 4단계 흐름(PRD → Plan → Execute → Review) 중 §단계 3(Execute) 진행자 역할이며, LLM 자율주행 차단 + PRD 매 턴 주입 + 외부 검증 회귀 영역의 강제 흐름 보장이다.
|
|
9
9
|
|
|
10
10
|
## 언제 사용하는가
|
|
11
11
|
|
|
@@ -13,24 +13,21 @@ plan-nondev 통과 + Plan artifact review_gate `status: pass` (또는 `revise-mi
|
|
|
13
13
|
|
|
14
14
|
- Plan 6 항목 schema 완비 (지식 식별·부수 변화·도구·workflow·분기·앵커 라인)
|
|
15
15
|
- Plan frontmatter `review_gate.reviewed_revision` 영역 명시 (freshness primary key)
|
|
16
|
-
-
|
|
16
|
+
- 사용자 명시 신호 ("이제 execute 가자" 또는 자동 진입 default)
|
|
17
17
|
|
|
18
18
|
## 언제 사용 금지
|
|
19
19
|
|
|
20
20
|
- 프로그래밍 작업 (코드 구현·bug fix·리팩토링) → `superpowers:executing-plans`
|
|
21
21
|
- 단건 작업 (검증 단위 1개) → 직접 진행, execute 불필요
|
|
22
22
|
- Plan frontmatter `review_gate.status: pending` 또는 metadata 부재 → plan-nondev §Step 5 회귀 (unreviewed Plan execute 진입 X)
|
|
23
|
-
- Plan frontmatter `review_gate.status: revise-major` 또는 `block` →
|
|
24
|
-
- 의료기기 인허가 도메인 진입 → `medical-device-ra-qa-frame`이 Execute 영역도 흡수
|
|
23
|
+
- Plan frontmatter `review_gate.status: revise-major` 또는 `block` → 사용자/PRD 회귀 (Plan 수정만으로 진입 X)
|
|
25
24
|
|
|
26
25
|
## 전제·의존성
|
|
27
26
|
|
|
28
|
-
본 스킬 성립 전제
|
|
27
|
+
본 스킬 성립 전제 2종. 위반 시 §Step 1 입력 조건 catch 단계에서 fail-closed 실행 중지.
|
|
29
28
|
|
|
30
29
|
1. **plan-nondev Plan artifact 선행**: 입력 계약은 plan-nondev §Output Format Plan 6 항목 markdown 본문 + frontmatter `review_gate` metadata 8 필드 (reviewed_revision은 required primary key)
|
|
31
|
-
2. **
|
|
32
|
-
3. **deliverable-review 스킬 실존**: yellow state machine Step 4에서 `/deliverable-review target={plan} subtype=plan` 게이트 재호출 의무
|
|
33
|
-
4. **skill-creator 경유 개정**: 본 스킬 수정 시 반드시 `skill-creator` 경유 (rules/workflow.md §스킬 수정)
|
|
30
|
+
2. **deliverable-review 스킬 실존**: yellow state machine Step 4에서 `/deliverable-review target={plan} subtype=plan` 게이트 재호출 의무
|
|
34
31
|
|
|
35
32
|
---
|
|
36
33
|
|
|
@@ -46,9 +43,9 @@ Plan artifact frontmatter `review_gate` metadata 영역 read. mismatch 5 case
|
|
|
46
43
|
| 2 | `status: pass` + `reviewed_revision` 명시 | freshness 검증 (아래) PASS 시 Step 2 진입 |
|
|
47
44
|
| 3 | `status: revise-minor` + `closure_note` 채움 | freshness 검증 PASS 시 Step 2 진입 |
|
|
48
45
|
| 4 | `status: revise-minor` + `closure_note` 빈 영역 | *fail-closed* 실행 중지. plan-nondev §Step 5 closure_note 명시 회귀 |
|
|
49
|
-
| 5 | `status: revise-major` 또는 `block` | red 처리.
|
|
46
|
+
| 5 | `status: revise-major` 또는 `block` | red 처리. 사용자/PRD 회귀 (Plan 수정만으로 진입 X — Recommendation Mapping 정합) |
|
|
50
47
|
|
|
51
|
-
**freshness 검증 단일
|
|
48
|
+
**freshness 검증 단일 규칙**:
|
|
52
49
|
|
|
53
50
|
- **`reviewed_revision`은 required primary key**:
|
|
54
51
|
- 부재 → *fail-closed* 실행 중지 + plan-nondev review gate 재호출
|
|
@@ -73,7 +70,7 @@ Plan artifact frontmatter `review_gate` metadata 영역 read. mismatch 5 case
|
|
|
73
70
|
- 산출물 형태/대상: {PRD §5 형태 + 대상}
|
|
74
71
|
- 제약 핵심: {PRD §8 표준 6 범주 중 본 step 영역 trigger 영역}
|
|
75
72
|
|
|
76
|
-
**검증 신호등** (실행 단계 운영 영역): 녹(ship — 산출물 완료 후보) / 황(yellow state machine 발동 — Step 5) / 적(
|
|
73
|
+
**검증 신호등** (실행 단계 운영 영역): 녹(ship — 산출물 완료 후보) / 황(yellow state machine 발동 — Step 5) / 적(사용자/PRD 회귀 — red 분기) (PRD §7 §단계 4 정합. PRD §9 신호등은 PRD 완성 판단용으로 clarify-nondev 단계 영역, 본 execute 단계 매 응답 recap 영역 X)
|
|
77
74
|
|
|
78
75
|
**§주 영속 결정**: LLM 자율주행 차단 + 외부 검증 회귀 + 압축 default 폐기 + 박다 어휘 회피 (PRD §주 영역)
|
|
79
76
|
```
|
|
@@ -95,45 +92,45 @@ Plan §workflow 본문 step-by-step 진행 의무. *도구 영역만* LLM 자율
|
|
|
95
92
|
|
|
96
93
|
### Step 4 — 비동기 검토 모드
|
|
97
94
|
|
|
98
|
-
|
|
95
|
+
사용자 직접 발화 인용: *"내가 마무리하면 diff로 확인하고 납득되지 않는 것만 질문해줘"*.
|
|
99
96
|
|
|
100
|
-
본 모드는 *매 turn
|
|
97
|
+
본 모드는 *매 turn 사용자 확인 X*. LLM이 Plan §workflow Step 시퀀스 한 묶음 dive 후 사용자가 결과를 diff로 검토. 검토 결과는 Step 5 검증 단계 (deliverable-review)와 결합.
|
|
101
98
|
|
|
102
99
|
**비동기 검토 트리거**:
|
|
103
|
-
- Plan §workflow 한 묶음 closure (예: Step 1·2·3 closure →
|
|
104
|
-
-
|
|
100
|
+
- Plan §workflow 한 묶음 closure (예: Step 1·2·3 closure → 사용자 diff 검토 trigger)
|
|
101
|
+
- 사용자 명시 인터럽트 ("잠깐, X 다시 보자") → Step 5 yellow state machine 발동
|
|
105
102
|
- Plan §workflow 전체 closure → Step 6 검증 단계 진입
|
|
106
103
|
|
|
107
104
|
### Step 5 — 실행 중 인터럽트 + yellow state machine
|
|
108
105
|
|
|
109
106
|
Plan workflow·분기 충돌 신호 발생 또는 workflow 실행 boundary 7건 보호 경계 침범 시 즉시 정지 + 황색 신호 보고.
|
|
110
107
|
|
|
111
|
-
**yellow trigger 케이스** (PRD §7 §단계 3 인터럽트 영역
|
|
108
|
+
**yellow trigger 케이스** (PRD §7 §단계 3 인터럽트 영역 정합):
|
|
112
109
|
- workflow Step 시퀀스 이탈 (Plan 본문 따르기 자율 선택 발생)
|
|
113
110
|
- workflow 실행 boundary 7건 침범 (cwd·write scope·read-only refs·branch·commit·no-touch·external visibility 영역)
|
|
114
111
|
- 분기 시나리오 명시 X 변형 도달
|
|
115
112
|
- GT 자산 내용 부족 catch
|
|
116
|
-
- 외부 입력 도착 (
|
|
113
|
+
- 외부 입력 도착 (사용자 인터럽트·외부 신호 수령)
|
|
117
114
|
- 기존 분기 처리 미정의 영역 도달
|
|
118
115
|
|
|
119
|
-
**yellow state machine 6 step** (조용한 계획 변경
|
|
116
|
+
**yellow state machine 6 step** (조용한 계획 변경 차단):
|
|
120
117
|
|
|
121
118
|
1. **실행 중지** — 현 step 진행 X
|
|
122
|
-
2. **Plan artifact §변경 이력 영역에 revision history row 추가** — yellow trigger·변경 영역 명시. Plan path는 `{input plan path}` (drafts/{topic}/plans
|
|
119
|
+
2. **Plan artifact §변경 이력 영역에 revision history row 추가** — yellow trigger·변경 영역 명시. Plan path는 `{input plan path}` (drafts/{topic}/plans/ 또는 plan 디렉토리 둘 다 영역)
|
|
123
120
|
3. **변경된 `workflow / 분기 / 앵커 라인` 영역 본문 patch**
|
|
124
121
|
4. **`/deliverable-review target={input plan path} subtype=plan` 게이트 호출**
|
|
125
|
-
5. **review_gate metadata 갱신**
|
|
122
|
+
5. **review_gate metadata 갱신** — Plan frontmatter `review_gate` 영역 8 필드 모두 갱신:
|
|
126
123
|
- `status`: pass / revise-minor / revise-major / block (Recommendation Mapping 정합)
|
|
127
124
|
- `reviewed_at`: {execution_date}
|
|
128
125
|
- `reviewer`: deliverable-review
|
|
129
126
|
- `review_target`: `{input plan path}`
|
|
130
127
|
- `review_evidence`: path 또는 "inline: §Review Gate"
|
|
131
128
|
- `closure_note`: "" (revise-minor 시 본문 필수)
|
|
132
|
-
- `reviewed_revision`: 본 yellow 시점 §변경 이력 *최신 row id* (
|
|
129
|
+
- `reviewed_revision`: 본 yellow 시점 §변경 이력 *최신 row id* (required primary)
|
|
133
130
|
- `plan_fingerprint`: 갱신된 Plan 본문의 새 hash (optional diagnostic)
|
|
134
|
-
6. **갱신된 `review_gate`를 Step 1 입력 조건 + freshness 검증으로 재확인 후 resume** (revise-major·block → red, PRD
|
|
131
|
+
6. **갱신된 `review_gate`를 Step 1 입력 조건 + freshness 검증으로 재확인 후 resume** (revise-major·block → red, PRD/사용자 회귀)
|
|
135
132
|
|
|
136
|
-
**red 분기는 Plan 수정 X — PRD
|
|
133
|
+
**red 분기는 Plan 수정 X — PRD/사용자 회귀로 고정** (PRD §단계 4 검증 신호등 영역 정합).
|
|
137
134
|
|
|
138
135
|
본 인터럽트는 Step 6 검증 단계의 황·적 분기보다 *시점이 빠르다*. Execute → 검증 → 분기 회귀 경로가 매 turn 대응 가능.
|
|
139
136
|
|
|
@@ -144,9 +141,9 @@ Plan §workflow 전체 closure 후 deliverable-review 게이트 진입.
|
|
|
144
141
|
`/deliverable-review target={Step 4 산출물 경로} subtype={subtype}`.
|
|
145
142
|
|
|
146
143
|
검증 7 영역 + 신호등 분기 + Recommendation 매핑 결과:
|
|
147
|
-
- 녹 + ship → 산출물 완료 후보 (
|
|
144
|
+
- 녹 + ship → 산출물 완료 후보 (사용자 최종 점검)
|
|
148
145
|
- 황 + revise-minor → Step 5 yellow state machine 발동
|
|
149
|
-
- 적 + revise-major / block →
|
|
146
|
+
- 적 + revise-major / block → 사용자/PRD 회귀
|
|
150
147
|
|
|
151
148
|
---
|
|
152
149
|
|
|
@@ -175,9 +172,9 @@ review_gate:
|
|
|
175
172
|
4종. 통상 영역 외 즉시 발동.
|
|
176
173
|
|
|
177
174
|
- **Step 1 입력 조건 fail-closed**: review_gate metadata 부재 또는 `status: pending` 또는 `revise-minor` + closure_note 빈 영역 → 실행 중지 + plan-nondev 회귀 안내
|
|
178
|
-
-
|
|
179
|
-
-
|
|
180
|
-
- **red 분기 catch**: Step 5에서 revise-major·block 결과 → red 처리,
|
|
175
|
+
- **사용자 명시 인터럽트**: 사용자가 "잠깐 X 다시 보자" 신호 → Step 5 yellow state machine 즉시 발동
|
|
176
|
+
- **사용자 스킵 신호**: "그냥 바로 진행해" → Step 4 비동기 검토 모드 default. 단 Step 6 deliverable-review 게이트는 의무 (skip X)
|
|
177
|
+
- **red 분기 catch**: Step 5에서 revise-major·block 결과 → red 처리, 사용자/PRD 회귀 (Plan 수정 X)
|
|
181
178
|
|
|
182
179
|
---
|
|
183
180
|
|
|
@@ -185,9 +182,9 @@ review_gate:
|
|
|
185
182
|
|
|
186
183
|
본 스킬은 *진행자*라 질문 출력 영역 적음. 단 다음 case에서 질문 출력:
|
|
187
184
|
|
|
188
|
-
- Step 1 입력 조건 fail-closed → "plan-nondev §Step 5로 회귀할까요?"
|
|
189
|
-
- Step 5 yellow state machine 발동 → "yellow trigger 영역: {trigger}. Plan §workflow / 분기 / 앵커 라인 patch 직접 진행할까요,
|
|
190
|
-
- Step 6 deliverable-review 결과 적 1+ → "PRD 회귀 영역: {영역}. PRD 명시 신호 대기할까요?"
|
|
185
|
+
- Step 1 입력 조건 fail-closed → "plan-nondev §Step 5로 회귀할까요?" 사용자 1줄 선택
|
|
186
|
+
- Step 5 yellow state machine 발동 → "yellow trigger 영역: {trigger}. Plan §workflow / 분기 / 앵커 라인 patch 직접 진행할까요, 사용자 인터럽트 대기할까요?" 사용자 1줄 선택
|
|
187
|
+
- Step 6 deliverable-review 결과 적 1+ → "PRD 회귀 영역: {영역}. PRD 명시 신호 대기할까요?" 사용자 1줄 선택
|
|
191
188
|
|
|
192
189
|
---
|
|
193
190
|
|
|
@@ -198,11 +195,11 @@ review_gate:
|
|
|
198
195
|
| 합리화 | 실제 |
|
|
199
196
|
|---|---|
|
|
200
197
|
| "review_gate metadata 부재해도 실행 진입" | Step 1 fail-closed 위반. unreviewed Plan execute 진입 X |
|
|
201
|
-
| "freshness 검증 부재만으로 fail-closed X" | reviewed_revision 부재는 fail-closed
|
|
202
|
-
| "plan_fingerprint 부재면 fail-closed" | plan_fingerprint는 optional diagnostic — 부재만으로는 fail-closed X
|
|
198
|
+
| "freshness 검증 부재만으로 fail-closed X" | reviewed_revision 부재는 fail-closed |
|
|
199
|
+
| "plan_fingerprint 부재면 fail-closed" | plan_fingerprint는 optional diagnostic — 부재만으로는 fail-closed X |
|
|
203
200
|
| "Step 5 yellow trigger 무시하고 진행" | yellow state machine 6 step 의무. 조용한 계획 변경 차단 |
|
|
204
201
|
| "Plan §workflow 명시 외 step 자율 추가" | workflow는 강 통제. 자율 추가 시 yellow state machine 발동 |
|
|
205
|
-
| "revise-major도 Plan patch만으로 진입 가능" | red 분기는 Plan 수정 X —
|
|
202
|
+
| "revise-major도 Plan patch만으로 진입 가능" | red 분기는 Plan 수정 X — 사용자/PRD 회귀 고정 |
|
|
206
203
|
| "PRD 매 턴 주입 token cost 부담돼서 skip" | Step 2 의무. PRD 요약본은 ≤ 500 token cap이라 부담 적음. Context Collapse 차단이 본질 |
|
|
207
204
|
|
|
208
205
|
---
|
|
@@ -211,7 +208,7 @@ review_gate:
|
|
|
211
208
|
|
|
212
209
|
| 합리화 | 반박 |
|
|
213
210
|
|---|---|
|
|
214
|
-
| "Plan §workflow Step 1·2 같이 dive해서 진행 가속" | 강 통제 위반. workflow Step 시퀀스는 Plan 본문 따르기 강제. 가속 영역은 Step 4 비동기 검토 모드 (한 묶음 dive 후
|
|
211
|
+
| "Plan §workflow Step 1·2 같이 dive해서 진행 가속" | 강 통제 위반. workflow Step 시퀀스는 Plan 본문 따르기 강제. 가속 영역은 Step 4 비동기 검토 모드 (한 묶음 dive 후 사용자 diff)로 처리 |
|
|
215
212
|
| "도구 자율 허용이라 branch·commit도 자율 선택" | 도구 자율 = 함수·라이브러리 자율. branch·commit·write scope·external visibility는 *Plan workflow boundary 7건* 영역이라 강 통제 |
|
|
216
213
|
| "yellow state machine Step 5 review_gate 갱신 skip하고 resume" | Step 5 의무. metadata 갱신 후 Step 1 입력 조건 + freshness 재확인 영역 통과 후에만 resume |
|
|
217
214
|
| "Step 6 deliverable-review 영역 skip 후 직접 ship" | 검증 단계 의무. unreviewed 산출물 ship X (PRD §단계 4 정합) |
|
|
@@ -221,6 +218,5 @@ review_gate:
|
|
|
221
218
|
|
|
222
219
|
## Notes
|
|
223
220
|
|
|
224
|
-
-
|
|
225
|
-
- **개정 규율**: 본 스킬 수정 시
|
|
226
|
-
- **dogfood 영역**: 본 스킬 첫 dogfood는 본 cycle Task 5·6 영역 또는 별도 비개발자 작업 진입 시점. plan v1.2 (drafts/nondev-harness/plans/2026-05-14-prd-v2-self-application-plan.md, *Execute 작성 스킬 부재* evidence pack)와 신규 execute-nondev 진행 비교 영역은 별도 dogfood cycle로 carry-forward
|
|
221
|
+
- **하네스 내 위치**: 본 스킬은 비개발자 하네스 4단계(PRD → Plan → Execute → Review) 중 §단계 3(Execute) 진행자다. Plan 진행 통제·PRD 매 턴 주입·yellow state machine 정의를 자체 보유한다.
|
|
222
|
+
- **개정 규율**: 본 스킬 수정 시 skill-creator 경유.
|
|
@@ -5,7 +5,7 @@ description: Use when proceeding from clarify-nondev PRD 8-element output to a P
|
|
|
5
5
|
|
|
6
6
|
# Plan-nondev — 비개발자 작업 Plan 6 항목 schema 생성기
|
|
7
7
|
|
|
8
|
-
clarify-nondev §Output Format PRD 8 항목 markdown 본문을 입력으로 받아
|
|
8
|
+
clarify-nondev §Output Format PRD 8 항목 markdown 본문을 입력으로 받아 §단계 2 Plan 결정 6 항목 schema를 산출한다. 본 스킬은 비개발자 하네스 4단계 흐름(PRD → Plan → Execute → Review) 중 §단계 2(Plan 생성기) 역할이며, Plan 결정 6 항목 schema 정의를 자체 보유한다(§Output Format).
|
|
9
9
|
|
|
10
10
|
## 언제 사용하는가
|
|
11
11
|
|
|
@@ -14,23 +14,20 @@ clarify-nondev 통과 직후 + 다음 4 조건 모두 충족 시:
|
|
|
14
14
|
- PRD 8 항목 (또는 PRD Lite 4 항목) 산출 완료
|
|
15
15
|
- PRD §9 신호등 5 항목 self-check 전 항목 녹
|
|
16
16
|
- clarify-nondev hb_judgment_required 영역 모두 closure
|
|
17
|
-
-
|
|
17
|
+
- 사용자 명시 신호 ("이제 plan 가자" 또는 자동 진입 default)
|
|
18
18
|
|
|
19
19
|
## 언제 사용 금지
|
|
20
20
|
|
|
21
21
|
- 프로그래밍 작업 (코드 구현·bug fix·리팩토링) → `superpowers:writing-plans`
|
|
22
22
|
- 단건 작업 (검증 단위 1개) → 직접 진행, plan 불필요
|
|
23
23
|
- clarify-nondev hb_judgment_required·open_questions 잔존 → clarify-nondev로 회귀
|
|
24
|
-
- 의료기기 인허가 도메인 진입 → `medical-device-ra-qa-frame`이 Plan 영역도 흡수
|
|
25
24
|
|
|
26
25
|
## 전제·의존성
|
|
27
26
|
|
|
28
|
-
본 스킬 성립 전제
|
|
27
|
+
본 스킬 성립 전제 2종. 위반 시 §Step 1 진입 차단 또는 §Step 3 review_gate metadata 작성 실패.
|
|
29
28
|
|
|
30
29
|
1. **clarify-nondev PRD 8 항목 선행**: 입력 계약은 clarify-nondev §Output Format PRD 8 항목 markdown 본문 (또는 PRD Lite 4 항목). 입력 누락 시 §Step 1 진입 차단 + clarify-nondev 회귀 안내
|
|
31
|
-
2. **
|
|
32
|
-
3. **deliverable-review 스킬 실존**: Plan artifact 생성 후 execute 진입 전 `/deliverable-review target={plan} subtype=plan` 게이트 호출 의무
|
|
33
|
-
4. **skill-creator 경유 개정**: 본 스킬 수정 시 반드시 `skill-creator` 경유 (rules/workflow.md §스킬 수정)
|
|
30
|
+
2. **deliverable-review 스킬 실존**: Plan artifact 생성 후 execute 진입 전 `/deliverable-review target={plan} subtype=plan` 게이트 호출 의무
|
|
34
31
|
|
|
35
32
|
---
|
|
36
33
|
|
|
@@ -45,10 +42,10 @@ clarify-nondev PRD 8 항목 산출물 read. mismatch 3 case 점검:
|
|
|
45
42
|
| case | trigger | 처리 |
|
|
46
43
|
|---|---|---|
|
|
47
44
|
| 1 | PRD §9 신호등 황 1+ | 진입 차단. clarify-nondev §Step 5 영역 회귀 안내 |
|
|
48
|
-
| 2 | PRD §9 신호등 적 1+ | 진입 차단. PRD 미완성 — clarify-nondev §Step 4 회귀 또는
|
|
49
|
-
| 3 | PRD §4 GT 자산 경로 0건 | 경고 후 진입 (
|
|
45
|
+
| 2 | PRD §9 신호등 적 1+ | 진입 차단. PRD 미완성 — clarify-nondev §Step 4 회귀 또는 사용자 명시 신호 대기 |
|
|
46
|
+
| 3 | PRD §4 GT 자산 경로 0건 | 경고 후 진입 (사용자 수동 보강 신호 — 본 plan에서 §workflow read-only refs 누락 가능성) |
|
|
50
47
|
|
|
51
|
-
case 1·2면 회귀 후 종료. case 3는 §Step 3에서 workflow read-only refs 영역에
|
|
48
|
+
case 1·2면 회귀 후 종료. case 3는 §Step 3에서 workflow read-only refs 영역에 사용자 보강 의무 명시.
|
|
52
49
|
|
|
53
50
|
### Step 2 — Plan 결정 6 항목 채우기 source 확보
|
|
54
51
|
|
|
@@ -70,7 +67,7 @@ clarify-nondev PRD 8 항목 영역에서 Plan 6 항목 채우기 source 추출:
|
|
|
70
67
|
#### 3-1. 지식 식별·리서치 계획
|
|
71
68
|
|
|
72
69
|
- PRD §4 GT 자산 경로 → 구체 라인·섹션·코드 수준까지 specify
|
|
73
|
-
- 부족 영역 — Plan 진행 중 추가 조달 계획 명시 (예: "
|
|
70
|
+
- 부족 영역 — Plan 진행 중 추가 조달 계획 명시 (예: "SOP 절차서 §5.3 영역 추가 read")
|
|
74
71
|
|
|
75
72
|
#### 3-2. 부수 변화 문서 식별
|
|
76
73
|
|
|
@@ -88,10 +85,10 @@ clarify-nondev PRD 8 항목 영역에서 Plan 6 항목 채우기 source 추출:
|
|
|
88
85
|
|
|
89
86
|
| # | 항목 | 정의 |
|
|
90
87
|
|---|---|---|
|
|
91
|
-
| (a) | **cwd** | 작업 디렉토리 (예:
|
|
92
|
-
| (b) | **write scope** | 수정 대상 파일·디렉토리 명시 (예: `
|
|
88
|
+
| (a) | **cwd** | 작업 디렉토리 (예: `프로젝트 저장소 루트`) |
|
|
89
|
+
| (b) | **write scope** | 수정 대상 파일·디렉토리 명시 (예: `sop/{절차서}.md` + changelog) |
|
|
93
90
|
| (c) | **read-only refs** | 읽기 전용 참조 영역 (GT 자산·rules·prior cycle artifact) |
|
|
94
|
-
| (d) | **branch/worktree policy** | 현 branch 직접 작업 vs worktree 신설
|
|
91
|
+
| (d) | **branch/worktree policy** | 현 branch 직접 작업 vs worktree 신설 |
|
|
95
92
|
| (e) | **commit grouping** | commit 단위 — step별 1 commit / Task별 1 commit / 일괄 1 commit |
|
|
96
93
|
| (f) | **no-touch paths** | 건드리지 말아야 할 경로 (security·legacy·read-only refs 영역) |
|
|
97
94
|
| (g) | **external visibility** | 외부 발신 영역 — 본 산출물이 외부 수신자(스폰서·규제·계약·법률·audit·벤더)에게 보내지는지 |
|
|
@@ -101,13 +98,13 @@ clarify-nondev PRD 8 항목 영역에서 Plan 6 항목 채우기 source 추출:
|
|
|
101
98
|
#### 3-5. 분기
|
|
102
99
|
|
|
103
100
|
- 외부 입력·partial 수령·변형 대응 영역 명시
|
|
104
|
-
- 시간 압박 trade-off 3-layer (PRD §3
|
|
101
|
+
- 시간 압박 trade-off 3-layer (PRD §3 영역 인용) — Never sacrifice / Can compress first / Escalate to 사용자 when
|
|
105
102
|
- 외부 입력 도착 시 인터럽트 처리 영역 (PRD §7 §단계 3 정합)
|
|
106
103
|
|
|
107
104
|
#### 3-6. 앵커 라인
|
|
108
105
|
|
|
109
106
|
- 다음 한 동작 명시 (cold-start 진입점)
|
|
110
|
-
- 예: "
|
|
107
|
+
- 예: "`sop/{절차서}.md` §5.3 영역 patch 진입"
|
|
111
108
|
|
|
112
109
|
### Step 4 — Plan artifact 산출
|
|
113
110
|
|
|
@@ -121,7 +118,7 @@ Plan artifact 생성 후 execute 진입 전 의무:
|
|
|
121
118
|
|
|
122
119
|
`/deliverable-review target={plan path} subtype=plan` 게이트 호출.
|
|
123
120
|
|
|
124
|
-
**review_gate metadata schema
|
|
121
|
+
**review_gate metadata schema 의무**:
|
|
125
122
|
|
|
126
123
|
```yaml
|
|
127
124
|
review_gate:
|
|
@@ -131,11 +128,11 @@ review_gate:
|
|
|
131
128
|
review_target: path/to/plan.md
|
|
132
129
|
review_evidence: path/to/review.md 또는 "inline: §Review Gate"
|
|
133
130
|
closure_note: "" # revise-minor 시 closure 영역 명시 의무
|
|
134
|
-
reviewed_revision: "§변경 이력 row id 또는 version" #
|
|
135
|
-
plan_fingerprint: "sha256:<canonical-plan-hash>" #
|
|
131
|
+
reviewed_revision: "§변경 이력 row id 또는 version" # freshness anchor (primary, required)
|
|
132
|
+
plan_fingerprint: "sha256:<canonical-plan-hash>" # optional diagnostic
|
|
136
133
|
```
|
|
137
134
|
|
|
138
|
-
**`plan_fingerprint` canonical hash 정의** (
|
|
135
|
+
**`plan_fingerprint` canonical hash 정의** (self-invalidating 차단):
|
|
139
136
|
|
|
140
137
|
- canonical body = Plan 본문 *전체*에서 다음 volatile 영역을 *제외*한 영역의 sha256:
|
|
141
138
|
- `review_gate` metadata block 전체 (status·reviewed_at·review_evidence·closure_note·reviewed_revision·plan_fingerprint 모두)
|
|
@@ -153,15 +150,15 @@ review_gate:
|
|
|
153
150
|
|---|---|---|---|
|
|
154
151
|
| ship | green | pass | execute-nondev 진입 |
|
|
155
152
|
| revise-minor | yellow | revise-minor | closure_note 채움 + Plan patch + 재게이트 또는 closure_note 명시 후 execute 진입 |
|
|
156
|
-
| revise-major | red (default) | revise-major | reviewer 본문에 *"Plan-only yellow downgrade 가능"* 근거 명시 시 Plan patch + 재게이트, 그 외
|
|
157
|
-
| block | red | block |
|
|
153
|
+
| revise-major | red (default) | revise-major | reviewer 본문에 *"Plan-only yellow downgrade 가능"* 근거 명시 시 Plan patch + 재게이트, 그 외 사용자/PRD 회귀 |
|
|
154
|
+
| block | red | block | 사용자/PRD 회귀 (Plan 수정만으로 진입 X) |
|
|
158
155
|
|
|
159
|
-
**`pass` 영역
|
|
156
|
+
**`pass` 영역 조건**: `Signal=green` AND `Recommendation=ship` 시만 `review_gate.status: pass` 기록.
|
|
160
157
|
|
|
161
158
|
**무조건 red 영역** (recommendation과 무관):
|
|
162
159
|
- source_fidelity FAIL — 인용 정확성·원문 대조 실패
|
|
163
160
|
- regulatory correctness FAIL — 법규·SOP·고시 정합 실패
|
|
164
|
-
- explicit
|
|
161
|
+
- explicit 사용자 judgment boundary 침범 — 사용자 결정 영역 자율 처리
|
|
165
162
|
|
|
166
163
|
### Step 6 — 다음 흐름 진입 (execute-nondev)
|
|
167
164
|
|
|
@@ -175,7 +172,7 @@ unreviewed Plan으로 execute 진입 X — execute-nondev §1 입력 조건이 P
|
|
|
175
172
|
|
|
176
173
|
## Output Format — Plan 6 항목 markdown 본문
|
|
177
174
|
|
|
178
|
-
Step 4 산출.
|
|
175
|
+
Step 4 산출. Plan 6 항목 markdown 본문 형식은 다음과 같다.
|
|
179
176
|
|
|
180
177
|
````markdown
|
|
181
178
|
---
|
|
@@ -184,7 +181,7 @@ type: plan
|
|
|
184
181
|
status: active
|
|
185
182
|
created: YYYY-MM-DD
|
|
186
183
|
updated: YYYY-MM-DD
|
|
187
|
-
prd:
|
|
184
|
+
prd: {PRD 경로}/YYYY-MM-DD-{topic}-prd.md
|
|
188
185
|
input_prd_version: v{x.y}
|
|
189
186
|
related_paths:
|
|
190
187
|
- {PRD 경로}
|
|
@@ -249,9 +246,9 @@ review_gate:
|
|
|
249
246
|
- {외부 입력 대응 1}: {처리 방향}
|
|
250
247
|
- {partial 수령 대응 1}: {처리 방향}
|
|
251
248
|
- **시간 압박 trade-off 3-layer** (PRD §3 정합):
|
|
252
|
-
- Never sacrifice: source fidelity·regulatory correctness
|
|
249
|
+
- Never sacrifice: source fidelity·regulatory correctness·사용자 judgment boundaries
|
|
253
250
|
- Can compress first: optional polish·nonessential automation·broad research·secondary docs
|
|
254
|
-
- Escalate to
|
|
251
|
+
- Escalate to 사용자 when: Never sacrifice 영역 흔들림 시점
|
|
255
252
|
|
|
256
253
|
## 6. 앵커 라인
|
|
257
254
|
|
|
@@ -270,9 +267,9 @@ review_gate:
|
|
|
270
267
|
|
|
271
268
|
Plan 산출물 위치는 PRD 산출물 위치 영역과 정합:
|
|
272
269
|
|
|
273
|
-
-
|
|
274
|
-
-
|
|
275
|
-
-
|
|
270
|
+
- **도메인 프로젝트 산출물** → 해당 프로젝트의 plan 디렉토리 (예: `{project}/plans/YYYY-MM-DD-{topic}-plan.md`)
|
|
271
|
+
- **규칙·스킬·하네스 개정** → 저장소의 plan·문서 디렉토리
|
|
272
|
+
- **실험·초안 영역** → drafts 디렉토리 (예: `drafts/{topic}/plans/YYYY-MM-DD-{topic}-plan.md`)
|
|
276
273
|
|
|
277
274
|
frontmatter `related_paths`에 PRD 경로 + GT 자산 경로 + 후속 handoff 경로 등록 의무.
|
|
278
275
|
|
|
@@ -289,7 +286,7 @@ unreviewed Plan으로 execute 진입 X — execute-nondev §1 입력 조건이 P
|
|
|
289
286
|
2. 외부 발신 X
|
|
290
287
|
3. 산출물 생성 X
|
|
291
288
|
4. 기존 문서 조회·단순 답변 영역
|
|
292
|
-
5.
|
|
289
|
+
5. 사용자 명시 승인
|
|
293
290
|
|
|
294
291
|
5 조건 중 1건이라도 X면 execute-nondev 강제 흐름 의무.
|
|
295
292
|
|
|
@@ -317,9 +314,9 @@ Plan Lite 항목 — Plan 6 항목 중 핵심 3 항목:
|
|
|
317
314
|
4종. 라운드 상한 도달 이전이어도 조건 만족 시 바로 발동.
|
|
318
315
|
|
|
319
316
|
- **명확하면 스킵**: clarify-nondev PRD 8 항목 + GT + 모든 결정 closure → Step 1·2 자동 통과, Step 3·4·5 진행
|
|
320
|
-
- **라운드 상한 도달 (3라운드)**: "현재까지 채워진 Plan 6 항목으로 진행할까요, 아니면 추가 라운드 필요할까요?"
|
|
321
|
-
-
|
|
322
|
-
-
|
|
317
|
+
- **라운드 상한 도달 (3라운드)**: "현재까지 채워진 Plan 6 항목으로 진행할까요, 아니면 추가 라운드 필요할까요?" 사용자 1줄 선택
|
|
318
|
+
- **사용자 통찰로 boundary 재정의 요청**: 사용자가 "write scope 다시 보자" / "branch 영역 재검토" 등 신호 감지 시 → 즉시 현재 항목 중단 + boundary 재검토 진입
|
|
319
|
+
- **사용자 스킵 신호**: "그냥 바로 execute 가" 신호 → Step 5 review_gate 게이트만 진행 + Plan 본문 simplified
|
|
323
320
|
|
|
324
321
|
---
|
|
325
322
|
|
|
@@ -335,8 +332,8 @@ Plan Lite 항목 — Plan 6 항목 중 핵심 3 항목:
|
|
|
335
332
|
### 체크 2 — 로컬 탐색 선행
|
|
336
333
|
|
|
337
334
|
- 이 질문의 답을 Read·Glob·Grep·wiki query로 LLM이 직접 확인 가능한가?
|
|
338
|
-
- 가능하면 **먼저 탐색** → 탐색 결과 바탕으로 질문 재평가 → 여전히
|
|
339
|
-
- "로컬 탐색 없이 추정 질문"은
|
|
335
|
+
- 가능하면 **먼저 탐색** → 탐색 결과 바탕으로 질문 재평가 → 여전히 사용자 판단 필요 시에만 질문 출력
|
|
336
|
+
- "로컬 탐색 없이 추정 질문"은 사용자 명시 안티패턴
|
|
340
337
|
|
|
341
338
|
### 체크 3 — 1라운드 1질문 원칙
|
|
342
339
|
|
|
@@ -354,7 +351,7 @@ Plan Lite 항목 — Plan 6 항목 중 핵심 3 항목:
|
|
|
354
351
|
| "Plan 6 항목 중 1~2개 생략해도 된다" | execute-nondev 입력 계약 위반. 해당 없으면 명시적 "해당 없음" 표기 |
|
|
355
352
|
| "실행 boundary 7건 중 5건만 명시해도 된다" | 7건 모두 의무. execute-nondev 자율 영역 cap 차단 |
|
|
356
353
|
| "review_gate metadata는 commit 후 적용" | review_gate는 *execute 진입 전* 의무. metadata 부재 시 fail-closed |
|
|
357
|
-
| "Plan-only yellow downgrade는 자유롭게 가능" | reviewer 본문에 *명시 근거* 명시 후에만 가능. 그 외 revise-major →
|
|
354
|
+
| "Plan-only yellow downgrade는 자유롭게 가능" | reviewer 본문에 *명시 근거* 명시 후에만 가능. 그 외 revise-major → 사용자/PRD 회귀 |
|
|
358
355
|
| "여러 가능성 다 물어보자" | 체크 3 위반. 1라운드 1질문 원칙 |
|
|
359
356
|
|
|
360
357
|
---
|
|
@@ -374,7 +371,5 @@ Plan Lite 항목 — Plan 6 항목 중 핵심 3 항목:
|
|
|
374
371
|
|
|
375
372
|
## Notes
|
|
376
373
|
|
|
377
|
-
-
|
|
378
|
-
-
|
|
379
|
-
- **dogfood 영역**: 본 스킬 첫 dogfood는 본 cycle Task 4 (execute-nondev 신규 작성) plan 또는 Task 5 (deliverable-review 개정) plan 영역. plan v1.2 (drafts/nondev-harness/plans/2026-05-14-prd-v2-self-application-plan.md, *Plan 작성 스킬 부재* evidence pack)와 신규 plan-nondev 산출물 비교 영역은 별도 dogfood cycle로 carry-forward
|
|
380
|
-
- **개정 규율**: 본 스킬 수정 시 반드시 `skill-creator` 경유 (rules/workflow.md §스킬 수정)
|
|
374
|
+
- **하네스 내 위치**: 본 스킬은 비개발자 하네스 4단계(PRD → Plan → Execute → Review) 중 §단계 2(Plan) 생성기다. Plan 결정 6 항목 schema 정의를 자체 보유한다(§Output Format).
|
|
375
|
+
- **개정 규율**: 본 스킬 수정 시 skill-creator 경유.
|
|
@@ -21,7 +21,7 @@ from pathlib import Path
|
|
|
21
21
|
|
|
22
22
|
# tools/prd-formatter cwd 기준 — repo root는 부모×2
|
|
23
23
|
repo_root = Path("../..").resolve()
|
|
24
|
-
target = repo_root / "
|
|
24
|
+
target = repo_root / "path/to/your-prd.md"
|
|
25
25
|
content = target.read_text()
|
|
26
26
|
|
|
27
27
|
print(check_frontmatter(content).passed)
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "khc-marketplace",
|
|
3
|
-
"owner": {
|
|
4
|
-
"name": "KHC",
|
|
5
|
-
"email": "dutyfree1981@gmail.com"
|
|
6
|
-
},
|
|
7
|
-
"plugins": [
|
|
8
|
-
{
|
|
9
|
-
"name": "nondev-harness",
|
|
10
|
-
"source": { "source": "npm", "package": "@henry1981/nondev-harness-plugin" },
|
|
11
|
-
"description": "KHC non-developer deliverable harness — PRD-Plan-Execute-Review 4-stage pipeline for SOP/QMS/compliance, audit/legal, rule/skill revision, wiki curation",
|
|
12
|
-
"version": "0.1.0"
|
|
13
|
-
}
|
|
14
|
-
]
|
|
15
|
-
}
|