aw-ecc 1.4.21
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/.agents/skills/api-design/SKILL.md +523 -0
- package/.agents/skills/api-design/agents/openai.yaml +7 -0
- package/.agents/skills/article-writing/SKILL.md +85 -0
- package/.agents/skills/article-writing/agents/openai.yaml +7 -0
- package/.agents/skills/backend-patterns/SKILL.md +598 -0
- package/.agents/skills/backend-patterns/agents/openai.yaml +7 -0
- package/.agents/skills/bun-runtime/SKILL.md +84 -0
- package/.agents/skills/bun-runtime/agents/openai.yaml +7 -0
- package/.agents/skills/claude-api/SKILL.md +337 -0
- package/.agents/skills/claude-api/agents/openai.yaml +7 -0
- package/.agents/skills/coding-standards/SKILL.md +530 -0
- package/.agents/skills/coding-standards/agents/openai.yaml +7 -0
- package/.agents/skills/content-engine/SKILL.md +88 -0
- package/.agents/skills/content-engine/agents/openai.yaml +7 -0
- package/.agents/skills/crosspost/SKILL.md +188 -0
- package/.agents/skills/crosspost/agents/openai.yaml +7 -0
- package/.agents/skills/deep-research/SKILL.md +155 -0
- package/.agents/skills/deep-research/agents/openai.yaml +7 -0
- package/.agents/skills/dmux-workflows/SKILL.md +144 -0
- package/.agents/skills/dmux-workflows/agents/openai.yaml +7 -0
- package/.agents/skills/documentation-lookup/SKILL.md +90 -0
- package/.agents/skills/documentation-lookup/agents/openai.yaml +7 -0
- package/.agents/skills/e2e-testing/SKILL.md +326 -0
- package/.agents/skills/e2e-testing/agents/openai.yaml +7 -0
- package/.agents/skills/eval-harness/SKILL.md +236 -0
- package/.agents/skills/eval-harness/agents/openai.yaml +7 -0
- package/.agents/skills/everything-claude-code/SKILL.md +442 -0
- package/.agents/skills/everything-claude-code/agents/openai.yaml +6 -0
- package/.agents/skills/exa-search/SKILL.md +170 -0
- package/.agents/skills/exa-search/agents/openai.yaml +7 -0
- package/.agents/skills/fal-ai-media/SKILL.md +277 -0
- package/.agents/skills/fal-ai-media/agents/openai.yaml +7 -0
- package/.agents/skills/frontend-patterns/SKILL.md +642 -0
- package/.agents/skills/frontend-patterns/agents/openai.yaml +7 -0
- package/.agents/skills/frontend-slides/SKILL.md +184 -0
- package/.agents/skills/frontend-slides/STYLE_PRESETS.md +330 -0
- package/.agents/skills/frontend-slides/agents/openai.yaml +7 -0
- package/.agents/skills/investor-materials/SKILL.md +96 -0
- package/.agents/skills/investor-materials/agents/openai.yaml +7 -0
- package/.agents/skills/investor-outreach/SKILL.md +76 -0
- package/.agents/skills/investor-outreach/agents/openai.yaml +7 -0
- package/.agents/skills/market-research/SKILL.md +75 -0
- package/.agents/skills/market-research/agents/openai.yaml +7 -0
- package/.agents/skills/mcp-server-patterns/SKILL.md +67 -0
- package/.agents/skills/nextjs-turbopack/SKILL.md +44 -0
- package/.agents/skills/nextjs-turbopack/agents/openai.yaml +7 -0
- package/.agents/skills/security-review/SKILL.md +495 -0
- package/.agents/skills/security-review/agents/openai.yaml +7 -0
- package/.agents/skills/strategic-compact/SKILL.md +103 -0
- package/.agents/skills/strategic-compact/agents/openai.yaml +7 -0
- package/.agents/skills/tdd-workflow/SKILL.md +410 -0
- package/.agents/skills/tdd-workflow/agents/openai.yaml +7 -0
- package/.agents/skills/verification-loop/SKILL.md +126 -0
- package/.agents/skills/verification-loop/agents/openai.yaml +7 -0
- package/.agents/skills/video-editing/SKILL.md +308 -0
- package/.agents/skills/video-editing/agents/openai.yaml +7 -0
- package/.agents/skills/x-api/SKILL.md +214 -0
- package/.agents/skills/x-api/agents/openai.yaml +7 -0
- package/.claude-plugin/README.md +17 -0
- package/.claude-plugin/plugin.json +24 -0
- package/.codex/AGENTS.md +93 -0
- package/.codex/INSTALL.md +64 -0
- package/.codex/agents/docs-researcher.toml +9 -0
- package/.codex/agents/explorer.toml +9 -0
- package/.codex/agents/reviewer.toml +9 -0
- package/.codex/config.toml +108 -0
- package/.codex/hooks/aw-post-tool-use.sh +5 -0
- package/.codex/hooks/aw-pre-tool-use.sh +5 -0
- package/.codex/hooks/aw-session-start.sh +21 -0
- package/.codex/hooks/aw-stop.sh +5 -0
- package/.codex/hooks/aw-user-prompt-submit.sh +9 -0
- package/.codex/hooks.json +62 -0
- package/.cursor/INSTALL.md +40 -0
- package/.cursor/hooks/adapter.js +120 -0
- package/.cursor/hooks/after-file-edit.js +11 -0
- package/.cursor/hooks/after-mcp-execution.js +11 -0
- package/.cursor/hooks/after-shell-execution.js +11 -0
- package/.cursor/hooks/after-tab-file-edit.js +12 -0
- package/.cursor/hooks/aw-phase-adapter.js +43 -0
- package/.cursor/hooks/before-mcp-execution.js +11 -0
- package/.cursor/hooks/before-read-file.js +13 -0
- package/.cursor/hooks/before-shell-execution.js +11 -0
- package/.cursor/hooks/before-submit-prompt.js +41 -0
- package/.cursor/hooks/before-tab-file-read.js +13 -0
- package/.cursor/hooks/pre-compact.js +11 -0
- package/.cursor/hooks/session-end.js +11 -0
- package/.cursor/hooks/session-start.js +11 -0
- package/.cursor/hooks/shared/aw-phase-definitions.js +190 -0
- package/.cursor/hooks/shared/aw-phase-runner.js +61 -0
- package/.cursor/hooks/shared/session-start.sh +20 -0
- package/.cursor/hooks/shared/user-prompt-submit.sh +155 -0
- package/.cursor/hooks/stop.js +11 -0
- package/.cursor/hooks/subagent-start.js +10 -0
- package/.cursor/hooks/subagent-stop.js +10 -0
- package/.cursor/hooks.json +115 -0
- package/.cursor/rules/common-agents.md +53 -0
- package/.cursor/rules/common-coding-style.md +52 -0
- package/.cursor/rules/common-development-workflow.md +33 -0
- package/.cursor/rules/common-git-workflow.md +28 -0
- package/.cursor/rules/common-hooks.md +34 -0
- package/.cursor/rules/common-patterns.md +35 -0
- package/.cursor/rules/common-performance.md +59 -0
- package/.cursor/rules/common-security.md +33 -0
- package/.cursor/rules/common-testing.md +33 -0
- package/.cursor/rules/golang-coding-style.md +31 -0
- package/.cursor/rules/golang-hooks.md +16 -0
- package/.cursor/rules/golang-patterns.md +44 -0
- package/.cursor/rules/golang-security.md +33 -0
- package/.cursor/rules/golang-testing.md +30 -0
- package/.cursor/rules/kotlin-coding-style.md +39 -0
- package/.cursor/rules/kotlin-hooks.md +16 -0
- package/.cursor/rules/kotlin-patterns.md +50 -0
- package/.cursor/rules/kotlin-security.md +58 -0
- package/.cursor/rules/kotlin-testing.md +38 -0
- package/.cursor/rules/php-coding-style.md +25 -0
- package/.cursor/rules/php-hooks.md +21 -0
- package/.cursor/rules/php-patterns.md +23 -0
- package/.cursor/rules/php-security.md +24 -0
- package/.cursor/rules/php-testing.md +26 -0
- package/.cursor/rules/python-coding-style.md +42 -0
- package/.cursor/rules/python-hooks.md +19 -0
- package/.cursor/rules/python-patterns.md +39 -0
- package/.cursor/rules/python-security.md +30 -0
- package/.cursor/rules/python-testing.md +38 -0
- package/.cursor/rules/swift-coding-style.md +47 -0
- package/.cursor/rules/swift-hooks.md +20 -0
- package/.cursor/rules/swift-patterns.md +66 -0
- package/.cursor/rules/swift-security.md +33 -0
- package/.cursor/rules/swift-testing.md +45 -0
- package/.cursor/rules/typescript-coding-style.md +63 -0
- package/.cursor/rules/typescript-hooks.md +20 -0
- package/.cursor/rules/typescript-patterns.md +50 -0
- package/.cursor/rules/typescript-security.md +26 -0
- package/.cursor/rules/typescript-testing.md +16 -0
- package/.cursor/skills/article-writing/SKILL.md +85 -0
- package/.cursor/skills/bun-runtime/SKILL.md +84 -0
- package/.cursor/skills/content-engine/SKILL.md +88 -0
- package/.cursor/skills/documentation-lookup/SKILL.md +90 -0
- package/.cursor/skills/frontend-slides/SKILL.md +184 -0
- package/.cursor/skills/frontend-slides/STYLE_PRESETS.md +330 -0
- package/.cursor/skills/investor-materials/SKILL.md +96 -0
- package/.cursor/skills/investor-outreach/SKILL.md +76 -0
- package/.cursor/skills/market-research/SKILL.md +75 -0
- package/.cursor/skills/mcp-server-patterns/SKILL.md +67 -0
- package/.cursor/skills/nextjs-turbopack/SKILL.md +44 -0
- package/.opencode/MIGRATION.md +368 -0
- package/.opencode/README.md +204 -0
- package/.opencode/commands/build-fix.md +56 -0
- package/.opencode/commands/checkpoint.md +67 -0
- package/.opencode/commands/code-review.md +68 -0
- package/.opencode/commands/e2e.md +105 -0
- package/.opencode/commands/eval.md +88 -0
- package/.opencode/commands/evolve.md +36 -0
- package/.opencode/commands/go-build.md +87 -0
- package/.opencode/commands/go-review.md +71 -0
- package/.opencode/commands/go-test.md +131 -0
- package/.opencode/commands/harness-audit.md +71 -0
- package/.opencode/commands/instinct-export.md +93 -0
- package/.opencode/commands/instinct-import.md +88 -0
- package/.opencode/commands/instinct-status.md +29 -0
- package/.opencode/commands/learn.md +61 -0
- package/.opencode/commands/loop-start.md +32 -0
- package/.opencode/commands/loop-status.md +24 -0
- package/.opencode/commands/model-route.md +26 -0
- package/.opencode/commands/orchestrate.md +88 -0
- package/.opencode/commands/plan.md +49 -0
- package/.opencode/commands/projects.md +23 -0
- package/.opencode/commands/promote.md +23 -0
- package/.opencode/commands/quality-gate.md +29 -0
- package/.opencode/commands/refactor-clean.md +102 -0
- package/.opencode/commands/rust-build.md +78 -0
- package/.opencode/commands/rust-review.md +65 -0
- package/.opencode/commands/rust-test.md +104 -0
- package/.opencode/commands/security.md +89 -0
- package/.opencode/commands/setup-pm.md +67 -0
- package/.opencode/commands/skill-create.md +117 -0
- package/.opencode/commands/tdd.md +66 -0
- package/.opencode/commands/test-coverage.md +80 -0
- package/.opencode/commands/update-codemaps.md +81 -0
- package/.opencode/commands/update-docs.md +67 -0
- package/.opencode/commands/verify.md +67 -0
- package/.opencode/index.ts +79 -0
- package/.opencode/instructions/INSTRUCTIONS.md +337 -0
- package/.opencode/opencode.json +319 -0
- package/.opencode/package.json +70 -0
- package/.opencode/plugins/ecc-hooks.ts +455 -0
- package/.opencode/plugins/index.ts +12 -0
- package/.opencode/prompts/agents/architect.txt +175 -0
- package/.opencode/prompts/agents/build-error-resolver.txt +233 -0
- package/.opencode/prompts/agents/code-reviewer.txt +103 -0
- package/.opencode/prompts/agents/database-reviewer.txt +247 -0
- package/.opencode/prompts/agents/doc-updater.txt +192 -0
- package/.opencode/prompts/agents/e2e-runner.txt +305 -0
- package/.opencode/prompts/agents/go-build-resolver.txt +325 -0
- package/.opencode/prompts/agents/go-reviewer.txt +241 -0
- package/.opencode/prompts/agents/planner.txt +112 -0
- package/.opencode/prompts/agents/refactor-cleaner.txt +241 -0
- package/.opencode/prompts/agents/rust-build-resolver.txt +93 -0
- package/.opencode/prompts/agents/rust-reviewer.txt +61 -0
- package/.opencode/prompts/agents/security-reviewer.txt +207 -0
- package/.opencode/prompts/agents/tdd-guide.txt +211 -0
- package/.opencode/tools/check-coverage.ts +170 -0
- package/.opencode/tools/format-code.ts +68 -0
- package/.opencode/tools/git-summary.ts +54 -0
- package/.opencode/tools/index.ts +13 -0
- package/.opencode/tools/lint-check.ts +85 -0
- package/.opencode/tools/run-tests.ts +139 -0
- package/.opencode/tools/security-audit.ts +277 -0
- package/.opencode/tsconfig.json +29 -0
- package/AGENTS.md +124 -0
- package/LICENSE +21 -0
- package/README.md +146 -0
- package/README.zh-CN.md +552 -0
- package/agents/architect.md +211 -0
- package/agents/build-error-resolver.md +114 -0
- package/agents/chief-of-staff.md +151 -0
- package/agents/code-reviewer.md +237 -0
- package/agents/cpp-build-resolver.md +90 -0
- package/agents/cpp-reviewer.md +72 -0
- package/agents/database-reviewer.md +91 -0
- package/agents/doc-updater.md +107 -0
- package/agents/docs-lookup.md +68 -0
- package/agents/e2e-runner.md +107 -0
- package/agents/evals/code-reviewer-scenarios.json +23 -0
- package/agents/flutter-reviewer.md +243 -0
- package/agents/go-build-resolver.md +94 -0
- package/agents/go-reviewer.md +76 -0
- package/agents/harness-optimizer.md +35 -0
- package/agents/java-build-resolver.md +153 -0
- package/agents/java-reviewer.md +92 -0
- package/agents/kotlin-build-resolver.md +118 -0
- package/agents/kotlin-reviewer.md +159 -0
- package/agents/loop-operator.md +36 -0
- package/agents/planner.md +212 -0
- package/agents/python-reviewer.md +98 -0
- package/agents/pytorch-build-resolver.md +120 -0
- package/agents/refactor-cleaner.md +85 -0
- package/agents/rust-build-resolver.md +148 -0
- package/agents/rust-reviewer.md +94 -0
- package/agents/security-reviewer.md +108 -0
- package/agents/tdd-guide.md +91 -0
- package/agents/typescript-reviewer.md +112 -0
- package/commands/aside.md +164 -0
- package/commands/brainstorm.md +16 -0
- package/commands/build-fix.md +70 -0
- package/commands/build.md +91 -0
- package/commands/checkpoint.md +74 -0
- package/commands/claw.md +51 -0
- package/commands/code-review.md +24 -0
- package/commands/context-budget.md +29 -0
- package/commands/cpp-build.md +174 -0
- package/commands/cpp-review.md +132 -0
- package/commands/cpp-test.md +252 -0
- package/commands/deploy.md +75 -0
- package/commands/devfleet.md +92 -0
- package/commands/docs.md +31 -0
- package/commands/e2e.md +373 -0
- package/commands/eval.md +120 -0
- package/commands/evolve.md +178 -0
- package/commands/execute.md +51 -0
- package/commands/finish.md +22 -0
- package/commands/go-build.md +184 -0
- package/commands/go-review.md +148 -0
- package/commands/go-test.md +269 -0
- package/commands/gradle-build.md +70 -0
- package/commands/harness-audit.md +71 -0
- package/commands/instinct-export.md +66 -0
- package/commands/instinct-import.md +114 -0
- package/commands/instinct-status.md +59 -0
- package/commands/investigate.md +63 -0
- package/commands/kotlin-build.md +175 -0
- package/commands/kotlin-review.md +140 -0
- package/commands/kotlin-test.md +313 -0
- package/commands/learn-eval.md +116 -0
- package/commands/learn.md +70 -0
- package/commands/loop-start.md +32 -0
- package/commands/loop-status.md +24 -0
- package/commands/model-route.md +26 -0
- package/commands/multi-backend.md +166 -0
- package/commands/multi-execute.md +324 -0
- package/commands/multi-frontend.md +165 -0
- package/commands/multi-plan.md +277 -0
- package/commands/multi-workflow.md +200 -0
- package/commands/orchestrate.md +240 -0
- package/commands/plan.md +130 -0
- package/commands/pm2.md +272 -0
- package/commands/projects.md +39 -0
- package/commands/promote.md +41 -0
- package/commands/prompt-optimize.md +38 -0
- package/commands/prune.md +31 -0
- package/commands/python-review.md +297 -0
- package/commands/quality-gate.md +29 -0
- package/commands/refactor-clean.md +89 -0
- package/commands/resume-session.md +155 -0
- package/commands/review.md +64 -0
- package/commands/rules-distill.md +11 -0
- package/commands/rust-build.md +188 -0
- package/commands/rust-review.md +142 -0
- package/commands/rust-test.md +309 -0
- package/commands/save-session.md +275 -0
- package/commands/sessions.md +333 -0
- package/commands/setup-pm.md +80 -0
- package/commands/ship.md +77 -0
- package/commands/skill-create.md +174 -0
- package/commands/skill-health.md +54 -0
- package/commands/tdd.md +20 -0
- package/commands/test-coverage.md +77 -0
- package/commands/test.md +64 -0
- package/commands/update-codemaps.md +72 -0
- package/commands/update-docs.md +84 -0
- package/commands/verify.md +55 -0
- package/contexts/dev.md +20 -0
- package/contexts/research.md +26 -0
- package/contexts/review.md +22 -0
- package/examples/CLAUDE.md +100 -0
- package/examples/statusline.json +19 -0
- package/examples/user-CLAUDE.md +109 -0
- package/hooks/README.md +219 -0
- package/hooks/hooks.json +320 -0
- package/hooks/run-hook.cmd +31 -0
- package/hooks/session-start +6 -0
- package/install.ps1 +38 -0
- package/install.sh +17 -0
- package/manifests/install-components.json +415 -0
- package/manifests/install-modules.json +500 -0
- package/manifests/install-profiles.json +80 -0
- package/mcp-configs/mcp-servers.json +153 -0
- package/package.json +131 -0
- package/plugins/README.md +85 -0
- package/rules/README.md +106 -0
- package/rules/common/agents.md +50 -0
- package/rules/common/coding-style.md +48 -0
- package/rules/common/development-workflow.md +38 -0
- package/rules/common/git-workflow.md +24 -0
- package/rules/common/hooks.md +30 -0
- package/rules/common/patterns.md +31 -0
- package/rules/common/performance.md +55 -0
- package/rules/common/security.md +29 -0
- package/rules/common/testing.md +29 -0
- package/rules/cpp/coding-style.md +44 -0
- package/rules/cpp/hooks.md +39 -0
- package/rules/cpp/patterns.md +51 -0
- package/rules/cpp/security.md +51 -0
- package/rules/cpp/testing.md +44 -0
- package/rules/csharp/coding-style.md +72 -0
- package/rules/csharp/hooks.md +25 -0
- package/rules/csharp/patterns.md +50 -0
- package/rules/csharp/security.md +58 -0
- package/rules/csharp/testing.md +46 -0
- package/rules/golang/coding-style.md +32 -0
- package/rules/golang/hooks.md +17 -0
- package/rules/golang/patterns.md +45 -0
- package/rules/golang/security.md +34 -0
- package/rules/golang/testing.md +31 -0
- package/rules/java/coding-style.md +114 -0
- package/rules/java/hooks.md +18 -0
- package/rules/java/patterns.md +146 -0
- package/rules/java/security.md +100 -0
- package/rules/java/testing.md +131 -0
- package/rules/kotlin/coding-style.md +86 -0
- package/rules/kotlin/hooks.md +17 -0
- package/rules/kotlin/patterns.md +146 -0
- package/rules/kotlin/security.md +82 -0
- package/rules/kotlin/testing.md +128 -0
- package/rules/perl/coding-style.md +46 -0
- package/rules/perl/hooks.md +22 -0
- package/rules/perl/patterns.md +76 -0
- package/rules/perl/security.md +69 -0
- package/rules/perl/testing.md +54 -0
- package/rules/php/coding-style.md +40 -0
- package/rules/php/hooks.md +24 -0
- package/rules/php/patterns.md +33 -0
- package/rules/php/security.md +37 -0
- package/rules/php/testing.md +39 -0
- package/rules/python/coding-style.md +42 -0
- package/rules/python/hooks.md +19 -0
- package/rules/python/patterns.md +39 -0
- package/rules/python/security.md +30 -0
- package/rules/python/testing.md +38 -0
- package/rules/rust/coding-style.md +151 -0
- package/rules/rust/hooks.md +16 -0
- package/rules/rust/patterns.md +168 -0
- package/rules/rust/security.md +141 -0
- package/rules/rust/testing.md +154 -0
- package/rules/swift/coding-style.md +47 -0
- package/rules/swift/hooks.md +20 -0
- package/rules/swift/patterns.md +66 -0
- package/rules/swift/security.md +33 -0
- package/rules/swift/testing.md +45 -0
- package/rules/typescript/coding-style.md +199 -0
- package/rules/typescript/hooks.md +22 -0
- package/rules/typescript/patterns.md +52 -0
- package/rules/typescript/security.md +28 -0
- package/rules/typescript/testing.md +18 -0
- package/schemas/ecc-install-config.schema.json +58 -0
- package/schemas/hooks.schema.json +197 -0
- package/schemas/install-components.schema.json +58 -0
- package/schemas/install-modules.schema.json +105 -0
- package/schemas/install-profiles.schema.json +45 -0
- package/schemas/install-state.schema.json +210 -0
- package/schemas/package-manager.schema.json +23 -0
- package/schemas/plugin.schema.json +58 -0
- package/schemas/provenance.schema.json +31 -0
- package/schemas/state-store.schema.json +316 -0
- package/scripts/ci/catalog.js +245 -0
- package/scripts/ci/validate-agents.js +81 -0
- package/scripts/ci/validate-commands.js +136 -0
- package/scripts/ci/validate-hooks.js +239 -0
- package/scripts/ci/validate-install-manifests.js +214 -0
- package/scripts/ci/validate-no-personal-paths.js +63 -0
- package/scripts/ci/validate-rules.js +81 -0
- package/scripts/ci/validate-skills.js +56 -0
- package/scripts/claw.js +473 -0
- package/scripts/codex/merge-mcp-config.js +304 -0
- package/scripts/cursor-aw-home/hooks.json +115 -0
- package/scripts/cursor-aw-hooks/adapter.js +120 -0
- package/scripts/cursor-aw-hooks/after-file-edit.js +11 -0
- package/scripts/cursor-aw-hooks/after-mcp-execution.js +11 -0
- package/scripts/cursor-aw-hooks/after-shell-execution.js +11 -0
- package/scripts/cursor-aw-hooks/aw-phase-adapter.js +43 -0
- package/scripts/cursor-aw-hooks/before-mcp-execution.js +11 -0
- package/scripts/cursor-aw-hooks/before-shell-execution.js +11 -0
- package/scripts/cursor-aw-hooks/before-submit-prompt.js +41 -0
- package/scripts/cursor-aw-hooks/pre-compact.js +11 -0
- package/scripts/cursor-aw-hooks/session-end.js +11 -0
- package/scripts/cursor-aw-hooks/session-start.js +11 -0
- package/scripts/cursor-aw-hooks/stop.js +11 -0
- package/scripts/doctor.js +110 -0
- package/scripts/ecc.js +208 -0
- package/scripts/generate-aw-hooks.js +110 -0
- package/scripts/harness-audit.js +512 -0
- package/scripts/hooks/auto-tmux-dev.js +88 -0
- package/scripts/hooks/check-console-log.js +71 -0
- package/scripts/hooks/check-hook-enabled.js +12 -0
- package/scripts/hooks/config-protection.js +125 -0
- package/scripts/hooks/cost-tracker.js +78 -0
- package/scripts/hooks/doc-file-warning.js +63 -0
- package/scripts/hooks/evaluate-session.js +100 -0
- package/scripts/hooks/governance-capture.js +280 -0
- package/scripts/hooks/insaits-security-monitor.py +269 -0
- package/scripts/hooks/insaits-security-wrapper.js +88 -0
- package/scripts/hooks/mcp-health-check.js +588 -0
- package/scripts/hooks/post-bash-build-complete.js +27 -0
- package/scripts/hooks/post-bash-pr-created.js +37 -0
- package/scripts/hooks/post-edit-console-warn.js +54 -0
- package/scripts/hooks/post-edit-format.js +109 -0
- package/scripts/hooks/post-edit-typecheck.js +96 -0
- package/scripts/hooks/post-mcp-log.js +27 -0
- package/scripts/hooks/pre-bash-dev-server-block.js +187 -0
- package/scripts/hooks/pre-bash-git-push-reminder.js +28 -0
- package/scripts/hooks/pre-bash-tmux-reminder.js +33 -0
- package/scripts/hooks/pre-compact.js +48 -0
- package/scripts/hooks/pre-mcp-log.js +26 -0
- package/scripts/hooks/pre-write-doc-warn.js +9 -0
- package/scripts/hooks/quality-gate.js +168 -0
- package/scripts/hooks/run-with-flags-shell.sh +32 -0
- package/scripts/hooks/run-with-flags.js +120 -0
- package/scripts/hooks/session-end-marker.js +29 -0
- package/scripts/hooks/session-end.js +301 -0
- package/scripts/hooks/session-start-rules-context.sh +5 -0
- package/scripts/hooks/session-start.js +98 -0
- package/scripts/hooks/shared/aw-phase-definitions.js +190 -0
- package/scripts/hooks/shared/aw-phase-runner.js +61 -0
- package/scripts/hooks/shared/session-start.sh +20 -0
- package/scripts/hooks/shared/user-prompt-submit.sh +155 -0
- package/scripts/hooks/suggest-compact.js +80 -0
- package/scripts/install-apply.js +140 -0
- package/scripts/install-plan.js +254 -0
- package/scripts/lib/agent-compress.js +244 -0
- package/scripts/lib/aw-harness-registry.js +122 -0
- package/scripts/lib/aw-hook-contract.js +86 -0
- package/scripts/lib/claude-aw-hook-files.js +28 -0
- package/scripts/lib/claude-hook-config.js +76 -0
- package/scripts/lib/codex-aw-hook-files.js +38 -0
- package/scripts/lib/codex-hook-config.js +88 -0
- package/scripts/lib/cursor-aw-hook-files.js +62 -0
- package/scripts/lib/cursor-hook-config.js +148 -0
- package/scripts/lib/hook-flags.js +74 -0
- package/scripts/lib/inspection.js +212 -0
- package/scripts/lib/install/apply.js +23 -0
- package/scripts/lib/install/config.js +82 -0
- package/scripts/lib/install/request.js +120 -0
- package/scripts/lib/install/runtime.js +54 -0
- package/scripts/lib/install-executor.js +778 -0
- package/scripts/lib/install-lifecycle.js +1311 -0
- package/scripts/lib/install-manifests.js +448 -0
- package/scripts/lib/install-state.js +313 -0
- package/scripts/lib/install-targets/antigravity-project.js +69 -0
- package/scripts/lib/install-targets/claude-home.js +54 -0
- package/scripts/lib/install-targets/codex-home.js +62 -0
- package/scripts/lib/install-targets/cursor-project.js +80 -0
- package/scripts/lib/install-targets/helpers.js +307 -0
- package/scripts/lib/install-targets/opencode-home.js +10 -0
- package/scripts/lib/install-targets/registry.js +66 -0
- package/scripts/lib/orchestration-session.js +299 -0
- package/scripts/lib/package-manager.d.ts +119 -0
- package/scripts/lib/package-manager.js +431 -0
- package/scripts/lib/project-detect.js +428 -0
- package/scripts/lib/resolve-ecc-root.js +89 -0
- package/scripts/lib/resolve-formatter.js +185 -0
- package/scripts/lib/session-adapters/canonical-session.js +531 -0
- package/scripts/lib/session-adapters/claude-history.js +160 -0
- package/scripts/lib/session-adapters/dmux-tmux.js +90 -0
- package/scripts/lib/session-adapters/registry.js +127 -0
- package/scripts/lib/session-aliases.d.ts +136 -0
- package/scripts/lib/session-aliases.js +481 -0
- package/scripts/lib/session-manager.d.ts +131 -0
- package/scripts/lib/session-manager.js +464 -0
- package/scripts/lib/shell-split.js +86 -0
- package/scripts/lib/skill-evolution/dashboard.js +401 -0
- package/scripts/lib/skill-evolution/health.js +263 -0
- package/scripts/lib/skill-evolution/index.js +20 -0
- package/scripts/lib/skill-evolution/provenance.js +187 -0
- package/scripts/lib/skill-evolution/tracker.js +146 -0
- package/scripts/lib/skill-evolution/versioning.js +237 -0
- package/scripts/lib/skill-improvement/amendify.js +89 -0
- package/scripts/lib/skill-improvement/evaluate.js +59 -0
- package/scripts/lib/skill-improvement/health.js +118 -0
- package/scripts/lib/skill-improvement/observations.js +108 -0
- package/scripts/lib/state-store/index.js +191 -0
- package/scripts/lib/state-store/migrations.js +178 -0
- package/scripts/lib/state-store/queries.js +697 -0
- package/scripts/lib/state-store/schema.js +92 -0
- package/scripts/lib/tmux-worktree-orchestrator.js +475 -0
- package/scripts/lib/utils.d.ts +183 -0
- package/scripts/lib/utils.js +564 -0
- package/scripts/list-installed.js +90 -0
- package/scripts/orchestrate-codex-worker.sh +107 -0
- package/scripts/orchestrate-worktrees.js +40 -0
- package/scripts/orchestration-status.js +82 -0
- package/scripts/repair.js +97 -0
- package/scripts/session-inspect.js +150 -0
- package/scripts/sessions-cli.js +177 -0
- package/scripts/setup-package-manager.js +204 -0
- package/scripts/skill-create-output.js +244 -0
- package/scripts/status.js +176 -0
- package/scripts/uninstall.js +96 -0
- package/skills/agent-eval/SKILL.md +145 -0
- package/skills/agent-harness-construction/SKILL.md +73 -0
- package/skills/agentic-engineering/SKILL.md +63 -0
- package/skills/ai-first-engineering/SKILL.md +51 -0
- package/skills/ai-regression-testing/SKILL.md +385 -0
- package/skills/android-clean-architecture/SKILL.md +339 -0
- package/skills/api-and-interface-design/SKILL.md +75 -0
- package/skills/api-design/SKILL.md +523 -0
- package/skills/architecture-decision-records/SKILL.md +179 -0
- package/skills/article-writing/SKILL.md +85 -0
- package/skills/autonomous-loops/SKILL.md +610 -0
- package/skills/aw-brainstorm/SKILL.md +115 -0
- package/skills/aw-build/SKILL.md +189 -0
- package/skills/aw-build/evals/build-stage-cases.json +28 -0
- package/skills/aw-debug/SKILL.md +49 -0
- package/skills/aw-deploy/SKILL.md +101 -0
- package/skills/aw-deploy/evals/deploy-stage-cases.json +32 -0
- package/skills/aw-execute/SKILL.md +47 -0
- package/skills/aw-execute/references/mode-code.md +47 -0
- package/skills/aw-execute/references/mode-docs.md +28 -0
- package/skills/aw-execute/references/mode-infra.md +44 -0
- package/skills/aw-execute/references/mode-migration.md +58 -0
- package/skills/aw-execute/references/worker-implementer.md +26 -0
- package/skills/aw-execute/references/worker-parallel-worker.md +23 -0
- package/skills/aw-execute/references/worker-quality-reviewer.md +23 -0
- package/skills/aw-execute/references/worker-spec-reviewer.md +23 -0
- package/skills/aw-execute/scripts/build-worker-bundle.js +229 -0
- package/skills/aw-finish/SKILL.md +111 -0
- package/skills/aw-investigate/SKILL.md +109 -0
- package/skills/aw-plan/SKILL.md +399 -0
- package/skills/aw-prepare/SKILL.md +118 -0
- package/skills/aw-review/SKILL.md +123 -0
- package/skills/aw-rules/SKILL.md +129 -0
- package/skills/aw-rules/references/known-hallucinations.md +43 -0
- package/skills/aw-rules/references/verification-sources.md +50 -0
- package/skills/aw-ship/SKILL.md +115 -0
- package/skills/aw-spec/SKILL.md +128 -0
- package/skills/aw-tasks/SKILL.md +155 -0
- package/skills/aw-test/SKILL.md +118 -0
- package/skills/aw-verify/SKILL.md +51 -0
- package/skills/aw-yolo/SKILL.md +111 -0
- package/skills/backend-patterns/SKILL.md +598 -0
- package/skills/benchmark/SKILL.md +87 -0
- package/skills/blueprint/SKILL.md +105 -0
- package/skills/browser-qa/SKILL.md +81 -0
- package/skills/browser-testing-with-devtools/SKILL.md +81 -0
- package/skills/bun-runtime/SKILL.md +84 -0
- package/skills/canary-watch/SKILL.md +93 -0
- package/skills/carrier-relationship-management/SKILL.md +212 -0
- package/skills/ci-cd-and-automation/SKILL.md +71 -0
- package/skills/claude-api/SKILL.md +337 -0
- package/skills/claude-devfleet/SKILL.md +103 -0
- package/skills/click-path-audit/SKILL.md +244 -0
- package/skills/clickhouse-io/SKILL.md +439 -0
- package/skills/code-simplification/SKILL.md +74 -0
- package/skills/codebase-onboarding/SKILL.md +233 -0
- package/skills/coding-standards/SKILL.md +530 -0
- package/skills/compose-multiplatform-patterns/SKILL.md +299 -0
- package/skills/configure-ecc/SKILL.md +367 -0
- package/skills/content-engine/SKILL.md +88 -0
- package/skills/content-hash-cache-pattern/SKILL.md +161 -0
- package/skills/context-budget/SKILL.md +135 -0
- package/skills/context-engineering/SKILL.md +74 -0
- package/skills/continuous-agent-loop/SKILL.md +45 -0
- package/skills/continuous-learning/SKILL.md +119 -0
- package/skills/continuous-learning/config.json +18 -0
- package/skills/continuous-learning/evaluate-session.sh +69 -0
- package/skills/continuous-learning-v2/SKILL.md +365 -0
- package/skills/continuous-learning-v2/agents/observer-loop.sh +191 -0
- package/skills/continuous-learning-v2/agents/observer.md +198 -0
- package/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
- package/skills/continuous-learning-v2/agents/start-observer.sh +240 -0
- package/skills/continuous-learning-v2/config.json +8 -0
- package/skills/continuous-learning-v2/hooks/observe.sh +412 -0
- package/skills/continuous-learning-v2/scripts/detect-project.sh +228 -0
- package/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
- package/skills/continuous-learning-v2/scripts/test_parse_instinct.py +984 -0
- package/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/skills/cpp-coding-standards/SKILL.md +723 -0
- package/skills/cpp-testing/SKILL.md +324 -0
- package/skills/crosspost/SKILL.md +190 -0
- package/skills/customs-trade-compliance/SKILL.md +263 -0
- package/skills/data-scraper-agent/SKILL.md +764 -0
- package/skills/database-migrations/SKILL.md +429 -0
- package/skills/deep-research/SKILL.md +155 -0
- package/skills/deployment-patterns/SKILL.md +427 -0
- package/skills/deprecation-and-migration/SKILL.md +75 -0
- package/skills/design-system/SKILL.md +76 -0
- package/skills/django-patterns/SKILL.md +734 -0
- package/skills/django-security/SKILL.md +593 -0
- package/skills/django-tdd/SKILL.md +729 -0
- package/skills/django-verification/SKILL.md +469 -0
- package/skills/dmux-workflows/SKILL.md +191 -0
- package/skills/docker-patterns/SKILL.md +364 -0
- package/skills/documentation-and-adrs/SKILL.md +75 -0
- package/skills/documentation-lookup/SKILL.md +90 -0
- package/skills/e2e-testing/SKILL.md +326 -0
- package/skills/energy-procurement/SKILL.md +228 -0
- package/skills/enterprise-agent-ops/SKILL.md +50 -0
- package/skills/eval-harness/SKILL.md +270 -0
- package/skills/exa-search/SKILL.md +103 -0
- package/skills/fal-ai-media/SKILL.md +284 -0
- package/skills/flutter-dart-code-review/SKILL.md +435 -0
- package/skills/foundation-models-on-device/SKILL.md +243 -0
- package/skills/frontend-patterns/SKILL.md +642 -0
- package/skills/frontend-slides/SKILL.md +184 -0
- package/skills/frontend-slides/STYLE_PRESETS.md +330 -0
- package/skills/frontend-ui-engineering/SKILL.md +68 -0
- package/skills/git-workflow-and-versioning/SKILL.md +75 -0
- package/skills/golang-patterns/SKILL.md +674 -0
- package/skills/golang-testing/SKILL.md +720 -0
- package/skills/idea-refine/SKILL.md +84 -0
- package/skills/incremental-implementation/SKILL.md +86 -0
- package/skills/inventory-demand-planning/SKILL.md +247 -0
- package/skills/investor-materials/SKILL.md +96 -0
- package/skills/investor-outreach/SKILL.md +76 -0
- package/skills/iterative-retrieval/SKILL.md +211 -0
- package/skills/java-coding-standards/SKILL.md +147 -0
- package/skills/jpa-patterns/SKILL.md +151 -0
- package/skills/kotlin-coroutines-flows/SKILL.md +284 -0
- package/skills/kotlin-exposed-patterns/SKILL.md +719 -0
- package/skills/kotlin-ktor-patterns/SKILL.md +689 -0
- package/skills/kotlin-patterns/SKILL.md +711 -0
- package/skills/kotlin-testing/SKILL.md +824 -0
- package/skills/laravel-patterns/SKILL.md +415 -0
- package/skills/laravel-security/SKILL.md +285 -0
- package/skills/laravel-tdd/SKILL.md +283 -0
- package/skills/laravel-verification/SKILL.md +179 -0
- package/skills/liquid-glass-design/SKILL.md +279 -0
- package/skills/logistics-exception-management/SKILL.md +222 -0
- package/skills/market-research/SKILL.md +75 -0
- package/skills/mcp-server-patterns/SKILL.md +67 -0
- package/skills/nanoclaw-repl/SKILL.md +33 -0
- package/skills/nextjs-turbopack/SKILL.md +44 -0
- package/skills/nutrient-document-processing/SKILL.md +167 -0
- package/skills/nuxt4-patterns/SKILL.md +100 -0
- package/skills/performance-optimization/SKILL.md +77 -0
- package/skills/perl-patterns/SKILL.md +504 -0
- package/skills/perl-security/SKILL.md +503 -0
- package/skills/perl-testing/SKILL.md +475 -0
- package/skills/plankton-code-quality/SKILL.md +236 -0
- package/skills/postgres-patterns/SKILL.md +147 -0
- package/skills/product-lens/SKILL.md +79 -0
- package/skills/production-scheduling/SKILL.md +238 -0
- package/skills/project-guidelines-example/SKILL.md +349 -0
- package/skills/prompt-optimizer/SKILL.md +397 -0
- package/skills/python-patterns/SKILL.md +750 -0
- package/skills/python-testing/SKILL.md +816 -0
- package/skills/pytorch-patterns/SKILL.md +396 -0
- package/skills/quality-nonconformance/SKILL.md +260 -0
- package/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
- package/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
- package/skills/returns-reverse-logistics/SKILL.md +240 -0
- package/skills/rules-distill/SKILL.md +264 -0
- package/skills/rules-distill/scripts/scan-rules.sh +58 -0
- package/skills/rules-distill/scripts/scan-skills.sh +129 -0
- package/skills/rust-patterns/SKILL.md +499 -0
- package/skills/rust-testing/SKILL.md +500 -0
- package/skills/safety-guard/SKILL.md +69 -0
- package/skills/santa-method/SKILL.md +306 -0
- package/skills/search-first/SKILL.md +161 -0
- package/skills/security-and-hardening/SKILL.md +70 -0
- package/skills/security-review/SKILL.md +495 -0
- package/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/skills/security-scan/SKILL.md +165 -0
- package/skills/skill-comply/SKILL.md +58 -0
- package/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
- package/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
- package/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
- package/skills/skill-comply/prompts/classifier.md +24 -0
- package/skills/skill-comply/prompts/scenario_generator.md +62 -0
- package/skills/skill-comply/prompts/spec_generator.md +42 -0
- package/skills/skill-comply/pyproject.toml +15 -0
- package/skills/skill-comply/scripts/__init__.py +0 -0
- package/skills/skill-comply/scripts/classifier.py +85 -0
- package/skills/skill-comply/scripts/grader.py +122 -0
- package/skills/skill-comply/scripts/parser.py +107 -0
- package/skills/skill-comply/scripts/report.py +170 -0
- package/skills/skill-comply/scripts/run.py +127 -0
- package/skills/skill-comply/scripts/runner.py +161 -0
- package/skills/skill-comply/scripts/scenario_generator.py +70 -0
- package/skills/skill-comply/scripts/spec_generator.py +72 -0
- package/skills/skill-comply/scripts/utils.py +13 -0
- package/skills/skill-comply/tests/test_grader.py +137 -0
- package/skills/skill-comply/tests/test_parser.py +90 -0
- package/skills/skill-quality-review/SKILL.md +102 -0
- package/skills/skill-quality-review/references/review-rubric.md +112 -0
- package/skills/skill-stocktake/SKILL.md +197 -0
- package/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
- package/skills/skill-stocktake/scripts/save-results.sh +56 -0
- package/skills/skill-stocktake/scripts/scan.sh +170 -0
- package/skills/springboot-patterns/SKILL.md +314 -0
- package/skills/springboot-security/SKILL.md +272 -0
- package/skills/springboot-tdd/SKILL.md +158 -0
- package/skills/springboot-verification/SKILL.md +231 -0
- package/skills/strategic-compact/SKILL.md +131 -0
- package/skills/strategic-compact/suggest-compact.sh +54 -0
- package/skills/swift-actor-persistence/SKILL.md +143 -0
- package/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/skills/swift-protocol-di-testing/SKILL.md +190 -0
- package/skills/swiftui-patterns/SKILL.md +259 -0
- package/skills/tdd-workflow/SKILL.md +145 -0
- package/skills/team-builder/SKILL.md +161 -0
- package/skills/using-aw-skills/SKILL.md +290 -0
- package/skills/using-aw-skills/evals/skill-trigger-cases.tsv +25 -0
- package/skills/using-aw-skills/evals/test-skill-triggers.sh +171 -0
- package/skills/using-aw-skills/hooks/hooks.json +9 -0
- package/skills/using-aw-skills/hooks/session-start.sh +188 -0
- package/skills/using-platform-skills/SKILL.md +163 -0
- package/skills/using-platform-skills/evals/platform-selection-cases.json +52 -0
- package/skills/verification-loop/SKILL.md +126 -0
- package/skills/video-editing/SKILL.md +310 -0
- package/skills/videodb/SKILL.md +374 -0
- package/skills/videodb/reference/api-reference.md +550 -0
- package/skills/videodb/reference/capture-reference.md +407 -0
- package/skills/videodb/reference/capture.md +101 -0
- package/skills/videodb/reference/editor.md +443 -0
- package/skills/videodb/reference/generative.md +331 -0
- package/skills/videodb/reference/rtstream-reference.md +564 -0
- package/skills/videodb/reference/rtstream.md +65 -0
- package/skills/videodb/reference/search.md +230 -0
- package/skills/videodb/reference/streaming.md +406 -0
- package/skills/videodb/reference/use-cases.md +118 -0
- package/skills/videodb/scripts/ws_listener.py +282 -0
- package/skills/visa-doc-translate/README.md +86 -0
- package/skills/visa-doc-translate/SKILL.md +117 -0
- package/skills/x-api/SKILL.md +208 -0
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
# Style Presets Reference
|
|
2
|
+
|
|
3
|
+
Curated visual styles for `frontend-slides`.
|
|
4
|
+
|
|
5
|
+
Use this file for:
|
|
6
|
+
- the mandatory viewport-fitting CSS base
|
|
7
|
+
- preset selection and mood mapping
|
|
8
|
+
- CSS gotchas and validation rules
|
|
9
|
+
|
|
10
|
+
Abstract shapes only. Avoid illustrations unless the user explicitly asks for them.
|
|
11
|
+
|
|
12
|
+
## Viewport Fit Is Non-Negotiable
|
|
13
|
+
|
|
14
|
+
Every slide must fully fit in one viewport.
|
|
15
|
+
|
|
16
|
+
### Golden Rule
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
Each slide = exactly one viewport height.
|
|
20
|
+
Too much content = split into more slides.
|
|
21
|
+
Never scroll inside a slide.
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Density Limits
|
|
25
|
+
|
|
26
|
+
| Slide Type | Maximum Content |
|
|
27
|
+
|------------|-----------------|
|
|
28
|
+
| Title slide | 1 heading + 1 subtitle + optional tagline |
|
|
29
|
+
| Content slide | 1 heading + 4-6 bullets or 2 paragraphs |
|
|
30
|
+
| Feature grid | 6 cards maximum |
|
|
31
|
+
| Code slide | 8-10 lines maximum |
|
|
32
|
+
| Quote slide | 1 quote + attribution |
|
|
33
|
+
| Image slide | 1 image, ideally under 60vh |
|
|
34
|
+
|
|
35
|
+
## Mandatory Base CSS
|
|
36
|
+
|
|
37
|
+
Copy this block into every generated presentation and then theme on top of it.
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
/* ===========================================
|
|
41
|
+
VIEWPORT FITTING: MANDATORY BASE STYLES
|
|
42
|
+
=========================================== */
|
|
43
|
+
|
|
44
|
+
html, body {
|
|
45
|
+
height: 100%;
|
|
46
|
+
overflow-x: hidden;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
html {
|
|
50
|
+
scroll-snap-type: y mandatory;
|
|
51
|
+
scroll-behavior: smooth;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.slide {
|
|
55
|
+
width: 100vw;
|
|
56
|
+
height: 100vh;
|
|
57
|
+
height: 100dvh;
|
|
58
|
+
overflow: hidden;
|
|
59
|
+
scroll-snap-align: start;
|
|
60
|
+
display: flex;
|
|
61
|
+
flex-direction: column;
|
|
62
|
+
position: relative;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.slide-content {
|
|
66
|
+
flex: 1;
|
|
67
|
+
display: flex;
|
|
68
|
+
flex-direction: column;
|
|
69
|
+
justify-content: center;
|
|
70
|
+
max-height: 100%;
|
|
71
|
+
overflow: hidden;
|
|
72
|
+
padding: var(--slide-padding);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
:root {
|
|
76
|
+
--title-size: clamp(1.5rem, 5vw, 4rem);
|
|
77
|
+
--h2-size: clamp(1.25rem, 3.5vw, 2.5rem);
|
|
78
|
+
--h3-size: clamp(1rem, 2.5vw, 1.75rem);
|
|
79
|
+
--body-size: clamp(0.75rem, 1.5vw, 1.125rem);
|
|
80
|
+
--small-size: clamp(0.65rem, 1vw, 0.875rem);
|
|
81
|
+
|
|
82
|
+
--slide-padding: clamp(1rem, 4vw, 4rem);
|
|
83
|
+
--content-gap: clamp(0.5rem, 2vw, 2rem);
|
|
84
|
+
--element-gap: clamp(0.25rem, 1vw, 1rem);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.card, .container, .content-box {
|
|
88
|
+
max-width: min(90vw, 1000px);
|
|
89
|
+
max-height: min(80vh, 700px);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.feature-list, .bullet-list {
|
|
93
|
+
gap: clamp(0.4rem, 1vh, 1rem);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.feature-list li, .bullet-list li {
|
|
97
|
+
font-size: var(--body-size);
|
|
98
|
+
line-height: 1.4;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.grid {
|
|
102
|
+
display: grid;
|
|
103
|
+
grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
|
|
104
|
+
gap: clamp(0.5rem, 1.5vw, 1rem);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
img, .image-container {
|
|
108
|
+
max-width: 100%;
|
|
109
|
+
max-height: min(50vh, 400px);
|
|
110
|
+
object-fit: contain;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
@media (max-height: 700px) {
|
|
114
|
+
:root {
|
|
115
|
+
--slide-padding: clamp(0.75rem, 3vw, 2rem);
|
|
116
|
+
--content-gap: clamp(0.4rem, 1.5vw, 1rem);
|
|
117
|
+
--title-size: clamp(1.25rem, 4.5vw, 2.5rem);
|
|
118
|
+
--h2-size: clamp(1rem, 3vw, 1.75rem);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
@media (max-height: 600px) {
|
|
123
|
+
:root {
|
|
124
|
+
--slide-padding: clamp(0.5rem, 2.5vw, 1.5rem);
|
|
125
|
+
--content-gap: clamp(0.3rem, 1vw, 0.75rem);
|
|
126
|
+
--title-size: clamp(1.1rem, 4vw, 2rem);
|
|
127
|
+
--body-size: clamp(0.7rem, 1.2vw, 0.95rem);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.nav-dots, .keyboard-hint, .decorative {
|
|
131
|
+
display: none;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
@media (max-height: 500px) {
|
|
136
|
+
:root {
|
|
137
|
+
--slide-padding: clamp(0.4rem, 2vw, 1rem);
|
|
138
|
+
--title-size: clamp(1rem, 3.5vw, 1.5rem);
|
|
139
|
+
--h2-size: clamp(0.9rem, 2.5vw, 1.25rem);
|
|
140
|
+
--body-size: clamp(0.65rem, 1vw, 0.85rem);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
@media (max-width: 600px) {
|
|
145
|
+
:root {
|
|
146
|
+
--title-size: clamp(1.25rem, 7vw, 2.5rem);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.grid {
|
|
150
|
+
grid-template-columns: 1fr;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
@media (prefers-reduced-motion: reduce) {
|
|
155
|
+
*, *::before, *::after {
|
|
156
|
+
animation-duration: 0.01ms !important;
|
|
157
|
+
transition-duration: 0.2s !important;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
html {
|
|
161
|
+
scroll-behavior: auto;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Viewport Checklist
|
|
167
|
+
|
|
168
|
+
- every `.slide` has `height: 100vh`, `height: 100dvh`, and `overflow: hidden`
|
|
169
|
+
- all typography uses `clamp()`
|
|
170
|
+
- all spacing uses `clamp()` or viewport units
|
|
171
|
+
- images have `max-height` constraints
|
|
172
|
+
- grids adapt with `auto-fit` + `minmax()`
|
|
173
|
+
- short-height breakpoints exist at `700px`, `600px`, and `500px`
|
|
174
|
+
- if anything feels cramped, split the slide
|
|
175
|
+
|
|
176
|
+
## Mood to Preset Mapping
|
|
177
|
+
|
|
178
|
+
| Mood | Good Presets |
|
|
179
|
+
|------|--------------|
|
|
180
|
+
| Impressed / Confident | Bold Signal, Electric Studio, Dark Botanical |
|
|
181
|
+
| Excited / Energized | Creative Voltage, Neon Cyber, Split Pastel |
|
|
182
|
+
| Calm / Focused | Notebook Tabs, Paper & Ink, Swiss Modern |
|
|
183
|
+
| Inspired / Moved | Dark Botanical, Vintage Editorial, Pastel Geometry |
|
|
184
|
+
|
|
185
|
+
## Preset Catalog
|
|
186
|
+
|
|
187
|
+
### 1. Bold Signal
|
|
188
|
+
|
|
189
|
+
- Vibe: confident, high-impact, keynote-ready
|
|
190
|
+
- Best for: pitch decks, launches, statements
|
|
191
|
+
- Fonts: Archivo Black + Space Grotesk
|
|
192
|
+
- Palette: charcoal base, hot orange focal card, crisp white text
|
|
193
|
+
- Signature: oversized section numbers, high-contrast card on dark field
|
|
194
|
+
|
|
195
|
+
### 2. Electric Studio
|
|
196
|
+
|
|
197
|
+
- Vibe: clean, bold, agency-polished
|
|
198
|
+
- Best for: client presentations, strategic reviews
|
|
199
|
+
- Fonts: Manrope only
|
|
200
|
+
- Palette: black, white, saturated cobalt accent
|
|
201
|
+
- Signature: two-panel split and sharp editorial alignment
|
|
202
|
+
|
|
203
|
+
### 3. Creative Voltage
|
|
204
|
+
|
|
205
|
+
- Vibe: energetic, retro-modern, playful confidence
|
|
206
|
+
- Best for: creative studios, brand work, product storytelling
|
|
207
|
+
- Fonts: Syne + Space Mono
|
|
208
|
+
- Palette: electric blue, neon yellow, deep navy
|
|
209
|
+
- Signature: halftone textures, badges, punchy contrast
|
|
210
|
+
|
|
211
|
+
### 4. Dark Botanical
|
|
212
|
+
|
|
213
|
+
- Vibe: elegant, premium, atmospheric
|
|
214
|
+
- Best for: luxury brands, thoughtful narratives, premium product decks
|
|
215
|
+
- Fonts: Cormorant + IBM Plex Sans
|
|
216
|
+
- Palette: near-black, warm ivory, blush, gold, terracotta
|
|
217
|
+
- Signature: blurred abstract circles, fine rules, restrained motion
|
|
218
|
+
|
|
219
|
+
### 5. Notebook Tabs
|
|
220
|
+
|
|
221
|
+
- Vibe: editorial, organized, tactile
|
|
222
|
+
- Best for: reports, reviews, structured storytelling
|
|
223
|
+
- Fonts: Bodoni Moda + DM Sans
|
|
224
|
+
- Palette: cream paper on charcoal with pastel tabs
|
|
225
|
+
- Signature: paper sheet, colored side tabs, binder details
|
|
226
|
+
|
|
227
|
+
### 6. Pastel Geometry
|
|
228
|
+
|
|
229
|
+
- Vibe: approachable, modern, friendly
|
|
230
|
+
- Best for: product overviews, onboarding, lighter brand decks
|
|
231
|
+
- Fonts: Plus Jakarta Sans only
|
|
232
|
+
- Palette: pale blue field, cream card, soft pink/mint/lavender accents
|
|
233
|
+
- Signature: vertical pills, rounded cards, soft shadows
|
|
234
|
+
|
|
235
|
+
### 7. Split Pastel
|
|
236
|
+
|
|
237
|
+
- Vibe: playful, modern, creative
|
|
238
|
+
- Best for: agency intros, workshops, portfolios
|
|
239
|
+
- Fonts: Outfit only
|
|
240
|
+
- Palette: peach + lavender split with mint badges
|
|
241
|
+
- Signature: split backdrop, rounded tags, light grid overlays
|
|
242
|
+
|
|
243
|
+
### 8. Vintage Editorial
|
|
244
|
+
|
|
245
|
+
- Vibe: witty, personality-driven, magazine-inspired
|
|
246
|
+
- Best for: personal brands, opinionated talks, storytelling
|
|
247
|
+
- Fonts: Fraunces + Work Sans
|
|
248
|
+
- Palette: cream, charcoal, dusty warm accents
|
|
249
|
+
- Signature: geometric accents, bordered callouts, punchy serif headlines
|
|
250
|
+
|
|
251
|
+
### 9. Neon Cyber
|
|
252
|
+
|
|
253
|
+
- Vibe: futuristic, techy, kinetic
|
|
254
|
+
- Best for: AI, infra, dev tools, future-of-X talks
|
|
255
|
+
- Fonts: Clash Display + Satoshi
|
|
256
|
+
- Palette: midnight navy, cyan, magenta
|
|
257
|
+
- Signature: glow, particles, grids, data-radar energy
|
|
258
|
+
|
|
259
|
+
### 10. Terminal Green
|
|
260
|
+
|
|
261
|
+
- Vibe: developer-focused, hacker-clean
|
|
262
|
+
- Best for: APIs, CLI tools, engineering demos
|
|
263
|
+
- Fonts: JetBrains Mono only
|
|
264
|
+
- Palette: GitHub dark + terminal green
|
|
265
|
+
- Signature: scan lines, command-line framing, precise monospace rhythm
|
|
266
|
+
|
|
267
|
+
### 11. Swiss Modern
|
|
268
|
+
|
|
269
|
+
- Vibe: minimal, precise, data-forward
|
|
270
|
+
- Best for: corporate, product strategy, analytics
|
|
271
|
+
- Fonts: Archivo + Nunito
|
|
272
|
+
- Palette: white, black, signal red
|
|
273
|
+
- Signature: visible grids, asymmetry, geometric discipline
|
|
274
|
+
|
|
275
|
+
### 12. Paper & Ink
|
|
276
|
+
|
|
277
|
+
- Vibe: literary, thoughtful, story-driven
|
|
278
|
+
- Best for: essays, keynote narratives, manifesto decks
|
|
279
|
+
- Fonts: Cormorant Garamond + Source Serif 4
|
|
280
|
+
- Palette: warm cream, charcoal, crimson accent
|
|
281
|
+
- Signature: pull quotes, drop caps, elegant rules
|
|
282
|
+
|
|
283
|
+
## Direct Selection Prompts
|
|
284
|
+
|
|
285
|
+
If the user already knows the style they want, let them pick directly from the preset names above instead of forcing preview generation.
|
|
286
|
+
|
|
287
|
+
## Animation Feel Mapping
|
|
288
|
+
|
|
289
|
+
| Feeling | Motion Direction |
|
|
290
|
+
|---------|------------------|
|
|
291
|
+
| Dramatic / Cinematic | slow fades, parallax, large scale-ins |
|
|
292
|
+
| Techy / Futuristic | glow, particles, grid motion, scramble text |
|
|
293
|
+
| Playful / Friendly | springy easing, rounded shapes, floating motion |
|
|
294
|
+
| Professional / Corporate | subtle 200-300ms transitions, clean slides |
|
|
295
|
+
| Calm / Minimal | very restrained movement, whitespace-first |
|
|
296
|
+
| Editorial / Magazine | strong hierarchy, staggered text and image interplay |
|
|
297
|
+
|
|
298
|
+
## CSS Gotcha: Negating Functions
|
|
299
|
+
|
|
300
|
+
Never write these:
|
|
301
|
+
|
|
302
|
+
```css
|
|
303
|
+
right: -clamp(28px, 3.5vw, 44px);
|
|
304
|
+
margin-left: -min(10vw, 100px);
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
Browsers ignore them silently.
|
|
308
|
+
|
|
309
|
+
Always write this instead:
|
|
310
|
+
|
|
311
|
+
```css
|
|
312
|
+
right: calc(-1 * clamp(28px, 3.5vw, 44px));
|
|
313
|
+
margin-left: calc(-1 * min(10vw, 100px));
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
## Validation Sizes
|
|
317
|
+
|
|
318
|
+
Test at minimum:
|
|
319
|
+
- Desktop: `1920x1080`, `1440x900`, `1280x720`
|
|
320
|
+
- Tablet: `1024x768`, `768x1024`
|
|
321
|
+
- Mobile: `375x667`, `414x896`
|
|
322
|
+
- Landscape phone: `667x375`, `896x414`
|
|
323
|
+
|
|
324
|
+
## Anti-Patterns
|
|
325
|
+
|
|
326
|
+
Do not use:
|
|
327
|
+
- purple-on-white startup templates
|
|
328
|
+
- Inter / Roboto / Arial as the visual voice unless the user explicitly wants utilitarian neutrality
|
|
329
|
+
- bullet walls, tiny type, or code blocks that require scrolling
|
|
330
|
+
- decorative illustrations when abstract geometry would do the job better
|
|
@@ -0,0 +1,96 @@
|
|
|
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
|
|
@@ -0,0 +1,76 @@
|
|
|
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
|
|
@@ -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,67 @@
|
|
|
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.
|
|
@@ -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.
|