@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.
- package/LICENSE +21 -0
- package/README.ko.md +279 -0
- package/README.md +306 -0
- package/dist/chunk-SDVAM5JZ.js +775 -0
- package/dist/chunk-SDVAM5JZ.js.map +1 -0
- package/dist/index.js +5412 -0
- package/dist/index.js.map +1 -0
- package/dist/trust-tier-drift.js +67 -0
- package/dist/trust-tier-drift.js.map +1 -0
- package/package.json +53 -0
- package/scripts/prune-ecc.sh +310 -0
- package/templates/CLAUDE.md +86 -0
- package/templates/agents/build-error-resolver.md +114 -0
- package/templates/agents/code-reviewer.md +237 -0
- package/templates/agents/data-analyst.md +69 -0
- package/templates/agents/plan-checker.md +118 -0
- package/templates/agents/reviewer.md +128 -0
- package/templates/agents/security-reviewer.md +108 -0
- package/templates/agents/silent-failure-hunter.md +50 -0
- package/templates/agents/strategist.md +86 -0
- package/templates/antigravity/AGENTS.md.template +58 -0
- package/templates/codex/AGENTS.md.template +94 -0
- package/templates/codex/README.md +69 -0
- package/templates/codex/config.toml.template +108 -0
- package/templates/codex/hooks/README.md +40 -0
- package/templates/codex/hooks/gate-check.sh +7 -0
- package/templates/codex/hooks/hito-counter.sh +7 -0
- package/templates/codex/hooks/session-start.sh +7 -0
- package/templates/codex/hooks/uncommitted-check.sh +7 -0
- package/templates/codex/skills/uzys-build/SKILL.md +24 -0
- package/templates/codex/skills/uzys-plan/SKILL.md +24 -0
- package/templates/codex/skills/uzys-review/SKILL.md +24 -0
- package/templates/codex/skills/uzys-ship/SKILL.md +24 -0
- package/templates/codex/skills/uzys-spec/SKILL.md +28 -0
- package/templates/codex/skills/uzys-test/SKILL.md +24 -0
- package/templates/commands/ecc/checkpoint.md +32 -0
- package/templates/commands/ecc/e2e.md +105 -0
- package/templates/commands/ecc/eval.md +88 -0
- package/templates/commands/ecc/evolve.md +7 -0
- package/templates/commands/ecc/harness-audit.md +73 -0
- package/templates/commands/ecc/instinct-status.md +8 -0
- package/templates/commands/ecc/promote.md +10 -0
- package/templates/commands/ecc/security-scan.md +10 -0
- package/templates/commands/uzys/auto.md +190 -0
- package/templates/commands/uzys/build.md +42 -0
- package/templates/commands/uzys/plan.md +55 -0
- package/templates/commands/uzys/review.md +44 -0
- package/templates/commands/uzys/ship.md +49 -0
- package/templates/commands/uzys/spec.md +93 -0
- package/templates/commands/uzys/test.md +58 -0
- package/templates/docs/PLAN.template.md +102 -0
- package/templates/hooks/agentshield-gate.sh +101 -0
- package/templates/hooks/checkpoint-snapshot.sh +115 -0
- package/templates/hooks/gate-check.sh +138 -0
- package/templates/hooks/hito-counter.sh +26 -0
- package/templates/hooks/karpathy-gate.sh +59 -0
- package/templates/hooks/mcp-pre-exec.sh +104 -0
- package/templates/hooks/protect-files.sh +41 -0
- package/templates/hooks/session-start.sh +40 -0
- package/templates/hooks/spec-drift-check.sh +86 -0
- package/templates/mcp-allowlist.example +24 -0
- package/templates/mcp.json +20 -0
- package/templates/opencode/.opencode/commands/uzys-build.md +22 -0
- package/templates/opencode/.opencode/commands/uzys-plan.md +22 -0
- package/templates/opencode/.opencode/commands/uzys-review.md +22 -0
- package/templates/opencode/.opencode/commands/uzys-ship.md +22 -0
- package/templates/opencode/.opencode/commands/uzys-spec.md +28 -0
- package/templates/opencode/.opencode/commands/uzys-test.md +22 -0
- package/templates/opencode/.opencode/plugins/uzys-harness.ts +146 -0
- package/templates/opencode/AGENTS.md.template +98 -0
- package/templates/opencode/README.md +34 -0
- package/templates/opencode/opencode.json.template +42 -0
- package/templates/project-claude/_base.md +23 -0
- package/templates/project-claude/fragments/csr-fastapi/active-rules.md +13 -0
- package/templates/project-claude/fragments/csr-fastapi/agents.md +5 -0
- package/templates/project-claude/fragments/csr-fastapi/boundaries.md +18 -0
- package/templates/project-claude/fragments/csr-fastapi/commands.md +6 -0
- package/templates/project-claude/fragments/csr-fastapi/plugins.md +2 -0
- package/templates/project-claude/fragments/csr-fastapi/skills.md +5 -0
- package/templates/project-claude/fragments/csr-fastapi/stack.md +6 -0
- package/templates/project-claude/fragments/csr-fastapi/tagline.md +1 -0
- package/templates/project-claude/fragments/csr-fastapi/workflow.md +8 -0
- package/templates/project-claude/fragments/csr-fastify/active-rules.md +13 -0
- package/templates/project-claude/fragments/csr-fastify/agents.md +5 -0
- package/templates/project-claude/fragments/csr-fastify/boundaries.md +18 -0
- package/templates/project-claude/fragments/csr-fastify/commands.md +6 -0
- package/templates/project-claude/fragments/csr-fastify/plugins.md +2 -0
- package/templates/project-claude/fragments/csr-fastify/skills.md +5 -0
- package/templates/project-claude/fragments/csr-fastify/stack.md +6 -0
- package/templates/project-claude/fragments/csr-fastify/tagline.md +1 -0
- package/templates/project-claude/fragments/csr-fastify/workflow.md +8 -0
- package/templates/project-claude/fragments/csr-supabase/active-rules.md +12 -0
- package/templates/project-claude/fragments/csr-supabase/agents.md +5 -0
- package/templates/project-claude/fragments/csr-supabase/boundaries.md +19 -0
- package/templates/project-claude/fragments/csr-supabase/commands.md +6 -0
- package/templates/project-claude/fragments/csr-supabase/plugins.md +4 -0
- package/templates/project-claude/fragments/csr-supabase/skills.md +7 -0
- package/templates/project-claude/fragments/csr-supabase/stack.md +6 -0
- package/templates/project-claude/fragments/csr-supabase/supabase-auth.md +21 -0
- package/templates/project-claude/fragments/csr-supabase/tagline.md +1 -0
- package/templates/project-claude/fragments/csr-supabase/workflow.md +8 -0
- package/templates/project-claude/fragments/data/active-rules.md +10 -0
- package/templates/project-claude/fragments/data/agents.md +6 -0
- package/templates/project-claude/fragments/data/boundaries.md +20 -0
- package/templates/project-claude/fragments/data/commands.md +6 -0
- package/templates/project-claude/fragments/data/plugins.md +2 -0
- package/templates/project-claude/fragments/data/skills.md +3 -0
- package/templates/project-claude/fragments/data/stack.md +7 -0
- package/templates/project-claude/fragments/data/tagline.md +1 -0
- package/templates/project-claude/fragments/data/workflow.md +9 -0
- package/templates/project-claude/fragments/executive/active-rules.md +6 -0
- package/templates/project-claude/fragments/executive/agents.md +6 -0
- package/templates/project-claude/fragments/executive/boundaries.md +17 -0
- package/templates/project-claude/fragments/executive/commands.md +11 -0
- package/templates/project-claude/fragments/executive/plugins.md +1 -0
- package/templates/project-claude/fragments/executive/skills.md +7 -0
- package/templates/project-claude/fragments/executive/stack.md +4 -0
- package/templates/project-claude/fragments/executive/tagline.md +1 -0
- package/templates/project-claude/fragments/executive/workflow.md +10 -0
- package/templates/project-claude/fragments/growth-marketing/active-rules.md +7 -0
- package/templates/project-claude/fragments/growth-marketing/agents.md +6 -0
- package/templates/project-claude/fragments/growth-marketing/boundaries.md +17 -0
- package/templates/project-claude/fragments/growth-marketing/commands.md +11 -0
- package/templates/project-claude/fragments/growth-marketing/plugins.md +9 -0
- package/templates/project-claude/fragments/growth-marketing/skills.md +8 -0
- package/templates/project-claude/fragments/growth-marketing/stack.md +7 -0
- package/templates/project-claude/fragments/growth-marketing/tagline.md +1 -0
- package/templates/project-claude/fragments/growth-marketing/workflow.md +11 -0
- package/templates/project-claude/fragments/project-management/active-rules.md +7 -0
- package/templates/project-claude/fragments/project-management/agents.md +6 -0
- package/templates/project-claude/fragments/project-management/boundaries.md +16 -0
- package/templates/project-claude/fragments/project-management/commands.md +10 -0
- package/templates/project-claude/fragments/project-management/plugins.md +6 -0
- package/templates/project-claude/fragments/project-management/skills.md +5 -0
- package/templates/project-claude/fragments/project-management/stack.md +4 -0
- package/templates/project-claude/fragments/project-management/tagline.md +1 -0
- package/templates/project-claude/fragments/project-management/workflow.md +12 -0
- package/templates/project-claude/fragments/ssr-htmx/active-rules.md +11 -0
- package/templates/project-claude/fragments/ssr-htmx/agents.md +5 -0
- package/templates/project-claude/fragments/ssr-htmx/boundaries.md +20 -0
- package/templates/project-claude/fragments/ssr-htmx/commands.md +6 -0
- package/templates/project-claude/fragments/ssr-htmx/plugins.md +2 -0
- package/templates/project-claude/fragments/ssr-htmx/skills.md +3 -0
- package/templates/project-claude/fragments/ssr-htmx/stack.md +6 -0
- package/templates/project-claude/fragments/ssr-htmx/tagline.md +1 -0
- package/templates/project-claude/fragments/ssr-htmx/workflow.md +8 -0
- package/templates/project-claude/fragments/ssr-nextjs/active-rules.md +12 -0
- package/templates/project-claude/fragments/ssr-nextjs/agents.md +5 -0
- package/templates/project-claude/fragments/ssr-nextjs/boundaries.md +20 -0
- package/templates/project-claude/fragments/ssr-nextjs/commands.md +6 -0
- package/templates/project-claude/fragments/ssr-nextjs/plugins.md +2 -0
- package/templates/project-claude/fragments/ssr-nextjs/skills.md +5 -0
- package/templates/project-claude/fragments/ssr-nextjs/stack.md +5 -0
- package/templates/project-claude/fragments/ssr-nextjs/tagline.md +1 -0
- package/templates/project-claude/fragments/ssr-nextjs/workflow.md +8 -0
- package/templates/project-claude/fragments/tooling/active-rules.md +11 -0
- package/templates/project-claude/fragments/tooling/agents.md +5 -0
- package/templates/project-claude/fragments/tooling/boundaries.md +17 -0
- package/templates/project-claude/fragments/tooling/commands.md +4 -0
- package/templates/project-claude/fragments/tooling/skills.md +4 -0
- package/templates/project-claude/fragments/tooling/stack.md +5 -0
- package/templates/project-claude/fragments/tooling/tagline.md +1 -0
- package/templates/project-claude/fragments/tooling/workflow.md +5 -0
- package/templates/rules/api-contract.md +33 -0
- package/templates/rules/change-management.md +80 -0
- package/templates/rules/cli-development.md +39 -0
- package/templates/rules/code-style.md +23 -0
- package/templates/rules/data-analysis.md +61 -0
- package/templates/rules/database.md +29 -0
- package/templates/rules/design-workflow.md +17 -0
- package/templates/rules/error-handling.md +23 -0
- package/templates/rules/gates-taxonomy.md +21 -0
- package/templates/rules/git-policy.md +102 -0
- package/templates/rules/htmx.md +42 -0
- package/templates/rules/nextjs.md +35 -0
- package/templates/rules/playwright-launch.md +66 -0
- package/templates/rules/pyside6.md +59 -0
- package/templates/rules/shadcn.md +33 -0
- package/templates/rules/ship-checklist.md +24 -0
- package/templates/rules/tauri.md +40 -0
- package/templates/rules/test-policy.md +62 -0
- package/templates/settings.json +71 -0
- package/templates/skills/agent-introspection-debugging/SKILL.md +153 -0
- package/templates/skills/continuous-learning-v2/SKILL.md +365 -0
- package/templates/skills/continuous-learning-v2/config.json +8 -0
- package/templates/skills/continuous-learning-v2/hooks/observe.sh +428 -0
- package/templates/skills/continuous-learning-v2/scripts/detect-project.sh +228 -0
- package/templates/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
- package/templates/skills/deep-research/SKILL.md +155 -0
- package/templates/skills/deep-research/agents/openai.yaml +7 -0
- package/templates/skills/e2e-testing/SKILL.md +326 -0
- package/templates/skills/e2e-testing/agents/openai.yaml +7 -0
- package/templates/skills/eval-harness/SKILL.md +279 -0
- package/templates/skills/eval-harness/agents/openai.yaml +7 -0
- package/templates/skills/gh-issue-workflow/ISSUE.template.md +58 -0
- package/templates/skills/gh-issue-workflow/SKILL.md +184 -0
- package/templates/skills/investor-materials/SKILL.md +96 -0
- package/templates/skills/investor-outreach/SKILL.md +91 -0
- package/templates/skills/market-research/SKILL.md +75 -0
- package/templates/skills/market-research/agents/openai.yaml +7 -0
- package/templates/skills/nextjs-turbopack/SKILL.md +44 -0
- package/templates/skills/north-star/NORTH_STAR.template.md +114 -0
- package/templates/skills/north-star/SKILL.md +103 -0
- package/templates/skills/python-patterns/SKILL.md +750 -0
- package/templates/skills/python-testing/SKILL.md +816 -0
- package/templates/skills/spec-scaling/SKILL.md +89 -0
- package/templates/skills/strategic-compact/SKILL.md +131 -0
- package/templates/skills/strategic-compact/suggest-compact.sh +54 -0
- package/templates/skills/ui-visual-review/SKILL.md +154 -0
- package/templates/skills/verification-loop/SKILL.md +126 -0
- package/templates/skills/verification-loop/agents/openai.yaml +7 -0
- 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은 그 패턴을 도메인 비종속으로 일반화한 것.
|