opencode-starterkit 1.0.1
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 +47 -0
- package/baseline/.env.example +196 -0
- package/baseline/.template-manifest.json +646 -0
- package/baseline/.version +1 -0
- package/baseline/AGENTS.md +410 -0
- package/baseline/AGENT_ALIGNMENT.md +564 -0
- package/baseline/README.md +79 -0
- package/baseline/agent/build.md +373 -0
- package/baseline/agent/explore.md +96 -0
- package/baseline/agent/general.md +186 -0
- package/baseline/agent/painter.md +74 -0
- package/baseline/agent/plan.md +435 -0
- package/baseline/agent/review.md +243 -0
- package/baseline/agent/runner.md +79 -0
- package/baseline/agent/scout.md +100 -0
- package/baseline/agent/vision.md +91 -0
- package/baseline/command/compound.md +143 -0
- package/baseline/command/create.md +213 -0
- package/baseline/command/design.md +112 -0
- package/baseline/command/handoff.md +147 -0
- package/baseline/command/init-context.md +273 -0
- package/baseline/command/init-user.md +105 -0
- package/baseline/command/init.md +117 -0
- package/baseline/command/lfg.md +170 -0
- package/baseline/command/plan.md +355 -0
- package/baseline/command/pr.md +161 -0
- package/baseline/command/research.md +125 -0
- package/baseline/command/resume.md +87 -0
- package/baseline/command/review-codebase.md +131 -0
- package/baseline/command/ship.md +342 -0
- package/baseline/command/start.md +158 -0
- package/baseline/command/status.md +117 -0
- package/baseline/command/ui-review.md +92 -0
- package/baseline/command/ui-slop-check.md +146 -0
- package/baseline/command/verify.md +160 -0
- package/baseline/context/README.md +29 -0
- package/baseline/dcp.jsonc +72 -0
- package/baseline/memory/README.md +89 -0
- package/baseline/memory/_templates/design.md +59 -0
- package/baseline/memory/_templates/prd.md +192 -0
- package/baseline/memory/_templates/project.md +58 -0
- package/baseline/memory/_templates/proposal.md +38 -0
- package/baseline/memory/_templates/roadmap.md +93 -0
- package/baseline/memory/_templates/state.md +89 -0
- package/baseline/memory/_templates/tasks.md +198 -0
- package/baseline/memory/_templates/tech-stack.md +85 -0
- package/baseline/memory/_templates/user.md +26 -0
- package/baseline/memory/project/gotchas.md +67 -0
- package/baseline/memory/project/project.md +92 -0
- package/baseline/memory/project/roadmap.md +142 -0
- package/baseline/memory/project/state.md +84 -0
- package/baseline/memory/project/tech-stack.md +53 -0
- package/baseline/memory/project/user.md +38 -0
- package/baseline/memory/research/benchmark-framework.md +162 -0
- package/baseline/memory/research/ccpm-analysis.md +334 -0
- package/baseline/memory/research/context-management-analysis.md +685 -0
- package/baseline/memory/research/effectiveness-audit.md +213 -0
- package/baseline/memory/research/opencode-mcp-bug-report.md +129 -0
- package/baseline/memory/research/openspec-analysis.md +226 -0
- package/baseline/memory/session-context.md +40 -0
- package/baseline/opencode.json +1431 -0
- package/baseline/opencode.json.tui-migration.bak +1380 -0
- package/baseline/package-lock.json +87 -0
- package/baseline/package.json +21 -0
- package/baseline/plans/1768385996691-silent-wizard.md +247 -0
- package/baseline/plans/1770006237537-mighty-otter.md +418 -0
- package/baseline/plans/1770006913647-glowing-forest.md +170 -0
- package/baseline/plans/1770013678126-witty-planet.md +278 -0
- package/baseline/plans/1770112267595-shiny-rocket.md +258 -0
- package/baseline/plans/swarm-protocol.md +123 -0
- package/baseline/plugin/README.md +70 -0
- package/baseline/plugin/copilot-auth.ts +607 -0
- package/baseline/plugin/lib/capture.ts +177 -0
- package/baseline/plugin/lib/context.ts +198 -0
- package/baseline/plugin/lib/curator.ts +234 -0
- package/baseline/plugin/lib/db/maintenance.ts +312 -0
- package/baseline/plugin/lib/db/observations.ts +299 -0
- package/baseline/plugin/lib/db/pipeline.ts +520 -0
- package/baseline/plugin/lib/db/schema.ts +356 -0
- package/baseline/plugin/lib/db/types.ts +211 -0
- package/baseline/plugin/lib/distill.ts +376 -0
- package/baseline/plugin/lib/inject.ts +126 -0
- package/baseline/plugin/lib/memory-admin-tools.ts +188 -0
- package/baseline/plugin/lib/memory-db.ts +58 -0
- package/baseline/plugin/lib/memory-helpers.ts +111 -0
- package/baseline/plugin/lib/memory-hooks.ts +195 -0
- package/baseline/plugin/lib/memory-tools.ts +341 -0
- package/baseline/plugin/lib/notify.ts +81 -0
- package/baseline/plugin/memory.ts +89 -0
- package/baseline/plugin/notification.ts.bak +64 -0
- package/baseline/plugin/package.json +7 -0
- package/baseline/plugin/sdk/copilot/chat/convert-to-openai-compatible-chat-messages.ts +178 -0
- package/baseline/plugin/sdk/copilot/chat/get-response-metadata.ts +15 -0
- package/baseline/plugin/sdk/copilot/chat/map-openai-compatible-finish-reason.ts +19 -0
- package/baseline/plugin/sdk/copilot/chat/openai-compatible-api-types.ts +72 -0
- package/baseline/plugin/sdk/copilot/chat/openai-compatible-chat-language-model.ts +833 -0
- package/baseline/plugin/sdk/copilot/chat/openai-compatible-chat-options.ts +30 -0
- package/baseline/plugin/sdk/copilot/chat/openai-compatible-metadata-extractor.ts +48 -0
- package/baseline/plugin/sdk/copilot/chat/openai-compatible-prepare-tools.ts +92 -0
- package/baseline/plugin/sdk/copilot/copilot-provider.ts +94 -0
- package/baseline/plugin/sdk/copilot/index.ts +5 -0
- package/baseline/plugin/sdk/copilot/openai-compatible-error.ts +30 -0
- package/baseline/plugin/sessions.ts +428 -0
- package/baseline/plugin/skill-mcp.ts +618 -0
- package/baseline/plugin/tsconfig.json +16 -0
- package/baseline/skill/accessibility-audit/SKILL.md +191 -0
- package/baseline/skill/agent-browser/SKILL.md +413 -0
- package/baseline/skill/agent-teams/SKILL.md +268 -0
- package/baseline/skill/augment-context-engine/SKILL.md +122 -0
- package/baseline/skill/augment-context-engine/mcp.json +6 -0
- package/baseline/skill/beads/SKILL.md +181 -0
- package/baseline/skill/beads/references/BEST_PRACTICES.md +27 -0
- package/baseline/skill/beads/references/BOUNDARIES.md +219 -0
- package/baseline/skill/beads/references/DEPENDENCIES.md +124 -0
- package/baseline/skill/beads/references/EXAMPLES.md +45 -0
- package/baseline/skill/beads/references/FILE_CLAIMING.md +101 -0
- package/baseline/skill/beads/references/GIT_SYNC.md +25 -0
- package/baseline/skill/beads/references/HIERARCHY.md +71 -0
- package/baseline/skill/beads/references/MULTI_AGENT.md +40 -0
- package/baseline/skill/beads/references/RESUMABILITY.md +177 -0
- package/baseline/skill/beads/references/SESSION_PROTOCOL.md +61 -0
- package/baseline/skill/beads/references/TASK_CREATION.md +38 -0
- package/baseline/skill/beads/references/TROUBLESHOOTING.md +38 -0
- package/baseline/skill/beads/references/WORKFLOWS.md +226 -0
- package/baseline/skill/beads-bridge/SKILL.md +321 -0
- package/baseline/skill/brainstorming/SKILL.md +114 -0
- package/baseline/skill/chrome-devtools/SKILL.md +76 -0
- package/baseline/skill/chrome-devtools/mcp.json +19 -0
- package/baseline/skill/cloudflare/SKILL.md +253 -0
- package/baseline/skill/cloudflare/references/agents-sdk/README.md +35 -0
- package/baseline/skill/cloudflare/references/agents-sdk/api.md +100 -0
- package/baseline/skill/cloudflare/references/agents-sdk/configuration.md +99 -0
- package/baseline/skill/cloudflare/references/agents-sdk/gotchas.md +59 -0
- package/baseline/skill/cloudflare/references/agents-sdk/patterns.md +89 -0
- package/baseline/skill/cloudflare/references/ai-gateway/README.md +695 -0
- package/baseline/skill/cloudflare/references/ai-search/README.md +14 -0
- package/baseline/skill/cloudflare/references/ai-search/api.md +38 -0
- package/baseline/skill/cloudflare/references/ai-search/configuration.md +52 -0
- package/baseline/skill/cloudflare/references/ai-search/gotchas.md +41 -0
- package/baseline/skill/cloudflare/references/ai-search/patterns.md +45 -0
- package/baseline/skill/cloudflare/references/analytics-engine/README.md +14 -0
- package/baseline/skill/cloudflare/references/analytics-engine/api.md +27 -0
- package/baseline/skill/cloudflare/references/analytics-engine/configuration.md +45 -0
- package/baseline/skill/cloudflare/references/analytics-engine/gotchas.md +3 -0
- package/baseline/skill/cloudflare/references/analytics-engine/patterns.md +36 -0
- package/baseline/skill/cloudflare/references/api/README.md +21 -0
- package/baseline/skill/cloudflare/references/api/api.md +31 -0
- package/baseline/skill/cloudflare/references/api/configuration.md +20 -0
- package/baseline/skill/cloudflare/references/api/gotchas.md +28 -0
- package/baseline/skill/cloudflare/references/api/patterns.md +47 -0
- package/baseline/skill/cloudflare/references/api-shield/README.md +20 -0
- package/baseline/skill/cloudflare/references/api-shield/api.md +78 -0
- package/baseline/skill/cloudflare/references/api-shield/configuration.md +128 -0
- package/baseline/skill/cloudflare/references/api-shield/gotchas.md +51 -0
- package/baseline/skill/cloudflare/references/api-shield/patterns.md +145 -0
- package/baseline/skill/cloudflare/references/argo-smart-routing/README.md +16 -0
- package/baseline/skill/cloudflare/references/argo-smart-routing/api.md +50 -0
- package/baseline/skill/cloudflare/references/argo-smart-routing/configuration.md +53 -0
- package/baseline/skill/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
- package/baseline/skill/cloudflare/references/argo-smart-routing/patterns.md +45 -0
- package/baseline/skill/cloudflare/references/bindings/README.md +14 -0
- package/baseline/skill/cloudflare/references/bindings/api.md +3 -0
- package/baseline/skill/cloudflare/references/bindings/configuration.md +58 -0
- package/baseline/skill/cloudflare/references/bindings/gotchas.md +35 -0
- package/baseline/skill/cloudflare/references/bindings/patterns.md +37 -0
- package/baseline/skill/cloudflare/references/bot-management/README.md +71 -0
- package/baseline/skill/cloudflare/references/bot-management/api.md +168 -0
- package/baseline/skill/cloudflare/references/bot-management/configuration.md +114 -0
- package/baseline/skill/cloudflare/references/bot-management/gotchas.md +99 -0
- package/baseline/skill/cloudflare/references/bot-management/patterns.md +125 -0
- package/baseline/skill/cloudflare/references/browser-rendering/README.md +16 -0
- package/baseline/skill/cloudflare/references/browser-rendering/api.md +54 -0
- package/baseline/skill/cloudflare/references/browser-rendering/configuration.md +47 -0
- package/baseline/skill/cloudflare/references/browser-rendering/gotchas.md +29 -0
- package/baseline/skill/cloudflare/references/browser-rendering/patterns.md +29 -0
- package/baseline/skill/cloudflare/references/c3/README.md +264 -0
- package/baseline/skill/cloudflare/references/cache-reserve/README.md +93 -0
- package/baseline/skill/cloudflare/references/cache-reserve/api.md +176 -0
- package/baseline/skill/cloudflare/references/cache-reserve/configuration.md +164 -0
- package/baseline/skill/cloudflare/references/cache-reserve/gotchas.md +203 -0
- package/baseline/skill/cloudflare/references/cache-reserve/patterns.md +180 -0
- package/baseline/skill/cloudflare/references/containers/README.md +16 -0
- package/baseline/skill/cloudflare/references/containers/api.md +43 -0
- package/baseline/skill/cloudflare/references/containers/configuration.md +56 -0
- package/baseline/skill/cloudflare/references/containers/gotchas.md +21 -0
- package/baseline/skill/cloudflare/references/containers/patterns.md +40 -0
- package/baseline/skill/cloudflare/references/cron-triggers/README.md +85 -0
- package/baseline/skill/cloudflare/references/cron-triggers/api.md +198 -0
- package/baseline/skill/cloudflare/references/cron-triggers/configuration.md +151 -0
- package/baseline/skill/cloudflare/references/cron-triggers/gotchas.md +129 -0
- package/baseline/skill/cloudflare/references/cron-triggers/patterns.md +122 -0
- package/baseline/skill/cloudflare/references/d1/README.md +92 -0
- package/baseline/skill/cloudflare/references/d1/api.md +141 -0
- package/baseline/skill/cloudflare/references/d1/configuration.md +127 -0
- package/baseline/skill/cloudflare/references/d1/gotchas.md +70 -0
- package/baseline/skill/cloudflare/references/d1/patterns.md +144 -0
- package/baseline/skill/cloudflare/references/ddos/README.md +34 -0
- package/baseline/skill/cloudflare/references/ddos/api.md +136 -0
- package/baseline/skill/cloudflare/references/ddos/configuration.md +67 -0
- package/baseline/skill/cloudflare/references/ddos/gotchas.md +114 -0
- package/baseline/skill/cloudflare/references/ddos/patterns.md +158 -0
- package/baseline/skill/cloudflare/references/do-storage/README.md +62 -0
- package/baseline/skill/cloudflare/references/do-storage/api.md +89 -0
- package/baseline/skill/cloudflare/references/do-storage/configuration.md +116 -0
- package/baseline/skill/cloudflare/references/do-storage/gotchas.md +93 -0
- package/baseline/skill/cloudflare/references/do-storage/patterns.md +112 -0
- package/baseline/skill/cloudflare/references/durable-objects/README.md +125 -0
- package/baseline/skill/cloudflare/references/durable-objects/api.md +152 -0
- package/baseline/skill/cloudflare/references/durable-objects/configuration.md +148 -0
- package/baseline/skill/cloudflare/references/durable-objects/gotchas.md +158 -0
- package/baseline/skill/cloudflare/references/durable-objects/patterns.md +255 -0
- package/baseline/skill/cloudflare/references/email-routing/README.md +18 -0
- package/baseline/skill/cloudflare/references/email-routing/api.md +46 -0
- package/baseline/skill/cloudflare/references/email-routing/configuration.md +63 -0
- package/baseline/skill/cloudflare/references/email-routing/gotchas.md +16 -0
- package/baseline/skill/cloudflare/references/email-routing/patterns.md +46 -0
- package/baseline/skill/cloudflare/references/email-workers/README.md +598 -0
- package/baseline/skill/cloudflare/references/hyperdrive/README.md +62 -0
- package/baseline/skill/cloudflare/references/hyperdrive/api.md +137 -0
- package/baseline/skill/cloudflare/references/hyperdrive/configuration.md +133 -0
- package/baseline/skill/cloudflare/references/hyperdrive/gotchas.md +184 -0
- package/baseline/skill/cloudflare/references/hyperdrive/patterns.md +176 -0
- package/baseline/skill/cloudflare/references/images/README.md +14 -0
- package/baseline/skill/cloudflare/references/images/api.md +3 -0
- package/baseline/skill/cloudflare/references/images/configuration.md +45 -0
- package/baseline/skill/cloudflare/references/images/gotchas.md +23 -0
- package/baseline/skill/cloudflare/references/images/patterns.md +31 -0
- package/baseline/skill/cloudflare/references/kv/README.md +60 -0
- package/baseline/skill/cloudflare/references/kv/api.md +114 -0
- package/baseline/skill/cloudflare/references/kv/configuration.md +92 -0
- package/baseline/skill/cloudflare/references/kv/gotchas.md +117 -0
- package/baseline/skill/cloudflare/references/kv/patterns.md +139 -0
- package/baseline/skill/cloudflare/references/miniflare/README.md +64 -0
- package/baseline/skill/cloudflare/references/miniflare/api.md +144 -0
- package/baseline/skill/cloudflare/references/miniflare/configuration.md +203 -0
- package/baseline/skill/cloudflare/references/miniflare/gotchas.md +187 -0
- package/baseline/skill/cloudflare/references/miniflare/patterns.md +211 -0
- package/baseline/skill/cloudflare/references/network-interconnect/README.md +60 -0
- package/baseline/skill/cloudflare/references/network-interconnect/api.md +240 -0
- package/baseline/skill/cloudflare/references/network-interconnect/configuration.md +127 -0
- package/baseline/skill/cloudflare/references/network-interconnect/gotchas.md +171 -0
- package/baseline/skill/cloudflare/references/network-interconnect/patterns.md +171 -0
- package/baseline/skill/cloudflare/references/observability/README.md +18 -0
- package/baseline/skill/cloudflare/references/observability/api.md +51 -0
- package/baseline/skill/cloudflare/references/observability/configuration.md +60 -0
- package/baseline/skill/cloudflare/references/observability/gotchas.md +36 -0
- package/baseline/skill/cloudflare/references/observability/patterns.md +42 -0
- package/baseline/skill/cloudflare/references/pages/README.md +76 -0
- package/baseline/skill/cloudflare/references/pages/api.md +200 -0
- package/baseline/skill/cloudflare/references/pages/configuration.md +228 -0
- package/baseline/skill/cloudflare/references/pages/gotchas.md +161 -0
- package/baseline/skill/cloudflare/references/pages/patterns.md +145 -0
- package/baseline/skill/cloudflare/references/pages-functions/README.md +57 -0
- package/baseline/skill/cloudflare/references/pages-functions/api.md +201 -0
- package/baseline/skill/cloudflare/references/pages-functions/configuration.md +159 -0
- package/baseline/skill/cloudflare/references/pages-functions/gotchas.md +151 -0
- package/baseline/skill/cloudflare/references/pages-functions/patterns.md +190 -0
- package/baseline/skill/cloudflare/references/pipelines/README.md +664 -0
- package/baseline/skill/cloudflare/references/pulumi/README.md +107 -0
- package/baseline/skill/cloudflare/references/pulumi/api.md +194 -0
- package/baseline/skill/cloudflare/references/pulumi/configuration.md +216 -0
- package/baseline/skill/cloudflare/references/pulumi/gotchas.md +223 -0
- package/baseline/skill/cloudflare/references/pulumi/patterns.md +139 -0
- package/baseline/skill/cloudflare/references/queues/README.md +69 -0
- package/baseline/skill/cloudflare/references/queues/api.md +138 -0
- package/baseline/skill/cloudflare/references/queues/configuration.md +125 -0
- package/baseline/skill/cloudflare/references/queues/gotchas.md +112 -0
- package/baseline/skill/cloudflare/references/queues/patterns.md +155 -0
- package/baseline/skill/cloudflare/references/r2/README.md +61 -0
- package/baseline/skill/cloudflare/references/r2/api.md +127 -0
- package/baseline/skill/cloudflare/references/r2/configuration.md +76 -0
- package/baseline/skill/cloudflare/references/r2/gotchas.md +94 -0
- package/baseline/skill/cloudflare/references/r2/patterns.md +127 -0
- package/baseline/skill/cloudflare/references/r2-data-catalog/README.md +18 -0
- package/baseline/skill/cloudflare/references/r2-data-catalog/api.md +29 -0
- package/baseline/skill/cloudflare/references/r2-data-catalog/configuration.md +39 -0
- package/baseline/skill/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
- package/baseline/skill/cloudflare/references/r2-data-catalog/patterns.md +46 -0
- package/baseline/skill/cloudflare/references/r2-sql/README.md +512 -0
- package/baseline/skill/cloudflare/references/realtime-sfu/README.md +21 -0
- package/baseline/skill/cloudflare/references/realtime-sfu/api.md +135 -0
- package/baseline/skill/cloudflare/references/realtime-sfu/configuration.md +63 -0
- package/baseline/skill/cloudflare/references/realtime-sfu/gotchas.md +75 -0
- package/baseline/skill/cloudflare/references/realtime-sfu/patterns.md +102 -0
- package/baseline/skill/cloudflare/references/realtimekit/README.md +81 -0
- package/baseline/skill/cloudflare/references/realtimekit/api.md +164 -0
- package/baseline/skill/cloudflare/references/realtimekit/configuration.md +147 -0
- package/baseline/skill/cloudflare/references/realtimekit/gotchas.md +172 -0
- package/baseline/skill/cloudflare/references/realtimekit/patterns.md +155 -0
- package/baseline/skill/cloudflare/references/sandbox/README.md +90 -0
- package/baseline/skill/cloudflare/references/sandbox/api.md +178 -0
- package/baseline/skill/cloudflare/references/sandbox/configuration.md +131 -0
- package/baseline/skill/cloudflare/references/sandbox/gotchas.md +156 -0
- package/baseline/skill/cloudflare/references/sandbox/patterns.md +203 -0
- package/baseline/skill/cloudflare/references/secrets-store/README.md +58 -0
- package/baseline/skill/cloudflare/references/secrets-store/api.md +182 -0
- package/baseline/skill/cloudflare/references/secrets-store/configuration.md +140 -0
- package/baseline/skill/cloudflare/references/secrets-store/gotchas.md +129 -0
- package/baseline/skill/cloudflare/references/secrets-store/patterns.md +218 -0
- package/baseline/skill/cloudflare/references/smart-placement/README.md +91 -0
- package/baseline/skill/cloudflare/references/smart-placement/api.md +139 -0
- package/baseline/skill/cloudflare/references/smart-placement/configuration.md +129 -0
- package/baseline/skill/cloudflare/references/smart-placement/gotchas.md +87 -0
- package/baseline/skill/cloudflare/references/smart-placement/patterns.md +135 -0
- package/baseline/skill/cloudflare/references/snippets/README.md +15 -0
- package/baseline/skill/cloudflare/references/snippets/api.md +47 -0
- package/baseline/skill/cloudflare/references/snippets/configuration.md +33 -0
- package/baseline/skill/cloudflare/references/snippets/gotchas.md +21 -0
- package/baseline/skill/cloudflare/references/snippets/patterns.md +34 -0
- package/baseline/skill/cloudflare/references/spectrum/README.md +16 -0
- package/baseline/skill/cloudflare/references/spectrum/api.md +24 -0
- package/baseline/skill/cloudflare/references/spectrum/configuration.md +43 -0
- package/baseline/skill/cloudflare/references/spectrum/gotchas.md +42 -0
- package/baseline/skill/cloudflare/references/spectrum/patterns.md +40 -0
- package/baseline/skill/cloudflare/references/static-assets/README.md +14 -0
- package/baseline/skill/cloudflare/references/static-assets/api.md +3 -0
- package/baseline/skill/cloudflare/references/static-assets/configuration.md +47 -0
- package/baseline/skill/cloudflare/references/static-assets/gotchas.md +44 -0
- package/baseline/skill/cloudflare/references/static-assets/patterns.md +42 -0
- package/baseline/skill/cloudflare/references/stream/README.md +103 -0
- package/baseline/skill/cloudflare/references/stream/api.md +204 -0
- package/baseline/skill/cloudflare/references/stream/configuration.md +127 -0
- package/baseline/skill/cloudflare/references/stream/gotchas.md +131 -0
- package/baseline/skill/cloudflare/references/stream/patterns.md +152 -0
- package/baseline/skill/cloudflare/references/tail-workers/README.md +640 -0
- package/baseline/skill/cloudflare/references/terraform/README.md +76 -0
- package/baseline/skill/cloudflare/references/terraform/api.md +159 -0
- package/baseline/skill/cloudflare/references/terraform/configuration.md +156 -0
- package/baseline/skill/cloudflare/references/terraform/gotchas.md +207 -0
- package/baseline/skill/cloudflare/references/terraform/patterns.md +135 -0
- package/baseline/skill/cloudflare/references/tunnel/README.md +82 -0
- package/baseline/skill/cloudflare/references/tunnel/api.md +105 -0
- package/baseline/skill/cloudflare/references/tunnel/configuration.md +113 -0
- package/baseline/skill/cloudflare/references/tunnel/gotchas.md +115 -0
- package/baseline/skill/cloudflare/references/tunnel/patterns.md +157 -0
- package/baseline/skill/cloudflare/references/turn/README.md +699 -0
- package/baseline/skill/cloudflare/references/turnstile/README.md +14 -0
- package/baseline/skill/cloudflare/references/turnstile/api.md +3 -0
- package/baseline/skill/cloudflare/references/turnstile/configuration.md +19 -0
- package/baseline/skill/cloudflare/references/turnstile/gotchas.md +27 -0
- package/baseline/skill/cloudflare/references/turnstile/patterns.md +41 -0
- package/baseline/skill/cloudflare/references/vectorize/README.md +682 -0
- package/baseline/skill/cloudflare/references/waf/README.md +14 -0
- package/baseline/skill/cloudflare/references/waf/api.md +3 -0
- package/baseline/skill/cloudflare/references/waf/configuration.md +44 -0
- package/baseline/skill/cloudflare/references/waf/gotchas.md +24 -0
- package/baseline/skill/cloudflare/references/waf/patterns.md +29 -0
- package/baseline/skill/cloudflare/references/web-analytics/README.md +19 -0
- package/baseline/skill/cloudflare/references/web-analytics/api.md +52 -0
- package/baseline/skill/cloudflare/references/web-analytics/configuration.md +31 -0
- package/baseline/skill/cloudflare/references/web-analytics/gotchas.md +28 -0
- package/baseline/skill/cloudflare/references/web-analytics/patterns.md +52 -0
- package/baseline/skill/cloudflare/references/workerd/README.md +47 -0
- package/baseline/skill/cloudflare/references/workerd/api.md +199 -0
- package/baseline/skill/cloudflare/references/workerd/configuration.md +185 -0
- package/baseline/skill/cloudflare/references/workerd/gotchas.md +203 -0
- package/baseline/skill/cloudflare/references/workerd/patterns.md +216 -0
- package/baseline/skill/cloudflare/references/workers/README.md +96 -0
- package/baseline/skill/cloudflare/references/workers/api.md +137 -0
- package/baseline/skill/cloudflare/references/workers/configuration.md +147 -0
- package/baseline/skill/cloudflare/references/workers/gotchas.md +99 -0
- package/baseline/skill/cloudflare/references/workers/patterns.md +149 -0
- package/baseline/skill/cloudflare/references/workers-ai/README.md +116 -0
- package/baseline/skill/cloudflare/references/workers-for-platforms/README.md +48 -0
- package/baseline/skill/cloudflare/references/workers-for-platforms/api.md +169 -0
- package/baseline/skill/cloudflare/references/workers-for-platforms/configuration.md +136 -0
- package/baseline/skill/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
- package/baseline/skill/cloudflare/references/workers-for-platforms/patterns.md +170 -0
- package/baseline/skill/cloudflare/references/workers-playground/README.md +16 -0
- package/baseline/skill/cloudflare/references/workers-playground/api.md +20 -0
- package/baseline/skill/cloudflare/references/workers-playground/configuration.md +3 -0
- package/baseline/skill/cloudflare/references/workers-playground/gotchas.md +35 -0
- package/baseline/skill/cloudflare/references/workers-playground/patterns.md +42 -0
- package/baseline/skill/cloudflare/references/workers-vpc/README.md +579 -0
- package/baseline/skill/cloudflare/references/workflows/README.md +62 -0
- package/baseline/skill/cloudflare/references/workflows/api.md +125 -0
- package/baseline/skill/cloudflare/references/workflows/configuration.md +177 -0
- package/baseline/skill/cloudflare/references/workflows/gotchas.md +136 -0
- package/baseline/skill/cloudflare/references/workflows/patterns.md +132 -0
- package/baseline/skill/cloudflare/references/wrangler/README.md +90 -0
- package/baseline/skill/cloudflare/references/wrangler/api.md +140 -0
- package/baseline/skill/cloudflare/references/wrangler/configuration.md +128 -0
- package/baseline/skill/cloudflare/references/wrangler/gotchas.md +93 -0
- package/baseline/skill/cloudflare/references/wrangler/patterns.md +150 -0
- package/baseline/skill/cloudflare/references/zaraz/README.md +360 -0
- package/baseline/skill/code-navigation/SKILL.md +130 -0
- package/baseline/skill/compaction/SKILL.md +317 -0
- package/baseline/skill/condition-based-waiting/SKILL.md +123 -0
- package/baseline/skill/condition-based-waiting/example.ts +158 -0
- package/baseline/skill/context-engineering/SKILL.md +176 -0
- package/baseline/skill/context-initialization/SKILL.md +70 -0
- package/baseline/skill/context-management/SKILL.md +163 -0
- package/baseline/skill/core-data-expert/SKILL.md +93 -0
- package/baseline/skill/core-data-expert/references/batch-operations.md +543 -0
- package/baseline/skill/core-data-expert/references/cloudkit-integration.md +259 -0
- package/baseline/skill/core-data-expert/references/concurrency.md +522 -0
- package/baseline/skill/core-data-expert/references/fetch-requests.md +643 -0
- package/baseline/skill/core-data-expert/references/glossary.md +233 -0
- package/baseline/skill/core-data-expert/references/migration.md +393 -0
- package/baseline/skill/core-data-expert/references/model-configuration.md +597 -0
- package/baseline/skill/core-data-expert/references/performance.md +300 -0
- package/baseline/skill/core-data-expert/references/persistent-history.md +553 -0
- package/baseline/skill/core-data-expert/references/project-audit.md +60 -0
- package/baseline/skill/core-data-expert/references/saving.md +574 -0
- package/baseline/skill/core-data-expert/references/stack-setup.md +625 -0
- package/baseline/skill/core-data-expert/references/testing.md +300 -0
- package/baseline/skill/core-data-expert/references/threading.md +589 -0
- package/baseline/skill/deep-research/SKILL.md +384 -0
- package/baseline/skill/defense-in-depth/SKILL.md +166 -0
- package/baseline/skill/design-system-audit/SKILL.md +153 -0
- package/baseline/skill/development-lifecycle/SKILL.md +356 -0
- package/baseline/skill/dispatching-parallel-agents/SKILL.md +191 -0
- package/baseline/skill/executing-plans/SKILL.md +247 -0
- package/baseline/skill/figma/SKILL.md +224 -0
- package/baseline/skill/finishing-a-development-branch/SKILL.md +357 -0
- package/baseline/skill/frontend-design/SKILL.md +235 -0
- package/baseline/skill/frontend-design/references/animation/motion-advanced.md +224 -0
- package/baseline/skill/frontend-design/references/animation/motion-core.md +181 -0
- package/baseline/skill/frontend-design/references/canvas/execution.md +90 -0
- package/baseline/skill/frontend-design/references/canvas/philosophy.md +94 -0
- package/baseline/skill/frontend-design/references/design/color-system.md +111 -0
- package/baseline/skill/frontend-design/references/design/interaction.md +149 -0
- package/baseline/skill/frontend-design/references/design/typography-rules.md +106 -0
- package/baseline/skill/frontend-design/references/design/ux-writing.md +99 -0
- package/baseline/skill/frontend-design/references/shadcn/accessibility.md +132 -0
- package/baseline/skill/frontend-design/references/shadcn/core-components.md +153 -0
- package/baseline/skill/frontend-design/references/shadcn/form-components.md +158 -0
- package/baseline/skill/frontend-design/references/shadcn/setup.md +69 -0
- package/baseline/skill/frontend-design/references/shadcn/theming.md +152 -0
- package/baseline/skill/frontend-design/references/tailwind/responsive.md +112 -0
- package/baseline/skill/frontend-design/references/tailwind/utilities-layout.md +134 -0
- package/baseline/skill/frontend-design/references/tailwind/utilities-styling.md +165 -0
- package/baseline/skill/frontend-design/references/tailwind/v4-config.md +147 -0
- package/baseline/skill/frontend-design/references/tailwind/v4-features.md +128 -0
- package/baseline/skill/gemini-large-context/SKILL.md +216 -0
- package/baseline/skill/index-knowledge/SKILL.md +413 -0
- package/baseline/skill/jira/SKILL.md +283 -0
- package/baseline/skill/jira/mcp.json +6 -0
- package/baseline/skill/memory-system/SKILL.md +84 -0
- package/baseline/skill/mockup-to-code/SKILL.md +184 -0
- package/baseline/skill/mqdh/SKILL.md +171 -0
- package/baseline/skill/obsidian/SKILL.md +192 -0
- package/baseline/skill/obsidian/mcp.json +22 -0
- package/baseline/skill/opensrc/SKILL.md +127 -0
- package/baseline/skill/opensrc/references/architecture.md +176 -0
- package/baseline/skill/opensrc/references/cli-usage.md +176 -0
- package/baseline/skill/opensrc/references/registry-support.md +137 -0
- package/baseline/skill/pdf-extract/SKILL.md +438 -0
- package/baseline/skill/playwright/SKILL.md +320 -0
- package/baseline/skill/playwright/mcp.json +16 -0
- package/baseline/skill/playwriter/SKILL.md +158 -0
- package/baseline/skill/polar/SKILL.md +102 -0
- package/baseline/skill/prd/SKILL.md +146 -0
- package/baseline/skill/prd-task/SKILL.md +182 -0
- package/baseline/skill/prd-task/references/prd-schema.json +124 -0
- package/baseline/skill/ralph/SKILL.md +296 -0
- package/baseline/skill/react-best-practices/AGENTS.md +2410 -0
- package/baseline/skill/react-best-practices/README.md +123 -0
- package/baseline/skill/react-best-practices/SKILL.md +133 -0
- package/baseline/skill/react-best-practices/metadata.json +15 -0
- package/baseline/skill/react-best-practices/rules/_sections.md +46 -0
- package/baseline/skill/react-best-practices/rules/_template.md +28 -0
- package/baseline/skill/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/baseline/skill/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/baseline/skill/react-best-practices/rules/async-api-routes.md +38 -0
- package/baseline/skill/react-best-practices/rules/async-defer-await.md +80 -0
- package/baseline/skill/react-best-practices/rules/async-dependencies.md +36 -0
- package/baseline/skill/react-best-practices/rules/async-parallel.md +28 -0
- package/baseline/skill/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/baseline/skill/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/baseline/skill/react-best-practices/rules/bundle-conditional.md +31 -0
- package/baseline/skill/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/baseline/skill/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/baseline/skill/react-best-practices/rules/bundle-preload.md +50 -0
- package/baseline/skill/react-best-practices/rules/client-event-listeners.md +74 -0
- package/baseline/skill/react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/baseline/skill/react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/baseline/skill/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/baseline/skill/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/baseline/skill/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/baseline/skill/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/baseline/skill/react-best-practices/rules/js-cache-storage.md +70 -0
- package/baseline/skill/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/baseline/skill/react-best-practices/rules/js-early-exit.md +50 -0
- package/baseline/skill/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/baseline/skill/react-best-practices/rules/js-index-maps.md +37 -0
- package/baseline/skill/react-best-practices/rules/js-length-check-first.md +49 -0
- package/baseline/skill/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/baseline/skill/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/baseline/skill/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/baseline/skill/react-best-practices/rules/rendering-activity.md +26 -0
- package/baseline/skill/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/baseline/skill/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/baseline/skill/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/baseline/skill/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/baseline/skill/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/baseline/skill/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/baseline/skill/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/baseline/skill/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/baseline/skill/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/baseline/skill/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/baseline/skill/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/baseline/skill/react-best-practices/rules/rerender-memo.md +44 -0
- package/baseline/skill/react-best-practices/rules/rerender-transitions.md +40 -0
- package/baseline/skill/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/baseline/skill/react-best-practices/rules/server-cache-lru.md +41 -0
- package/baseline/skill/react-best-practices/rules/server-cache-react.md +76 -0
- package/baseline/skill/react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/baseline/skill/react-best-practices/rules/server-serialization.md +38 -0
- package/baseline/skill/receiving-code-review/SKILL.md +252 -0
- package/baseline/skill/requesting-code-review/SKILL.md +397 -0
- package/baseline/skill/requesting-code-review/review.md +160 -0
- package/baseline/skill/resend/SKILL.md +177 -0
- package/baseline/skill/resend/references/react-email.md +287 -0
- package/baseline/skill/resend/references/receive-email.md +248 -0
- package/baseline/skill/resend/references/send-email.md +318 -0
- package/baseline/skill/root-cause-tracing/SKILL.md +192 -0
- package/baseline/skill/root-cause-tracing/find-polluter.sh +63 -0
- package/baseline/skill/session-management/SKILL.md +9 -0
- package/baseline/skill/sharing-skills/SKILL.md +214 -0
- package/baseline/skill/skill-creator/SKILL.md +156 -0
- package/baseline/skill/source-code-research/SKILL.md +293 -0
- package/baseline/skill/source-code-research/references/analysis-tips.md +43 -0
- package/baseline/skill/source-code-research/references/anti-patterns.md +36 -0
- package/baseline/skill/source-code-research/references/common-patterns.md +57 -0
- package/baseline/skill/source-code-research/references/example-workflow.md +60 -0
- package/baseline/skill/source-code-research/references/further-reading.md +5 -0
- package/baseline/skill/source-code-research/references/source-structure.md +45 -0
- package/baseline/skill/stitch/SKILL.md +147 -0
- package/baseline/skill/stitch/mcp.json +9 -0
- package/baseline/skill/structured-edit/SKILL.md +181 -0
- package/baseline/skill/subagent-driven-development/SKILL.md +237 -0
- package/baseline/skill/supabase/SKILL.md +130 -0
- package/baseline/skill/supabase/mcp.json +27 -0
- package/baseline/skill/supabase-postgres-best-practices/AGENTS.md +1490 -0
- package/baseline/skill/supabase-postgres-best-practices/SKILL.md +65 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
- package/baseline/skill/swarm-coordination/SKILL.md +179 -0
- package/baseline/skill/swarm-coordination/references/architecture.md +39 -0
- package/baseline/skill/swarm-coordination/references/delegation-worker-protocol.md +145 -0
- package/baseline/skill/swarm-coordination/references/dependency-graph.md +50 -0
- package/baseline/skill/swarm-coordination/references/drift-check.md +90 -0
- package/baseline/skill/swarm-coordination/references/integration-beads.md +20 -0
- package/baseline/skill/swarm-coordination/references/launch-flow.md +186 -0
- package/baseline/skill/swarm-coordination/references/reconciler.md +172 -0
- package/baseline/skill/swarm-coordination/references/tier-enforcement.md +78 -0
- package/baseline/skill/swarm-coordination/references/tmux-integration.md +134 -0
- package/baseline/skill/swift-concurrency/SKILL.md +266 -0
- package/baseline/skill/swift-concurrency/references/actors.md +640 -0
- package/baseline/skill/swift-concurrency/references/async-algorithms.md +822 -0
- package/baseline/skill/swift-concurrency/references/async-await-basics.md +249 -0
- package/baseline/skill/swift-concurrency/references/async-sequences.md +670 -0
- package/baseline/skill/swift-concurrency/references/core-data.md +533 -0
- package/baseline/skill/swift-concurrency/references/glossary.md +128 -0
- package/baseline/skill/swift-concurrency/references/linting.md +142 -0
- package/baseline/skill/swift-concurrency/references/memory-management.md +542 -0
- package/baseline/skill/swift-concurrency/references/migration.md +1076 -0
- package/baseline/skill/swift-concurrency/references/performance.md +574 -0
- package/baseline/skill/swift-concurrency/references/sendable.md +578 -0
- package/baseline/skill/swift-concurrency/references/tasks.md +604 -0
- package/baseline/skill/swift-concurrency/references/testing.md +565 -0
- package/baseline/skill/swift-concurrency/references/threading.md +452 -0
- package/baseline/skill/swiftui-expert-skill/SKILL.md +329 -0
- package/baseline/skill/swiftui-expert-skill/references/animation-advanced.md +351 -0
- package/baseline/skill/swiftui-expert-skill/references/animation-basics.md +284 -0
- package/baseline/skill/swiftui-expert-skill/references/animation-transitions.md +326 -0
- package/baseline/skill/swiftui-expert-skill/references/image-optimization.md +286 -0
- package/baseline/skill/swiftui-expert-skill/references/layout-best-practices.md +312 -0
- package/baseline/skill/swiftui-expert-skill/references/liquid-glass.md +377 -0
- package/baseline/skill/swiftui-expert-skill/references/list-patterns.md +153 -0
- package/baseline/skill/swiftui-expert-skill/references/modern-apis.md +400 -0
- package/baseline/skill/swiftui-expert-skill/references/performance-patterns.md +377 -0
- package/baseline/skill/swiftui-expert-skill/references/scroll-patterns.md +305 -0
- package/baseline/skill/swiftui-expert-skill/references/sheet-navigation-patterns.md +292 -0
- package/baseline/skill/swiftui-expert-skill/references/state-management.md +447 -0
- package/baseline/skill/swiftui-expert-skill/references/text-formatting.md +285 -0
- package/baseline/skill/swiftui-expert-skill/references/view-structure.md +276 -0
- package/baseline/skill/systematic-debugging/SKILL.md +402 -0
- package/baseline/skill/test-driven-development/SKILL.md +388 -0
- package/baseline/skill/testing-anti-patterns/SKILL.md +333 -0
- package/baseline/skill/testing-skills-with-subagents/SKILL.md +405 -0
- package/baseline/skill/tilth-cli/SKILL.md +180 -0
- package/baseline/skill/tool-priority/SKILL.md +299 -0
- package/baseline/skill/ui-ux-research/SKILL.md +9 -0
- package/baseline/skill/using-git-worktrees/SKILL.md +259 -0
- package/baseline/skill/using-skills/SKILL.md +117 -0
- package/baseline/skill/v0/SKILL.md +158 -0
- package/baseline/skill/v1-run/SKILL.md +175 -0
- package/baseline/skill/v1-run/mcp.json +6 -0
- package/baseline/skill/vercel-deploy-claimable/SKILL.md +124 -0
- package/baseline/skill/vercel-deploy-claimable/scripts/deploy.sh +249 -0
- package/baseline/skill/verification-before-completion/SKILL.md +236 -0
- package/baseline/skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md +171 -0
- package/baseline/skill/visual-analysis/SKILL.md +154 -0
- package/baseline/skill/web-design-guidelines/SKILL.md +46 -0
- package/baseline/skill/writing-plans/SKILL.md +320 -0
- package/baseline/skill/writing-skills/SKILL.md +287 -0
- package/baseline/skill/writing-skills/anthropic-best-practices.md +1173 -0
- package/baseline/skill/writing-skills/graphviz-conventions.dot +172 -0
- package/baseline/skill/writing-skills/persuasion-principles.md +220 -0
- package/baseline/skill/writing-skills/references/anti-patterns.md +25 -0
- package/baseline/skill/writing-skills/references/claude-search-optimization.md +140 -0
- package/baseline/skill/writing-skills/references/discovery-workflow.md +11 -0
- package/baseline/skill/writing-skills/references/file-organization.md +32 -0
- package/baseline/skill/writing-skills/references/flowcharts-and-examples.md +57 -0
- package/baseline/skill/writing-skills/references/rationalization-hardening.md +75 -0
- package/baseline/skill/writing-skills/references/testing-skill-types.md +52 -0
- package/baseline/tool/context7.ts +191 -0
- package/baseline/tool/grepsearch.ts +143 -0
- package/baseline/tsconfig.json +21 -0
- package/baseline/tui.json +15 -0
- package/bin/mrc-opc.mjs +25 -0
- package/bin/ocp.mjs +25 -0
- package/bin/opc.mjs +25 -0
- package/bin/opencode-starterkit.mjs +25 -0
- package/docs/reports/2026-03-18-memory-db-architecture-note.md +47 -0
- package/docs/reports/2026-03-18-vat-opencode-classification-matrix.md +180 -0
- package/package.json +25 -0
- package/src/cli.mjs +41 -0
- package/src/config-merge.mjs +61 -0
- package/src/constants.mjs +58 -0
- package/src/fs-utils.mjs +46 -0
- package/src/install-global.mjs +102 -0
- package/src/install-project.mjs +81 -0
- package/src/memory-bootstrap.mjs +29 -0
- package/src/prompt.mjs +31 -0
- package/src/templates.mjs +31 -0
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tool-priority
|
|
3
|
+
description: Use when choosing between tools or need tool reference - covers LSP, search, swarm, memory, and research tools with correct syntax
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [workflow, context]
|
|
6
|
+
dependencies: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Tool Priority Skill
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- You need to decide which tool to use for a task or recall tool syntax
|
|
14
|
+
- You are about to edit code and want the correct discovery/order of operations
|
|
15
|
+
|
|
16
|
+
## When NOT to Use
|
|
17
|
+
|
|
18
|
+
- You already know the exact tool and syntax required
|
|
19
|
+
- The task is purely conceptual with no tool usage
|
|
20
|
+
|
|
21
|
+
## Priority Order
|
|
22
|
+
|
|
23
|
+
**LSP → Search → Swarm → Memory → File Operations**
|
|
24
|
+
|
|
25
|
+
1. **LSP** - Semantic code intelligence (9 operations via unified tool)
|
|
26
|
+
2. **tilth** (MCP) - AST-aware code search + smart file reading. Replaces grep/glob/read for code navigation when available
|
|
27
|
+
3. **grep** - Fast text search (logs, config, code patterns). Replaces bash rg/grep
|
|
28
|
+
4. **glob** - File discovery by name pattern. Replaces bash find/ls
|
|
29
|
+
5. **skill** - Load skills for specialized knowledge
|
|
30
|
+
6. **task** - Parallel subagent execution
|
|
31
|
+
7. **Swarm tool** - swarm (plan, monitor, delegate, sync operations)
|
|
32
|
+
8. **Memory tools** - memory-search, memory-read, memory-update, memory-admin
|
|
33
|
+
9. **Research tools** - context7, websearch, codesearch, grepsearch
|
|
34
|
+
10. **read/edit/write** - File operations (always read before edit)
|
|
35
|
+
|
|
36
|
+
**Golden Rule**: Always `read` before `edit` to verify content.
|
|
37
|
+
|
|
38
|
+
## Choosing the Right Tool
|
|
39
|
+
|
|
40
|
+
Ask: **"Am I looking for semantic understanding or just text?"**
|
|
41
|
+
|
|
42
|
+
### Code Understanding (Use LSP)
|
|
43
|
+
|
|
44
|
+
The `lsp` tool provides 9 operations via a unified interface:
|
|
45
|
+
|
|
46
|
+
| Need | Operation | Example |
|
|
47
|
+
| -------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------- |
|
|
48
|
+
| Type info at cursor | `hover` | `lsp({ operation: "hover", filePath: "src/file.ts", line: 42, character: 10 })` |
|
|
49
|
+
| Jump to definition | `goToDefinition` | `lsp({ operation: "goToDefinition", filePath: "src/file.ts", line: 42, character: 10 })` |
|
|
50
|
+
| Find all usages | `findReferences` | `lsp({ operation: "findReferences", filePath: "src/file.ts", line: 42, character: 10 })` |
|
|
51
|
+
| File structure | `documentSymbol` | `lsp({ operation: "documentSymbol", filePath: "src/file.ts", line: 1, character: 1 })` |
|
|
52
|
+
| Workspace search | `workspaceSymbol` | `lsp({ operation: "workspaceSymbol", filePath: "src/file.ts", line: 1, character: 1, query: "UserService" })` |
|
|
53
|
+
| Find implementations | `goToImplementation` | `lsp({ operation: "goToImplementation", filePath: "src/file.ts", line: 42, character: 10 })` |
|
|
54
|
+
| Call hierarchy | `prepareCallHierarchy` | `lsp({ operation: "prepareCallHierarchy", filePath: "src/file.ts", line: 42, character: 10 })` |
|
|
55
|
+
| Incoming calls | `incomingCalls` | `lsp({ operation: "incomingCalls", filePath: "src/file.ts", line: 42, character: 10 })` |
|
|
56
|
+
| Outgoing calls | `outgoingCalls` | `lsp({ operation: "outgoingCalls", filePath: "src/file.ts", line: 42, character: 10 })` |
|
|
57
|
+
|
|
58
|
+
**Critical**: Run ALL 9 LSP operations before editing. See AGENTS.md for the full checklist.
|
|
59
|
+
|
|
60
|
+
### Text Search (Use grep)
|
|
61
|
+
|
|
62
|
+
| Need | Pattern | Example |
|
|
63
|
+
| ----------------- | ---------------- | ------------------------------------------ |
|
|
64
|
+
| Function calls | `functionName\(` | `grep({ pattern: "fetchUser\(" })` |
|
|
65
|
+
| Import statements | `import.*from` | `grep({ pattern: "import.*from.*react" })` |
|
|
66
|
+
| Error messages | `FATAL\|ERROR` | `grep({ pattern: "ERROR\|FATAL" })` |
|
|
67
|
+
| TODO comments | `TODO\|FIXME` | `grep({ pattern: "TODO\|FIXME" })` |
|
|
68
|
+
| Hook usage | `useState\(` | `grep({ pattern: "useState\(" })` |
|
|
69
|
+
| Debug logs | `console\.log` | `grep({ pattern: "console\.log" })` |
|
|
70
|
+
|
|
71
|
+
### Load Skills (Use skill tool)
|
|
72
|
+
|
|
73
|
+
Load specialized knowledge before starting work:
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
// Essential skills for most work
|
|
77
|
+
skill({ name: "verification-before-completion" });
|
|
78
|
+
skill({ name: "test-driven-development" });
|
|
79
|
+
|
|
80
|
+
// Domain-specific skills
|
|
81
|
+
skill({ name: "beads" }); // Task tracking
|
|
82
|
+
skill({ name: "beads-bridge" }); // Swarm coordination
|
|
83
|
+
skill({ name: "swarm-coordination" }); // Parallel execution
|
|
84
|
+
skill({ name: "frontend-design" }); // UI implementation
|
|
85
|
+
skill({ name: "prd" }); // Requirements documents
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Parallel Execution (Use Task tool)
|
|
89
|
+
|
|
90
|
+
Launch multiple subagents simultaneously:
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
// Workers run in parallel when multiple Task calls in one message
|
|
94
|
+
Task({
|
|
95
|
+
subagent_type: "explore",
|
|
96
|
+
description: "Find patterns",
|
|
97
|
+
prompt: `Find auth patterns in codebase...`,
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
Task({
|
|
101
|
+
subagent_type: "scout",
|
|
102
|
+
description: "Research docs",
|
|
103
|
+
prompt: `Research best practices for...`,
|
|
104
|
+
});
|
|
105
|
+
// Results return when both complete
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Subagent types**: `general`, `explore`, `scout`, `review`, `plan`
|
|
109
|
+
|
|
110
|
+
### Swarm Coordination Tools
|
|
111
|
+
|
|
112
|
+
| Tool | Purpose | Key Operations |
|
|
113
|
+
| --------- | -------------------------- | ------------------------------------- |
|
|
114
|
+
| **swarm** | Unified swarm coordination | `plan`, `monitor`, `delegate`, `sync` |
|
|
115
|
+
|
|
116
|
+
**swarm operations:**
|
|
117
|
+
|
|
118
|
+
- `plan`: Task analysis (actions: analyze, classify, check, allocate)
|
|
119
|
+
- `monitor`: Progress tracking (actions: progress_update, render_block, status, clear)
|
|
120
|
+
- `delegate`: Create delegation packets for workers
|
|
121
|
+
- `sync`: Beads ↔ OpenCode sync (actions: push, pull, create_shared, update_shared)
|
|
122
|
+
|
|
123
|
+
### Memory Tools
|
|
124
|
+
|
|
125
|
+
| Tool | Purpose | When to Use |
|
|
126
|
+
| ----------------- | ------------------------- | ----------------------------------- |
|
|
127
|
+
| **memory-search** | Find past learnings | "Have we solved this before?" |
|
|
128
|
+
| **memory-read** | Load specific memory file | "What did we decide about X?" |
|
|
129
|
+
| **memory-update** | Save context | "Document this for future sessions" |
|
|
130
|
+
| **observation** | Record decisions/patterns | "This is worth remembering" |
|
|
131
|
+
|
|
132
|
+
### Research Tools
|
|
133
|
+
|
|
134
|
+
| Tool | Purpose | When to Use |
|
|
135
|
+
| ----------------- | --------------------------------------------------------------- | ----------------------- |
|
|
136
|
+
| **context7** | Library documentation lookup. Replaces manual doc searching | API reference, examples |
|
|
137
|
+
| **websearch** | Web search. Replaces browser for current info | Docs not in Context7 |
|
|
138
|
+
| **codesearch** | Code examples from GitHub. Replaces manual GitHub search | Real-world patterns |
|
|
139
|
+
| **grepsearch** | Cross-repo code patterns. Replaces browsing GitHub for examples | grep.app search |
|
|
140
|
+
| **webfetch** | Fetch specific URL content. Replaces curl/browser | User-provided links |
|
|
141
|
+
| **review (Task)** | Second opinion | Validate approach |
|
|
142
|
+
|
|
143
|
+
**context7 operations:**
|
|
144
|
+
|
|
145
|
+
- `resolve`: Find library ID from name (e.g., "react" → "/reactjs/react.dev")
|
|
146
|
+
- `query`: Get documentation for a library topic
|
|
147
|
+
|
|
148
|
+
### With tilth MCP (When Available)
|
|
149
|
+
|
|
150
|
+
tilth provides AST-aware code intelligence. When installed, prefer tilth tools over built-in equivalents:
|
|
151
|
+
|
|
152
|
+
| Need | Without tilth | With tilth | Why tilth wins |
|
|
153
|
+
| --------------- | -------------------- | ------------------------------- | ------------------------------------------------------- |
|
|
154
|
+
| Find symbol | `grep` + `read` | `tilth_search` (expand: 2) | Returns definitions with inline source — no second read |
|
|
155
|
+
| Read large file | `read` (full) | `tilth_read` | Auto-outlines, shows structure; section drill-down |
|
|
156
|
+
| Find files | `glob` | `tilth_files` | Adds token estimates per file |
|
|
157
|
+
| Find callers | `lsp(incomingCalls)` | `tilth_search(kind: "callers")` | Cross-language, structural matching |
|
|
158
|
+
| Blast radius | Manual tracing | `tilth_deps` | Shows imports + downstream callers automatically |
|
|
159
|
+
|
|
160
|
+
**WHEN to use tilth_deps**: Before renaming, removing, or changing the signature of an export.
|
|
161
|
+
**SKIP**: When adding new code, fixing internal bugs, or just reading.
|
|
162
|
+
|
|
163
|
+
**IMPORTANT**: Expanded tilth_search results include full source code — do NOT re-read files already shown in search output.
|
|
164
|
+
|
|
165
|
+
## Workflow Pattern
|
|
166
|
+
|
|
167
|
+
```typescript
|
|
168
|
+
// Step 1: Load skills
|
|
169
|
+
skill({ name: "verification-before-completion" });
|
|
170
|
+
skill({ name: "beads" });
|
|
171
|
+
|
|
172
|
+
// Step 2: Find it (text search)
|
|
173
|
+
grep({ pattern: "functionName", path: "src/" });
|
|
174
|
+
|
|
175
|
+
// Step 3: Understand it (LSP - ALL 9 operations)
|
|
176
|
+
lsp({ operation: "documentSymbol", filePath: "src/file.ts", line: 1, character: 1 });
|
|
177
|
+
lsp({ operation: "goToDefinition", filePath: "src/file.ts", line: 42, character: 10 });
|
|
178
|
+
lsp({ operation: "findReferences", filePath: "src/file.ts", line: 42, character: 10 });
|
|
179
|
+
lsp({ operation: "hover", filePath: "src/file.ts", line: 42, character: 10 });
|
|
180
|
+
// ... remaining 5 operations
|
|
181
|
+
|
|
182
|
+
// Step 4: Check memory
|
|
183
|
+
memory_search({ query: "auth patterns" });
|
|
184
|
+
|
|
185
|
+
// Step 5: Read before edit
|
|
186
|
+
read({ filePath: "/absolute/path/to/file.ts" });
|
|
187
|
+
|
|
188
|
+
// Step 6: Modify
|
|
189
|
+
edit({ filePath: "/absolute/path/to/file.ts", oldString: "...", newString: "..." });
|
|
190
|
+
|
|
191
|
+
// Step 7: Verify
|
|
192
|
+
bash({ command: "npm run typecheck && npm run lint" });
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
## Tool Comparison
|
|
196
|
+
|
|
197
|
+
### grep vs LSP
|
|
198
|
+
|
|
199
|
+
| Scenario | Use | Why |
|
|
200
|
+
| ------------------ | --------------------------- | ------------------------------------------- |
|
|
201
|
+
| "Find all X" | `grep` | Fast text search, includes comments/strings |
|
|
202
|
+
| "Where is X used?" | `lsp` with `findReferences` | Semantic, tracks actual code dependencies |
|
|
203
|
+
| "What type is X?" | `lsp` with `hover` | Type system intelligence |
|
|
204
|
+
| "Find TODOs" | `grep` | Text search across all files |
|
|
205
|
+
|
|
206
|
+
### When to Use What
|
|
207
|
+
|
|
208
|
+
**Start with LSP when:**
|
|
209
|
+
|
|
210
|
+
- Understanding code structure
|
|
211
|
+
- Before any edit (ALL 9 operations)
|
|
212
|
+
- Tracing dependencies
|
|
213
|
+
- Getting type information
|
|
214
|
+
|
|
215
|
+
**Start with grep when:**
|
|
216
|
+
|
|
217
|
+
- Quick exploration ("are there any X?")
|
|
218
|
+
- Finding error patterns, logs, configs
|
|
219
|
+
- Searching across file types (JSON, YAML, etc.)
|
|
220
|
+
|
|
221
|
+
**Use skill when:**
|
|
222
|
+
|
|
223
|
+
- Starting any significant work
|
|
224
|
+
- Need specialized knowledge
|
|
225
|
+
- Following established patterns
|
|
226
|
+
|
|
227
|
+
**Use Task when:**
|
|
228
|
+
|
|
229
|
+
- Multiple independent research questions
|
|
230
|
+
- Parallel implementation tasks
|
|
231
|
+
- 3+ files need simultaneous work
|
|
232
|
+
|
|
233
|
+
## Common Mistakes
|
|
234
|
+
|
|
235
|
+
❌ **Wrong**: Edit without LSP
|
|
236
|
+
|
|
237
|
+
```typescript
|
|
238
|
+
// DON'T: Edit without understanding structure
|
|
239
|
+
edit({ filePath: "src/file.ts", oldString: "...", newString: "..." });
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
✅ **Right**: LSP before edit
|
|
243
|
+
|
|
244
|
+
```typescript
|
|
245
|
+
// DO: Run all 9 LSP operations first
|
|
246
|
+
lsp({ operation: "documentSymbol", filePath: "src/file.ts", line: 1, character: 1 });
|
|
247
|
+
lsp({ operation: "goToDefinition", filePath: "src/file.ts", line: 10, character: 5 });
|
|
248
|
+
// ... 7 more operations
|
|
249
|
+
read({ filePath: "src/file.ts" });
|
|
250
|
+
edit({ filePath: "src/file.ts", oldString: "...", newString: "..." });
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
❌ **Wrong**: Old LSP syntax
|
|
254
|
+
|
|
255
|
+
```typescript
|
|
256
|
+
// DON'T: This syntax doesn't exist
|
|
257
|
+
lsp_lsp_hover((filePath = "src/file.ts"), (line = 42), (character = 10));
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
✅ **Right**: Correct LSP syntax
|
|
261
|
+
|
|
262
|
+
```typescript
|
|
263
|
+
// DO: Use operation parameter
|
|
264
|
+
lsp({ operation: "hover", filePath: "src/file.ts", line: 42, character: 10 });
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
## Quick Reference
|
|
268
|
+
|
|
269
|
+
```
|
|
270
|
+
BEFORE EDITING:
|
|
271
|
+
lsp({ operation: "documentSymbol", ... }) → File structure
|
|
272
|
+
lsp({ operation: "goToDefinition", ... }) → Where defined
|
|
273
|
+
lsp({ operation: "findReferences", ... }) → All usages
|
|
274
|
+
lsp({ operation: "hover", ... }) → Type info
|
|
275
|
+
lsp({ operation: "goToImplementation", ... }) → Implementations
|
|
276
|
+
lsp({ operation: "prepareCallHierarchy", ... }) → Call hierarchy
|
|
277
|
+
lsp({ operation: "incomingCalls", ... }) → What calls this
|
|
278
|
+
lsp({ operation: "outgoingCalls", ... }) → What this calls
|
|
279
|
+
lsp({ operation: "workspaceSymbol", ... }) → Workspace search
|
|
280
|
+
|
|
281
|
+
SEARCHING:
|
|
282
|
+
grep({ pattern: "...", path: "src/" }) → Text search
|
|
283
|
+
glob({ pattern: "**/*.ts" }) → File discovery
|
|
284
|
+
|
|
285
|
+
PARALLEL WORK:
|
|
286
|
+
Task({ subagent_type: "explore", ... }) → Parallel subagent
|
|
287
|
+
swarm({ operation: "sync", action: "push" }) → Sync to todos
|
|
288
|
+
swarm({ operation: "monitor", action: "progress_update" }) → Track progress
|
|
289
|
+
|
|
290
|
+
RESEARCH:
|
|
291
|
+
context7({ operation: "resolve", libraryName: "..." })
|
|
292
|
+
context7({ operation: "query", libraryId: "...", topic: "..." })
|
|
293
|
+
websearch({ query: "..." })
|
|
294
|
+
Task({ subagent_type: "review", description: "Second opinion", prompt: "Review the approach." })
|
|
295
|
+
|
|
296
|
+
MEMORY:
|
|
297
|
+
memory_search({ query: "..." }) → Find past learnings
|
|
298
|
+
observation({ type: "learning", ... }) → Record for future
|
|
299
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Merged into design-system-audit. Load that skill instead."
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# UI/UX Research
|
|
6
|
+
|
|
7
|
+
> This skill has been merged into `design-system-audit` which now covers UI pattern analysis, design token auditing, and visual comparison.
|
|
8
|
+
>
|
|
9
|
+
> Load `design-system-audit` instead.
|
|
@@ -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,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-skills
|
|
3
|
+
description: Use when starting any conversation - establishes mandatory workflows for finding and using skills, including using Skill tool before announcing usage, following brainstorming before coding, and creating TodoWrite todos for checklists
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [workflow, context]
|
|
6
|
+
dependencies: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<EXTREMELY-IMPORTANT>
|
|
10
|
+
If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST read the skill.
|
|
11
|
+
|
|
12
|
+
IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.
|
|
13
|
+
|
|
14
|
+
This is not negotiable. This is not optional. You cannot rationalize your way out of this.
|
|
15
|
+
</EXTREMELY-IMPORTANT>
|
|
16
|
+
|
|
17
|
+
# Getting Started with Skills
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
- At the start of any conversation or task to determine applicable skills
|
|
22
|
+
- Whenever you are about to act and need to check for mandatory workflows
|
|
23
|
+
|
|
24
|
+
## When NOT to Use
|
|
25
|
+
|
|
26
|
+
- After you already loaded the correct skill and are executing it
|
|
27
|
+
- For a task that explicitly says to follow a different skill workflow
|
|
28
|
+
|
|
29
|
+
## MANDATORY FIRST RESPONSE PROTOCOL
|
|
30
|
+
|
|
31
|
+
Before responding to ANY user message, you MUST complete this checklist:
|
|
32
|
+
|
|
33
|
+
1. ☐ List available skills in your mind
|
|
34
|
+
2. ☐ Ask yourself: "Does ANY skill match this request?"
|
|
35
|
+
3. ☐ If yes → Use the Skill tool to read and run the skill file
|
|
36
|
+
4. ☐ Announce which skill you're using
|
|
37
|
+
5. ☐ Follow the skill exactly
|
|
38
|
+
|
|
39
|
+
**Responding WITHOUT completing this checklist = automatic failure.**
|
|
40
|
+
|
|
41
|
+
## Critical Rules
|
|
42
|
+
|
|
43
|
+
1. **Follow mandatory workflows.** Brainstorming before coding. Check for relevant skills before ANY task.
|
|
44
|
+
|
|
45
|
+
2. Execute skills with the Skill tool
|
|
46
|
+
|
|
47
|
+
## Common Rationalizations That Mean You're About To Fail
|
|
48
|
+
|
|
49
|
+
If you catch yourself thinking ANY of these thoughts, STOP. You are rationalizing. Check for and use the skill.
|
|
50
|
+
|
|
51
|
+
- "This is just a simple question" → WRONG. Questions are tasks. Check for skills.
|
|
52
|
+
- "I can check git/files quickly" → WRONG. Files don't have conversation context. Check for skills.
|
|
53
|
+
- "Let me gather information first" → WRONG. Skills tell you HOW to gather information. Check for skills.
|
|
54
|
+
- "This doesn't need a formal skill" → WRONG. If a skill exists for it, use it.
|
|
55
|
+
- "I remember this skill" → WRONG. Skills evolve. Run the current version.
|
|
56
|
+
- "This doesn't count as a task" → WRONG. If you're taking action, it's a task. Check for skills.
|
|
57
|
+
- "The skill is overkill for this" → WRONG. Skills exist because simple things become complex. Use it.
|
|
58
|
+
- "I'll just do this one thing first" → WRONG. Check for skills BEFORE doing anything.
|
|
59
|
+
|
|
60
|
+
**Why:** Skills document proven techniques that save time and prevent mistakes. Not using available skills means repeating solved problems and making known errors.
|
|
61
|
+
|
|
62
|
+
If a skill for your task exists, you must use it or you will fail at your task.
|
|
63
|
+
|
|
64
|
+
## Skills with Checklists
|
|
65
|
+
|
|
66
|
+
If a skill has a checklist, YOU MUST create TodoWrite todos for EACH item.
|
|
67
|
+
|
|
68
|
+
**Don't:**
|
|
69
|
+
|
|
70
|
+
- Work through checklist mentally
|
|
71
|
+
- Skip creating todos "to save time"
|
|
72
|
+
- Batch multiple items into one todo
|
|
73
|
+
- Mark complete without doing them
|
|
74
|
+
|
|
75
|
+
**Why:** Checklists without TodoWrite tracking = steps get skipped. Every time. The overhead of TodoWrite is tiny compared to the cost of missing steps.
|
|
76
|
+
|
|
77
|
+
## Announcing Skill Usage
|
|
78
|
+
|
|
79
|
+
Before using a skill, announce that you are using it.
|
|
80
|
+
"I'm using [Skill Name] to [what you're doing]."
|
|
81
|
+
|
|
82
|
+
**Examples:**
|
|
83
|
+
|
|
84
|
+
- "I'm using the brainstorming skill to refine your idea into a design."
|
|
85
|
+
- "I'm using the test-driven-development skill to implement this feature."
|
|
86
|
+
|
|
87
|
+
**Why:** Transparency helps your human partner understand your process and catch errors early. It also confirms you actually read the skill.
|
|
88
|
+
|
|
89
|
+
# About these skills
|
|
90
|
+
|
|
91
|
+
**Many skills contain rigid rules (TDD, debugging, verification).** Follow them exactly. Don't adapt away the discipline.
|
|
92
|
+
|
|
93
|
+
**Some skills are flexible patterns (architecture, naming).** Adapt core principles to your context.
|
|
94
|
+
|
|
95
|
+
The skill itself tells you which type it is.
|
|
96
|
+
|
|
97
|
+
## Instructions ≠ Permission to Skip Workflows
|
|
98
|
+
|
|
99
|
+
Your human partner's specific instructions describe WHAT to do, not HOW.
|
|
100
|
+
|
|
101
|
+
"Add X", "Fix Y" = the goal, NOT permission to skip brainstorming, TDD, or RED-GREEN-REFACTOR.
|
|
102
|
+
|
|
103
|
+
**Red flags:** "Instruction was specific" • "Seems simple" • "Workflow is overkill"
|
|
104
|
+
|
|
105
|
+
**Why:** Specific instructions mean clear requirements, which is when workflows matter MOST. Skipping process on "simple" tasks is how simple tasks become complex problems.
|
|
106
|
+
|
|
107
|
+
## Summary
|
|
108
|
+
|
|
109
|
+
**Starting any task:**
|
|
110
|
+
|
|
111
|
+
1. If relevant skill exists → Use the skill
|
|
112
|
+
2. Announce you're using it
|
|
113
|
+
3. Follow what it says
|
|
114
|
+
|
|
115
|
+
**Skill has checklist?** TodoWrite for every item.
|
|
116
|
+
|
|
117
|
+
**Finding a relevant skill = mandatory to read and use it. Not optional.**
|