@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,259 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-git-worktrees
|
|
3
|
+
description: Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [git, workflow]
|
|
6
|
+
dependencies: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Using Git Worktrees
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- When starting feature work that needs an isolated workspace or before executing an implementation plan.
|
|
14
|
+
|
|
15
|
+
## When NOT to Use
|
|
16
|
+
|
|
17
|
+
- When a simple change can safely be done in the current working tree or the repo does not allow worktrees.
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
Git worktrees create isolated workspaces sharing the same repository, allowing work on multiple branches simultaneously without switching.
|
|
22
|
+
|
|
23
|
+
**Core principle:** Systematic directory selection + safety verification = reliable isolation.
|
|
24
|
+
|
|
25
|
+
**Announce at start:** "I'm using the using-git-worktrees skill to set up an isolated workspace."
|
|
26
|
+
|
|
27
|
+
## Directory Selection Process
|
|
28
|
+
|
|
29
|
+
Follow this priority order:
|
|
30
|
+
|
|
31
|
+
### 1. Check Existing Directories
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Check in priority order
|
|
35
|
+
ls -d .worktrees 2>/dev/null # Preferred (hidden)
|
|
36
|
+
ls -d worktrees 2>/dev/null # Alternative
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**If found:** Use that directory. If both exist, `.worktrees` wins.
|
|
40
|
+
|
|
41
|
+
### 2. Check AGENTS.md
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
grep -i "worktree.*director" AGENTS.md 2>/dev/null
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**If preference specified:** Use it without asking.
|
|
48
|
+
|
|
49
|
+
### 3. Ask User
|
|
50
|
+
|
|
51
|
+
If no directory exists and no AGENTS.md preference:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
No worktree directory found. Where should I create worktrees?
|
|
55
|
+
|
|
56
|
+
1. .worktrees/ (project-local, hidden)
|
|
57
|
+
2. ~/.opencode/worktrees/<project-name>/ (global location)
|
|
58
|
+
|
|
59
|
+
Which would you prefer?
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Safety Verification
|
|
63
|
+
|
|
64
|
+
### For Project-Local Directories (.worktrees or worktrees)
|
|
65
|
+
|
|
66
|
+
**MUST verify .gitignore before creating worktree:**
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Check if directory pattern in .gitignore
|
|
70
|
+
grep -q "^\.worktrees/$" .gitignore || grep -q "^worktrees/$" .gitignore
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**If NOT in .gitignore:**
|
|
74
|
+
|
|
75
|
+
Per Jesse's rule "Fix broken things immediately":
|
|
76
|
+
|
|
77
|
+
1. Add appropriate line to .gitignore
|
|
78
|
+
2. Commit the change
|
|
79
|
+
3. Proceed with worktree creation
|
|
80
|
+
|
|
81
|
+
**Why critical:** Prevents accidentally committing worktree contents to repository.
|
|
82
|
+
|
|
83
|
+
### For Global Directory (~/.opencode/worktrees)
|
|
84
|
+
|
|
85
|
+
No .gitignore verification needed - outside project entirely.
|
|
86
|
+
|
|
87
|
+
## Creation Steps
|
|
88
|
+
|
|
89
|
+
### 1. Detect Project Name
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
project=$(basename "$(git rev-parse --show-toplevel)")
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### 2. Create Worktree
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Determine full path
|
|
99
|
+
case $LOCATION in
|
|
100
|
+
.worktrees|worktrees)
|
|
101
|
+
path="$LOCATION/$BRANCH_NAME"
|
|
102
|
+
;;
|
|
103
|
+
~/.opencode/worktrees/*)
|
|
104
|
+
path="~/.opencode/worktrees/$project/$BRANCH_NAME"
|
|
105
|
+
;;
|
|
106
|
+
esac
|
|
107
|
+
|
|
108
|
+
# Create worktree with new branch
|
|
109
|
+
git worktree add "$path" -b "$BRANCH_NAME"
|
|
110
|
+
cd "$path"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Worktree Tracking
|
|
114
|
+
|
|
115
|
+
After creating a worktree, persist its absolute path for session resume:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# After creating worktree
|
|
119
|
+
mkdir -p .beads/artifacts/$BEAD_ID
|
|
120
|
+
echo "/absolute/path/to/worktree" > .beads/artifacts/$BEAD_ID/worktree.txt
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
On session resume, restore the active worktree if tracking exists:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Check if worktree exists for active bead
|
|
127
|
+
if [ -f .beads/artifacts/$BEAD_ID/worktree.txt ]; then
|
|
128
|
+
WORKTREE_PATH=$(cat .beads/artifacts/$BEAD_ID/worktree.txt)
|
|
129
|
+
cd "$WORKTREE_PATH"
|
|
130
|
+
fi
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
On worktree cleanup (after merge), remove the tracking file:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
rm -f .beads/artifacts/$BEAD_ID/worktree.txt
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### 3. Run Project Setup
|
|
140
|
+
|
|
141
|
+
Auto-detect and run appropriate setup:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Node.js
|
|
145
|
+
if [ -f package.json ]; then npm install; fi
|
|
146
|
+
|
|
147
|
+
# Rust
|
|
148
|
+
if [ -f Cargo.toml ]; then cargo build; fi
|
|
149
|
+
|
|
150
|
+
# Python
|
|
151
|
+
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
|
152
|
+
if [ -f pyproject.toml ]; then poetry install; fi
|
|
153
|
+
|
|
154
|
+
# Go
|
|
155
|
+
if [ -f go.mod ]; then go mod download; fi
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 4. Verify Clean Baseline
|
|
159
|
+
|
|
160
|
+
Run tests to ensure worktree starts clean:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# Examples - use project-appropriate command
|
|
164
|
+
npm test
|
|
165
|
+
cargo test
|
|
166
|
+
pytest
|
|
167
|
+
go test ./...
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**If tests fail:** Report failures, ask whether to proceed or investigate.
|
|
171
|
+
|
|
172
|
+
**If tests pass:** Report ready.
|
|
173
|
+
|
|
174
|
+
### 5. Report Location
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
Worktree ready at <full-path>
|
|
178
|
+
Tests passing (<N> tests, 0 failures)
|
|
179
|
+
Ready to implement <feature-name>
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Quick Reference
|
|
183
|
+
|
|
184
|
+
| Situation | Action |
|
|
185
|
+
| --------------------------- | --------------------------- |
|
|
186
|
+
| `.worktrees/` exists | Use it (verify .gitignore) |
|
|
187
|
+
| `worktrees/` exists | Use it (verify .gitignore) |
|
|
188
|
+
| Both exist | Use `.worktrees/` |
|
|
189
|
+
| Neither exists | Check AGENTS.md → Ask user |
|
|
190
|
+
| Directory not in .gitignore | Add it immediately + commit |
|
|
191
|
+
| Tests fail during baseline | Report failures + ask |
|
|
192
|
+
| No package.json/Cargo.toml | Skip dependency install |
|
|
193
|
+
|
|
194
|
+
## Common Mistakes
|
|
195
|
+
|
|
196
|
+
**Skipping .gitignore verification**
|
|
197
|
+
|
|
198
|
+
- **Problem:** Worktree contents get tracked, pollute git status
|
|
199
|
+
- **Fix:** Always grep .gitignore before creating project-local worktree
|
|
200
|
+
|
|
201
|
+
**Assuming directory location**
|
|
202
|
+
|
|
203
|
+
- **Problem:** Creates inconsistency, violates project conventions
|
|
204
|
+
- **Fix:** Follow priority: existing > AGENTS.md > ask
|
|
205
|
+
|
|
206
|
+
**Proceeding with failing tests**
|
|
207
|
+
|
|
208
|
+
- **Problem:** Can't distinguish new bugs from pre-existing issues
|
|
209
|
+
- **Fix:** Report failures, get explicit permission to proceed
|
|
210
|
+
|
|
211
|
+
**Hardcoding setup commands**
|
|
212
|
+
|
|
213
|
+
- **Problem:** Breaks on projects using different tools
|
|
214
|
+
- **Fix:** Auto-detect from project files (package.json, etc.)
|
|
215
|
+
|
|
216
|
+
## Example Workflow
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
You: I'm using the using-git-worktrees skill to set up an isolated workspace.
|
|
220
|
+
|
|
221
|
+
[Check .worktrees/ - exists]
|
|
222
|
+
[Verify .gitignore - contains .worktrees/]
|
|
223
|
+
[Create worktree: git worktree add .worktrees/auth -b feature/auth]
|
|
224
|
+
[Run npm install]
|
|
225
|
+
[Run npm test - 47 passing]
|
|
226
|
+
|
|
227
|
+
Worktree ready at /Users/jesse/myproject/.worktrees/auth
|
|
228
|
+
Tests passing (47 tests, 0 failures)
|
|
229
|
+
Ready to implement auth feature
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## Red Flags
|
|
233
|
+
|
|
234
|
+
**Never:**
|
|
235
|
+
|
|
236
|
+
- Create worktree without .gitignore verification (project-local)
|
|
237
|
+
- Skip baseline test verification
|
|
238
|
+
- Proceed with failing tests without asking
|
|
239
|
+
- Assume directory location when ambiguous
|
|
240
|
+
- Skip AGENTS.md check
|
|
241
|
+
|
|
242
|
+
**Always:**
|
|
243
|
+
|
|
244
|
+
- Follow directory priority: existing > AGENTS.md > ask
|
|
245
|
+
- Verify .gitignore for project-local
|
|
246
|
+
- Auto-detect and run project setup
|
|
247
|
+
- Verify clean test baseline
|
|
248
|
+
|
|
249
|
+
## Integration
|
|
250
|
+
|
|
251
|
+
**Called by:**
|
|
252
|
+
|
|
253
|
+
- **brainstorming** (Phase 4) - REQUIRED when design is approved and implementation follows
|
|
254
|
+
- Any skill needing isolated workspace
|
|
255
|
+
|
|
256
|
+
**Pairs with:**
|
|
257
|
+
|
|
258
|
+
- **finishing-a-development-branch** - REQUIRED for cleanup after work complete
|
|
259
|
+
- **executing-plans** or **subagent-driven-development** - Work happens in this worktree
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ux-quality-gates
|
|
3
|
+
description: Use when designing, reviewing, planning, or shipping user-facing UI where UX correctness matters — applies information architecture, usability heuristics, forms, recovery, loading states, semantic HTML, and component consistency checks.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [ui, design, code-quality]
|
|
6
|
+
dependencies: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# UX Quality Gates
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
UX quality is not visual polish. A screen passes only when users can understand scope, complete the primary task, recover from errors, and use it with keyboard/screen reader support.
|
|
14
|
+
|
|
15
|
+
This skill consolidates high-signal UX review patterns into gates for `/design`, `/ui-review`, `/ui-slop-check`, `/plan`, and `/ship`.
|
|
16
|
+
|
|
17
|
+
## When to Use
|
|
18
|
+
|
|
19
|
+
- Designing or reviewing user-facing components, pages, dashboards, forms, or flows.
|
|
20
|
+
- Planning UI PRDs that include loading, error, empty, success, destructive, or async states.
|
|
21
|
+
- Auditing changed UI files before shipping.
|
|
22
|
+
- Checking enterprise/data-heavy UIs with selection, bulk actions, filters, or tables.
|
|
23
|
+
|
|
24
|
+
## When NOT to Use
|
|
25
|
+
|
|
26
|
+
- Backend-only work.
|
|
27
|
+
- Pure visual asset generation with no interaction or user flow.
|
|
28
|
+
- Trivial copy/color tweaks where no behavior, state, or structure changes.
|
|
29
|
+
|
|
30
|
+
## Core Gates
|
|
31
|
+
|
|
32
|
+
| Gate | Pass Condition | Failure Signals |
|
|
33
|
+
| ------------------------ | --------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
|
34
|
+
| Information architecture | UI names match user vocabulary; scope and relationships are visible | Engineer terms, mixed synonyms, hidden side effects |
|
|
35
|
+
| Primary action | One dominant action per view/section | Multiple filled buttons, equal cancel/confirm, destructive action beside primary |
|
|
36
|
+
| Forms | Label, helper, validation, and error wiring are explicit | Placeholder-as-label, errors not associated, disabled submit hiding issues |
|
|
37
|
+
| Recovery | Every failure path offers retry, undo, fallback, or support | Dead-end errors, disappearing error toasts, no rollback for optimistic UI |
|
|
38
|
+
| State coverage | Empty/loading/error/success states exist and match final layout | Global spinner, mismatched skeleton, no no-results state |
|
|
39
|
+
| Accessibility | WCAG 2.2 AA baseline, keyboard path, focus, semantic HTML | No skip path, focus trap, unlabeled controls, ARIA replacing native HTML |
|
|
40
|
+
| Semantic web | Correct landmarks/headings/native controls; SEO only when page is indexable | Div buttons, multiple h1s, missing route focus/scroll handling |
|
|
41
|
+
| Component family | Shared token DNA across related components | One-off radius/color/height/shadow, inconsistent focus/error states |
|
|
42
|
+
|
|
43
|
+
## Usability Heuristic Pass
|
|
44
|
+
|
|
45
|
+
Check every UI against these ten questions:
|
|
46
|
+
|
|
47
|
+
1. **System status** — Does the UI show what is happening now?
|
|
48
|
+
2. **Real-world language** — Does copy use user vocabulary, not implementation terms?
|
|
49
|
+
3. **User control** — Can users cancel, undo, go back, or recover?
|
|
50
|
+
4. **Consistency** — Are names, controls, and patterns reused consistently?
|
|
51
|
+
5. **Error prevention** — Are dangerous or invalid actions prevented before they happen?
|
|
52
|
+
6. **Recognition over recall** — Are options, context, and relationships visible?
|
|
53
|
+
7. **Efficiency** — Are shortcuts or bulk actions available where volume requires them?
|
|
54
|
+
8. **Minimalism** — Is each visible element serving the current task?
|
|
55
|
+
9. **Error recovery** — Does error copy say what happened, why, and how to fix it?
|
|
56
|
+
10. **Help** — Is guidance present where users may be stuck?
|
|
57
|
+
|
|
58
|
+
## Pattern Rules
|
|
59
|
+
|
|
60
|
+
### Destructive Actions
|
|
61
|
+
|
|
62
|
+
Require confirmation for permanent deletion, bulk destructive actions, permission/security changes, billing/account scope changes, and irreversible workflow transitions.
|
|
63
|
+
|
|
64
|
+
Confirmation anatomy:
|
|
65
|
+
|
|
66
|
+
- Title names the entity/action specifically.
|
|
67
|
+
- Body lists concrete consequences.
|
|
68
|
+
- Primary label is explicit, e.g. `Delete project`, not `OK` or `Yes`.
|
|
69
|
+
- Cancel is easy and default-focused.
|
|
70
|
+
- Highest-risk actions require typing the entity name.
|
|
71
|
+
|
|
72
|
+
Prefer undo for low-stakes reversible actions.
|
|
73
|
+
|
|
74
|
+
### Forms
|
|
75
|
+
|
|
76
|
+
- Labels are always visible; placeholders are examples only.
|
|
77
|
+
- Helper text explains expected input or consequences.
|
|
78
|
+
- Validate on blur by default; use debounced real-time validation for complex fields.
|
|
79
|
+
- Submit catches all errors and moves focus/scroll to the first error.
|
|
80
|
+
- Use `aria-describedby`, `aria-invalid`, and `role="alert"` for errors.
|
|
81
|
+
- Required/optional marker shows the minority case.
|
|
82
|
+
- Use correct `type`, `autocomplete`, `fieldset`, and `legend`.
|
|
83
|
+
- Disable submit only for short forms where all validity is visible; otherwise allow submit and show errors.
|
|
84
|
+
|
|
85
|
+
### Loading and Async States
|
|
86
|
+
|
|
87
|
+
| Wait | Pattern |
|
|
88
|
+
| ---- | -------------------------------------------- |
|
|
89
|
+
| <1s | Inline spinner or optimistic update |
|
|
90
|
+
| 1-3s | Skeleton matching final layout |
|
|
91
|
+
| >3s | Determinate/progressive status when possible |
|
|
92
|
+
|
|
93
|
+
- Button loading prevents duplicate submit without shifting layout.
|
|
94
|
+
- Skeletons are recessive and match final dimensions.
|
|
95
|
+
- Optimistic updates must have rollback.
|
|
96
|
+
- Error toasts persist until dismissed or replaced by a visible recovery path.
|
|
97
|
+
|
|
98
|
+
### Notifications and Recovery
|
|
99
|
+
|
|
100
|
+
- Success toast: auto-dismiss after 4-6s unless action is needed.
|
|
101
|
+
- Error toast/banner: persists until resolved or dismissed.
|
|
102
|
+
- Toasts have at most one action.
|
|
103
|
+
- Inline errors live beside the affected control.
|
|
104
|
+
- Failed sections degrade locally instead of blanking the whole app.
|
|
105
|
+
- Transient failures get retry; repeated failures escalate to support or alternative path.
|
|
106
|
+
|
|
107
|
+
### Data Display and Selection
|
|
108
|
+
|
|
109
|
+
Use for data-heavy UIs only:
|
|
110
|
+
|
|
111
|
+
- Offer grid/list/table only when each view changes task value.
|
|
112
|
+
- Persist view choice when useful.
|
|
113
|
+
- Selection supports row/card click, checkbox indicator, keyboard Space, and range selection where expected.
|
|
114
|
+
- Bulk action toolbar shows selected count.
|
|
115
|
+
- Destructive bulk actions name the count and scope.
|
|
116
|
+
- Distinguish filtered no-results from genuinely empty state.
|
|
117
|
+
- Tables may need sticky headers/first column, row actions, and resize/reorder for enterprise density.
|
|
118
|
+
|
|
119
|
+
## Review Output
|
|
120
|
+
|
|
121
|
+
When reporting findings, include:
|
|
122
|
+
|
|
123
|
+
- Gate name.
|
|
124
|
+
- Severity: Critical, Warning, or Info.
|
|
125
|
+
- Location with `file:line` when reviewing code.
|
|
126
|
+
- User impact.
|
|
127
|
+
- Concrete fix.
|
|
128
|
+
|
|
129
|
+
## Common Mistakes
|
|
130
|
+
|
|
131
|
+
| Mistake | Fix |
|
|
132
|
+
| --------------------------------------- | ---------------------------------------------------------------- |
|
|
133
|
+
| Treating UX as aesthetics | Check task completion, recovery, and state coverage first |
|
|
134
|
+
| Adding every UX rule to every task | Apply data/table/SEO rules only when relevant |
|
|
135
|
+
| Using ARIA to patch non-semantic markup | Prefer native elements, add ARIA only when semantics are missing |
|
|
136
|
+
| Making errors transient | Persistent errors need persistent recovery |
|
|
137
|
+
| Importing many overlapping skills | Use this consolidated gate and existing design/a11y skills |
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: v0
|
|
3
|
+
description: Use when you need AI-powered UI generation for React components, dashboards, or quick prototypes via v0. MUST load before creating v0 chats or generating components via v0 MCP.
|
|
4
|
+
mcp:
|
|
5
|
+
v0:
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["mcp-remote", "https://mcp.v0.dev", "--header", "Authorization: Bearer ${V0_API_KEY}"]
|
|
8
|
+
env:
|
|
9
|
+
V0_API_KEY: "${V0_API_KEY}"
|
|
10
|
+
version: 1.0.0
|
|
11
|
+
tags: [ui, mcp, design]
|
|
12
|
+
dependencies: []
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# v0 AI Code Generation (MCP)
|
|
16
|
+
|
|
17
|
+
## When to Use
|
|
18
|
+
|
|
19
|
+
- When you need AI-generated UI components or chat-based design iteration via v0.
|
|
20
|
+
|
|
21
|
+
## When NOT to Use
|
|
22
|
+
|
|
23
|
+
- When you need to implement UI from a fixed design system without AI generation.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## Prerequisites
|
|
27
|
+
|
|
28
|
+
Set your v0 API key as an environment variable:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
export V0_API_KEY="your-v0-api-key"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
To get your v0 API key:
|
|
35
|
+
|
|
36
|
+
1. Go to [v0 account settings](https://v0.app/chat/settings/keys)
|
|
37
|
+
2. Create a new API key
|
|
38
|
+
3. Copy and set as environment variable
|
|
39
|
+
|
|
40
|
+
## Quick Start
|
|
41
|
+
|
|
42
|
+
After loading this skill, list available tools:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
skill_mcp(skill_name="v0", list_tools=true)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Then invoke tools:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
skill_mcp(skill_name="v0", tool_name="create_chat", arguments='{"prompt": "Create a React dashboard component with a sidebar"}')
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Available Tools
|
|
55
|
+
|
|
56
|
+
### create_chat
|
|
57
|
+
|
|
58
|
+
Create a new v0 chat with a prompt.
|
|
59
|
+
|
|
60
|
+
| Parameter | Type | Required | Description |
|
|
61
|
+
| --------- | ------ | -------- | ---------------------------------- |
|
|
62
|
+
| `prompt` | string | Yes | The prompt for v0 to generate code |
|
|
63
|
+
|
|
64
|
+
**Example:**
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
skill_mcp(skill_name="v0", tool_name="create_chat", arguments='{"prompt": "Build a responsive navbar with dark mode toggle"}')
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### get_chat
|
|
71
|
+
|
|
72
|
+
Get details about an existing chat.
|
|
73
|
+
|
|
74
|
+
| Parameter | Type | Required | Description |
|
|
75
|
+
| --------- | ------ | -------- | -------------- |
|
|
76
|
+
| `chatId` | string | Yes | The v0 chat ID |
|
|
77
|
+
|
|
78
|
+
**Example:**
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
skill_mcp(skill_name="v0", tool_name="get_chat", arguments='{"chatId": "abc123"}')
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### find_chats
|
|
85
|
+
|
|
86
|
+
Search through your v0 chats.
|
|
87
|
+
|
|
88
|
+
| Parameter | Type | Required | Description |
|
|
89
|
+
| --------- | ------ | -------- | ------------ |
|
|
90
|
+
| `query` | string | No | Search query |
|
|
91
|
+
|
|
92
|
+
**Example:**
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
skill_mcp(skill_name="v0", tool_name="find_chats", arguments='{"query": "React components"}')
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### send_message
|
|
99
|
+
|
|
100
|
+
Continue a conversation in an existing chat.
|
|
101
|
+
|
|
102
|
+
| Parameter | Type | Required | Description |
|
|
103
|
+
| --------- | ------ | -------- | --------------- |
|
|
104
|
+
| `chatId` | string | Yes | The v0 chat ID |
|
|
105
|
+
| `message` | string | Yes | Message to send |
|
|
106
|
+
|
|
107
|
+
**Example:**
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
skill_mcp(skill_name="v0", tool_name="send_message", arguments='{"chatId": "abc123", "message": "Add dark mode support"}')
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Workflow
|
|
114
|
+
|
|
115
|
+
### 1. Generate a New Component
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
# Create a new chat with your requirements
|
|
119
|
+
skill_mcp(skill_name="v0", tool_name="create_chat", arguments='{"prompt": "Create a modern pricing table with 3 tiers using Tailwind CSS"}')
|
|
120
|
+
|
|
121
|
+
# The response includes a chat ID and generated code
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 2. Iterate on Design
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
# Send follow-up messages to refine
|
|
128
|
+
skill_mcp(skill_name="v0", tool_name="send_message", arguments='{"chatId": "chat-id-here", "message": "Make the recommended tier more prominent with a gradient border"}')
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### 3. Search Previous Work
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
# Find relevant previous chats
|
|
135
|
+
skill_mcp(skill_name="v0", tool_name="find_chats", arguments='{"query": "dashboard"}')
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Use Cases
|
|
139
|
+
|
|
140
|
+
- **Component Generation**: Create React/Next.js components from descriptions
|
|
141
|
+
- **UI Prototyping**: Rapidly prototype UI ideas
|
|
142
|
+
- **Design Iteration**: Refine designs through conversation
|
|
143
|
+
- **Code Assistance**: Get help with Tailwind CSS, responsive design, etc.
|
|
144
|
+
|
|
145
|
+
## Tips
|
|
146
|
+
|
|
147
|
+
- **Be specific** in prompts - include framework (React, Next.js), styling (Tailwind, CSS), and functionality details
|
|
148
|
+
- **Iterate** using `send_message` rather than creating new chats for refinements
|
|
149
|
+
- **Search first** with `find_chats` to reuse previous work
|
|
150
|
+
- **Include context** about your existing design system or component patterns
|
|
151
|
+
|
|
152
|
+
## Troubleshooting
|
|
153
|
+
|
|
154
|
+
**"Invalid API key"**: Ensure `V0_API_KEY` environment variable is set correctly.
|
|
155
|
+
|
|
156
|
+
**"Rate limit exceeded"**: v0 has usage limits. Wait a few minutes or check your plan.
|
|
157
|
+
|
|
158
|
+
**"Chat not found"**: Verify the chat ID is correct. Use `find_chats` to list available chats.
|