@uzysjung/agent-harness 26.83.0

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.
Files changed (212) hide show
  1. package/LICENSE +21 -0
  2. package/README.ko.md +279 -0
  3. package/README.md +306 -0
  4. package/dist/chunk-SDVAM5JZ.js +775 -0
  5. package/dist/chunk-SDVAM5JZ.js.map +1 -0
  6. package/dist/index.js +5412 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/trust-tier-drift.js +67 -0
  9. package/dist/trust-tier-drift.js.map +1 -0
  10. package/package.json +53 -0
  11. package/scripts/prune-ecc.sh +310 -0
  12. package/templates/CLAUDE.md +86 -0
  13. package/templates/agents/build-error-resolver.md +114 -0
  14. package/templates/agents/code-reviewer.md +237 -0
  15. package/templates/agents/data-analyst.md +69 -0
  16. package/templates/agents/plan-checker.md +118 -0
  17. package/templates/agents/reviewer.md +128 -0
  18. package/templates/agents/security-reviewer.md +108 -0
  19. package/templates/agents/silent-failure-hunter.md +50 -0
  20. package/templates/agents/strategist.md +86 -0
  21. package/templates/antigravity/AGENTS.md.template +58 -0
  22. package/templates/codex/AGENTS.md.template +94 -0
  23. package/templates/codex/README.md +69 -0
  24. package/templates/codex/config.toml.template +108 -0
  25. package/templates/codex/hooks/README.md +40 -0
  26. package/templates/codex/hooks/gate-check.sh +7 -0
  27. package/templates/codex/hooks/hito-counter.sh +7 -0
  28. package/templates/codex/hooks/session-start.sh +7 -0
  29. package/templates/codex/hooks/uncommitted-check.sh +7 -0
  30. package/templates/codex/skills/uzys-build/SKILL.md +24 -0
  31. package/templates/codex/skills/uzys-plan/SKILL.md +24 -0
  32. package/templates/codex/skills/uzys-review/SKILL.md +24 -0
  33. package/templates/codex/skills/uzys-ship/SKILL.md +24 -0
  34. package/templates/codex/skills/uzys-spec/SKILL.md +28 -0
  35. package/templates/codex/skills/uzys-test/SKILL.md +24 -0
  36. package/templates/commands/ecc/checkpoint.md +32 -0
  37. package/templates/commands/ecc/e2e.md +105 -0
  38. package/templates/commands/ecc/eval.md +88 -0
  39. package/templates/commands/ecc/evolve.md +7 -0
  40. package/templates/commands/ecc/harness-audit.md +73 -0
  41. package/templates/commands/ecc/instinct-status.md +8 -0
  42. package/templates/commands/ecc/promote.md +10 -0
  43. package/templates/commands/ecc/security-scan.md +10 -0
  44. package/templates/commands/uzys/auto.md +190 -0
  45. package/templates/commands/uzys/build.md +42 -0
  46. package/templates/commands/uzys/plan.md +55 -0
  47. package/templates/commands/uzys/review.md +44 -0
  48. package/templates/commands/uzys/ship.md +49 -0
  49. package/templates/commands/uzys/spec.md +93 -0
  50. package/templates/commands/uzys/test.md +58 -0
  51. package/templates/docs/PLAN.template.md +102 -0
  52. package/templates/hooks/agentshield-gate.sh +101 -0
  53. package/templates/hooks/checkpoint-snapshot.sh +115 -0
  54. package/templates/hooks/gate-check.sh +138 -0
  55. package/templates/hooks/hito-counter.sh +26 -0
  56. package/templates/hooks/karpathy-gate.sh +59 -0
  57. package/templates/hooks/mcp-pre-exec.sh +104 -0
  58. package/templates/hooks/protect-files.sh +41 -0
  59. package/templates/hooks/session-start.sh +40 -0
  60. package/templates/hooks/spec-drift-check.sh +86 -0
  61. package/templates/mcp-allowlist.example +24 -0
  62. package/templates/mcp.json +20 -0
  63. package/templates/opencode/.opencode/commands/uzys-build.md +22 -0
  64. package/templates/opencode/.opencode/commands/uzys-plan.md +22 -0
  65. package/templates/opencode/.opencode/commands/uzys-review.md +22 -0
  66. package/templates/opencode/.opencode/commands/uzys-ship.md +22 -0
  67. package/templates/opencode/.opencode/commands/uzys-spec.md +28 -0
  68. package/templates/opencode/.opencode/commands/uzys-test.md +22 -0
  69. package/templates/opencode/.opencode/plugins/uzys-harness.ts +146 -0
  70. package/templates/opencode/AGENTS.md.template +98 -0
  71. package/templates/opencode/README.md +34 -0
  72. package/templates/opencode/opencode.json.template +42 -0
  73. package/templates/project-claude/_base.md +23 -0
  74. package/templates/project-claude/fragments/csr-fastapi/active-rules.md +13 -0
  75. package/templates/project-claude/fragments/csr-fastapi/agents.md +5 -0
  76. package/templates/project-claude/fragments/csr-fastapi/boundaries.md +18 -0
  77. package/templates/project-claude/fragments/csr-fastapi/commands.md +6 -0
  78. package/templates/project-claude/fragments/csr-fastapi/plugins.md +2 -0
  79. package/templates/project-claude/fragments/csr-fastapi/skills.md +5 -0
  80. package/templates/project-claude/fragments/csr-fastapi/stack.md +6 -0
  81. package/templates/project-claude/fragments/csr-fastapi/tagline.md +1 -0
  82. package/templates/project-claude/fragments/csr-fastapi/workflow.md +8 -0
  83. package/templates/project-claude/fragments/csr-fastify/active-rules.md +13 -0
  84. package/templates/project-claude/fragments/csr-fastify/agents.md +5 -0
  85. package/templates/project-claude/fragments/csr-fastify/boundaries.md +18 -0
  86. package/templates/project-claude/fragments/csr-fastify/commands.md +6 -0
  87. package/templates/project-claude/fragments/csr-fastify/plugins.md +2 -0
  88. package/templates/project-claude/fragments/csr-fastify/skills.md +5 -0
  89. package/templates/project-claude/fragments/csr-fastify/stack.md +6 -0
  90. package/templates/project-claude/fragments/csr-fastify/tagline.md +1 -0
  91. package/templates/project-claude/fragments/csr-fastify/workflow.md +8 -0
  92. package/templates/project-claude/fragments/csr-supabase/active-rules.md +12 -0
  93. package/templates/project-claude/fragments/csr-supabase/agents.md +5 -0
  94. package/templates/project-claude/fragments/csr-supabase/boundaries.md +19 -0
  95. package/templates/project-claude/fragments/csr-supabase/commands.md +6 -0
  96. package/templates/project-claude/fragments/csr-supabase/plugins.md +4 -0
  97. package/templates/project-claude/fragments/csr-supabase/skills.md +7 -0
  98. package/templates/project-claude/fragments/csr-supabase/stack.md +6 -0
  99. package/templates/project-claude/fragments/csr-supabase/supabase-auth.md +21 -0
  100. package/templates/project-claude/fragments/csr-supabase/tagline.md +1 -0
  101. package/templates/project-claude/fragments/csr-supabase/workflow.md +8 -0
  102. package/templates/project-claude/fragments/data/active-rules.md +10 -0
  103. package/templates/project-claude/fragments/data/agents.md +6 -0
  104. package/templates/project-claude/fragments/data/boundaries.md +20 -0
  105. package/templates/project-claude/fragments/data/commands.md +6 -0
  106. package/templates/project-claude/fragments/data/plugins.md +2 -0
  107. package/templates/project-claude/fragments/data/skills.md +3 -0
  108. package/templates/project-claude/fragments/data/stack.md +7 -0
  109. package/templates/project-claude/fragments/data/tagline.md +1 -0
  110. package/templates/project-claude/fragments/data/workflow.md +9 -0
  111. package/templates/project-claude/fragments/executive/active-rules.md +6 -0
  112. package/templates/project-claude/fragments/executive/agents.md +6 -0
  113. package/templates/project-claude/fragments/executive/boundaries.md +17 -0
  114. package/templates/project-claude/fragments/executive/commands.md +11 -0
  115. package/templates/project-claude/fragments/executive/plugins.md +1 -0
  116. package/templates/project-claude/fragments/executive/skills.md +7 -0
  117. package/templates/project-claude/fragments/executive/stack.md +4 -0
  118. package/templates/project-claude/fragments/executive/tagline.md +1 -0
  119. package/templates/project-claude/fragments/executive/workflow.md +10 -0
  120. package/templates/project-claude/fragments/growth-marketing/active-rules.md +7 -0
  121. package/templates/project-claude/fragments/growth-marketing/agents.md +6 -0
  122. package/templates/project-claude/fragments/growth-marketing/boundaries.md +17 -0
  123. package/templates/project-claude/fragments/growth-marketing/commands.md +11 -0
  124. package/templates/project-claude/fragments/growth-marketing/plugins.md +9 -0
  125. package/templates/project-claude/fragments/growth-marketing/skills.md +8 -0
  126. package/templates/project-claude/fragments/growth-marketing/stack.md +7 -0
  127. package/templates/project-claude/fragments/growth-marketing/tagline.md +1 -0
  128. package/templates/project-claude/fragments/growth-marketing/workflow.md +11 -0
  129. package/templates/project-claude/fragments/project-management/active-rules.md +7 -0
  130. package/templates/project-claude/fragments/project-management/agents.md +6 -0
  131. package/templates/project-claude/fragments/project-management/boundaries.md +16 -0
  132. package/templates/project-claude/fragments/project-management/commands.md +10 -0
  133. package/templates/project-claude/fragments/project-management/plugins.md +6 -0
  134. package/templates/project-claude/fragments/project-management/skills.md +5 -0
  135. package/templates/project-claude/fragments/project-management/stack.md +4 -0
  136. package/templates/project-claude/fragments/project-management/tagline.md +1 -0
  137. package/templates/project-claude/fragments/project-management/workflow.md +12 -0
  138. package/templates/project-claude/fragments/ssr-htmx/active-rules.md +11 -0
  139. package/templates/project-claude/fragments/ssr-htmx/agents.md +5 -0
  140. package/templates/project-claude/fragments/ssr-htmx/boundaries.md +20 -0
  141. package/templates/project-claude/fragments/ssr-htmx/commands.md +6 -0
  142. package/templates/project-claude/fragments/ssr-htmx/plugins.md +2 -0
  143. package/templates/project-claude/fragments/ssr-htmx/skills.md +3 -0
  144. package/templates/project-claude/fragments/ssr-htmx/stack.md +6 -0
  145. package/templates/project-claude/fragments/ssr-htmx/tagline.md +1 -0
  146. package/templates/project-claude/fragments/ssr-htmx/workflow.md +8 -0
  147. package/templates/project-claude/fragments/ssr-nextjs/active-rules.md +12 -0
  148. package/templates/project-claude/fragments/ssr-nextjs/agents.md +5 -0
  149. package/templates/project-claude/fragments/ssr-nextjs/boundaries.md +20 -0
  150. package/templates/project-claude/fragments/ssr-nextjs/commands.md +6 -0
  151. package/templates/project-claude/fragments/ssr-nextjs/plugins.md +2 -0
  152. package/templates/project-claude/fragments/ssr-nextjs/skills.md +5 -0
  153. package/templates/project-claude/fragments/ssr-nextjs/stack.md +5 -0
  154. package/templates/project-claude/fragments/ssr-nextjs/tagline.md +1 -0
  155. package/templates/project-claude/fragments/ssr-nextjs/workflow.md +8 -0
  156. package/templates/project-claude/fragments/tooling/active-rules.md +11 -0
  157. package/templates/project-claude/fragments/tooling/agents.md +5 -0
  158. package/templates/project-claude/fragments/tooling/boundaries.md +17 -0
  159. package/templates/project-claude/fragments/tooling/commands.md +4 -0
  160. package/templates/project-claude/fragments/tooling/skills.md +4 -0
  161. package/templates/project-claude/fragments/tooling/stack.md +5 -0
  162. package/templates/project-claude/fragments/tooling/tagline.md +1 -0
  163. package/templates/project-claude/fragments/tooling/workflow.md +5 -0
  164. package/templates/rules/api-contract.md +33 -0
  165. package/templates/rules/change-management.md +80 -0
  166. package/templates/rules/cli-development.md +39 -0
  167. package/templates/rules/code-style.md +23 -0
  168. package/templates/rules/data-analysis.md +61 -0
  169. package/templates/rules/database.md +29 -0
  170. package/templates/rules/design-workflow.md +17 -0
  171. package/templates/rules/error-handling.md +23 -0
  172. package/templates/rules/gates-taxonomy.md +21 -0
  173. package/templates/rules/git-policy.md +102 -0
  174. package/templates/rules/htmx.md +42 -0
  175. package/templates/rules/nextjs.md +35 -0
  176. package/templates/rules/playwright-launch.md +66 -0
  177. package/templates/rules/pyside6.md +59 -0
  178. package/templates/rules/shadcn.md +33 -0
  179. package/templates/rules/ship-checklist.md +24 -0
  180. package/templates/rules/tauri.md +40 -0
  181. package/templates/rules/test-policy.md +62 -0
  182. package/templates/settings.json +71 -0
  183. package/templates/skills/agent-introspection-debugging/SKILL.md +153 -0
  184. package/templates/skills/continuous-learning-v2/SKILL.md +365 -0
  185. package/templates/skills/continuous-learning-v2/config.json +8 -0
  186. package/templates/skills/continuous-learning-v2/hooks/observe.sh +428 -0
  187. package/templates/skills/continuous-learning-v2/scripts/detect-project.sh +228 -0
  188. package/templates/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
  189. package/templates/skills/deep-research/SKILL.md +155 -0
  190. package/templates/skills/deep-research/agents/openai.yaml +7 -0
  191. package/templates/skills/e2e-testing/SKILL.md +326 -0
  192. package/templates/skills/e2e-testing/agents/openai.yaml +7 -0
  193. package/templates/skills/eval-harness/SKILL.md +279 -0
  194. package/templates/skills/eval-harness/agents/openai.yaml +7 -0
  195. package/templates/skills/gh-issue-workflow/ISSUE.template.md +58 -0
  196. package/templates/skills/gh-issue-workflow/SKILL.md +184 -0
  197. package/templates/skills/investor-materials/SKILL.md +96 -0
  198. package/templates/skills/investor-outreach/SKILL.md +91 -0
  199. package/templates/skills/market-research/SKILL.md +75 -0
  200. package/templates/skills/market-research/agents/openai.yaml +7 -0
  201. package/templates/skills/nextjs-turbopack/SKILL.md +44 -0
  202. package/templates/skills/north-star/NORTH_STAR.template.md +114 -0
  203. package/templates/skills/north-star/SKILL.md +103 -0
  204. package/templates/skills/python-patterns/SKILL.md +750 -0
  205. package/templates/skills/python-testing/SKILL.md +816 -0
  206. package/templates/skills/spec-scaling/SKILL.md +89 -0
  207. package/templates/skills/strategic-compact/SKILL.md +131 -0
  208. package/templates/skills/strategic-compact/suggest-compact.sh +54 -0
  209. package/templates/skills/ui-visual-review/SKILL.md +154 -0
  210. package/templates/skills/verification-loop/SKILL.md +126 -0
  211. package/templates/skills/verification-loop/agents/openai.yaml +7 -0
  212. package/templates/track-mcp-map.tsv +15 -0
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: investor-outreach
3
+ description: Draft cold emails, warm intro blurbs, follow-ups, update emails, and investor communications for fundraising. Use when the user wants outreach to angels, VCs, strategic investors, or accelerators and needs concise, personalized, investor-facing messaging.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Investor Outreach
8
+
9
+ Write investor communication that is short, concrete, and easy to act on.
10
+
11
+ ## When to Activate
12
+
13
+ - writing a cold email to an investor
14
+ - drafting a warm intro request
15
+ - sending follow-ups after a meeting or no response
16
+ - writing investor updates during a process
17
+ - tailoring outreach based on fund thesis or partner fit
18
+
19
+ ## Core Rules
20
+
21
+ 1. Personalize every outbound message.
22
+ 2. Keep the ask low-friction.
23
+ 3. Use proof instead of adjectives.
24
+ 4. Stay concise.
25
+ 5. Never send copy that could go to any investor.
26
+
27
+ ## Voice Handling
28
+
29
+ If the user's voice matters, run `brand-voice` first and reuse its `VOICE PROFILE`.
30
+ This skill should keep the investor-specific structure and ask discipline, not recreate its own parallel voice system.
31
+
32
+ ## Hard Bans
33
+
34
+ Delete and rewrite any of these:
35
+ - "I'd love to connect"
36
+ - "excited to share"
37
+ - generic thesis praise without a real tie-in
38
+ - vague founder adjectives
39
+ - begging language
40
+ - soft closing questions when a direct ask is clearer
41
+
42
+ ## Cold Email Structure
43
+
44
+ 1. subject line: short and specific
45
+ 2. opener: why this investor specifically
46
+ 3. pitch: what the company does, why now, and what proof matters
47
+ 4. ask: one concrete next step
48
+ 5. sign-off: name, role, and one credibility anchor if needed
49
+
50
+ ## Personalization Sources
51
+
52
+ Reference one or more of:
53
+ - relevant portfolio companies
54
+ - a public thesis, talk, post, or article
55
+ - a mutual connection
56
+ - a clear market or product fit with the investor's focus
57
+
58
+ If that context is missing, state that the draft still needs personalization instead of pretending it is finished.
59
+
60
+ ## Follow-Up Cadence
61
+
62
+ Default:
63
+ - day 0: initial outbound
64
+ - day 4 or 5: short follow-up with one new data point
65
+ - day 10 to 12: final follow-up with a clean close
66
+
67
+ Do not keep nudging after that unless the user wants a longer sequence.
68
+
69
+ ## Warm Intro Requests
70
+
71
+ Make life easy for the connector:
72
+ - explain why the intro is a fit
73
+ - include a forwardable blurb
74
+ - keep the forwardable blurb under 100 words
75
+
76
+ ## Post-Meeting Updates
77
+
78
+ Include:
79
+ - the specific thing discussed
80
+ - the answer or update promised
81
+ - one new proof point if available
82
+ - the next step
83
+
84
+ ## Quality Gate
85
+
86
+ Before delivering:
87
+ - the message is genuinely personalized
88
+ - the ask is explicit
89
+ - the proof point is concrete
90
+ - filler praise and softener language are gone
91
+ - word count stays tight
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: market-research
3
+ description: Conduct market research, competitive analysis, investor due diligence, and industry intelligence with source attribution and decision-oriented summaries. Use when the user wants market sizing, competitor comparisons, fund research, technology scans, or research that informs business decisions.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Market Research
8
+
9
+ Produce research that supports decisions, not research theater.
10
+
11
+ ## When to Activate
12
+
13
+ - researching a market, category, company, investor, or technology trend
14
+ - building TAM/SAM/SOM estimates
15
+ - comparing competitors or adjacent products
16
+ - preparing investor dossiers before outreach
17
+ - pressure-testing a thesis before building, funding, or entering a market
18
+
19
+ ## Research Standards
20
+
21
+ 1. Every important claim needs a source.
22
+ 2. Prefer recent data and call out stale data.
23
+ 3. Include contrarian evidence and downside cases.
24
+ 4. Translate findings into a decision, not just a summary.
25
+ 5. Separate fact, inference, and recommendation clearly.
26
+
27
+ ## Common Research Modes
28
+
29
+ ### Investor / Fund Diligence
30
+ Collect:
31
+ - fund size, stage, and typical check size
32
+ - relevant portfolio companies
33
+ - public thesis and recent activity
34
+ - reasons the fund is or is not a fit
35
+ - any obvious red flags or mismatches
36
+
37
+ ### Competitive Analysis
38
+ Collect:
39
+ - product reality, not marketing copy
40
+ - funding and investor history if public
41
+ - traction metrics if public
42
+ - distribution and pricing clues
43
+ - strengths, weaknesses, and positioning gaps
44
+
45
+ ### Market Sizing
46
+ Use:
47
+ - top-down estimates from reports or public datasets
48
+ - bottom-up sanity checks from realistic customer acquisition assumptions
49
+ - explicit assumptions for every leap in logic
50
+
51
+ ### Technology / Vendor Research
52
+ Collect:
53
+ - how it works
54
+ - trade-offs and adoption signals
55
+ - integration complexity
56
+ - lock-in, security, compliance, and operational risk
57
+
58
+ ## Output Format
59
+
60
+ Default structure:
61
+ 1. executive summary
62
+ 2. key findings
63
+ 3. implications
64
+ 4. risks and caveats
65
+ 5. recommendation
66
+ 6. sources
67
+
68
+ ## Quality Gate
69
+
70
+ Before delivering:
71
+ - all numbers are sourced or labeled as estimates
72
+ - old data is flagged
73
+ - the recommendation follows from the evidence
74
+ - risks and counterarguments are included
75
+ - the output makes a decision easier
@@ -0,0 +1,7 @@
1
+ interface:
2
+ display_name: "Market Research"
3
+ short_description: "Source-attributed market, competitor, and investor research"
4
+ brand_color: "#2563EB"
5
+ default_prompt: "Research this market and summarize the decision-relevant findings"
6
+ policy:
7
+ allow_implicit_invocation: true
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: nextjs-turbopack
3
+ description: Next.js 16+ and Turbopack — incremental bundling, FS caching, dev speed, and when to use Turbopack vs webpack.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Next.js and Turbopack
8
+
9
+ Next.js 16+ uses Turbopack by default for local development: an incremental bundler written in Rust that significantly speeds up dev startup and hot updates.
10
+
11
+ ## When to Use
12
+
13
+ - **Turbopack (default dev)**: Use for day-to-day development. Faster cold start and HMR, especially in large apps.
14
+ - **Webpack (legacy dev)**: Use only if you hit a Turbopack bug or rely on a webpack-only plugin in dev. Disable with `--webpack` (or `--no-turbopack` depending on your Next.js version; check the docs for your release).
15
+ - **Production**: Production build behavior (`next build`) may use Turbopack or webpack depending on Next.js version; check the official Next.js docs for your version.
16
+
17
+ Use when: developing or debugging Next.js 16+ apps, diagnosing slow dev startup or HMR, or optimizing production bundles.
18
+
19
+ ## How It Works
20
+
21
+ - **Turbopack**: Incremental bundler for Next.js dev. Uses file-system caching so restarts are much faster (e.g. 5–14x on large projects).
22
+ - **Default in dev**: From Next.js 16, `next dev` runs with Turbopack unless disabled.
23
+ - **File-system caching**: Restarts reuse previous work; cache is typically under `.next`; no extra config needed for basic use.
24
+ - **Bundle Analyzer (Next.js 16.1+)**: Experimental Bundle Analyzer to inspect output and find heavy dependencies; enable via config or experimental flag (see Next.js docs for your version).
25
+
26
+ ## Examples
27
+
28
+ ### Commands
29
+
30
+ ```bash
31
+ next dev
32
+ next build
33
+ next start
34
+ ```
35
+
36
+ ### Usage
37
+
38
+ Run `next dev` for local development with Turbopack. Use the Bundle Analyzer (see Next.js docs) to optimize code-splitting and trim large dependencies. Prefer App Router and server components where possible.
39
+
40
+ ## Best Practices
41
+
42
+ - Stay on a recent Next.js 16.x for stable Turbopack and caching behavior.
43
+ - If dev is slow, ensure you're on Turbopack (default) and that the cache isn't being cleared unnecessarily.
44
+ - For production bundle size issues, use the official Next.js bundle analysis tooling for your version.
@@ -0,0 +1,114 @@
1
+ # [Project Name] — North Star
2
+
3
+ > 장기 방향성. PRD/SPEC이 "무엇을 어떻게"를 다루면, 본 문서는 **왜·어디로**를 다룬다.
4
+ > 의사결정이 모호할 때 본 문서를 기준으로 우선순위를 판정한다.
5
+
6
+ ---
7
+
8
+ ## 1. North Star Statement
9
+
10
+ > **"[한 문장: 5년 뒤 이 프로젝트가 무엇이 되어 있어야 하는가. 도메인 명사 + 사용자 + 측정 가능한 결과]"**
11
+
12
+ [2-3 문장: 단순 X를 넘어, 어떤 시스템/사이클을 지향하는가.]
13
+
14
+ ---
15
+
16
+ ## 2. North Star Metric (NSM)
17
+
18
+ **1차 지표 (현재 단계)**: **[지표 약어 — 풀네임]**
19
+ - 정의: [어떻게 계산하는가]
20
+ - 목표: [수치 + 도달 시점]
21
+ - 의미: [이 지표가 달성되면 무엇이 증명되는가. 미달 시 무엇이 부족함을 시사하는가]
22
+
23
+ **2차 보조 지표**
24
+
25
+ | Metric | 정의 | 목표 |
26
+ |--------|------|------|
27
+ | [Metric A] | [계산법] | [수치] |
28
+ | [Metric B] | [계산법] | [수치] |
29
+ | [Metric C] | [계산법] | [수치] |
30
+
31
+ > 모든 지표는 [환경 — single-user / team / public 등]에서 자가 수집. [향후 단계 진입 시 재정의 조건].
32
+
33
+ ---
34
+
35
+ ## 3. Strategic Boundaries (방향성 경계)
36
+
37
+ ### 3.1 Will (집중)
38
+
39
+ - **[집중 영역 1]**: [짧은 설명]
40
+ - **[집중 영역 2]**: [짧은 설명]
41
+ - **[집중 영역 3]**: [짧은 설명]
42
+ - **[집중 영역 4]**: [짧은 설명]
43
+
44
+ ### 3.2 Won't (의도적 비-방향)
45
+
46
+ scope creep의 1차 방어선. "X는 안 한다"를 명시.
47
+
48
+ - **[안 하는 것 1]**: [왜 안 하는지 한 문장]
49
+ - **[안 하는 것 2]**: [근거]
50
+ - **[안 하는 것 3]**: [근거]
51
+ - **[안 하는 것 4]**: [근거]
52
+ - **[안 하는 것 5]**: [근거]
53
+
54
+ ### 3.3 Trade-offs (의식적 선택)
55
+
56
+ | 선택 | 포기한 것 | 근거 |
57
+ |------|----------|------|
58
+ | [선택 A] | [반대편 옵션] | [왜 이 쪽인가] |
59
+ | [선택 B] | [반대편 옵션] | [근거] |
60
+ | [선택 C] | [반대편 옵션] | [근거] |
61
+
62
+ ---
63
+
64
+ ## 4. Phase Roadmap (장기 진화 단계)
65
+
66
+ ### Phase 1 — [이름] (현재)
67
+ - 목표: [한 문장]
68
+ - 성공 조건: [측정 가능 기준]
69
+ - 핵심 산출물: [3-5개]
70
+
71
+ ### Phase 2 — [이름]
72
+ - 목표: [한 문장]
73
+ - 진입 조건: [Phase 1 무엇이 충족되면]
74
+ - 핵심 산출물: [3-5개]
75
+
76
+ ### Phase 3 — [이름]
77
+ - 목표: [한 문장]
78
+ - 진입 조건: [Phase 2 무엇이 충족되면]
79
+
80
+ ### Phase 4 (탐색) — [이름]
81
+ - 가설: [무엇을 검증]
82
+ - 진입 조건: [Phase 3 안정화 + NSM 도달]
83
+ - 결정 사항: 본 문서 정기 갱신 시 검토
84
+
85
+ ---
86
+
87
+ ## 5. Decision Heuristics (의사결정 휴리스틱)
88
+
89
+ 신규 요청·제안이 들어왔을 때 다음 4 게이트를 **모두** 통과해야 우선순위 진입.
90
+
91
+ | Gate | 질문 | Pass/Fail 기준 |
92
+ |------|------|---------------|
93
+ | **1. Trend** | 본 프로젝트의 핵심 트렌드/원칙(섹션 X 참조) 1개 이상에 매핑되는가? | 매핑 명시 = Pass |
94
+ | **2. Persona** | Primary persona([이름])에게 직접 가치를 주는가? Anti-persona 위주면 거절 | YES = Pass |
95
+ | **3. Capability** | [도메인 특수 능력 — 예: MCP 노출 / API 제공 / 키보드 단축키]가 동등하게 가능한가? | YES = Pass (UI-only면 -1) |
96
+ | **4. Lean** | Phase 1/2/3 정의 내에 있는가? 외부면 Open Question으로 적재 | YES = Pass |
97
+
98
+ 4개 모두 Pass = 우선순위 진입. 1개라도 Fail = 보류 또는 거절.
99
+
100
+ ---
101
+
102
+ ## 6. Versioning & Review
103
+
104
+ - 본 문서는 **분기 1회** 또는 **NSM 도달/미달** 시 갱신.
105
+ - 주요 갱신 (Major CR): NSM 변경 / Phase 정의 변경 / Won't 변경.
106
+ - 가벼운 갱신 (Clarification): Trade-off 추가, 트렌드 매핑 보강.
107
+ - 갱신 시 사유 + 날짜 1줄을 Changelog에 기록.
108
+
109
+ ---
110
+
111
+ ## 7. Changelog
112
+
113
+ - YYYY-MM-DD: 초안 작성. 참조: [관련 ideation/raw 문서].
114
+ - (이후 갱신 기록)
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: north-star
3
+ description: "Defines and enforces a project's long-term direction (North Star Statement, NSM, Will/Won't, 4-gate decision heuristic). Use when starting a new project, when scope creep is suspected, or when a non-obvious feature request needs prioritization. Sits one layer above SPEC/PRD — answers 'why and where to', not 'what and how'."
4
+ ---
5
+
6
+ # North Star
7
+
8
+ ## Purpose
9
+
10
+ SPEC/PRD가 "무엇을 어떻게"를 다루면, North Star는 **왜·어디로**를 다룬다.
11
+ - 의사결정이 모호할 때 우선순위 판정의 SSOT.
12
+ - 신규 요청·기능이 "범위 안인가?"를 검증 가능한 기준으로 거른다.
13
+ - Won't (의도적 비-방향)을 명시해 scope creep을 사전 차단.
14
+
15
+ CLAUDE.md의 P1(가정 금지) / P2(Simplicity First) / Decision Making 메타원칙의 **프로젝트 단위 인스턴스**.
16
+
17
+ ## When to Invoke
18
+
19
+ | 트리거 | 행동 |
20
+ |--------|------|
21
+ | 신규 프로젝트 (`/uzys:spec` 시작) | `docs/NORTH_STAR.md` 부재 시 작성 제안 |
22
+ | Major CR / scope 확대 의심 | 4-gate 통과 여부 점검 |
23
+ | 분기 1회 정기 리뷰 | NSM 변경, Phase 정의 변경, Won't 변경 검토 |
24
+ | 신규 기능 요청 진입 시 (`/uzys:plan`) | 4-gate 통과 시만 우선순위 진입 |
25
+
26
+ ## Process
27
+
28
+ ### 1. North Star Statement 작성
29
+
30
+ 한 문장으로 프로젝트의 종착점을 표현. 5년 뒤 이 프로젝트가 무엇이 되어 있어야 하는가.
31
+
32
+ **좋은 예**: 도메인 명사 + 사용자 + 측정 가능한 결과.
33
+ **나쁜 예**: "최고의 X" / "사용자 만족" — 측정 불가.
34
+
35
+ ### 2. North Star Metric (NSM) 정의
36
+
37
+ 1차 지표 1개 + 2차 보조 지표 2-4개. 모두 단일 사용자 환경에서 자가 수집 가능해야 한다.
38
+
39
+ NSM 결정 기준:
40
+ - Lagging (결과) vs Leading (원인) — Leading 권장
41
+ - 단일 행동만 측정 (composite 금지)
42
+ - 목표값 명시 ("≥ 40% by 2026")
43
+
44
+ ### 3. Will / Won't / Trade-offs
45
+
46
+ - **Will**: 집중 영역 4-6개. 동사로 시작 ("개인 사용 깊이 우선", "AI 친화 1급 시민").
47
+ - **Won't**: 의도적 비-방향 5-8개. "X는 안 한다" 명시. 가장 중요한 섹션 — scope creep의 1차 방어선.
48
+ - **Trade-offs**: "X 선택 → Y 포기 → 근거" 표. 의식적 결정의 추적 기록.
49
+
50
+ ### 4. 4-Gate Decision Heuristic
51
+
52
+ 신규 요청·제안이 들어왔을 때 다음 4개 게이트를 **모두** 통과해야 우선순위 진입:
53
+
54
+ | Gate | 질문 | 통과 기준 |
55
+ |------|------|----------|
56
+ | **Trend** | 프로젝트의 핵심 트렌드/원칙 중 1개 이상에 매핑되는가? | YES |
57
+ | **Persona** | Primary persona에게 직접 가치를 주는가? Anti-persona 위주는 거절 | YES |
58
+ | **Capability** | 현재 시스템이 이 기능을 동등하게 노출 가능한가? (UI 한정 기능은 -1) | YES |
59
+ | **Lean** | 정의된 Phase 범위 내에 있는가? 외부면 Open Question으로 적재 후 분기 1회 재평가 | YES |
60
+
61
+ 게이트 명칭은 프로젝트마다 customize 가능하나 **4개 ALL True** 원칙은 유지.
62
+
63
+ ### 5. Versioning
64
+
65
+ - 분기 1회 또는 NSM 도달/미달 시 갱신.
66
+ - 주요 갱신: NSM 변경 / Phase 정의 변경 / Won't 변경 → Major CR 분류.
67
+ - 가벼운 갱신: Trade-off 추가, 트렌드 매핑 보강 → Clarification.
68
+ - 갱신 시 Changelog 1줄 (날짜 + 사유).
69
+
70
+ ## Output Template
71
+
72
+ `docs/NORTH_STAR.md`에 다음 구조로 저장. 본 skill 디렉토리의 `NORTH_STAR.template.md`를 복사해 채운다.
73
+
74
+ 7 섹션:
75
+ 1. North Star Statement (1문장)
76
+ 2. North Star Metric (1차 + 2차)
77
+ 3. Strategic Boundaries (Will / Won't / Trade-offs)
78
+ 4. Phase Roadmap (장기 진화 단계)
79
+ 5. Decision Heuristics (4-gate)
80
+ 6. Versioning & Review
81
+ 7. Changelog
82
+
83
+ ## Integration with Workflow
84
+
85
+ - **`/uzys:spec`**: 시작 시 `docs/NORTH_STAR.md` 존재 확인. 없으면 본 skill 호출 권유.
86
+ - **`/uzys:plan`**: 신규 task 진입 전 4-gate 체크. 1개 이상 게이트 fail 시 사용자에게 보고 후 결정 대기.
87
+ - **자동 hook 없음** — 의식적 결정을 강제하지 않음. 게이트는 가이드 도구.
88
+
89
+ ## Anti-Patterns
90
+
91
+ - **NSM이 vanity metric** ("downloads", "stars") — 사용자 행동 측정 X
92
+ - **Won't가 비어있음** — scope creep 방어선 부재
93
+ - **4-gate 검증 없이 "유용해 보이니까" 추가** — Decision Making 메타원칙 위반
94
+ - **NORTH_STAR.md를 작성만 하고 한 번도 참조 안 함** — 죽은 문서. 분기 리뷰로 살림
95
+
96
+ ## Examples
97
+
98
+ GoalTrack 프로젝트의 NORTH_STAR.md (참고 사례, 도메인 종속):
99
+ - NSM: WAGI (Weekly AI-Initiated Goal Items) ≥ 40%
100
+ - Won't: 팀 협업 도구 / 모바일 우선 / 게이미피케이션 / 외부 통합 폭발 / CRDT
101
+ - 4-gate: Trend × Persona × MCP × Lean
102
+
103
+ 본 skill은 그 패턴을 도메인 비종속으로 일반화한 것.