@henry1981/nondev-harness-plugin 0.2.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nondev-harness",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "4-skill non-developer deliverable harness — PRD-Plan-Execute-Review pipeline (clarify-nondev, plan-nondev, execute-nondev, deliverable-review) with 4 reviewer agents and prd-formatter",
5
5
  "author": {
6
6
  "name": "henry1981",
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 KHC
3
+ Copyright (c) 2026 henry1981
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @henry1981/nondev-harness-plugin
2
2
 
3
- KHC 비개발자 하네스 — 비개발자 산출물 작업을 PRD→Plan→Execute→Review 4단계 파이프라인으로 게이팅하는 Claude Code plugin입니다.
3
+ 비개발자 하네스 — 비개발자 산출물 작업을 PRD→Plan→Execute→Review 4단계 파이프라인으로 게이팅하는 Claude Code plugin입니다.
4
4
 
5
5
  대상 작업은 SOP·QMS·컴플라이언스 문서, audit·법률 대응, 규칙·스킬·하네스 개정(markdown 본문), wiki filing·reference 정리입니다. 코드 구현 작업은 대상이 아닙니다(superpowers 사용).
6
6
 
@@ -13,8 +13,6 @@ External users (marketplace):
13
13
  /plugin install nondev-harness@khc-marketplace
14
14
  ```
15
15
 
16
- > 본 plugin은 현재(2026-05-15) 외부 marketplace catalog(`henry-1981/context-first-harness`)에 미등재 상태입니다. 등재 전까지는 아래 local clone 방식을 사용하고, 위 External users 명령은 등재 완료 후 활성화됩니다.
17
-
18
16
  Local development (clone):
19
17
 
20
18
  ```bash
@@ -67,7 +65,7 @@ python3 -m venv .venv
67
65
 
68
66
  - **4 stage** linear chain (clarify-nondev → plan-nondev → execute-nondev → deliverable-review)
69
67
  - **gate**: deliverable-review hard gate 통과 전 산출물 ship 금지
70
- - **SSOT**: PRD `docs/superpowers/specs/2026-05-14-nondev-harness-prd-v2.md` (KHC 모노레포, status: implemented)
68
+ - **self-contained**: 각 skill 본문에 설계 PRD 내용이 인라인됨 별도 PRD·rules 동봉 없이 standalone 작동
71
69
 
72
70
  본 plugin은 runtime CLI·build step·native dependency가 없습니다. skill·agent는 markdown 본문이며, prd-formatter만 Python 도구입니다.
73
71
 
@@ -8,7 +8,7 @@ disallowedTools: Edit, Write, Bash, NotebookEdit
8
8
 
9
9
  # Deliverable Plan Reviewer — implementation plan 검증 게이트
10
10
 
11
- 당신은 사용자 팀이 spec·RFP·handoff에서 파생한 implementation plan 문서의 마지막 검증 게이트입니다. 대상은 주로 `docs/superpowers/plans/` 하위의 plan 문서입니다. 사용자는 비개발자 도메인 전문가이며, plan의 각 step을 "cold-start 상태의 엔지니어·서브에이전트가 그대로 실행"할 수 있는 수준까지 구체화돼 있는지 검증해야 합니다.
11
+ 당신은 사용자 팀이 spec·RFP·handoff에서 파생한 implementation plan 문서의 마지막 검증 게이트입니다. 대상은 주로 `plans/` 하위의 plan 문서입니다. 사용자는 비개발자 도메인 전문가이며, plan의 각 step을 "cold-start 상태의 엔지니어·서브에이전트가 그대로 실행"할 수 있는 수준까지 구체화돼 있는지 검증해야 합니다.
12
12
 
13
13
  이 도메인의 주요 실패 패턴:
14
14
 
@@ -35,7 +35,7 @@ disallowedTools: Edit, Write, Bash, NotebookEdit
35
35
 
36
36
  본 verification_type의 PASS 표지는 다음 조건 모두 충족 시에만 허용:
37
37
  1. 인용 본문 (spec·PRD·handoff·rules 본문)이 GT 파일 영역에 *실제 존재*함을 grep 또는 Read tool로 검증
38
- 2. PASS 항목에 evidence path + line 번호 인용 (예: `docs/superpowers/specs/foo.md:42-48`)
38
+ 2. PASS 항목에 evidence path + line 번호 인용 (예: `plans/foo.md:42-48`)
39
39
  3. 인용 본문이 GT 영역과 *글자 단위 일치* (paraphrase X 영역). plan reviewer는 spec→plan 매핑 정합 catch가 본질이라 line 단위 인용 의무 강함
40
40
 
41
41
  위 3 조건 미충족 시 PASS X — WARN 또는 FAIL.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@henry1981/nondev-harness-plugin",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "비개발자 산출물 작업 PRD→Plan→Execute→Review 4단계 파이프라인 하네스",
5
5
  "type": "module",
6
6
  "files": [
@@ -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 / "docs/superpowers/specs/2026-05-14-nondev-harness-prd-v2.md"
24
+ target = repo_root / "path/to/your-prd.md"
25
25
  content = target.read_text()
26
26
 
27
27
  print(check_frontmatter(content).passed)