@ultrakit/ultrakit 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +95 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +5991 -0
- package/dist/template/.opencode/.env.example +196 -0
- package/dist/template/.opencode/.template-manifest.json +718 -0
- package/dist/template/.opencode/.version +1 -0
- package/dist/template/.opencode/AGENTS.md +573 -0
- package/dist/template/.opencode/AGENT_ALIGNMENT.md +564 -0
- package/dist/template/.opencode/README.md +79 -0
- package/dist/template/.opencode/agent/build.md +447 -0
- package/dist/template/.opencode/agent/explore.md +114 -0
- package/dist/template/.opencode/agent/general.md +201 -0
- package/dist/template/.opencode/agent/painter.md +83 -0
- package/dist/template/.opencode/agent/plan.md +469 -0
- package/dist/template/.opencode/agent/review.md +235 -0
- package/dist/template/.opencode/agent/scout.md +142 -0
- package/dist/template/.opencode/agent/vision.md +169 -0
- package/dist/template/.opencode/command/compound.md +240 -0
- package/dist/template/.opencode/command/create.md +298 -0
- package/dist/template/.opencode/command/curate.md +299 -0
- package/dist/template/.opencode/command/design.md +130 -0
- package/dist/template/.opencode/command/explore.md +170 -0
- package/dist/template/.opencode/command/handoff.md +149 -0
- package/dist/template/.opencode/command/health.md +356 -0
- package/dist/template/.opencode/command/init-context.md +297 -0
- package/dist/template/.opencode/command/init-user.md +125 -0
- package/dist/template/.opencode/command/init.md +115 -0
- package/dist/template/.opencode/command/iterate.md +200 -0
- package/dist/template/.opencode/command/lfg.md +173 -0
- package/dist/template/.opencode/command/plan.md +436 -0
- package/dist/template/.opencode/command/pr.md +166 -0
- package/dist/template/.opencode/command/research.md +128 -0
- package/dist/template/.opencode/command/resume.md +78 -0
- package/dist/template/.opencode/command/review-codebase.md +135 -0
- package/dist/template/.opencode/command/ship.md +390 -0
- package/dist/template/.opencode/command/status.md +126 -0
- package/dist/template/.opencode/command/ui-review.md +111 -0
- package/dist/template/.opencode/command/ui-slop-check.md +169 -0
- package/dist/template/.opencode/command/verify.md +173 -0
- package/dist/template/.opencode/context/README.md +29 -0
- package/dist/template/.opencode/context/git-context.md +32 -0
- package/dist/template/.opencode/dcp-prompts/defaults/README.md +40 -0
- package/dist/template/.opencode/dcp-prompts/defaults/compress-message.md +42 -0
- package/dist/template/.opencode/dcp-prompts/defaults/compress-range.md +59 -0
- package/dist/template/.opencode/dcp-prompts/defaults/context-limit-nudge.md +15 -0
- package/dist/template/.opencode/dcp-prompts/defaults/iteration-nudge.md +3 -0
- package/dist/template/.opencode/dcp-prompts/defaults/system.md +31 -0
- package/dist/template/.opencode/dcp-prompts/defaults/turn-nudge.md +7 -0
- package/dist/template/.opencode/dcp-prompts/overrides/compress-message.md +71 -0
- package/dist/template/.opencode/dcp.jsonc +115 -0
- package/dist/template/.opencode/memory/README.md +89 -0
- package/dist/template/.opencode/memory/_templates/design.md +59 -0
- package/dist/template/.opencode/memory/_templates/prd.md +203 -0
- package/dist/template/.opencode/memory/_templates/project.md +58 -0
- package/dist/template/.opencode/memory/_templates/proposal.md +38 -0
- package/dist/template/.opencode/memory/_templates/roadmap.md +93 -0
- package/dist/template/.opencode/memory/_templates/state.md +89 -0
- package/dist/template/.opencode/memory/_templates/tasks.md +198 -0
- package/dist/template/.opencode/memory/_templates/tech-stack.md +85 -0
- package/dist/template/.opencode/memory/_templates/user.md +26 -0
- package/dist/template/.opencode/memory/project/gotchas.md +67 -0
- package/dist/template/.opencode/memory/project/project.md +92 -0
- package/dist/template/.opencode/memory/project/roadmap.md +142 -0
- package/dist/template/.opencode/memory/project/state.md +84 -0
- package/dist/template/.opencode/memory/project/tech-stack.md +53 -0
- package/dist/template/.opencode/memory/project/user.md +45 -0
- package/dist/template/.opencode/memory/research/benchmark-framework.md +162 -0
- package/dist/template/.opencode/memory/research/ccpm-analysis.md +334 -0
- package/dist/template/.opencode/memory/research/context-management-analysis.md +685 -0
- package/dist/template/.opencode/memory/research/effectiveness-audit.md +213 -0
- package/dist/template/.opencode/memory/research/opencode-mcp-bug-report.md +129 -0
- package/dist/template/.opencode/memory/research/openspec-analysis.md +226 -0
- package/dist/template/.opencode/memory/session-context.md +40 -0
- package/dist/template/.opencode/opencode.json +1148 -0
- package/dist/template/.opencode/opencodex-fast.jsonc +3 -0
- package/dist/template/.opencode/package.json +21 -0
- package/dist/template/.opencode/plugin/README.md +81 -0
- package/dist/template/.opencode/plugin/copilot-auth.ts +1285 -0
- package/dist/template/.opencode/plugin/lib/capture.ts +177 -0
- package/dist/template/.opencode/plugin/lib/compact.ts +194 -0
- package/dist/template/.opencode/plugin/lib/compile.ts +253 -0
- package/dist/template/.opencode/plugin/lib/context.ts +198 -0
- package/dist/template/.opencode/plugin/lib/curator.ts +234 -0
- package/dist/template/.opencode/plugin/lib/db/graph.ts +253 -0
- package/dist/template/.opencode/plugin/lib/db/maintenance.ts +312 -0
- package/dist/template/.opencode/plugin/lib/db/observations.ts +304 -0
- package/dist/template/.opencode/plugin/lib/db/pipeline.ts +520 -0
- package/dist/template/.opencode/plugin/lib/db/schema.ts +687 -0
- package/dist/template/.opencode/plugin/lib/db/types.ts +284 -0
- package/dist/template/.opencode/plugin/lib/distill.ts +376 -0
- package/dist/template/.opencode/plugin/lib/index-generator.ts +170 -0
- package/dist/template/.opencode/plugin/lib/inject.ts +126 -0
- package/dist/template/.opencode/plugin/lib/lint.ts +359 -0
- package/dist/template/.opencode/plugin/lib/memory-admin-tools.ts +277 -0
- package/dist/template/.opencode/plugin/lib/memory-db.ts +100 -0
- package/dist/template/.opencode/plugin/lib/memory-helpers.ts +141 -0
- package/dist/template/.opencode/plugin/lib/memory-hooks.ts +399 -0
- package/dist/template/.opencode/plugin/lib/memory-tools.ts +535 -0
- package/dist/template/.opencode/plugin/lib/notify.ts +89 -0
- package/dist/template/.opencode/plugin/lib/operation-log.ts +110 -0
- package/dist/template/.opencode/plugin/lib/validate.ts +243 -0
- package/dist/template/.opencode/plugin/memory.ts +90 -0
- package/dist/template/.opencode/plugin/package.json +7 -0
- package/dist/template/.opencode/plugin/prompt-leverage.ts +191 -0
- package/dist/template/.opencode/plugin/rtk.ts +43 -0
- package/dist/template/.opencode/plugin/sdk/copilot/chat/convert-to-openai-compatible-chat-messages.ts +172 -0
- package/dist/template/.opencode/plugin/sdk/copilot/chat/get-response-metadata.ts +15 -0
- package/dist/template/.opencode/plugin/sdk/copilot/chat/map-openai-compatible-finish-reason.ts +19 -0
- package/dist/template/.opencode/plugin/sdk/copilot/chat/openai-compatible-api-types.ts +72 -0
- package/dist/template/.opencode/plugin/sdk/copilot/chat/openai-compatible-chat-language-model.ts +835 -0
- package/dist/template/.opencode/plugin/sdk/copilot/chat/openai-compatible-chat-options.ts +30 -0
- package/dist/template/.opencode/plugin/sdk/copilot/chat/openai-compatible-metadata-extractor.ts +48 -0
- package/dist/template/.opencode/plugin/sdk/copilot/chat/openai-compatible-prepare-tools.ts +92 -0
- package/dist/template/.opencode/plugin/sdk/copilot/copilot-provider.ts +101 -0
- package/dist/template/.opencode/plugin/sdk/copilot/index.ts +5 -0
- package/dist/template/.opencode/plugin/sdk/copilot/openai-compatible-error.ts +30 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/convert-to-openai-responses-input.ts +335 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/map-openai-responses-finish-reason.ts +22 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/openai-config.ts +18 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/openai-error.ts +22 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/openai-responses-api-types.ts +214 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/openai-responses-language-model.ts +1770 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/openai-responses-prepare-tools.ts +173 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/openai-responses-settings.ts +1 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/tool/code-interpreter.ts +87 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/tool/file-search.ts +127 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/tool/image-generation.ts +114 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/tool/local-shell.ts +64 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/tool/web-search-preview.ts +103 -0
- package/dist/template/.opencode/plugin/sdk/copilot/responses/tool/web-search.ts +102 -0
- package/dist/template/.opencode/plugin/sessions.ts +457 -0
- package/dist/template/.opencode/plugin/skill-mcp.ts +618 -0
- package/dist/template/.opencode/plugin/tsconfig.json +16 -0
- package/dist/template/.opencode/skill/accessibility-audit/SKILL.md +191 -0
- package/dist/template/.opencode/skill/agent-evals/SKILL.md +208 -0
- package/dist/template/.opencode/skill/agent-teams/SKILL.md +268 -0
- package/dist/template/.opencode/skill/anti-ai-slop/SKILL.md +76 -0
- package/dist/template/.opencode/skill/api-and-interface-design/SKILL.md +162 -0
- package/dist/template/.opencode/skill/augment-context-engine/SKILL.md +122 -0
- package/dist/template/.opencode/skill/augment-context-engine/mcp.json +6 -0
- package/dist/template/.opencode/skill/beads/SKILL.md +182 -0
- package/dist/template/.opencode/skill/beads/references/BEST_PRACTICES.md +27 -0
- package/dist/template/.opencode/skill/beads/references/BOUNDARIES.md +219 -0
- package/dist/template/.opencode/skill/beads/references/DEPENDENCIES.md +124 -0
- package/dist/template/.opencode/skill/beads/references/EXAMPLES.md +45 -0
- package/dist/template/.opencode/skill/beads/references/FILE_CLAIMING.md +101 -0
- package/dist/template/.opencode/skill/beads/references/GIT_SYNC.md +25 -0
- package/dist/template/.opencode/skill/beads/references/HIERARCHY.md +71 -0
- package/dist/template/.opencode/skill/beads/references/MULTI_AGENT.md +40 -0
- package/dist/template/.opencode/skill/beads/references/RESUMABILITY.md +177 -0
- package/dist/template/.opencode/skill/beads/references/SESSION_PROTOCOL.md +61 -0
- package/dist/template/.opencode/skill/beads/references/TASK_CREATION.md +38 -0
- package/dist/template/.opencode/skill/beads/references/TROUBLESHOOTING.md +38 -0
- package/dist/template/.opencode/skill/beads/references/WORKFLOWS.md +226 -0
- package/dist/template/.opencode/skill/brainstorming/SKILL.md +114 -0
- package/dist/template/.opencode/skill/brand-asset-protocol/SKILL.md +222 -0
- package/dist/template/.opencode/skill/chrome-devtools/SKILL.md +76 -0
- package/dist/template/.opencode/skill/chrome-devtools/mcp.json +19 -0
- package/dist/template/.opencode/skill/ci-cd-and-automation/SKILL.md +202 -0
- package/dist/template/.opencode/skill/cloudflare/SKILL.md +253 -0
- package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/README.md +35 -0
- package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/api.md +100 -0
- package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/configuration.md +99 -0
- package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/gotchas.md +59 -0
- package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/patterns.md +89 -0
- package/dist/template/.opencode/skill/cloudflare/references/ai-gateway/README.md +695 -0
- package/dist/template/.opencode/skill/cloudflare/references/ai-search/README.md +14 -0
- package/dist/template/.opencode/skill/cloudflare/references/ai-search/api.md +38 -0
- package/dist/template/.opencode/skill/cloudflare/references/ai-search/configuration.md +52 -0
- package/dist/template/.opencode/skill/cloudflare/references/ai-search/gotchas.md +41 -0
- package/dist/template/.opencode/skill/cloudflare/references/ai-search/patterns.md +45 -0
- package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/README.md +14 -0
- package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/api.md +27 -0
- package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/configuration.md +45 -0
- package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/gotchas.md +3 -0
- package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/patterns.md +36 -0
- package/dist/template/.opencode/skill/cloudflare/references/api/README.md +21 -0
- package/dist/template/.opencode/skill/cloudflare/references/api/api.md +31 -0
- package/dist/template/.opencode/skill/cloudflare/references/api/configuration.md +20 -0
- package/dist/template/.opencode/skill/cloudflare/references/api/gotchas.md +28 -0
- package/dist/template/.opencode/skill/cloudflare/references/api/patterns.md +47 -0
- package/dist/template/.opencode/skill/cloudflare/references/api-shield/README.md +20 -0
- package/dist/template/.opencode/skill/cloudflare/references/api-shield/api.md +78 -0
- package/dist/template/.opencode/skill/cloudflare/references/api-shield/configuration.md +128 -0
- package/dist/template/.opencode/skill/cloudflare/references/api-shield/gotchas.md +51 -0
- package/dist/template/.opencode/skill/cloudflare/references/api-shield/patterns.md +145 -0
- package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/README.md +16 -0
- package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/api.md +50 -0
- package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/configuration.md +53 -0
- package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
- package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/patterns.md +45 -0
- package/dist/template/.opencode/skill/cloudflare/references/bindings/README.md +14 -0
- package/dist/template/.opencode/skill/cloudflare/references/bindings/api.md +3 -0
- package/dist/template/.opencode/skill/cloudflare/references/bindings/configuration.md +58 -0
- package/dist/template/.opencode/skill/cloudflare/references/bindings/gotchas.md +35 -0
- package/dist/template/.opencode/skill/cloudflare/references/bindings/patterns.md +37 -0
- package/dist/template/.opencode/skill/cloudflare/references/bot-management/README.md +71 -0
- package/dist/template/.opencode/skill/cloudflare/references/bot-management/api.md +168 -0
- package/dist/template/.opencode/skill/cloudflare/references/bot-management/configuration.md +114 -0
- package/dist/template/.opencode/skill/cloudflare/references/bot-management/gotchas.md +99 -0
- package/dist/template/.opencode/skill/cloudflare/references/bot-management/patterns.md +125 -0
- package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/README.md +16 -0
- package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/api.md +54 -0
- package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/configuration.md +47 -0
- package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/gotchas.md +29 -0
- package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/patterns.md +29 -0
- package/dist/template/.opencode/skill/cloudflare/references/c3/README.md +264 -0
- package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/README.md +93 -0
- package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/api.md +176 -0
- package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/configuration.md +164 -0
- package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/gotchas.md +203 -0
- package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/patterns.md +180 -0
- package/dist/template/.opencode/skill/cloudflare/references/containers/README.md +16 -0
- package/dist/template/.opencode/skill/cloudflare/references/containers/api.md +43 -0
- package/dist/template/.opencode/skill/cloudflare/references/containers/configuration.md +56 -0
- package/dist/template/.opencode/skill/cloudflare/references/containers/gotchas.md +21 -0
- package/dist/template/.opencode/skill/cloudflare/references/containers/patterns.md +40 -0
- package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/README.md +85 -0
- package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/api.md +198 -0
- package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/configuration.md +151 -0
- package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/gotchas.md +129 -0
- package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/patterns.md +122 -0
- package/dist/template/.opencode/skill/cloudflare/references/d1/README.md +92 -0
- package/dist/template/.opencode/skill/cloudflare/references/d1/api.md +141 -0
- package/dist/template/.opencode/skill/cloudflare/references/d1/configuration.md +127 -0
- package/dist/template/.opencode/skill/cloudflare/references/d1/gotchas.md +70 -0
- package/dist/template/.opencode/skill/cloudflare/references/d1/patterns.md +144 -0
- package/dist/template/.opencode/skill/cloudflare/references/ddos/README.md +34 -0
- package/dist/template/.opencode/skill/cloudflare/references/ddos/api.md +136 -0
- package/dist/template/.opencode/skill/cloudflare/references/ddos/configuration.md +67 -0
- package/dist/template/.opencode/skill/cloudflare/references/ddos/gotchas.md +114 -0
- package/dist/template/.opencode/skill/cloudflare/references/ddos/patterns.md +158 -0
- package/dist/template/.opencode/skill/cloudflare/references/do-storage/README.md +62 -0
- package/dist/template/.opencode/skill/cloudflare/references/do-storage/api.md +89 -0
- package/dist/template/.opencode/skill/cloudflare/references/do-storage/configuration.md +116 -0
- package/dist/template/.opencode/skill/cloudflare/references/do-storage/gotchas.md +93 -0
- package/dist/template/.opencode/skill/cloudflare/references/do-storage/patterns.md +112 -0
- package/dist/template/.opencode/skill/cloudflare/references/durable-objects/README.md +125 -0
- package/dist/template/.opencode/skill/cloudflare/references/durable-objects/api.md +152 -0
- package/dist/template/.opencode/skill/cloudflare/references/durable-objects/configuration.md +148 -0
- package/dist/template/.opencode/skill/cloudflare/references/durable-objects/gotchas.md +158 -0
- package/dist/template/.opencode/skill/cloudflare/references/durable-objects/patterns.md +255 -0
- package/dist/template/.opencode/skill/cloudflare/references/email-routing/README.md +18 -0
- package/dist/template/.opencode/skill/cloudflare/references/email-routing/api.md +46 -0
- package/dist/template/.opencode/skill/cloudflare/references/email-routing/configuration.md +63 -0
- package/dist/template/.opencode/skill/cloudflare/references/email-routing/gotchas.md +16 -0
- package/dist/template/.opencode/skill/cloudflare/references/email-routing/patterns.md +46 -0
- package/dist/template/.opencode/skill/cloudflare/references/email-workers/README.md +598 -0
- package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/README.md +62 -0
- package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/api.md +137 -0
- package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/configuration.md +133 -0
- package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/gotchas.md +184 -0
- package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/patterns.md +176 -0
- package/dist/template/.opencode/skill/cloudflare/references/images/README.md +14 -0
- package/dist/template/.opencode/skill/cloudflare/references/images/api.md +3 -0
- package/dist/template/.opencode/skill/cloudflare/references/images/configuration.md +45 -0
- package/dist/template/.opencode/skill/cloudflare/references/images/gotchas.md +23 -0
- package/dist/template/.opencode/skill/cloudflare/references/images/patterns.md +31 -0
- package/dist/template/.opencode/skill/cloudflare/references/kv/README.md +60 -0
- package/dist/template/.opencode/skill/cloudflare/references/kv/api.md +114 -0
- package/dist/template/.opencode/skill/cloudflare/references/kv/configuration.md +92 -0
- package/dist/template/.opencode/skill/cloudflare/references/kv/gotchas.md +117 -0
- package/dist/template/.opencode/skill/cloudflare/references/kv/patterns.md +139 -0
- package/dist/template/.opencode/skill/cloudflare/references/miniflare/README.md +64 -0
- package/dist/template/.opencode/skill/cloudflare/references/miniflare/api.md +144 -0
- package/dist/template/.opencode/skill/cloudflare/references/miniflare/configuration.md +203 -0
- package/dist/template/.opencode/skill/cloudflare/references/miniflare/gotchas.md +187 -0
- package/dist/template/.opencode/skill/cloudflare/references/miniflare/patterns.md +211 -0
- package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/README.md +60 -0
- package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/api.md +240 -0
- package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/configuration.md +127 -0
- package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/gotchas.md +171 -0
- package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/patterns.md +171 -0
- package/dist/template/.opencode/skill/cloudflare/references/observability/README.md +18 -0
- package/dist/template/.opencode/skill/cloudflare/references/observability/api.md +51 -0
- package/dist/template/.opencode/skill/cloudflare/references/observability/configuration.md +60 -0
- package/dist/template/.opencode/skill/cloudflare/references/observability/gotchas.md +36 -0
- package/dist/template/.opencode/skill/cloudflare/references/observability/patterns.md +42 -0
- package/dist/template/.opencode/skill/cloudflare/references/pages/README.md +76 -0
- package/dist/template/.opencode/skill/cloudflare/references/pages/api.md +200 -0
- package/dist/template/.opencode/skill/cloudflare/references/pages/configuration.md +228 -0
- package/dist/template/.opencode/skill/cloudflare/references/pages/gotchas.md +161 -0
- package/dist/template/.opencode/skill/cloudflare/references/pages/patterns.md +145 -0
- package/dist/template/.opencode/skill/cloudflare/references/pages-functions/README.md +57 -0
- package/dist/template/.opencode/skill/cloudflare/references/pages-functions/api.md +201 -0
- package/dist/template/.opencode/skill/cloudflare/references/pages-functions/configuration.md +159 -0
- package/dist/template/.opencode/skill/cloudflare/references/pages-functions/gotchas.md +151 -0
- package/dist/template/.opencode/skill/cloudflare/references/pages-functions/patterns.md +190 -0
- package/dist/template/.opencode/skill/cloudflare/references/pipelines/README.md +664 -0
- package/dist/template/.opencode/skill/cloudflare/references/pulumi/README.md +107 -0
- package/dist/template/.opencode/skill/cloudflare/references/pulumi/api.md +194 -0
- package/dist/template/.opencode/skill/cloudflare/references/pulumi/configuration.md +216 -0
- package/dist/template/.opencode/skill/cloudflare/references/pulumi/gotchas.md +223 -0
- package/dist/template/.opencode/skill/cloudflare/references/pulumi/patterns.md +139 -0
- package/dist/template/.opencode/skill/cloudflare/references/queues/README.md +69 -0
- package/dist/template/.opencode/skill/cloudflare/references/queues/api.md +138 -0
- package/dist/template/.opencode/skill/cloudflare/references/queues/configuration.md +125 -0
- package/dist/template/.opencode/skill/cloudflare/references/queues/gotchas.md +112 -0
- package/dist/template/.opencode/skill/cloudflare/references/queues/patterns.md +155 -0
- package/dist/template/.opencode/skill/cloudflare/references/r2/README.md +61 -0
- package/dist/template/.opencode/skill/cloudflare/references/r2/api.md +127 -0
- package/dist/template/.opencode/skill/cloudflare/references/r2/configuration.md +76 -0
- package/dist/template/.opencode/skill/cloudflare/references/r2/gotchas.md +94 -0
- package/dist/template/.opencode/skill/cloudflare/references/r2/patterns.md +127 -0
- package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/README.md +18 -0
- package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/api.md +29 -0
- package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/configuration.md +39 -0
- package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
- package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/patterns.md +46 -0
- package/dist/template/.opencode/skill/cloudflare/references/r2-sql/README.md +512 -0
- package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/README.md +21 -0
- package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/api.md +135 -0
- package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/configuration.md +63 -0
- package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/gotchas.md +75 -0
- package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/patterns.md +102 -0
- package/dist/template/.opencode/skill/cloudflare/references/realtimekit/README.md +81 -0
- package/dist/template/.opencode/skill/cloudflare/references/realtimekit/api.md +164 -0
- package/dist/template/.opencode/skill/cloudflare/references/realtimekit/configuration.md +147 -0
- package/dist/template/.opencode/skill/cloudflare/references/realtimekit/gotchas.md +172 -0
- package/dist/template/.opencode/skill/cloudflare/references/realtimekit/patterns.md +155 -0
- package/dist/template/.opencode/skill/cloudflare/references/sandbox/README.md +90 -0
- package/dist/template/.opencode/skill/cloudflare/references/sandbox/api.md +178 -0
- package/dist/template/.opencode/skill/cloudflare/references/sandbox/configuration.md +131 -0
- package/dist/template/.opencode/skill/cloudflare/references/sandbox/gotchas.md +156 -0
- package/dist/template/.opencode/skill/cloudflare/references/sandbox/patterns.md +203 -0
- package/dist/template/.opencode/skill/cloudflare/references/secrets-store/README.md +58 -0
- package/dist/template/.opencode/skill/cloudflare/references/secrets-store/api.md +182 -0
- package/dist/template/.opencode/skill/cloudflare/references/secrets-store/configuration.md +140 -0
- package/dist/template/.opencode/skill/cloudflare/references/secrets-store/gotchas.md +129 -0
- package/dist/template/.opencode/skill/cloudflare/references/secrets-store/patterns.md +218 -0
- package/dist/template/.opencode/skill/cloudflare/references/smart-placement/README.md +91 -0
- package/dist/template/.opencode/skill/cloudflare/references/smart-placement/api.md +139 -0
- package/dist/template/.opencode/skill/cloudflare/references/smart-placement/configuration.md +129 -0
- package/dist/template/.opencode/skill/cloudflare/references/smart-placement/gotchas.md +87 -0
- package/dist/template/.opencode/skill/cloudflare/references/smart-placement/patterns.md +135 -0
- package/dist/template/.opencode/skill/cloudflare/references/snippets/README.md +15 -0
- package/dist/template/.opencode/skill/cloudflare/references/snippets/api.md +47 -0
- package/dist/template/.opencode/skill/cloudflare/references/snippets/configuration.md +33 -0
- package/dist/template/.opencode/skill/cloudflare/references/snippets/gotchas.md +21 -0
- package/dist/template/.opencode/skill/cloudflare/references/snippets/patterns.md +34 -0
- package/dist/template/.opencode/skill/cloudflare/references/spectrum/README.md +16 -0
- package/dist/template/.opencode/skill/cloudflare/references/spectrum/api.md +24 -0
- package/dist/template/.opencode/skill/cloudflare/references/spectrum/configuration.md +43 -0
- package/dist/template/.opencode/skill/cloudflare/references/spectrum/gotchas.md +42 -0
- package/dist/template/.opencode/skill/cloudflare/references/spectrum/patterns.md +40 -0
- package/dist/template/.opencode/skill/cloudflare/references/static-assets/README.md +14 -0
- package/dist/template/.opencode/skill/cloudflare/references/static-assets/api.md +3 -0
- package/dist/template/.opencode/skill/cloudflare/references/static-assets/configuration.md +47 -0
- package/dist/template/.opencode/skill/cloudflare/references/static-assets/gotchas.md +44 -0
- package/dist/template/.opencode/skill/cloudflare/references/static-assets/patterns.md +42 -0
- package/dist/template/.opencode/skill/cloudflare/references/stream/README.md +103 -0
- package/dist/template/.opencode/skill/cloudflare/references/stream/api.md +204 -0
- package/dist/template/.opencode/skill/cloudflare/references/stream/configuration.md +127 -0
- package/dist/template/.opencode/skill/cloudflare/references/stream/gotchas.md +131 -0
- package/dist/template/.opencode/skill/cloudflare/references/stream/patterns.md +152 -0
- package/dist/template/.opencode/skill/cloudflare/references/tail-workers/README.md +640 -0
- package/dist/template/.opencode/skill/cloudflare/references/terraform/README.md +76 -0
- package/dist/template/.opencode/skill/cloudflare/references/terraform/api.md +159 -0
- package/dist/template/.opencode/skill/cloudflare/references/terraform/configuration.md +156 -0
- package/dist/template/.opencode/skill/cloudflare/references/terraform/gotchas.md +207 -0
- package/dist/template/.opencode/skill/cloudflare/references/terraform/patterns.md +135 -0
- package/dist/template/.opencode/skill/cloudflare/references/tunnel/README.md +82 -0
- package/dist/template/.opencode/skill/cloudflare/references/tunnel/api.md +105 -0
- package/dist/template/.opencode/skill/cloudflare/references/tunnel/configuration.md +113 -0
- package/dist/template/.opencode/skill/cloudflare/references/tunnel/gotchas.md +115 -0
- package/dist/template/.opencode/skill/cloudflare/references/tunnel/patterns.md +157 -0
- package/dist/template/.opencode/skill/cloudflare/references/turn/README.md +699 -0
- package/dist/template/.opencode/skill/cloudflare/references/turnstile/README.md +14 -0
- package/dist/template/.opencode/skill/cloudflare/references/turnstile/api.md +3 -0
- package/dist/template/.opencode/skill/cloudflare/references/turnstile/configuration.md +19 -0
- package/dist/template/.opencode/skill/cloudflare/references/turnstile/gotchas.md +27 -0
- package/dist/template/.opencode/skill/cloudflare/references/turnstile/patterns.md +41 -0
- package/dist/template/.opencode/skill/cloudflare/references/vectorize/README.md +682 -0
- package/dist/template/.opencode/skill/cloudflare/references/waf/README.md +14 -0
- package/dist/template/.opencode/skill/cloudflare/references/waf/api.md +3 -0
- package/dist/template/.opencode/skill/cloudflare/references/waf/configuration.md +44 -0
- package/dist/template/.opencode/skill/cloudflare/references/waf/gotchas.md +24 -0
- package/dist/template/.opencode/skill/cloudflare/references/waf/patterns.md +29 -0
- package/dist/template/.opencode/skill/cloudflare/references/web-analytics/README.md +19 -0
- package/dist/template/.opencode/skill/cloudflare/references/web-analytics/api.md +52 -0
- package/dist/template/.opencode/skill/cloudflare/references/web-analytics/configuration.md +31 -0
- package/dist/template/.opencode/skill/cloudflare/references/web-analytics/gotchas.md +28 -0
- package/dist/template/.opencode/skill/cloudflare/references/web-analytics/patterns.md +52 -0
- package/dist/template/.opencode/skill/cloudflare/references/workerd/README.md +47 -0
- package/dist/template/.opencode/skill/cloudflare/references/workerd/api.md +199 -0
- package/dist/template/.opencode/skill/cloudflare/references/workerd/configuration.md +185 -0
- package/dist/template/.opencode/skill/cloudflare/references/workerd/gotchas.md +203 -0
- package/dist/template/.opencode/skill/cloudflare/references/workerd/patterns.md +216 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers/README.md +96 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers/api.md +137 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers/configuration.md +147 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers/gotchas.md +99 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers/patterns.md +149 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers-ai/README.md +116 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/README.md +48 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/api.md +169 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/configuration.md +136 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/patterns.md +170 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers-playground/README.md +16 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers-playground/api.md +20 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers-playground/configuration.md +3 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers-playground/gotchas.md +35 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers-playground/patterns.md +42 -0
- package/dist/template/.opencode/skill/cloudflare/references/workers-vpc/README.md +579 -0
- package/dist/template/.opencode/skill/cloudflare/references/workflows/README.md +62 -0
- package/dist/template/.opencode/skill/cloudflare/references/workflows/api.md +125 -0
- package/dist/template/.opencode/skill/cloudflare/references/workflows/configuration.md +177 -0
- package/dist/template/.opencode/skill/cloudflare/references/workflows/gotchas.md +136 -0
- package/dist/template/.opencode/skill/cloudflare/references/workflows/patterns.md +132 -0
- package/dist/template/.opencode/skill/cloudflare/references/wrangler/README.md +90 -0
- package/dist/template/.opencode/skill/cloudflare/references/wrangler/api.md +140 -0
- package/dist/template/.opencode/skill/cloudflare/references/wrangler/configuration.md +128 -0
- package/dist/template/.opencode/skill/cloudflare/references/wrangler/gotchas.md +93 -0
- package/dist/template/.opencode/skill/cloudflare/references/wrangler/patterns.md +150 -0
- package/dist/template/.opencode/skill/cloudflare/references/zaraz/README.md +360 -0
- package/dist/template/.opencode/skill/code-search-patterns/SKILL.md +253 -0
- package/dist/template/.opencode/skill/code-simplification/SKILL.md +211 -0
- package/dist/template/.opencode/skill/condition-based-waiting/SKILL.md +135 -0
- package/dist/template/.opencode/skill/condition-based-waiting/example.ts +158 -0
- package/dist/template/.opencode/skill/context-condensation/SKILL.md +149 -0
- package/dist/template/.opencode/skill/context-engineering/SKILL.md +176 -0
- package/dist/template/.opencode/skill/context-initialization/SKILL.md +69 -0
- package/dist/template/.opencode/skill/context-management/SKILL.md +390 -0
- package/dist/template/.opencode/skill/core-data-expert/SKILL.md +93 -0
- package/dist/template/.opencode/skill/core-data-expert/references/batch-operations.md +543 -0
- package/dist/template/.opencode/skill/core-data-expert/references/cloudkit-integration.md +259 -0
- package/dist/template/.opencode/skill/core-data-expert/references/concurrency.md +522 -0
- package/dist/template/.opencode/skill/core-data-expert/references/fetch-requests.md +643 -0
- package/dist/template/.opencode/skill/core-data-expert/references/glossary.md +233 -0
- package/dist/template/.opencode/skill/core-data-expert/references/migration.md +393 -0
- package/dist/template/.opencode/skill/core-data-expert/references/model-configuration.md +597 -0
- package/dist/template/.opencode/skill/core-data-expert/references/performance.md +300 -0
- package/dist/template/.opencode/skill/core-data-expert/references/persistent-history.md +553 -0
- package/dist/template/.opencode/skill/core-data-expert/references/project-audit.md +60 -0
- package/dist/template/.opencode/skill/core-data-expert/references/saving.md +574 -0
- package/dist/template/.opencode/skill/core-data-expert/references/stack-setup.md +625 -0
- package/dist/template/.opencode/skill/core-data-expert/references/testing.md +300 -0
- package/dist/template/.opencode/skill/core-data-expert/references/threading.md +589 -0
- package/dist/template/.opencode/skill/deep-research/SKILL.md +384 -0
- package/dist/template/.opencode/skill/defense-in-depth/SKILL.md +176 -0
- package/dist/template/.opencode/skill/deprecation-and-migration/SKILL.md +189 -0
- package/dist/template/.opencode/skill/design-direction-advisor/SKILL.md +139 -0
- package/dist/template/.opencode/skill/design-system-audit/SKILL.md +153 -0
- package/dist/template/.opencode/skill/design-taste-frontend/SKILL.md +238 -0
- package/dist/template/.opencode/skill/development-lifecycle/SKILL.md +320 -0
- package/dist/template/.opencode/skill/dispatching-parallel-agents/SKILL.md +191 -0
- package/dist/template/.opencode/skill/documentation-and-adrs/SKILL.md +220 -0
- package/dist/template/.opencode/skill/executing-plans/SKILL.md +247 -0
- package/dist/template/.opencode/skill/figma/SKILL.md +224 -0
- package/dist/template/.opencode/skill/figma-go/SKILL.md +65 -0
- package/dist/template/.opencode/skill/finishing-a-development-branch/SKILL.md +357 -0
- package/dist/template/.opencode/skill/frontend-design/SKILL.md +235 -0
- package/dist/template/.opencode/skill/frontend-design/references/animation/motion-advanced.md +224 -0
- package/dist/template/.opencode/skill/frontend-design/references/animation/motion-core.md +181 -0
- package/dist/template/.opencode/skill/frontend-design/references/canvas/execution.md +90 -0
- package/dist/template/.opencode/skill/frontend-design/references/canvas/philosophy.md +94 -0
- package/dist/template/.opencode/skill/frontend-design/references/design/color-system.md +111 -0
- package/dist/template/.opencode/skill/frontend-design/references/design/interaction.md +149 -0
- package/dist/template/.opencode/skill/frontend-design/references/design/typography-rules.md +106 -0
- package/dist/template/.opencode/skill/frontend-design/references/design/ux-writing.md +99 -0
- package/dist/template/.opencode/skill/frontend-design/references/shadcn/accessibility.md +132 -0
- package/dist/template/.opencode/skill/frontend-design/references/shadcn/core-components.md +153 -0
- package/dist/template/.opencode/skill/frontend-design/references/shadcn/form-components.md +158 -0
- package/dist/template/.opencode/skill/frontend-design/references/shadcn/setup.md +69 -0
- package/dist/template/.opencode/skill/frontend-design/references/shadcn/theming.md +152 -0
- package/dist/template/.opencode/skill/frontend-design/references/tailwind/responsive.md +112 -0
- package/dist/template/.opencode/skill/frontend-design/references/tailwind/utilities-layout.md +134 -0
- package/dist/template/.opencode/skill/frontend-design/references/tailwind/utilities-styling.md +165 -0
- package/dist/template/.opencode/skill/frontend-design/references/tailwind/v4-config.md +147 -0
- package/dist/template/.opencode/skill/frontend-design/references/tailwind/v4-features.md +128 -0
- package/dist/template/.opencode/skill/full-output-enforcement/SKILL.md +62 -0
- package/dist/template/.opencode/skill/gemini-large-context/SKILL.md +216 -0
- package/dist/template/.opencode/skill/gh-address-comments/SKILL.md +29 -0
- package/dist/template/.opencode/skill/gh-address-comments/scripts/fetch_comments.py +237 -0
- package/dist/template/.opencode/skill/gh-fix-ci/SKILL.md +38 -0
- package/dist/template/.opencode/skill/gh-fix-ci/scripts/inspect_pr_checks.py +509 -0
- package/dist/template/.opencode/skill/hi-fi-prototype-html/SKILL.md +253 -0
- package/dist/template/.opencode/skill/high-end-visual-design/SKILL.md +111 -0
- package/dist/template/.opencode/skill/html-deck-export/SKILL.md +189 -0
- package/dist/template/.opencode/skill/incremental-implementation/SKILL.md +191 -0
- package/dist/template/.opencode/skill/index-knowledge/SKILL.md +413 -0
- package/dist/template/.opencode/skill/industrial-brutalist-ui/SKILL.md +105 -0
- package/dist/template/.opencode/skill/jira/SKILL.md +283 -0
- package/dist/template/.opencode/skill/jira/mcp.json +6 -0
- package/dist/template/.opencode/skill/memory-grounding/SKILL.md +68 -0
- package/dist/template/.opencode/skill/memory-system/SKILL.md +148 -0
- package/dist/template/.opencode/skill/minimalist-ui/SKILL.md +98 -0
- package/dist/template/.opencode/skill/mockup-to-code/SKILL.md +184 -0
- package/dist/template/.opencode/skill/opensrc/SKILL.md +284 -0
- package/dist/template/.opencode/skill/opensrc/references/architecture.md +176 -0
- package/dist/template/.opencode/skill/opensrc/references/cli-usage.md +176 -0
- package/dist/template/.opencode/skill/opensrc/references/registry-support.md +137 -0
- package/dist/template/.opencode/skill/pdf-extract/SKILL.md +438 -0
- package/dist/template/.opencode/skill/performance-optimization/SKILL.md +236 -0
- package/dist/template/.opencode/skill/playwright/SKILL.md +381 -0
- package/dist/template/.opencode/skill/playwright/mcp.json +16 -0
- package/dist/template/.opencode/skill/playwright/references/agent-browser-cli.md +405 -0
- package/dist/template/.opencode/skill/playwriter/SKILL.md +158 -0
- package/dist/template/.opencode/skill/polar/SKILL.md +102 -0
- package/dist/template/.opencode/skill/portless/SKILL.md +109 -0
- package/dist/template/.opencode/skill/prd/SKILL.md +146 -0
- package/dist/template/.opencode/skill/prd-task/SKILL.md +182 -0
- package/dist/template/.opencode/skill/prd-task/references/prd-schema.json +124 -0
- package/dist/template/.opencode/skill/prompt-leverage/SKILL.md +90 -0
- package/dist/template/.opencode/skill/prompt-leverage/references/framework.md +91 -0
- package/dist/template/.opencode/skill/prompt-leverage/scripts/augment_prompt.py +157 -0
- package/dist/template/.opencode/skill/react-best-practices/AGENTS.md +2410 -0
- package/dist/template/.opencode/skill/react-best-practices/README.md +123 -0
- package/dist/template/.opencode/skill/react-best-practices/SKILL.md +133 -0
- package/dist/template/.opencode/skill/react-best-practices/metadata.json +15 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/_sections.md +46 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/_template.md +28 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/async-api-routes.md +38 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/async-defer-await.md +80 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/async-dependencies.md +36 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/async-parallel.md +28 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/bundle-conditional.md +31 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/bundle-preload.md +50 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/client-event-listeners.md +74 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/js-cache-storage.md +70 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/js-early-exit.md +50 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/js-index-maps.md +37 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/js-length-check-first.md +49 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rendering-activity.md +26 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rerender-memo.md +44 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/rerender-transitions.md +40 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/server-cache-lru.md +41 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/server-cache-react.md +76 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/dist/template/.opencode/skill/react-best-practices/rules/server-serialization.md +38 -0
- package/dist/template/.opencode/skill/receiving-code-review/SKILL.md +263 -0
- package/dist/template/.opencode/skill/reconcile/SKILL.md +183 -0
- package/dist/template/.opencode/skill/redesign-existing-projects/SKILL.md +191 -0
- package/dist/template/.opencode/skill/reflection-checkpoints/SKILL.md +183 -0
- package/dist/template/.opencode/skill/requesting-code-review/SKILL.md +443 -0
- package/dist/template/.opencode/skill/requesting-code-review/references/specialist-profiles.md +108 -0
- package/dist/template/.opencode/skill/requesting-code-review/review.md +160 -0
- package/dist/template/.opencode/skill/resend/SKILL.md +177 -0
- package/dist/template/.opencode/skill/resend/references/react-email.md +287 -0
- package/dist/template/.opencode/skill/resend/references/receive-email.md +248 -0
- package/dist/template/.opencode/skill/resend/references/send-email.md +318 -0
- package/dist/template/.opencode/skill/root-cause-tracing/SKILL.md +192 -0
- package/dist/template/.opencode/skill/root-cause-tracing/find-polluter.sh +63 -0
- package/dist/template/.opencode/skill/rtk-command-compression/SKILL.md +134 -0
- package/dist/template/.opencode/skill/screenshot/SKILL.md +48 -0
- package/dist/template/.opencode/skill/screenshot/scripts/ensure_macos_permissions.sh +54 -0
- package/dist/template/.opencode/skill/screenshot/scripts/macos_display_info.swift +22 -0
- package/dist/template/.opencode/skill/screenshot/scripts/macos_permissions.swift +40 -0
- package/dist/template/.opencode/skill/screenshot/scripts/macos_window_info.swift +126 -0
- package/dist/template/.opencode/skill/screenshot/scripts/take_screenshot.ps1 +163 -0
- package/dist/template/.opencode/skill/screenshot/scripts/take_screenshot.py +585 -0
- package/dist/template/.opencode/skill/security-and-hardening/SKILL.md +296 -0
- package/dist/template/.opencode/skill/security-threat-model/SKILL.md +36 -0
- package/dist/template/.opencode/skill/security-threat-model/references/prompt-template.md +255 -0
- package/dist/template/.opencode/skill/security-threat-model/references/security-controls-and-assets.md +32 -0
- package/dist/template/.opencode/skill/sharing-skills/SKILL.md +214 -0
- package/dist/template/.opencode/skill/skill-creator/SKILL.md +181 -0
- package/dist/template/.opencode/skill/skill-installer/SKILL.md +58 -0
- package/dist/template/.opencode/skill/skill-installer/scripts/github_utils.py +21 -0
- package/dist/template/.opencode/skill/skill-installer/scripts/install-skill-from-github.py +313 -0
- package/dist/template/.opencode/skill/skill-installer/scripts/list-skills.py +106 -0
- package/dist/template/.opencode/skill/structured-edit/SKILL.md +191 -0
- package/dist/template/.opencode/skill/subagent-driven-development/SKILL.md +237 -0
- package/dist/template/.opencode/skill/supabase/SKILL.md +130 -0
- package/dist/template/.opencode/skill/supabase/mcp.json +27 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/AGENTS.md +1490 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/SKILL.md +65 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
- package/dist/template/.opencode/skill/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
- package/dist/template/.opencode/skill/swarm-coordination/SKILL.md +244 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/architecture.md +39 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/delegation-worker-protocol.md +145 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/dependency-graph.md +50 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/drift-check.md +90 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/integration-beads.md +20 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/launch-flow.md +186 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/reconciler.md +172 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/tier-enforcement.md +78 -0
- package/dist/template/.opencode/skill/swarm-coordination/references/tmux-integration.md +134 -0
- package/dist/template/.opencode/skill/swift-concurrency/SKILL.md +266 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/actors.md +640 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/async-algorithms.md +822 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/async-await-basics.md +249 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/async-sequences.md +670 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/core-data.md +533 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/glossary.md +128 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/linting.md +142 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/memory-management.md +542 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/migration.md +1076 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/performance.md +574 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/sendable.md +578 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/tasks.md +604 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/testing.md +565 -0
- package/dist/template/.opencode/skill/swift-concurrency/references/threading.md +452 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/SKILL.md +329 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/animation-advanced.md +351 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/animation-basics.md +284 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/animation-transitions.md +326 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/image-optimization.md +286 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/layout-best-practices.md +312 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/liquid-glass.md +377 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/list-patterns.md +153 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/modern-apis.md +400 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/performance-patterns.md +377 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/scroll-patterns.md +305 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/sheet-navigation-patterns.md +292 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/state-management.md +447 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/text-formatting.md +285 -0
- package/dist/template/.opencode/skill/swiftui-expert-skill/references/view-structure.md +276 -0
- package/dist/template/.opencode/skill/systematic-debugging/SKILL.md +402 -0
- package/dist/template/.opencode/skill/terse-output-mode/SKILL.md +95 -0
- package/dist/template/.opencode/skill/test-driven-development/SKILL.md +403 -0
- package/dist/template/.opencode/skill/testing-anti-patterns/SKILL.md +333 -0
- package/dist/template/.opencode/skill/think-in-code/SKILL.md +136 -0
- package/dist/template/.opencode/skill/using-git-worktrees/SKILL.md +259 -0
- package/dist/template/.opencode/skill/ux-quality-gates/SKILL.md +137 -0
- package/dist/template/.opencode/skill/v0/SKILL.md +158 -0
- package/dist/template/.opencode/skill/v1-run/SKILL.md +175 -0
- package/dist/template/.opencode/skill/v1-run/mcp.json +6 -0
- package/dist/template/.opencode/skill/vercel-deploy-claimable/SKILL.md +124 -0
- package/dist/template/.opencode/skill/vercel-deploy-claimable/scripts/deploy.sh +249 -0
- package/dist/template/.opencode/skill/verification-before-completion/SKILL.md +357 -0
- package/dist/template/.opencode/skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md +171 -0
- package/dist/template/.opencode/skill/verification-gates/SKILL.md +63 -0
- package/dist/template/.opencode/skill/visual-analysis/SKILL.md +154 -0
- package/dist/template/.opencode/skill/web-design-guidelines/SKILL.md +46 -0
- package/dist/template/.opencode/skill/webclaw/SKILL.md +155 -0
- package/dist/template/.opencode/skill/workspace-setup/SKILL.md +76 -0
- package/dist/template/.opencode/skill/writing-plans/SKILL.md +320 -0
- package/dist/template/.opencode/skill/writing-skills/SKILL.md +324 -0
- package/dist/template/.opencode/skill/writing-skills/anthropic-best-practices.md +1173 -0
- package/dist/template/.opencode/skill/writing-skills/graphviz-conventions.dot +172 -0
- package/dist/template/.opencode/skill/writing-skills/persuasion-principles.md +220 -0
- package/dist/template/.opencode/skill/writing-skills/references/anti-patterns.md +25 -0
- package/dist/template/.opencode/skill/writing-skills/references/claude-search-optimization.md +140 -0
- package/dist/template/.opencode/skill/writing-skills/references/discovery-workflow.md +11 -0
- package/dist/template/.opencode/skill/writing-skills/references/file-organization.md +32 -0
- package/dist/template/.opencode/skill/writing-skills/references/flowcharts-and-examples.md +57 -0
- package/dist/template/.opencode/skill/writing-skills/references/rationalization-hardening.md +75 -0
- package/dist/template/.opencode/skill/writing-skills/references/testing-methodology.md +397 -0
- package/dist/template/.opencode/skill/writing-skills/references/testing-skill-types.md +52 -0
- package/dist/template/.opencode/tool/context7.ts +191 -0
- package/dist/template/.opencode/tool/grepsearch.ts +143 -0
- package/dist/template/.opencode/tsconfig.json +21 -0
- package/dist/template/.opencode/tui.json +15 -0
- package/package.json +78 -0
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create detailed implementation plan with TDD steps for a bead
|
|
3
|
+
argument-hint: "<bead-id> [--create-beads]"
|
|
4
|
+
agent: plan
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Plan: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
Create a detailed implementation plan with TDD steps. Optional deep-planning between `/create` and `/ship`.
|
|
10
|
+
|
|
11
|
+
> **Workflow:** `/create` → **`/plan <id>`** (optional) → `/ship <id>`
|
|
12
|
+
>
|
|
13
|
+
> Bead MUST be `in_progress` with `prd.md`. Use `/create` first.
|
|
14
|
+
>
|
|
15
|
+
> **When to use:** Complex tasks where PRD verification steps aren't enough guidance. Skip for simple tasks.
|
|
16
|
+
|
|
17
|
+
## Load Skills
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
skill({ name: "beads" });
|
|
21
|
+
skill({ name: "memory-grounding" });
|
|
22
|
+
skill({ name: "writing-plans" }); // TDD plan format
|
|
23
|
+
// For user-facing UI work: skill({ name: "ux-quality-gates" });
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Parse Arguments
|
|
27
|
+
|
|
28
|
+
| Argument | Default | Description |
|
|
29
|
+
| ---------------- | -------- | --------------------------------- |
|
|
30
|
+
| `<bead-id>` | required | The bead to plan |
|
|
31
|
+
| `--create-beads` | false | Create child beads for each phase |
|
|
32
|
+
|
|
33
|
+
## Before You Plan
|
|
34
|
+
|
|
35
|
+
- **Be certain**: Only create tasks you're confident about
|
|
36
|
+
- **Don't over-plan**: If the PRD is clear, trust it
|
|
37
|
+
- **Budget context**: Target ~50% context per execution
|
|
38
|
+
- **Split signals**: Create child beads for complex work
|
|
39
|
+
- **Vertical slices**: Each task should cover one feature end-to-end
|
|
40
|
+
|
|
41
|
+
## Phase 0: Institutional Research (Mandatory)
|
|
42
|
+
|
|
43
|
+
Before touching the PRD or planning anything, load what the codebase already knows.
|
|
44
|
+
|
|
45
|
+
**This step is not optional.** Skipping it means planning in the dark.
|
|
46
|
+
|
|
47
|
+
### Step 1: Search institutional memory
|
|
48
|
+
|
|
49
|
+
Follow the [memory-grounding](../skill/memory-grounding/SKILL.md) skill protocol. Focus on: bugfixes, existing plans (ask user before overwriting).
|
|
50
|
+
|
|
51
|
+
If relevant observations found: incorporate them directly into the plan. Don't re-solve solved problems.
|
|
52
|
+
|
|
53
|
+
### Step 2: Mine git history
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# What has changed recently in affected areas?
|
|
57
|
+
git log --oneline -20
|
|
58
|
+
|
|
59
|
+
# Who wrote the relevant code and when?
|
|
60
|
+
git log --oneline --follow -- <relevant-file-path>
|
|
61
|
+
|
|
62
|
+
# What patterns appear in recent commits?
|
|
63
|
+
git log --oneline --all | head -30
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Look for:
|
|
67
|
+
|
|
68
|
+
- Commit conventions (how this team names things)
|
|
69
|
+
- Recent changes to files you'll touch (merge conflict risk)
|
|
70
|
+
- How similar features were implemented before
|
|
71
|
+
- Any "fix:", "revert:", "hotfix:" commits near your scope (footgun zones)
|
|
72
|
+
|
|
73
|
+
### Step 3: Spawn learnings-researcher (if Level 2-3 work)
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
task({
|
|
77
|
+
subagent_type: "explore",
|
|
78
|
+
description: "Search codebase for patterns related to this work",
|
|
79
|
+
prompt: `Search the codebase for patterns, conventions, and existing implementations related to: [FEATURE].
|
|
80
|
+
|
|
81
|
+
Run these searches:
|
|
82
|
+
- grep for relevant function names and patterns
|
|
83
|
+
- Find similar existing features
|
|
84
|
+
- Check test patterns for this domain
|
|
85
|
+
- Look for any TODO/FIXME comments in relevant files
|
|
86
|
+
|
|
87
|
+
Return: existing patterns to follow, files to be aware of, and any gotchas.`,
|
|
88
|
+
});
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Only after completing Phase 0** do you proceed to planning. The research phases must use this context.
|
|
92
|
+
|
|
93
|
+
## Phase 1: Guards
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
br show $ARGUMENTS
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Read `.beads/artifacts/$ARGUMENTS/` to check what artifacts exist.
|
|
100
|
+
|
|
101
|
+
Verify:
|
|
102
|
+
|
|
103
|
+
- Bead is `in_progress`
|
|
104
|
+
- `prd.md` exists
|
|
105
|
+
- If `plan.md` already exists, ask user: overwrite or skip?
|
|
106
|
+
|
|
107
|
+
## Phase 2: Discovery Assessment
|
|
108
|
+
|
|
109
|
+
Before research, determine discovery level based on PRD:
|
|
110
|
+
|
|
111
|
+
| Level | Scope | When to Use | Action |
|
|
112
|
+
| ----- | -------------------- | ----------------------------------------------------------------- | ------------------------------------------- |
|
|
113
|
+
| **0** | Skip | Pure internal work, existing patterns only (grep confirms) | Skip research, proceed to decomposition |
|
|
114
|
+
| **1** | Quick (2-5 min) | Single known library, confirming syntax/version | `context7 resolve-library-id + query-docs` |
|
|
115
|
+
| **2** | Standard (15-30 min) | Choosing between 2-3 options, new external integration | Spawn `@scout` for research |
|
|
116
|
+
| **3** | Deep (1+ hour) | Architectural decision, novel problem, multiple external services | Full research with parallel `@scout` agents |
|
|
117
|
+
|
|
118
|
+
**Depth indicators:**
|
|
119
|
+
|
|
120
|
+
- Level 2+: New library not in package.json, external API, "choose/select/evaluate"
|
|
121
|
+
- Level 3: "architecture/design/system", data modeling, auth design
|
|
122
|
+
|
|
123
|
+
**Decision:** Ask user to confirm or adjust:
|
|
124
|
+
|
|
125
|
+
```typescript
|
|
126
|
+
question({
|
|
127
|
+
questions: [
|
|
128
|
+
{
|
|
129
|
+
header: "Discovery Level",
|
|
130
|
+
question: "Suggested discovery level based on PRD complexity. Proceed?",
|
|
131
|
+
options: [
|
|
132
|
+
{
|
|
133
|
+
label: "Deep (Recommended for complex work)",
|
|
134
|
+
description: "Level 2-3: spawn scout + explore agents",
|
|
135
|
+
},
|
|
136
|
+
{ label: "Standard", description: "Level 1: quick doc lookup" },
|
|
137
|
+
{ label: "Skip research", description: "Level 0: I know the codebase" },
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
});
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Determine level from PRD content: Level 2+ if new library, external API, or "choose/evaluate" language. Level 3 if "architecture/design/system".
|
|
145
|
+
|
|
146
|
+
## Phase 3: Research (if Level 1-3)
|
|
147
|
+
|
|
148
|
+
Read the PRD and extract tasks, success criteria, affected files, scope.
|
|
149
|
+
|
|
150
|
+
Spawn parallel agents to gather implementation context:
|
|
151
|
+
|
|
152
|
+
| Agent | Purpose |
|
|
153
|
+
| --------- | -------------------------------------------------------------------- |
|
|
154
|
+
| `explore` | Codebase patterns, affected file structure, test patterns, conflicts |
|
|
155
|
+
| `scout` | Best practices, common patterns, pitfalls |
|
|
156
|
+
|
|
157
|
+
## Phase 4: Goal-Backward Analysis
|
|
158
|
+
|
|
159
|
+
**Forward planning:** "What should we build?" → produces tasks
|
|
160
|
+
**Goal-backward:** "What must be TRUE for the goal to be achieved?" → produces requirements
|
|
161
|
+
|
|
162
|
+
### Step 1: Extract Goal from PRD
|
|
163
|
+
|
|
164
|
+
Take success criteria from PRD. Must be outcome-shaped, not task-shaped.
|
|
165
|
+
|
|
166
|
+
- Good: "Working chat interface" (outcome)
|
|
167
|
+
- Bad: "Build chat components" (task)
|
|
168
|
+
|
|
169
|
+
### Step 2: Derive Observable Truths
|
|
170
|
+
|
|
171
|
+
"What must be TRUE for this goal to be achieved?" List 3-7 truths from USER's perspective.
|
|
172
|
+
|
|
173
|
+
Example for "working chat interface":
|
|
174
|
+
|
|
175
|
+
- User can see existing messages
|
|
176
|
+
- User can type a new message
|
|
177
|
+
- User can send the message
|
|
178
|
+
- Sent message appears in the list
|
|
179
|
+
- Messages persist across page refresh
|
|
180
|
+
|
|
181
|
+
**Test:** Each truth verifiable by a human using the application.
|
|
182
|
+
|
|
183
|
+
**For UI PRDs:** Include truths for state and recovery coverage, not just happy paths:
|
|
184
|
+
|
|
185
|
+
- User can understand where they are and what scope the screen/action affects
|
|
186
|
+
- User can identify the single primary action and the result of triggering it
|
|
187
|
+
- Empty, loading, error, and success states are visible where data/async work exists
|
|
188
|
+
- User can recover from failure with retry, undo, fallback, or support path
|
|
189
|
+
- Dangerous actions communicate consequences before execution
|
|
190
|
+
- Forms expose labels, helper text, validation, and accessible errors
|
|
191
|
+
|
|
192
|
+
### Step 3: Derive Required Artifacts
|
|
193
|
+
|
|
194
|
+
For each truth: "What must EXIST for this to be true?"
|
|
195
|
+
|
|
196
|
+
| Truth | Required Artifacts |
|
|
197
|
+
| ------------------------------ | --------------------------------------------------------------- |
|
|
198
|
+
| User can see existing messages | Message list component, Messages state, API route, Message type |
|
|
199
|
+
| User can send a message | Input component, Send handler, POST API |
|
|
200
|
+
|
|
201
|
+
**Test:** Each artifact = a specific file or database object.
|
|
202
|
+
|
|
203
|
+
### Step 4: Identify Key Links
|
|
204
|
+
|
|
205
|
+
"Where is this most likely to break?" Critical connections where breakage causes cascading failures.
|
|
206
|
+
|
|
207
|
+
| From | To | Via | Risk |
|
|
208
|
+
| --------- | --------- | ------------------- | ----------------------------------- |
|
|
209
|
+
| Input | API | `fetch` in onSubmit | Handler not wired |
|
|
210
|
+
| API | Database | `prisma.query` | Query returns static, not DB result |
|
|
211
|
+
| Component | Real data | `useEffect` fetch | Shows placeholder, not messages |
|
|
212
|
+
|
|
213
|
+
**For UI PRDs:** Add UX failure links where relevant:
|
|
214
|
+
|
|
215
|
+
| From | To | Via | Risk |
|
|
216
|
+
| ------------------ | ------------------ | ---------------------------- | ---------------------------------------- |
|
|
217
|
+
| Destructive action | Confirmation/undo | Dialog, toast, or action log | User deletes wrong entity or cannot undo |
|
|
218
|
+
| Form field | Validation message | `aria-describedby` / focus | User cannot find or understand the error |
|
|
219
|
+
| Async action | Loading/recovery | Button state, toast, banner | User double-submits or hits a dead end |
|
|
220
|
+
| Filtered data | Empty/no-results | Query state + empty copy | User thinks data is missing or corrupted |
|
|
221
|
+
|
|
222
|
+
## Phase 5: Decompose with Context Budget
|
|
223
|
+
|
|
224
|
+
**Quality Degradation Rule:** Target ~50% context per execution. More plans, smaller scope = consistent quality.
|
|
225
|
+
|
|
226
|
+
| Task Complexity | Max Tasks | Context/Task | Total |
|
|
227
|
+
| --------------- | --------- | ------------ | ------- |
|
|
228
|
+
| Simple (CRUD) | 3 | ~10-15% | ~30-45% |
|
|
229
|
+
| Complex (auth) | 2 | ~20-30% | ~40-50% |
|
|
230
|
+
| Very complex | 1-2 | ~30-40% | ~30-50% |
|
|
231
|
+
|
|
232
|
+
**Split signals (create child plans):**
|
|
233
|
+
|
|
234
|
+
- More than 3 tasks
|
|
235
|
+
- Multiple subsystems (DB + API + UI)
|
|
236
|
+
- Any task with >5 file modifications
|
|
237
|
+
- Checkpoint + implementation in same plan
|
|
238
|
+
- Discovery + implementation in same plan
|
|
239
|
+
|
|
240
|
+
Assess size to determine plan structure:
|
|
241
|
+
|
|
242
|
+
| Size | Files | Approach |
|
|
243
|
+
| ------------- | --------- | ---------------------------------------- |
|
|
244
|
+
| S (1-3 files) | 2-4 tasks | Single plan, no phases |
|
|
245
|
+
| M (3-8 files) | 5-8 tasks | 2-3 phases |
|
|
246
|
+
| L (8+ files) | 9+ tasks | Create child beads with `--create-beads` |
|
|
247
|
+
|
|
248
|
+
## Phase 6: Dependency Graph & Wave Assignment
|
|
249
|
+
|
|
250
|
+
**For each task, record:**
|
|
251
|
+
|
|
252
|
+
- `needs`: What must exist before this runs
|
|
253
|
+
- `creates`: What this produces
|
|
254
|
+
- `has_checkpoint`: Requires user interaction?
|
|
255
|
+
|
|
256
|
+
**Example:**
|
|
257
|
+
|
|
258
|
+
```
|
|
259
|
+
Task A (User model): needs nothing, creates src/models/user.ts
|
|
260
|
+
Task B (User API): needs Task A, creates src/api/users.ts
|
|
261
|
+
Task C (User UI): needs Task B, creates src/components/UserList.tsx
|
|
262
|
+
|
|
263
|
+
Wave 1: A (independent)
|
|
264
|
+
Wave 2: B (depends on A)
|
|
265
|
+
Wave 3: C (depends on B)
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**Wave assignment enables parallel execution in `/ship`.**
|
|
269
|
+
|
|
270
|
+
**Vertical slices preferred:** Each plan covers one feature end-to-end (model + API + UI)
|
|
271
|
+
**Avoid horizontal layers:** Don't create "all models" then "all APIs" then "all UI"
|
|
272
|
+
|
|
273
|
+
## Phase 7: Write Plan
|
|
274
|
+
|
|
275
|
+
Write `.beads/artifacts/$ARGUMENTS/plan.md` following the `writing-plans` skill format:
|
|
276
|
+
|
|
277
|
+
### Required Plan Header
|
|
278
|
+
|
|
279
|
+
```markdown
|
|
280
|
+
# [Feature] Implementation Plan
|
|
281
|
+
|
|
282
|
+
> **For Claude:** REQUIRED SUB-SKILL: Use skill({ name: "executing-plans" }) to implement this plan task-by-task.
|
|
283
|
+
|
|
284
|
+
**Goal:** [Outcome-shaped goal from PRD]
|
|
285
|
+
|
|
286
|
+
**Discovery Level:** [0-3] - [Rationale]
|
|
287
|
+
|
|
288
|
+
**Context Budget:** [Estimated context usage, target ~50%]
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## Must-Haves
|
|
293
|
+
|
|
294
|
+
### Observable Truths
|
|
295
|
+
|
|
296
|
+
(What must be TRUE for the goal to be achieved?)
|
|
297
|
+
|
|
298
|
+
1. [Truth 1]
|
|
299
|
+
2. [Truth 2]
|
|
300
|
+
3. [Truth 3]
|
|
301
|
+
|
|
302
|
+
### Required Artifacts
|
|
303
|
+
|
|
304
|
+
| Artifact | Provides | Path |
|
|
305
|
+
| ---------------- | -------------- | --------------------- |
|
|
306
|
+
| [File/component] | [What it does] | `src/path/to/file.ts` |
|
|
307
|
+
|
|
308
|
+
### Key Links
|
|
309
|
+
|
|
310
|
+
| From | To | Via | Risk |
|
|
311
|
+
| ----------- | ----- | ------- | -------------- |
|
|
312
|
+
| [Component] | [API] | `fetch` | [Failure mode] |
|
|
313
|
+
|
|
314
|
+
## Dependency Graph
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
Task A: needs nothing, creates src/models/X.ts
|
|
318
|
+
Task B: needs Task A, creates src/api/X.ts
|
|
319
|
+
Task C: needs Task B, has_checkpoint, creates src/components/X.tsx
|
|
320
|
+
|
|
321
|
+
Wave 1: A
|
|
322
|
+
Wave 2: B
|
|
323
|
+
Wave 3: C
|
|
324
|
+
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
## Tasks
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### Task Standards:
|
|
331
|
+
|
|
332
|
+
- **Exact file paths** — never "add to the relevant file"
|
|
333
|
+
- **Complete code** — never "add validation logic here"
|
|
334
|
+
- **Exact commands with expected output**
|
|
335
|
+
- **TDD order** — test first, then implementation
|
|
336
|
+
- **Each step is 2-5 minutes** — one action per step
|
|
337
|
+
- **Tasks map to PRD tasks**
|
|
338
|
+
- **UI state coverage** — UI tasks list empty/loading/error/success states when applicable
|
|
339
|
+
- **UX recovery path** — async/destructive/form tasks include retry/undo/confirm/error handling
|
|
340
|
+
- **Accessibility wiring** — form and interactive tasks include labels, focus behavior, keyboard path, and semantic HTML
|
|
341
|
+
|
|
342
|
+
## Phase 8: Constitutional Compliance Gate
|
|
343
|
+
|
|
344
|
+
Before executing, scan the plan against AGENTS.md hard constraints. This catches violations before they become implementation bugs.
|
|
345
|
+
|
|
346
|
+
### Automated Checks
|
|
347
|
+
|
|
348
|
+
Scan `plan.md` content for these patterns:
|
|
349
|
+
|
|
350
|
+
| Violation Pattern | AGENTS.md Rule | Severity |
|
|
351
|
+
| ------------------------------------------------- | ------------------------------------------- | ------------ |
|
|
352
|
+
| `git add .` or `git add -A` | Multi-Agent Safety: stage specific files | **CRITICAL** |
|
|
353
|
+
| `--force` push or `force push` | Git Safety: never force push main | **CRITICAL** |
|
|
354
|
+
| `--no-verify` | Git Safety: never bypass hooks | **CRITICAL** |
|
|
355
|
+
| `as any` or `@ts-ignore` without justification | Quality Bar: strong typing | **WARNING** |
|
|
356
|
+
| New package/dependency without approval step | Guardrails: no new deps without approval | **WARNING** |
|
|
357
|
+
| Task modifying >3 files without plan confirmation | Guardrails: no surprise edits | **WARNING** |
|
|
358
|
+
| `reset --hard` or `checkout .` or `clean -fd` | Git Restore: never without explicit request | **CRITICAL** |
|
|
359
|
+
| Secret/credential patterns | Security: never expose credentials | **CRITICAL** |
|
|
360
|
+
|
|
361
|
+
### Check Process
|
|
362
|
+
|
|
363
|
+
```bash
|
|
364
|
+
# Scan plan for violation patterns (fixed-string mode to avoid regex false positives)
|
|
365
|
+
grep -inF "git add ." .beads/artifacts/$ARGUMENTS/plan.md
|
|
366
|
+
grep -inF "git add -A" .beads/artifacts/$ARGUMENTS/plan.md
|
|
367
|
+
grep -inF -- "--no-verify" .beads/artifacts/$ARGUMENTS/plan.md
|
|
368
|
+
grep -inF "force push" .beads/artifacts/$ARGUMENTS/plan.md
|
|
369
|
+
grep -inF -- "--force" .beads/artifacts/$ARGUMENTS/plan.md
|
|
370
|
+
grep -inF "reset --hard" .beads/artifacts/$ARGUMENTS/plan.md
|
|
371
|
+
grep -inF "checkout ." .beads/artifacts/$ARGUMENTS/plan.md
|
|
372
|
+
grep -inF "clean -fd" .beads/artifacts/$ARGUMENTS/plan.md
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
Also check:
|
|
376
|
+
|
|
377
|
+
- Count files per task: if any task lists >3 files in its `files:` metadata, flag as WARNING
|
|
378
|
+
- Check for `as any` or `@ts-ignore` usage that lacks a documented reason
|
|
379
|
+
- Check if any task adds new dependencies (look for `npm install`, `pnpm add`, `yarn add`, `pip install`, `cargo add`)
|
|
380
|
+
|
|
381
|
+
### Violation Response
|
|
382
|
+
|
|
383
|
+
| Severity | Action |
|
|
384
|
+
| ------------ | ------------------------------------------------------------------ |
|
|
385
|
+
| **CRITICAL** | Stop. Remove violation from plan. Report to user. |
|
|
386
|
+
| **WARNING** | Flag in plan output. Add confirmation checkpoint to affected task. |
|
|
387
|
+
|
|
388
|
+
If no violations found, report: `Constitutional compliance: ✓ PASS`
|
|
389
|
+
|
|
390
|
+
If violations found:
|
|
391
|
+
|
|
392
|
+
```markdown
|
|
393
|
+
## ⚠️ Constitutional Compliance Check
|
|
394
|
+
|
|
395
|
+
| # | Pattern Found | Location | Severity | Action |
|
|
396
|
+
| --- | -------------------- | -------------- | -------- | ----------------------------------- |
|
|
397
|
+
| 1 | `git add .` | Task 3, step 2 | CRITICAL | Removed — use specific file staging |
|
|
398
|
+
| 2 | New dependency `zod` | Task 1 | WARNING | Added approval checkpoint |
|
|
399
|
+
|
|
400
|
+
Violations resolved. Plan is compliant.
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
## Phase 9: Create Child Beads (if --create-beads or L size)
|
|
404
|
+
|
|
405
|
+
For large work, create child beads for each plan phase:
|
|
406
|
+
|
|
407
|
+
```bash
|
|
408
|
+
CHILD=$(br create "[Phase title]" --type task --json | jq -r '.id')
|
|
409
|
+
br dep add $CHILD $ARGUMENTS
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
## Phase 10: Report
|
|
413
|
+
|
|
414
|
+
Output:
|
|
415
|
+
|
|
416
|
+
1. **Discovery Level:** [0-3] with rationale
|
|
417
|
+
2. **Must-Haves:** [N] observable truths, [M] required artifacts, [K] key links
|
|
418
|
+
3. **Context Budget:** [Estimated usage]
|
|
419
|
+
4. **Dependency Waves:** [N] waves for parallel execution
|
|
420
|
+
5. **Task count:** [N] tasks, [M] TDD steps
|
|
421
|
+
6. **Files affected:** [List]
|
|
422
|
+
7. **Plan location:** `.beads/artifacts/$ARGUMENTS/plan.md`
|
|
423
|
+
8. **Child bead hierarchy:** (if created)
|
|
424
|
+
9. **Next step:** `/ship $ARGUMENTS`
|
|
425
|
+
|
|
426
|
+
```bash
|
|
427
|
+
br comments add $ARGUMENTS "Created plan.md: Level [N] discovery, [X] waves, [Y] tasks, [Z] TDD steps"
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
## Related Commands
|
|
431
|
+
|
|
432
|
+
| Need | Command |
|
|
433
|
+
| -------------- | ------------ |
|
|
434
|
+
| Create spec | `/create` |
|
|
435
|
+
| Execute plan | `/ship <id>` |
|
|
436
|
+
| Research first | `/research` |
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create and submit pull request with bead traceability
|
|
3
|
+
argument-hint: "[bead-id] [--draft]"
|
|
4
|
+
agent: build
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Pull Request
|
|
8
|
+
|
|
9
|
+
## Load Skills
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
skill({ name: "beads" });
|
|
13
|
+
skill({ name: "memory-grounding" });
|
|
14
|
+
skill({ name: "verification-gates" });
|
|
15
|
+
skill({ name: "verification-before-completion" });
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Parse Arguments
|
|
19
|
+
|
|
20
|
+
| Argument | Default | Description |
|
|
21
|
+
| ----------- | -------- | ------------------ |
|
|
22
|
+
| `<bead-id>` | optional | Link PR to bead |
|
|
23
|
+
| `--draft` | false | Create as draft PR |
|
|
24
|
+
|
|
25
|
+
## Phase 1: Pre-PR Verification
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
git status --porcelain
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
If uncommitted changes exist, ask whether to commit first.
|
|
32
|
+
|
|
33
|
+
Follow the [verification-gates](../skill/verification-gates/SKILL.md) skill protocol. All gates must pass before creating the PR.
|
|
34
|
+
|
|
35
|
+
Check `package.json` scripts, `Makefile`, or `justfile` for project-specific commands first — prefer those over generic defaults.
|
|
36
|
+
|
|
37
|
+
If any gate fails, stop. Fix errors first, then run `/pr` again.
|
|
38
|
+
|
|
39
|
+
## Phase 2: Gather Context
|
|
40
|
+
|
|
41
|
+
### Memory Grounding
|
|
42
|
+
|
|
43
|
+
Follow the [memory-grounding](../skill/memory-grounding/SKILL.md) skill protocol. Include relevant findings in the PR description.
|
|
44
|
+
|
|
45
|
+
### Git Context
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
git branch --show-current
|
|
49
|
+
git log main...HEAD --oneline
|
|
50
|
+
git diff main...HEAD --stat
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
If bead ID provided:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
br show $ARGUMENTS
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Read `.beads/artifacts/$ARGUMENTS/` to check what artifacts exist.
|
|
60
|
+
|
|
61
|
+
Read the PRD to extract goal and success criteria for the PR description.
|
|
62
|
+
|
|
63
|
+
## Phase 2B: Pre-PR Review
|
|
64
|
+
|
|
65
|
+
This is the last gate before code hits GitHub. Run it every time.
|
|
66
|
+
|
|
67
|
+
Load the review skill:
|
|
68
|
+
|
|
69
|
+
```typescript
|
|
70
|
+
skill({ name: "requesting-code-review" });
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Run **5 parallel agents**: security/correctness, performance/architecture, type-safety/tests, conventions/patterns, simplicity/completeness.
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
BASE_SHA=$(git rev-parse origin/main 2>/dev/null || git merge-base HEAD origin/main)
|
|
77
|
+
HEAD_SHA=$(git rev-parse HEAD)
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Fill placeholders:
|
|
81
|
+
|
|
82
|
+
- `{WHAT_WAS_IMPLEMENTED}`: what this PR delivers (from git log summary)
|
|
83
|
+
- `{PLAN_OR_REQUIREMENTS}`: PRD path or brief requirements
|
|
84
|
+
- `{BASE_SHA}` / `{HEAD_SHA}`: from above
|
|
85
|
+
|
|
86
|
+
**Gate rule:** All Critical issues must be resolved before pushing. No exceptions.
|
|
87
|
+
Important issues: fix or document as known limitation in PR body.
|
|
88
|
+
|
|
89
|
+
After fixing issues, re-run verification gates from Phase 1 if code was changed.
|
|
90
|
+
|
|
91
|
+
## Phase 3: Push and Confirm
|
|
92
|
+
|
|
93
|
+
Show what will be pushed and ask the user:
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
question({
|
|
97
|
+
questions: [
|
|
98
|
+
{
|
|
99
|
+
header: "Push",
|
|
100
|
+
question: "Ready to push and create PR. Proceed?",
|
|
101
|
+
options: [
|
|
102
|
+
{ label: "Push & create PR (Recommended)", description: "Push branch and create PR" },
|
|
103
|
+
{ label: "Push & draft PR", description: "Create as draft for review" },
|
|
104
|
+
{ label: "Show diff first", description: "Review changes before pushing" },
|
|
105
|
+
],
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
});
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
If confirmed:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
git push -u origin $(git branch --show-current)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Phase 4: Create PR
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# Verify gh CLI is installed
|
|
121
|
+
command -v gh >/dev/null 2>&1 || { echo "Error: gh CLI not found. Install: https://cli.github.com"; exit 1; }
|
|
122
|
+
|
|
123
|
+
gh pr create --title "<title>" --body "$(cat <<'EOF'
|
|
124
|
+
## Summary
|
|
125
|
+
|
|
126
|
+
[1-2 sentences: what this PR does and why]
|
|
127
|
+
|
|
128
|
+
## Changes
|
|
129
|
+
|
|
130
|
+
- `file.ts`: [what changed]
|
|
131
|
+
- `other.ts`: [what changed]
|
|
132
|
+
|
|
133
|
+
## Testing
|
|
134
|
+
|
|
135
|
+
- All tests pass
|
|
136
|
+
- Lint and typecheck pass
|
|
137
|
+
- Manual verification: [how to test]
|
|
138
|
+
|
|
139
|
+
## Checklist
|
|
140
|
+
|
|
141
|
+
- [x] Tests added/updated
|
|
142
|
+
- [x] All gates pass
|
|
143
|
+
- [ ] Docs updated (if applicable)
|
|
144
|
+
EOF
|
|
145
|
+
)"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
If `--draft`, add `--draft` flag.
|
|
149
|
+
|
|
150
|
+
If bead ID provided, add artifacts section linking to `.beads/artifacts/$ARGUMENTS/prd.md`.
|
|
151
|
+
|
|
152
|
+
## Output
|
|
153
|
+
|
|
154
|
+
Report:
|
|
155
|
+
|
|
156
|
+
1. PR URL
|
|
157
|
+
2. Status (Ready for Review / Draft)
|
|
158
|
+
3. Branch → main
|
|
159
|
+
4. Gate results
|
|
160
|
+
|
|
161
|
+
## Related Commands
|
|
162
|
+
|
|
163
|
+
| Need | Command |
|
|
164
|
+
| ------------ | -------------- |
|
|
165
|
+
| Ship first | `/ship <id>` |
|
|
166
|
+
| Verify first | `/verify <id>` |
|