aw-ecc 1.4.32 → 1.4.48
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 +1 -1
- package/.cursor/INSTALL.md +7 -5
- package/.cursor/hooks/adapter.js +41 -4
- package/.cursor/hooks/after-agent-response.js +62 -0
- package/.cursor/hooks/before-submit-prompt.js +7 -1
- package/.cursor/hooks/post-tool-use-failure.js +21 -0
- package/.cursor/hooks/post-tool-use.js +39 -0
- package/.cursor/hooks/shared/aw-phase-definitions.js +53 -0
- package/.cursor/hooks/shared/aw-phase-runner.js +3 -1
- package/.cursor/hooks/subagent-start.js +22 -4
- package/.cursor/hooks/subagent-stop.js +18 -1
- package/.cursor/hooks.json +23 -2
- package/.opencode/package.json +1 -1
- package/AGENTS.md +3 -3
- package/README.md +5 -5
- package/commands/adk.md +52 -0
- package/commands/build.md +22 -9
- package/commands/deploy.md +12 -0
- package/commands/execute.md +9 -0
- package/commands/feature.md +333 -0
- package/commands/investigate.md +18 -5
- package/commands/plan.md +23 -9
- package/commands/publish.md +65 -0
- package/commands/review.md +12 -0
- package/commands/ship.md +12 -0
- package/commands/test.md +12 -0
- package/commands/verify.md +9 -0
- package/hooks/hooks.json +36 -0
- package/manifests/install-components.json +8 -0
- package/manifests/install-modules.json +83 -0
- package/manifests/install-profiles.json +7 -0
- package/package.json +2 -2
- package/scripts/ci/validate-rules.js +51 -0
- package/scripts/cursor-aw-home/hooks.json +23 -2
- package/scripts/cursor-aw-hooks/adapter.js +41 -4
- package/scripts/cursor-aw-hooks/before-submit-prompt.js +7 -1
- package/scripts/hooks/aw-usage-commit-created.js +32 -0
- package/scripts/hooks/aw-usage-post-tool-use-failure.js +56 -0
- package/scripts/hooks/aw-usage-post-tool-use.js +242 -0
- package/scripts/hooks/aw-usage-prompt-submit.js +112 -0
- package/scripts/hooks/aw-usage-session-start.js +48 -0
- package/scripts/hooks/aw-usage-stop.js +182 -0
- package/scripts/hooks/aw-usage-telemetry-send.js +84 -0
- package/scripts/hooks/cost-tracker.js +3 -23
- package/scripts/hooks/shared/aw-phase-definitions.js +53 -0
- package/scripts/hooks/shared/aw-phase-runner.js +3 -1
- package/scripts/lib/aw-hook-contract.js +2 -2
- package/scripts/lib/aw-pricing.js +306 -0
- package/scripts/lib/aw-usage-telemetry.js +472 -0
- package/scripts/lib/codex-hook-config.js +8 -8
- package/scripts/lib/cursor-hook-config.js +25 -10
- package/scripts/lib/install-targets/cursor-project.js +3 -0
- package/scripts/lib/install-targets/helpers.js +20 -3
- package/skills/aw-adk/SKILL.md +317 -0
- package/skills/aw-adk/agents/analyzer.md +113 -0
- package/skills/aw-adk/agents/comparator.md +113 -0
- package/skills/aw-adk/agents/grader.md +115 -0
- package/skills/aw-adk/assets/eval_review.html +76 -0
- package/skills/aw-adk/eval-viewer/generate_review.py +164 -0
- package/skills/aw-adk/eval-viewer/viewer.html +181 -0
- package/skills/aw-adk/evals/eval-colocated-placement.md +84 -0
- package/skills/aw-adk/evals/eval-create-agent.md +90 -0
- package/skills/aw-adk/evals/eval-create-command.md +98 -0
- package/skills/aw-adk/evals/eval-create-eval.md +89 -0
- package/skills/aw-adk/evals/eval-create-rule.md +99 -0
- package/skills/aw-adk/evals/eval-create-skill.md +97 -0
- package/skills/aw-adk/evals/eval-delete-agent.md +79 -0
- package/skills/aw-adk/evals/eval-delete-command.md +89 -0
- package/skills/aw-adk/evals/eval-delete-rule.md +86 -0
- package/skills/aw-adk/evals/eval-delete-skill.md +90 -0
- package/skills/aw-adk/evals/eval-meta-eval-coverage.md +78 -0
- package/skills/aw-adk/evals/eval-meta-eval-determinism.md +81 -0
- package/skills/aw-adk/evals/eval-meta-eval-false-pass.md +81 -0
- package/skills/aw-adk/evals/eval-score-accuracy.md +95 -0
- package/skills/aw-adk/evals/eval-type-redirect.md +68 -0
- package/skills/aw-adk/evals/evals.json +96 -0
- package/skills/aw-adk/references/artifact-wiring.md +162 -0
- package/skills/aw-adk/references/cross-ide-mapping.md +71 -0
- package/skills/aw-adk/references/eval-placement-guide.md +183 -0
- package/skills/aw-adk/references/external-resources.md +75 -0
- package/skills/aw-adk/references/getting-started.md +66 -0
- package/skills/aw-adk/references/registry-structure.md +152 -0
- package/skills/aw-adk/references/rubric-agent.md +36 -0
- package/skills/aw-adk/references/rubric-command.md +36 -0
- package/skills/aw-adk/references/rubric-eval.md +36 -0
- package/skills/aw-adk/references/rubric-meta-eval.md +132 -0
- package/skills/aw-adk/references/rubric-rule.md +36 -0
- package/skills/aw-adk/references/rubric-skill.md +36 -0
- package/skills/aw-adk/references/schemas.md +222 -0
- package/skills/aw-adk/references/template-agent.md +251 -0
- package/skills/aw-adk/references/template-command.md +279 -0
- package/skills/aw-adk/references/template-eval.md +176 -0
- package/skills/aw-adk/references/template-rule.md +119 -0
- package/skills/aw-adk/references/template-skill.md +123 -0
- package/skills/aw-adk/references/type-classifier.md +98 -0
- package/skills/aw-adk/references/writing-good-agents.md +227 -0
- package/skills/aw-adk/references/writing-good-commands.md +258 -0
- package/skills/aw-adk/references/writing-good-evals.md +271 -0
- package/skills/aw-adk/references/writing-good-rules.md +214 -0
- package/skills/aw-adk/references/writing-good-skills.md +159 -0
- package/skills/aw-adk/scripts/aggregate-benchmark.py +190 -0
- package/skills/aw-adk/scripts/lint-artifact.sh +211 -0
- package/skills/aw-adk/scripts/score-artifact.sh +179 -0
- package/skills/aw-adk/scripts/trigger-eval.py +192 -0
- package/skills/aw-build/SKILL.md +19 -2
- package/skills/aw-deploy/SKILL.md +65 -3
- package/skills/aw-design/SKILL.md +156 -0
- package/skills/aw-design/references/highrise-tokens.md +394 -0
- package/skills/aw-design/references/micro-interactions.md +76 -0
- package/skills/aw-design/references/prompt-template.md +160 -0
- package/skills/aw-design/references/quality-checklist.md +70 -0
- package/skills/aw-design/references/self-review.md +497 -0
- package/skills/aw-design/references/stitch-workflow.md +127 -0
- package/skills/aw-feature/SKILL.md +293 -0
- package/skills/aw-investigate/SKILL.md +17 -0
- package/skills/aw-plan/SKILL.md +34 -3
- package/skills/aw-publish/SKILL.md +300 -0
- package/skills/aw-publish/evals/eval-confirmation-gate.md +60 -0
- package/skills/aw-publish/evals/eval-intent-detection.md +111 -0
- package/skills/aw-publish/evals/eval-push-modes.md +67 -0
- package/skills/aw-publish/evals/eval-rules-push.md +60 -0
- package/skills/aw-publish/evals/evals.json +29 -0
- package/skills/aw-publish/references/push-modes.md +38 -0
- package/skills/aw-review/SKILL.md +88 -9
- package/skills/aw-rules-review/SKILL.md +124 -0
- package/skills/aw-rules-review/agents/openai.yaml +3 -0
- package/skills/aw-rules-review/scripts/generate-review-template.mjs +323 -0
- package/skills/aw-ship/SKILL.md +16 -0
- package/skills/aw-spec/SKILL.md +15 -0
- package/skills/aw-tasks/SKILL.md +15 -0
- package/skills/aw-test/SKILL.md +16 -0
- package/skills/aw-yolo/SKILL.md +4 -0
- package/skills/diagnose/SKILL.md +121 -0
- package/skills/diagnose/scripts/hitl-loop.template.sh +41 -0
- package/skills/finish-only-when-green/SKILL.md +265 -0
- package/skills/grill-me/SKILL.md +24 -0
- package/skills/grill-with-docs/SKILL.md +92 -0
- package/skills/grill-with-docs/adr-format.md +47 -0
- package/skills/grill-with-docs/context-format.md +67 -0
- package/skills/improve-codebase-architecture/SKILL.md +75 -0
- package/skills/improve-codebase-architecture/deepening.md +37 -0
- package/skills/improve-codebase-architecture/interface-design.md +44 -0
- package/skills/improve-codebase-architecture/language.md +53 -0
- package/skills/local-ghl-setup-from-screenshot/SKILL.md +538 -0
- package/skills/tdd/SKILL.md +115 -0
- package/skills/tdd/deep-modules.md +33 -0
- package/skills/tdd/interface-design.md +31 -0
- package/skills/tdd/mocking.md +59 -0
- package/skills/tdd/refactoring.md +10 -0
- package/skills/tdd/tests.md +61 -0
- package/skills/to-issues/SKILL.md +62 -0
- package/skills/to-prd/SKILL.md +75 -0
- package/skills/using-aw-skills/SKILL.md +170 -237
- package/skills/using-aw-skills/hooks/session-start.sh +11 -41
- package/skills/zoom-out/SKILL.md +24 -0
- package/.codex/hooks/aw-post-tool-use.sh +0 -6
- package/.codex/hooks/aw-pre-tool-use.sh +0 -6
- package/.codex/hooks/aw-session-start.sh +0 -25
- package/.codex/hooks/aw-stop.sh +0 -6
- package/.codex/hooks/aw-user-prompt-submit.sh +0 -10
- package/.codex/hooks.json +0 -62
- package/.cursor/rules/common-agents.md +0 -53
- package/.cursor/rules/common-aw-routing.md +0 -43
- package/.cursor/rules/common-coding-style.md +0 -52
- package/.cursor/rules/common-development-workflow.md +0 -33
- package/.cursor/rules/common-git-workflow.md +0 -28
- package/.cursor/rules/common-hooks.md +0 -34
- package/.cursor/rules/common-patterns.md +0 -35
- package/.cursor/rules/common-performance.md +0 -59
- package/.cursor/rules/common-security.md +0 -33
- package/.cursor/rules/common-testing.md +0 -33
- package/.cursor/skills/api-and-interface-design/SKILL.md +0 -75
- package/.cursor/skills/article-writing/SKILL.md +0 -85
- package/.cursor/skills/aw-brainstorm/SKILL.md +0 -115
- package/.cursor/skills/aw-build/SKILL.md +0 -152
- package/.cursor/skills/aw-build/evals/build-stage-cases.json +0 -28
- package/.cursor/skills/aw-debug/SKILL.md +0 -49
- package/.cursor/skills/aw-deploy/SKILL.md +0 -101
- package/.cursor/skills/aw-deploy/evals/deploy-stage-cases.json +0 -32
- package/.cursor/skills/aw-execute/SKILL.md +0 -47
- package/.cursor/skills/aw-execute/references/mode-code.md +0 -47
- package/.cursor/skills/aw-execute/references/mode-docs.md +0 -28
- package/.cursor/skills/aw-execute/references/mode-infra.md +0 -44
- package/.cursor/skills/aw-execute/references/mode-migration.md +0 -58
- package/.cursor/skills/aw-execute/references/worker-implementer.md +0 -26
- package/.cursor/skills/aw-execute/references/worker-parallel-worker.md +0 -23
- package/.cursor/skills/aw-execute/references/worker-quality-reviewer.md +0 -23
- package/.cursor/skills/aw-execute/references/worker-spec-reviewer.md +0 -23
- package/.cursor/skills/aw-execute/scripts/build-worker-bundle.js +0 -229
- package/.cursor/skills/aw-finish/SKILL.md +0 -111
- package/.cursor/skills/aw-investigate/SKILL.md +0 -109
- package/.cursor/skills/aw-plan/SKILL.md +0 -368
- package/.cursor/skills/aw-prepare/SKILL.md +0 -118
- package/.cursor/skills/aw-review/SKILL.md +0 -118
- package/.cursor/skills/aw-ship/SKILL.md +0 -115
- package/.cursor/skills/aw-spec/SKILL.md +0 -104
- package/.cursor/skills/aw-tasks/SKILL.md +0 -138
- package/.cursor/skills/aw-test/SKILL.md +0 -118
- package/.cursor/skills/aw-verify/SKILL.md +0 -51
- package/.cursor/skills/aw-yolo/SKILL.md +0 -111
- package/.cursor/skills/browser-testing-with-devtools/SKILL.md +0 -81
- package/.cursor/skills/bun-runtime/SKILL.md +0 -84
- package/.cursor/skills/ci-cd-and-automation/SKILL.md +0 -71
- package/.cursor/skills/code-simplification/SKILL.md +0 -74
- package/.cursor/skills/content-engine/SKILL.md +0 -88
- package/.cursor/skills/context-engineering/SKILL.md +0 -74
- package/.cursor/skills/deprecation-and-migration/SKILL.md +0 -75
- package/.cursor/skills/documentation-and-adrs/SKILL.md +0 -75
- package/.cursor/skills/documentation-lookup/SKILL.md +0 -90
- package/.cursor/skills/frontend-slides/SKILL.md +0 -184
- package/.cursor/skills/frontend-slides/STYLE_PRESETS.md +0 -330
- package/.cursor/skills/frontend-ui-engineering/SKILL.md +0 -68
- package/.cursor/skills/git-workflow-and-versioning/SKILL.md +0 -75
- package/.cursor/skills/idea-refine/SKILL.md +0 -84
- package/.cursor/skills/incremental-implementation/SKILL.md +0 -75
- package/.cursor/skills/investor-materials/SKILL.md +0 -96
- package/.cursor/skills/investor-outreach/SKILL.md +0 -76
- package/.cursor/skills/market-research/SKILL.md +0 -75
- package/.cursor/skills/mcp-server-patterns/SKILL.md +0 -67
- package/.cursor/skills/nextjs-turbopack/SKILL.md +0 -44
- package/.cursor/skills/performance-optimization/SKILL.md +0 -77
- package/.cursor/skills/security-and-hardening/SKILL.md +0 -70
- package/.cursor/skills/using-aw-skills/SKILL.md +0 -290
- package/.cursor/skills/using-aw-skills/evals/skill-trigger-cases.tsv +0 -25
- package/.cursor/skills/using-aw-skills/evals/test-skill-triggers.sh +0 -171
- package/.cursor/skills/using-aw-skills/hooks/hooks.json +0 -9
- package/.cursor/skills/using-aw-skills/hooks/session-start.sh +0 -67
- package/.cursor/skills/using-platform-skills/SKILL.md +0 -163
- package/.cursor/skills/using-platform-skills/evals/platform-selection-cases.json +0 -52
- /package/.cursor/rules/{golang-coding-style.md → golang-coding-style.mdc} +0 -0
- /package/.cursor/rules/{golang-hooks.md → golang-hooks.mdc} +0 -0
- /package/.cursor/rules/{golang-patterns.md → golang-patterns.mdc} +0 -0
- /package/.cursor/rules/{golang-security.md → golang-security.mdc} +0 -0
- /package/.cursor/rules/{golang-testing.md → golang-testing.mdc} +0 -0
- /package/.cursor/rules/{kotlin-coding-style.md → kotlin-coding-style.mdc} +0 -0
- /package/.cursor/rules/{kotlin-hooks.md → kotlin-hooks.mdc} +0 -0
- /package/.cursor/rules/{kotlin-patterns.md → kotlin-patterns.mdc} +0 -0
- /package/.cursor/rules/{kotlin-security.md → kotlin-security.mdc} +0 -0
- /package/.cursor/rules/{kotlin-testing.md → kotlin-testing.mdc} +0 -0
- /package/.cursor/rules/{php-coding-style.md → php-coding-style.mdc} +0 -0
- /package/.cursor/rules/{php-hooks.md → php-hooks.mdc} +0 -0
- /package/.cursor/rules/{php-patterns.md → php-patterns.mdc} +0 -0
- /package/.cursor/rules/{php-security.md → php-security.mdc} +0 -0
- /package/.cursor/rules/{php-testing.md → php-testing.mdc} +0 -0
- /package/.cursor/rules/{python-coding-style.md → python-coding-style.mdc} +0 -0
- /package/.cursor/rules/{python-hooks.md → python-hooks.mdc} +0 -0
- /package/.cursor/rules/{python-patterns.md → python-patterns.mdc} +0 -0
- /package/.cursor/rules/{python-security.md → python-security.mdc} +0 -0
- /package/.cursor/rules/{python-testing.md → python-testing.mdc} +0 -0
- /package/.cursor/rules/{swift-coding-style.md → swift-coding-style.mdc} +0 -0
- /package/.cursor/rules/{swift-hooks.md → swift-hooks.mdc} +0 -0
- /package/.cursor/rules/{swift-patterns.md → swift-patterns.mdc} +0 -0
- /package/.cursor/rules/{swift-security.md → swift-security.mdc} +0 -0
- /package/.cursor/rules/{swift-testing.md → swift-testing.mdc} +0 -0
- /package/.cursor/rules/{typescript-coding-style.md → typescript-coding-style.mdc} +0 -0
- /package/.cursor/rules/{typescript-hooks.md → typescript-hooks.mdc} +0 -0
- /package/.cursor/rules/{typescript-patterns.md → typescript-patterns.mdc} +0 -0
- /package/.cursor/rules/{typescript-security.md → typescript-security.mdc} +0 -0
- /package/.cursor/rules/{typescript-testing.md → typescript-testing.mdc} +0 -0
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: git-workflow-and-versioning
|
|
3
|
-
description: Keeps work reviewable, reversible, and well-scoped. Use for any code change that needs branches, save points, commit hygiene, or parallel work isolation.
|
|
4
|
-
origin: ECC
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Git Workflow and Versioning
|
|
8
|
-
|
|
9
|
-
## Overview
|
|
10
|
-
|
|
11
|
-
Git is the safety system for fast-moving engineering work.
|
|
12
|
-
Treat branches as sandboxes, commits as save points, and history as operational documentation for humans, reviewers, and future agents.
|
|
13
|
-
|
|
14
|
-
## When to Use
|
|
15
|
-
|
|
16
|
-
- making any code, config, docs, or migration change
|
|
17
|
-
- deciding branch or worktree strategy
|
|
18
|
-
- choosing commit boundaries
|
|
19
|
-
- preparing changes for review or rollback
|
|
20
|
-
- organizing parallel agent or multi-slice work
|
|
21
|
-
|
|
22
|
-
**When NOT to use**
|
|
23
|
-
|
|
24
|
-
- only when no repository-backed change is being made at all
|
|
25
|
-
|
|
26
|
-
## Workflow
|
|
27
|
-
|
|
28
|
-
1. Start from the smallest isolated workspace that fits the change.
|
|
29
|
-
Prefer short-lived feature branches.
|
|
30
|
-
For parallel work or risky experiments, use worktrees instead of branch thrash.
|
|
31
|
-
2. Size the work before committing.
|
|
32
|
-
Break the change into logical slices that can be explained, reviewed, and reverted independently.
|
|
33
|
-
Use `../../references/git-save-points.md` when save-point discipline matters.
|
|
34
|
-
3. Commit each successful increment.
|
|
35
|
-
The pattern is:
|
|
36
|
-
implement slice -> verify slice -> commit slice.
|
|
37
|
-
Do not wait for one giant final commit.
|
|
38
|
-
4. Keep concerns separate.
|
|
39
|
-
Avoid mixing formatting, refactors, dependency churn, and feature behavior in the same commit unless they are inseparable.
|
|
40
|
-
Reviewable history is part of engineering quality.
|
|
41
|
-
5. Run pre-commit hygiene.
|
|
42
|
-
Check the staged diff, run the smallest relevant validation, and verify secrets or generated junk are not being committed.
|
|
43
|
-
6. Leave a scope map for the next human or agent.
|
|
44
|
-
Name:
|
|
45
|
-
- what changed
|
|
46
|
-
- what did not change
|
|
47
|
-
- what still needs follow-up
|
|
48
|
-
In AW flows, keep this aligned with the stage artifacts and change summaries.
|
|
49
|
-
|
|
50
|
-
## Common Rationalizations
|
|
51
|
-
|
|
52
|
-
| Rationalization | Reality |
|
|
53
|
-
|---|---|
|
|
54
|
-
| "I'll clean up the history later." | Messy history is harder to split and explain after the fact. |
|
|
55
|
-
| "One big commit is faster." | Giant commits are slower to review, debug, and revert. |
|
|
56
|
-
| "This cleanup can ride along with the feature." | Mixed concerns make scope, blame, and rollback harder. |
|
|
57
|
-
| "I don't need an isolated branch for a small change." | Isolation is cheap; accidental overlap is expensive. |
|
|
58
|
-
|
|
59
|
-
## Red Flags
|
|
60
|
-
|
|
61
|
-
- one commit mixes unrelated concerns
|
|
62
|
-
- the diff is too large to explain in one sentence
|
|
63
|
-
- no save point exists between meaningful slices
|
|
64
|
-
- generated output, secrets, or local-only noise are staged
|
|
65
|
-
- branch or worktree discipline is vague during multi-agent work
|
|
66
|
-
|
|
67
|
-
## Verification
|
|
68
|
-
|
|
69
|
-
After using git workflow discipline, confirm:
|
|
70
|
-
|
|
71
|
-
- [ ] the work is isolated in the right branch or worktree
|
|
72
|
-
- [ ] commit boundaries match real progress
|
|
73
|
-
- [ ] staged content excludes secrets and unrelated noise
|
|
74
|
-
- [ ] the history is reviewable and reversible
|
|
75
|
-
- [ ] the change summary makes scope boundaries explicit
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: idea-refine
|
|
3
|
-
description: Refines raw ideas into sharper, build-worthy directions. Use when a request starts as an idea, concept, or vague opportunity rather than an implementation-ready plan.
|
|
4
|
-
origin: ECC
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Idea Refine
|
|
8
|
-
|
|
9
|
-
## Overview
|
|
10
|
-
|
|
11
|
-
Refine ideas before turning them into specs.
|
|
12
|
-
This skill takes a raw concept, pressure-tests it, and turns it into a concrete direction with explicit assumptions, MVP scope, and a clear "not doing" list.
|
|
13
|
-
|
|
14
|
-
## When to Use
|
|
15
|
-
|
|
16
|
-
- the user has a raw product, feature, or workflow idea
|
|
17
|
-
- the request is still more concept than plan
|
|
18
|
-
- multiple possible directions exist and the tradeoffs are not obvious
|
|
19
|
-
- the team needs a sharper problem statement before `aw-plan`
|
|
20
|
-
|
|
21
|
-
**When NOT to use**
|
|
22
|
-
|
|
23
|
-
- the technical direction is already approved and the work is ready for `aw-plan`
|
|
24
|
-
- the task is really implementation, testing, or review rather than idea shaping
|
|
25
|
-
|
|
26
|
-
## Workflow
|
|
27
|
-
|
|
28
|
-
1. Restate the idea as a sharp problem.
|
|
29
|
-
Convert the raw concept into a crisp problem statement or "How Might We" framing.
|
|
30
|
-
The goal is to name who the work is for and what better outcome it creates.
|
|
31
|
-
2. Ask only the questions that change the direction.
|
|
32
|
-
Focus on:
|
|
33
|
-
- target user or operator
|
|
34
|
-
- success criteria
|
|
35
|
-
- real constraints
|
|
36
|
-
- timing or urgency
|
|
37
|
-
- what has already been tried
|
|
38
|
-
3. Generate a small set of meaningful directions.
|
|
39
|
-
Explore 3-5 distinct options instead of polishing the first instinct.
|
|
40
|
-
Use lenses like simplification, inversion, audience shift, or "what would make this 10x more valuable?"
|
|
41
|
-
4. Converge with pressure, not vibes.
|
|
42
|
-
Compare directions on:
|
|
43
|
-
- user value
|
|
44
|
-
- feasibility
|
|
45
|
-
- org fit and platform constraints
|
|
46
|
-
- differentiation
|
|
47
|
-
- rollout or maintenance risk
|
|
48
|
-
5. Surface the bet explicitly.
|
|
49
|
-
Name:
|
|
50
|
-
- key assumptions
|
|
51
|
-
- what could kill the idea
|
|
52
|
-
- MVP scope
|
|
53
|
-
- what we are intentionally not doing
|
|
54
|
-
6. Produce a one-pager that can move into planning.
|
|
55
|
-
The output should be easy to hand to `aw-plan` or `aw-brainstorm` without redoing the ideation.
|
|
56
|
-
In AW repos, keep this outcome inside planning artifacts or `state.json` instead of inventing a second artifact system.
|
|
57
|
-
|
|
58
|
-
## Common Rationalizations
|
|
59
|
-
|
|
60
|
-
| Rationalization | Reality |
|
|
61
|
-
|---|---|
|
|
62
|
-
| "We already know what to build." | If the problem statement and user are fuzzy, the plan will be fuzzy too. |
|
|
63
|
-
| "More ideas is always better." | A few meaningful directions beat a long list of shallow variants. |
|
|
64
|
-
| "We'll decide scope once we start building." | Scope discovered too late becomes rework and churn. |
|
|
65
|
-
| "Not doing lists are negative." | Explicitly saying no is what makes a direction buildable. |
|
|
66
|
-
|
|
67
|
-
## Red Flags
|
|
68
|
-
|
|
69
|
-
- the output jumps to implementation without clarifying user value
|
|
70
|
-
- only one direction is considered when real alternatives exist
|
|
71
|
-
- no assumptions or risks are surfaced
|
|
72
|
-
- the final direction has no MVP boundary or "not doing" list
|
|
73
|
-
- ideation silently turns into coding or detailed task planning
|
|
74
|
-
|
|
75
|
-
## Verification
|
|
76
|
-
|
|
77
|
-
After refining an idea, confirm:
|
|
78
|
-
|
|
79
|
-
- [ ] the problem statement is explicit
|
|
80
|
-
- [ ] the target user or operator and success criteria are named
|
|
81
|
-
- [ ] multiple viable directions were considered
|
|
82
|
-
- [ ] key assumptions and failure risks are visible
|
|
83
|
-
- [ ] MVP scope and "not doing" boundaries are clear
|
|
84
|
-
- [ ] the output is ready to feed `aw-plan` without restarting discovery
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: incremental-implementation
|
|
3
|
-
description: Delivers multi-file work in thin, reversible slices. Use when a change spans more than one file, when a task feels too large to land safely in one pass, or when rollback clarity matters.
|
|
4
|
-
origin: ECC
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Incremental Implementation
|
|
8
|
-
|
|
9
|
-
## Overview
|
|
10
|
-
|
|
11
|
-
Build in thin vertical slices.
|
|
12
|
-
Each slice should leave the system in a working, testable, reviewable state before the next one begins, but a passing slice is only a checkpoint until the approved build scope is complete.
|
|
13
|
-
|
|
14
|
-
## When to Use
|
|
15
|
-
|
|
16
|
-
- a change touches more than one file
|
|
17
|
-
- a feature is large enough to tempt one big patch
|
|
18
|
-
- a migration, UI change, or rollout-sensitive task needs safe checkpoints
|
|
19
|
-
- you want commit boundaries that reflect real progress
|
|
20
|
-
|
|
21
|
-
**When NOT to use**
|
|
22
|
-
|
|
23
|
-
- the work is already truly minimal and single-scope
|
|
24
|
-
- the next step is still unclear and needs planning or investigation first
|
|
25
|
-
|
|
26
|
-
## Workflow
|
|
27
|
-
|
|
28
|
-
1. Select the next smallest slice.
|
|
29
|
-
Start from approved scope.
|
|
30
|
-
Choose one user-visible behavior, one boundary change, or one safe infrastructure increment.
|
|
31
|
-
2. Define the proof for that slice.
|
|
32
|
-
Name the failing signal, acceptance check, or runtime evidence that will prove the slice is real.
|
|
33
|
-
3. Implement only that slice.
|
|
34
|
-
Avoid adjacent cleanup and hidden follow-on work.
|
|
35
|
-
Use `../../references/build-increments.md` when sizing or rollback shape is fuzzy.
|
|
36
|
-
4. Verify immediately.
|
|
37
|
-
Run the smallest relevant check:
|
|
38
|
-
- targeted test
|
|
39
|
-
- build or typecheck
|
|
40
|
-
- runtime/browser proof
|
|
41
|
-
- migration validation
|
|
42
|
-
5. Save the progress cleanly.
|
|
43
|
-
Use `../../references/git-save-points.md` when the work benefits from explicit commit discipline.
|
|
44
|
-
A good save point is small, passing, and easy to explain.
|
|
45
|
-
6. Decide whether to continue or hand off.
|
|
46
|
-
If more approved build slices remain, continue with the next slice.
|
|
47
|
-
If the approved build scope is complete and the next unsatisfied need is QA, review, or release work, stop and hand off.
|
|
48
|
-
Do not keep building just because speculative cleanup or unrelated improvements are possible.
|
|
49
|
-
|
|
50
|
-
## Common Rationalizations
|
|
51
|
-
|
|
52
|
-
| Rationalization | Reality |
|
|
53
|
-
|---|---|
|
|
54
|
-
| "I'll do the whole feature first, then test it." | Large unverified batches hide regressions and make rollback harder. |
|
|
55
|
-
| "This extra cleanup is basically free." | Scope creep weakens slice boundaries and review quality. |
|
|
56
|
-
| "I don't need a save point yet." | Save points matter most before the diff becomes hard to reason about. |
|
|
57
|
-
| "The slice is too small to be worth validating." | Small slices are exactly what make validation cheap and reliable. |
|
|
58
|
-
|
|
59
|
-
## Red Flags
|
|
60
|
-
|
|
61
|
-
- one slice changes multiple unrelated behaviors
|
|
62
|
-
- one passing slice is treated as the end of build even though approved build slices remain
|
|
63
|
-
- rollback is unclear after the latest patch
|
|
64
|
-
- tests are deferred instead of attached to the slice
|
|
65
|
-
- commit/save-point boundaries no longer match meaningful progress
|
|
66
|
-
|
|
67
|
-
## Verification
|
|
68
|
-
|
|
69
|
-
After each increment, confirm:
|
|
70
|
-
|
|
71
|
-
- [ ] the slice has one clear purpose
|
|
72
|
-
- [ ] the slice has current proof, not assumed proof
|
|
73
|
-
- [ ] the diff is still reversible and reviewable
|
|
74
|
-
- [ ] the next slice is either the next approved build step or an explicit handoff boundary
|
|
75
|
-
- [ ] save points reflect meaningful progress
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: investor-materials
|
|
3
|
-
description: Create and update pitch decks, one-pagers, investor memos, accelerator applications, financial models, and fundraising materials. Use when the user needs investor-facing documents, projections, use-of-funds tables, milestone plans, or materials that must stay internally consistent across multiple fundraising assets.
|
|
4
|
-
origin: ECC
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Investor Materials
|
|
8
|
-
|
|
9
|
-
Build investor-facing materials that are consistent, credible, and easy to defend.
|
|
10
|
-
|
|
11
|
-
## When to Activate
|
|
12
|
-
|
|
13
|
-
- creating or revising a pitch deck
|
|
14
|
-
- writing an investor memo or one-pager
|
|
15
|
-
- building a financial model, milestone plan, or use-of-funds table
|
|
16
|
-
- answering accelerator or incubator application questions
|
|
17
|
-
- aligning multiple fundraising docs around one source of truth
|
|
18
|
-
|
|
19
|
-
## Golden Rule
|
|
20
|
-
|
|
21
|
-
All investor materials must agree with each other.
|
|
22
|
-
|
|
23
|
-
Create or confirm a single source of truth before writing:
|
|
24
|
-
- traction metrics
|
|
25
|
-
- pricing and revenue assumptions
|
|
26
|
-
- raise size and instrument
|
|
27
|
-
- use of funds
|
|
28
|
-
- team bios and titles
|
|
29
|
-
- milestones and timelines
|
|
30
|
-
|
|
31
|
-
If conflicting numbers appear, stop and resolve them before drafting.
|
|
32
|
-
|
|
33
|
-
## Core Workflow
|
|
34
|
-
|
|
35
|
-
1. inventory the canonical facts
|
|
36
|
-
2. identify missing assumptions
|
|
37
|
-
3. choose the asset type
|
|
38
|
-
4. draft the asset with explicit logic
|
|
39
|
-
5. cross-check every number against the source of truth
|
|
40
|
-
|
|
41
|
-
## Asset Guidance
|
|
42
|
-
|
|
43
|
-
### Pitch Deck
|
|
44
|
-
Recommended flow:
|
|
45
|
-
1. company + wedge
|
|
46
|
-
2. problem
|
|
47
|
-
3. solution
|
|
48
|
-
4. product / demo
|
|
49
|
-
5. market
|
|
50
|
-
6. business model
|
|
51
|
-
7. traction
|
|
52
|
-
8. team
|
|
53
|
-
9. competition / differentiation
|
|
54
|
-
10. ask
|
|
55
|
-
11. use of funds / milestones
|
|
56
|
-
12. appendix
|
|
57
|
-
|
|
58
|
-
If the user wants a web-native deck, pair this skill with `frontend-slides`.
|
|
59
|
-
|
|
60
|
-
### One-Pager / Memo
|
|
61
|
-
- state what the company does in one clean sentence
|
|
62
|
-
- show why now
|
|
63
|
-
- include traction and proof points early
|
|
64
|
-
- make the ask precise
|
|
65
|
-
- keep claims easy to verify
|
|
66
|
-
|
|
67
|
-
### Financial Model
|
|
68
|
-
Include:
|
|
69
|
-
- explicit assumptions
|
|
70
|
-
- bear / base / bull cases when useful
|
|
71
|
-
- clean layer-by-layer revenue logic
|
|
72
|
-
- milestone-linked spending
|
|
73
|
-
- sensitivity analysis where the decision hinges on assumptions
|
|
74
|
-
|
|
75
|
-
### Accelerator Applications
|
|
76
|
-
- answer the exact question asked
|
|
77
|
-
- prioritize traction, insight, and team advantage
|
|
78
|
-
- avoid puffery
|
|
79
|
-
- keep internal metrics consistent with the deck and model
|
|
80
|
-
|
|
81
|
-
## Red Flags to Avoid
|
|
82
|
-
|
|
83
|
-
- unverifiable claims
|
|
84
|
-
- fuzzy market sizing without assumptions
|
|
85
|
-
- inconsistent team roles or titles
|
|
86
|
-
- revenue math that does not sum cleanly
|
|
87
|
-
- inflated certainty where assumptions are fragile
|
|
88
|
-
|
|
89
|
-
## Quality Gate
|
|
90
|
-
|
|
91
|
-
Before delivering:
|
|
92
|
-
- every number matches the current source of truth
|
|
93
|
-
- use of funds and revenue layers sum correctly
|
|
94
|
-
- assumptions are visible, not buried
|
|
95
|
-
- the story is clear without hype language
|
|
96
|
-
- the final asset is defensible in a partner meeting
|
|
@@ -1,76 +0,0 @@
|
|
|
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, personalized, 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, not adjectives.
|
|
24
|
-
4. Stay concise.
|
|
25
|
-
5. Never send generic copy that could go to any investor.
|
|
26
|
-
|
|
27
|
-
## Cold Email Structure
|
|
28
|
-
|
|
29
|
-
1. subject line: short and specific
|
|
30
|
-
2. opener: why this investor specifically
|
|
31
|
-
3. pitch: what the company does, why now, what proof matters
|
|
32
|
-
4. ask: one concrete next step
|
|
33
|
-
5. sign-off: name, role, one credibility anchor if needed
|
|
34
|
-
|
|
35
|
-
## Personalization Sources
|
|
36
|
-
|
|
37
|
-
Reference one or more of:
|
|
38
|
-
- relevant portfolio companies
|
|
39
|
-
- a public thesis, talk, post, or article
|
|
40
|
-
- a mutual connection
|
|
41
|
-
- a clear market or product fit with the investor's focus
|
|
42
|
-
|
|
43
|
-
If that context is missing, ask for it or state that the draft is a template awaiting personalization.
|
|
44
|
-
|
|
45
|
-
## Follow-Up Cadence
|
|
46
|
-
|
|
47
|
-
Default:
|
|
48
|
-
- day 0: initial outbound
|
|
49
|
-
- day 4-5: short follow-up with one new data point
|
|
50
|
-
- day 10-12: final follow-up with a clean close
|
|
51
|
-
|
|
52
|
-
Do not keep nudging after that unless the user wants a longer sequence.
|
|
53
|
-
|
|
54
|
-
## Warm Intro Requests
|
|
55
|
-
|
|
56
|
-
Make life easy for the connector:
|
|
57
|
-
- explain why the intro is a fit
|
|
58
|
-
- include a forwardable blurb
|
|
59
|
-
- keep the forwardable blurb under 100 words
|
|
60
|
-
|
|
61
|
-
## Post-Meeting Updates
|
|
62
|
-
|
|
63
|
-
Include:
|
|
64
|
-
- the specific thing discussed
|
|
65
|
-
- the answer or update promised
|
|
66
|
-
- one new proof point if available
|
|
67
|
-
- the next step
|
|
68
|
-
|
|
69
|
-
## Quality Gate
|
|
70
|
-
|
|
71
|
-
Before delivering:
|
|
72
|
-
- message is personalized
|
|
73
|
-
- the ask is explicit
|
|
74
|
-
- there is no fluff or begging language
|
|
75
|
-
- the proof point is concrete
|
|
76
|
-
- word count stays tight
|
|
@@ -1,75 +0,0 @@
|
|
|
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
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: mcp-server-patterns
|
|
3
|
-
description: Build MCP servers with Node/TypeScript SDK — tools, resources, prompts, Zod validation, stdio vs Streamable HTTP. Use Context7 or official MCP docs for latest API.
|
|
4
|
-
origin: ECC
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# MCP Server Patterns
|
|
8
|
-
|
|
9
|
-
The Model Context Protocol (MCP) lets AI assistants call tools, read resources, and use prompts from your server. Use this skill when building or maintaining MCP servers. The SDK API evolves; check Context7 (query-docs for "MCP") or the official MCP documentation for current method names and signatures.
|
|
10
|
-
|
|
11
|
-
## When to Use
|
|
12
|
-
|
|
13
|
-
Use when: implementing a new MCP server, adding tools or resources, choosing stdio vs HTTP, upgrading the SDK, or debugging MCP registration and transport issues.
|
|
14
|
-
|
|
15
|
-
## How It Works
|
|
16
|
-
|
|
17
|
-
### Core concepts
|
|
18
|
-
|
|
19
|
-
- **Tools**: Actions the model can invoke (e.g. search, run a command). Register with `registerTool()` or `tool()` depending on SDK version.
|
|
20
|
-
- **Resources**: Read-only data the model can fetch (e.g. file contents, API responses). Register with `registerResource()` or `resource()`. Handlers typically receive a `uri` argument.
|
|
21
|
-
- **Prompts**: Reusable, parameterised prompt templates the client can surface (e.g. in Claude Desktop). Register with `registerPrompt()` or equivalent.
|
|
22
|
-
- **Transport**: stdio for local clients (e.g. Claude Desktop); Streamable HTTP is preferred for remote (Cursor, cloud). Legacy HTTP/SSE is for backward compatibility.
|
|
23
|
-
|
|
24
|
-
The Node/TypeScript SDK may expose `tool()` / `resource()` or `registerTool()` / `registerResource()`; the official SDK has changed over time. Always verify against the current [MCP docs](https://modelcontextprotocol.io) or Context7.
|
|
25
|
-
|
|
26
|
-
### Connecting with stdio
|
|
27
|
-
|
|
28
|
-
For local clients, create a stdio transport and pass it to your server’s connect method. The exact API varies by SDK version (e.g. constructor vs factory). See the official MCP documentation or query Context7 for "MCP stdio server" for the current pattern.
|
|
29
|
-
|
|
30
|
-
Keep server logic (tools + resources) independent of transport so you can plug in stdio or HTTP in the entrypoint.
|
|
31
|
-
|
|
32
|
-
### Remote (Streamable HTTP)
|
|
33
|
-
|
|
34
|
-
For Cursor, cloud, or other remote clients, use **Streamable HTTP** (single MCP HTTP endpoint per current spec). Support legacy HTTP/SSE only when backward compatibility is required.
|
|
35
|
-
|
|
36
|
-
## Examples
|
|
37
|
-
|
|
38
|
-
### Install and server setup
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
npm install @modelcontextprotocol/sdk zod
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
```typescript
|
|
45
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
46
|
-
import { z } from "zod";
|
|
47
|
-
|
|
48
|
-
const server = new McpServer({ name: "my-server", version: "1.0.0" });
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Register tools and resources using the API your SDK version provides: some versions use `server.tool(name, description, schema, handler)` (positional args), others use `server.tool({ name, description, inputSchema }, handler)` or `registerTool()`. Same for resources — include a `uri` in the handler when the API provides it. Check the official MCP docs or Context7 for the current `@modelcontextprotocol/sdk` signatures to avoid copy-paste errors.
|
|
52
|
-
|
|
53
|
-
Use **Zod** (or the SDK’s preferred schema format) for input validation.
|
|
54
|
-
|
|
55
|
-
## Best Practices
|
|
56
|
-
|
|
57
|
-
- **Schema first**: Define input schemas for every tool; document parameters and return shape.
|
|
58
|
-
- **Errors**: Return structured errors or messages the model can interpret; avoid raw stack traces.
|
|
59
|
-
- **Idempotency**: Prefer idempotent tools where possible so retries are safe.
|
|
60
|
-
- **Rate and cost**: For tools that call external APIs, consider rate limits and cost; document in the tool description.
|
|
61
|
-
- **Versioning**: Pin SDK version in package.json; check release notes when upgrading.
|
|
62
|
-
|
|
63
|
-
## Official SDKs and Docs
|
|
64
|
-
|
|
65
|
-
- **JavaScript/TypeScript**: `@modelcontextprotocol/sdk` (npm). Use Context7 with library name "MCP" for current registration and transport patterns.
|
|
66
|
-
- **Go**: Official Go SDK on GitHub (`modelcontextprotocol/go-sdk`).
|
|
67
|
-
- **C#**: Official C# SDK for .NET.
|
|
@@ -1,44 +0,0 @@
|
|
|
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.
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: performance-optimization
|
|
3
|
-
description: Optimizes performance with a measure-first workflow. Use when performance requirements exist, when regressions are suspected, or when user-visible speed and efficiency matter.
|
|
4
|
-
origin: ECC
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Performance Optimization
|
|
8
|
-
|
|
9
|
-
## Overview
|
|
10
|
-
|
|
11
|
-
Measure first, optimize second.
|
|
12
|
-
Performance work should improve a real bottleneck, not just produce clever code.
|
|
13
|
-
|
|
14
|
-
## When to Use
|
|
15
|
-
|
|
16
|
-
- a feature has explicit performance budgets or SLAs
|
|
17
|
-
- users or monitoring report slow behavior
|
|
18
|
-
- Core Web Vitals or endpoint timings are regressing
|
|
19
|
-
- large datasets, hot paths, or expensive rendering are involved
|
|
20
|
-
- review identifies likely performance risk that needs proof
|
|
21
|
-
|
|
22
|
-
**When NOT to use**
|
|
23
|
-
|
|
24
|
-
- there is no measurement and no evidence of a problem
|
|
25
|
-
- the "optimization" is really a speculative rewrite
|
|
26
|
-
|
|
27
|
-
## Workflow
|
|
28
|
-
|
|
29
|
-
1. Choose the performance goal.
|
|
30
|
-
Name the metric that matters:
|
|
31
|
-
- browser responsiveness
|
|
32
|
-
- Core Web Vitals
|
|
33
|
-
- API latency
|
|
34
|
-
- query efficiency
|
|
35
|
-
- throughput or batch time
|
|
36
|
-
2. Establish a baseline.
|
|
37
|
-
Use `../../references/performance-checklist.md`.
|
|
38
|
-
Capture the current measurement before touching code.
|
|
39
|
-
3. Localize the bottleneck.
|
|
40
|
-
Identify whether the cost is in:
|
|
41
|
-
- network
|
|
42
|
-
- rendering
|
|
43
|
-
- computation
|
|
44
|
-
- data access
|
|
45
|
-
- bundle or startup cost
|
|
46
|
-
4. Apply the smallest meaningful fix.
|
|
47
|
-
Optimize the proven bottleneck, not the whole subsystem.
|
|
48
|
-
5. Measure again.
|
|
49
|
-
Confirm the change improved the chosen metric and did not create a regression elsewhere.
|
|
50
|
-
6. Guard the gain.
|
|
51
|
-
Add follow-up monitoring, benchmark expectations, or review notes so the regression is less likely to return.
|
|
52
|
-
|
|
53
|
-
## Common Rationalizations
|
|
54
|
-
|
|
55
|
-
| Rationalization | Reality |
|
|
56
|
-
|---|---|
|
|
57
|
-
| "This looks slow, so I'll optimize it now." | Visual intuition is not measurement. |
|
|
58
|
-
| "I'll rewrite it for performance just in case." | Premature optimization adds complexity and often misses the real bottleneck. |
|
|
59
|
-
| "A micro-optimization is better than no optimization." | Small cleverness is noise if the dominant cost lives elsewhere. |
|
|
60
|
-
| "The benchmark is enough; user experience will follow." | Good optimization improves the metric that matters to the user or operator, not just the easiest one to measure. |
|
|
61
|
-
|
|
62
|
-
## Red Flags
|
|
63
|
-
|
|
64
|
-
- no baseline exists before code changes
|
|
65
|
-
- the optimization changes multiple subsystems at once
|
|
66
|
-
- claimed improvements are not measured after the fix
|
|
67
|
-
- the new code is much harder to maintain for marginal gain
|
|
68
|
-
|
|
69
|
-
## Verification
|
|
70
|
-
|
|
71
|
-
After optimizing, confirm:
|
|
72
|
-
|
|
73
|
-
- [ ] the target metric was explicit
|
|
74
|
-
- [ ] a before/after measurement exists
|
|
75
|
-
- [ ] the fix targeted the actual bottleneck
|
|
76
|
-
- [ ] no obvious regression was introduced elsewhere
|
|
77
|
-
- [ ] the performance gain is documented in a form reviewers can verify
|