From 382c453a3b33c73ec94314bb943b4f8671eeebc4 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Wed, 30 Sep 2026 12:24:54 -0400 Subject: [PATCH] feat: delete dot_agents --- dot_agents/dot_skill-lock.json | 725 ------- dot_agents/skills/blume-migrate/SKILL.md | 172 -- .../blume-migrate/assets/oxfmt@0.55.0.patch | 20 - .../blume-migrate/references/docusaurus.md | 95 - .../blume-migrate/references/fumadocs.md | 95 - .../blume-migrate/references/mintlify.md | 156 -- .../blume-migrate/references/monorepo.md | 225 -- .../skills/blume-migrate/references/nextra.md | 76 - .../blume-migrate/references/starlight.md | 116 - .../scripts/mintlify-codemod.mjs | 478 ---- dot_agents/skills/blume-update-docs/SKILL.md | 53 - .../references/audit-checklist.md | 46 - dot_agents/skills/blume/SKILL.md | 75 - dot_agents/skills/brandkit/SKILL.md | 798 ------- dot_agents/skills/bun-development/SKILL.md | 706 ------ dot_agents/skills/cloudflare/SKILL.md | 228 -- .../references/agents-sdk/README.md | 89 - .../cloudflare/references/agents-sdk/api.md | 190 -- .../references/agents-sdk/configuration.md | 182 -- .../references/agents-sdk/gotchas.md | 158 -- .../references/agents-sdk/patterns.md | 192 -- .../references/ai-gateway/README.md | 175 -- .../references/ai-gateway/configuration.md | 111 - .../references/ai-gateway/dynamic-routing.md | 82 - .../references/ai-gateway/features.md | 96 - .../references/ai-gateway/sdk-integration.md | 114 - .../references/ai-gateway/troubleshooting.md | 88 - .../cloudflare/references/ai-search/README.md | 138 -- .../cloudflare/references/ai-search/api.md | 87 - .../references/ai-search/configuration.md | 88 - .../references/ai-search/gotchas.md | 81 - .../references/ai-search/patterns.md | 85 - .../references/analytics-engine/README.md | 94 - .../references/analytics-engine/api.md | 112 - .../analytics-engine/configuration.md | 112 - .../references/analytics-engine/gotchas.md | 85 - .../references/analytics-engine/patterns.md | 83 - .../references/api-shield/README.md | 44 - .../cloudflare/references/api-shield/api.md | 141 -- .../references/api-shield/configuration.md | 192 -- .../references/api-shield/gotchas.md | 125 -- .../references/api-shield/patterns.md | 180 -- .../cloudflare/references/api/README.md | 66 - .../skills/cloudflare/references/api/api.md | 204 -- .../references/api/configuration.md | 160 -- .../cloudflare/references/api/gotchas.md | 225 -- .../cloudflare/references/api/patterns.md | 204 -- .../references/argo-smart-routing/README.md | 90 - .../references/argo-smart-routing/api.md | 240 -- .../argo-smart-routing/configuration.md | 197 -- .../references/argo-smart-routing/gotchas.md | 111 - .../references/argo-smart-routing/patterns.md | 104 - .../cloudflare/references/bindings/README.md | 122 -- .../cloudflare/references/bindings/api.md | 203 -- .../references/bindings/configuration.md | 188 -- .../cloudflare/references/bindings/gotchas.md | 208 -- .../references/bindings/patterns.md | 200 -- .../references/bot-management/README.md | 94 - .../references/bot-management/api.md | 169 -- .../bot-management/configuration.md | 163 -- .../references/bot-management/gotchas.md | 114 - .../references/bot-management/patterns.md | 182 -- .../references/browser-rendering/README.md | 78 - .../references/browser-rendering/api.md | 108 - .../browser-rendering/configuration.md | 78 - .../references/browser-rendering/gotchas.md | 88 - .../references/browser-rendering/patterns.md | 91 - .../skills/cloudflare/references/c3/README.md | 111 - .../skills/cloudflare/references/c3/api.md | 71 - .../cloudflare/references/c3/configuration.md | 81 - .../cloudflare/references/c3/gotchas.md | 92 - .../cloudflare/references/c3/patterns.md | 82 - .../references/cache-reserve/README.md | 147 -- .../references/cache-reserve/api.md | 194 -- .../references/cache-reserve/configuration.md | 169 -- .../references/cache-reserve/gotchas.md | 132 -- .../references/cache-reserve/patterns.md | 197 -- .../references/containers/README.md | 85 - .../cloudflare/references/containers/api.md | 187 -- .../references/containers/configuration.md | 188 -- .../references/containers/gotchas.md | 178 -- .../references/containers/patterns.md | 202 -- .../references/cron-triggers/README.md | 99 - .../references/cron-triggers/api.md | 196 -- .../references/cron-triggers/configuration.md | 180 -- .../references/cron-triggers/gotchas.md | 199 -- .../references/cron-triggers/patterns.md | 190 -- .../skills/cloudflare/references/d1/README.md | 133 -- .../skills/cloudflare/references/d1/api.md | 196 -- .../cloudflare/references/d1/configuration.md | 188 -- .../cloudflare/references/d1/gotchas.md | 98 - .../cloudflare/references/d1/patterns.md | 189 -- .../cloudflare/references/ddos/README.md | 41 - .../skills/cloudflare/references/ddos/api.md | 164 -- .../references/ddos/configuration.md | 93 - .../cloudflare/references/ddos/gotchas.md | 107 - .../cloudflare/references/ddos/patterns.md | 174 -- .../references/do-storage/README.md | 75 - .../cloudflare/references/do-storage/api.md | 102 - .../references/do-storage/configuration.md | 112 - .../references/do-storage/gotchas.md | 150 -- .../references/do-storage/patterns.md | 194 -- .../references/do-storage/testing.md | 183 -- .../references/durable-objects/README.md | 185 -- .../references/durable-objects/api.md | 187 -- .../durable-objects/configuration.md | 160 -- .../references/durable-objects/gotchas.md | 197 -- .../references/durable-objects/patterns.md | 201 -- .../references/email-routing/README.md | 89 - .../references/email-routing/api.md | 195 -- .../references/email-routing/configuration.md | 186 -- .../references/email-routing/gotchas.md | 196 -- .../references/email-routing/patterns.md | 229 -- .../references/email-workers/README.md | 151 -- .../references/email-workers/api.md | 237 -- .../references/email-workers/configuration.md | 112 - .../references/email-workers/gotchas.md | 125 -- .../references/email-workers/patterns.md | 102 - .../references/graphql-api/README.md | 147 -- .../cloudflare/references/graphql-api/api.md | 175 -- .../references/graphql-api/configuration.md | 118 - .../references/graphql-api/gotchas.md | 110 - .../references/graphql-api/patterns.md | 225 -- .../references/hyperdrive/README.md | 82 - .../cloudflare/references/hyperdrive/api.md | 143 -- .../references/hyperdrive/configuration.md | 159 -- .../references/hyperdrive/gotchas.md | 77 - .../references/hyperdrive/patterns.md | 190 -- .../cloudflare/references/images/README.md | 61 - .../cloudflare/references/images/api.md | 96 - .../references/images/configuration.md | 211 -- .../cloudflare/references/images/gotchas.md | 99 - .../cloudflare/references/images/patterns.md | 115 - .../skills/cloudflare/references/kv/README.md | 89 - .../skills/cloudflare/references/kv/api.md | 160 -- .../cloudflare/references/kv/configuration.md | 144 -- .../cloudflare/references/kv/gotchas.md | 131 -- .../cloudflare/references/kv/patterns.md | 196 -- .../cloudflare/references/miniflare/README.md | 105 - .../cloudflare/references/miniflare/api.md | 187 -- .../references/miniflare/configuration.md | 173 -- .../references/miniflare/gotchas.md | 160 -- .../references/miniflare/patterns.md | 181 -- .../references/network-interconnect/README.md | 99 - .../references/network-interconnect/api.md | 199 -- .../network-interconnect/configuration.md | 114 - .../network-interconnect/gotchas.md | 165 -- .../network-interconnect/patterns.md | 166 -- .../references/observability/README.md | 88 - .../references/observability/api.md | 164 -- .../references/observability/configuration.md | 169 -- .../references/observability/gotchas.md | 115 - .../references/observability/patterns.md | 105 - .../references/pages-functions/README.md | 98 - .../references/pages-functions/api.md | 143 -- .../pages-functions/configuration.md | 122 -- .../references/pages-functions/gotchas.md | 94 - .../references/pages-functions/patterns.md | 137 -- .../cloudflare/references/pages/README.md | 88 - .../skills/cloudflare/references/pages/api.md | 204 -- .../references/pages/configuration.md | 201 -- .../cloudflare/references/pages/gotchas.md | 203 -- .../cloudflare/references/pages/patterns.md | 204 -- .../cloudflare/references/pipelines/README.md | 105 - .../cloudflare/references/pipelines/api.md | 208 -- .../references/pipelines/configuration.md | 98 - .../references/pipelines/gotchas.md | 80 - .../references/pipelines/patterns.md | 87 - .../cloudflare/references/pulumi/README.md | 100 - .../cloudflare/references/pulumi/api.md | 200 -- .../references/pulumi/configuration.md | 198 -- .../cloudflare/references/pulumi/gotchas.md | 181 -- .../cloudflare/references/pulumi/patterns.md | 191 -- .../cloudflare/references/queues/README.md | 96 - .../cloudflare/references/queues/api.md | 206 -- .../references/queues/configuration.md | 144 -- .../cloudflare/references/queues/gotchas.md | 206 -- .../cloudflare/references/queues/patterns.md | 220 -- .../references/r2-data-catalog/README.md | 149 -- .../references/r2-data-catalog/api.md | 199 -- .../r2-data-catalog/configuration.md | 198 -- .../references/r2-data-catalog/gotchas.md | 170 -- .../references/r2-data-catalog/patterns.md | 191 -- .../cloudflare/references/r2-sql/README.md | 128 -- .../references/r2-sql/SKILL.md.backup | 512 ----- .../cloudflare/references/r2-sql/api.md | 158 -- .../references/r2-sql/configuration.md | 147 -- .../cloudflare/references/r2-sql/gotchas.md | 212 -- .../cloudflare/references/r2-sql/patterns.md | 222 -- .../skills/cloudflare/references/r2/README.md | 95 - .../skills/cloudflare/references/r2/api.md | 200 -- .../cloudflare/references/r2/configuration.md | 165 -- .../cloudflare/references/r2/gotchas.md | 190 -- .../cloudflare/references/r2/patterns.md | 193 -- .../references/realtime-sfu/README.md | 65 - .../cloudflare/references/realtime-sfu/api.md | 158 -- .../references/realtime-sfu/configuration.md | 137 -- .../references/realtime-sfu/gotchas.md | 133 -- .../references/realtime-sfu/patterns.md | 174 -- .../references/realtimekit/README.md | 113 - .../cloudflare/references/realtimekit/api.md | 212 -- .../references/realtimekit/configuration.md | 203 -- .../references/realtimekit/gotchas.md | 169 -- .../references/realtimekit/patterns.md | 223 -- .../cloudflare/references/sandbox/README.md | 96 - .../cloudflare/references/sandbox/api.md | 198 -- .../references/sandbox/configuration.md | 143 -- .../cloudflare/references/sandbox/gotchas.md | 194 -- .../cloudflare/references/sandbox/patterns.md | 201 -- .../references/secrets-store/README.md | 74 - .../references/secrets-store/api.md | 200 -- .../references/secrets-store/configuration.md | 185 -- .../references/secrets-store/gotchas.md | 97 - .../references/secrets-store/patterns.md | 207 -- .../references/smart-placement/README.md | 138 -- .../references/smart-placement/api.md | 183 -- .../smart-placement/configuration.md | 196 -- .../references/smart-placement/gotchas.md | 174 -- .../references/smart-placement/patterns.md | 183 -- .../cloudflare/references/snippets/README.md | 68 - .../cloudflare/references/snippets/api.md | 198 -- .../references/snippets/configuration.md | 227 -- .../cloudflare/references/snippets/gotchas.md | 86 - .../references/snippets/patterns.md | 135 -- .../cloudflare/references/spectrum/README.md | 52 - .../cloudflare/references/spectrum/api.md | 181 -- .../references/spectrum/configuration.md | 194 -- .../cloudflare/references/spectrum/gotchas.md | 145 -- .../references/spectrum/patterns.md | 196 -- .../references/static-assets/README.md | 65 - .../references/static-assets/api.md | 199 -- .../references/static-assets/configuration.md | 186 -- .../references/static-assets/gotchas.md | 162 -- .../references/static-assets/patterns.md | 189 -- .../cloudflare/references/stream/README.md | 114 - .../cloudflare/references/stream/api-live.md | 195 -- .../cloudflare/references/stream/api.md | 199 -- .../references/stream/configuration.md | 141 -- .../cloudflare/references/stream/gotchas.md | 130 -- .../cloudflare/references/stream/patterns.md | 184 -- .../references/tail-workers/README.md | 89 - .../cloudflare/references/tail-workers/api.md | 200 -- .../references/tail-workers/configuration.md | 176 -- .../references/tail-workers/gotchas.md | 192 -- .../references/tail-workers/patterns.md | 180 -- .../cloudflare/references/terraform/README.md | 102 - .../cloudflare/references/terraform/api.md | 178 -- .../references/terraform/configuration.md | 197 -- .../references/terraform/gotchas.md | 150 -- .../references/terraform/patterns.md | 174 -- .../cloudflare/references/tunnel/README.md | 129 -- .../cloudflare/references/tunnel/api.md | 193 -- .../references/tunnel/configuration.md | 157 -- .../cloudflare/references/tunnel/gotchas.md | 147 -- .../references/tunnel/networking.md | 168 -- .../cloudflare/references/tunnel/patterns.md | 192 -- .../cloudflare/references/turn/README.md | 82 - .../skills/cloudflare/references/turn/api.md | 239 -- .../references/turn/configuration.md | 179 -- .../cloudflare/references/turn/gotchas.md | 231 -- .../cloudflare/references/turn/patterns.md | 213 -- .../cloudflare/references/turnstile/README.md | 99 - .../cloudflare/references/turnstile/api.md | 240 -- .../references/turnstile/configuration.md | 222 -- .../references/turnstile/gotchas.md | 218 -- .../references/turnstile/patterns.md | 193 -- .../cloudflare/references/vectorize/README.md | 133 -- .../cloudflare/references/vectorize/api.md | 88 - .../references/vectorize/configuration.md | 88 - .../references/vectorize/gotchas.md | 76 - .../references/vectorize/patterns.md | 90 - .../cloudflare/references/waf/README.md | 113 - .../skills/cloudflare/references/waf/api.md | 202 -- .../references/waf/configuration.md | 203 -- .../cloudflare/references/waf/gotchas.md | 204 -- .../cloudflare/references/waf/patterns.md | 197 -- .../references/web-analytics/README.md | 141 -- .../references/web-analytics/configuration.md | 76 - .../references/web-analytics/gotchas.md | 82 - .../references/web-analytics/integration.md | 60 - .../references/web-analytics/patterns.md | 91 - .../cloudflare/references/workerd/README.md | 78 - .../cloudflare/references/workerd/api.md | 185 -- .../references/workerd/configuration.md | 183 -- .../cloudflare/references/workerd/gotchas.md | 139 -- .../cloudflare/references/workerd/patterns.md | 192 -- .../references/workers-ai/README.md | 197 -- .../cloudflare/references/workers-ai/api.md | 112 - .../references/workers-ai/configuration.md | 97 - .../references/workers-ai/gotchas.md | 114 - .../references/workers-ai/patterns.md | 120 - .../workers-for-platforms/README.md | 89 - .../references/workers-for-platforms/api.md | 196 -- .../workers-for-platforms/configuration.md | 167 -- .../workers-for-platforms/gotchas.md | 134 -- .../workers-for-platforms/patterns.md | 188 -- .../references/workers-playground/README.md | 127 -- .../references/workers-playground/api.md | 101 - .../workers-playground/configuration.md | 163 -- .../references/workers-playground/gotchas.md | 88 - .../references/workers-playground/patterns.md | 132 -- .../references/workers-vpc/README.md | 127 -- .../cloudflare/references/workers-vpc/api.md | 202 -- .../references/workers-vpc/configuration.md | 147 -- .../references/workers-vpc/gotchas.md | 167 -- .../references/workers-vpc/patterns.md | 209 -- .../cloudflare/references/workers/README.md | 108 - .../cloudflare/references/workers/api.md | 195 -- .../references/workers/configuration.md | 185 -- .../references/workers/frameworks.md | 197 -- .../cloudflare/references/workers/gotchas.md | 136 -- .../cloudflare/references/workers/patterns.md | 198 -- .../cloudflare/references/workflows/README.md | 69 - .../cloudflare/references/workflows/api.md | 185 -- .../references/workflows/configuration.md | 151 -- .../references/workflows/gotchas.md | 97 - .../references/workflows/patterns.md | 175 -- .../cloudflare/references/wrangler/README.md | 135 -- .../cloudflare/references/wrangler/api.md | 188 -- .../references/wrangler/configuration.md | 197 -- .../cloudflare/references/wrangler/gotchas.md | 197 -- .../references/wrangler/patterns.md | 209 -- .../zaraz/IMPLEMENTATION_SUMMARY.md | 121 -- .../cloudflare/references/zaraz/README.md | 111 - .../skills/cloudflare/references/zaraz/api.md | 112 - .../references/zaraz/configuration.md | 90 - .../cloudflare/references/zaraz/gotchas.md | 81 - .../cloudflare/references/zaraz/patterns.md | 74 - .../skills/codebase-design/DEEPENING.md | 37 - .../skills/codebase-design/DESIGN-IT-TWICE.md | 44 - dot_agents/skills/codebase-design/SKILL.md | 114 - dot_agents/skills/core/SKILL.md | 272 --- dot_agents/skills/deepinit/SKILL.md | 321 --- .../skills/design-an-interface/SKILL.md | 94 - .../skills/design-taste-frontend/SKILL.md | 1206 ----------- dot_agents/skills/diagnosing-bugs/SKILL.md | 138 -- .../scripts/hitl-loop.template.sh | 44 - .../skills/domain-modeling/ADR-FORMAT.md | 47 - .../skills/domain-modeling/CONTEXT-FORMAT.md | 60 - dot_agents/skills/domain-modeling/SKILL.md | 74 - dot_agents/skills/find-skills/SKILL.md | 142 -- .../skills/fumadocs-component-docs/SKILL.md | 163 -- .../skills/fumadocs-mdx-structure/SKILL.md | 136 -- .../fumadocs-registry-integration/SKILL.md | 178 -- .../git-guardrails-claude-code/SKILL.md | 95 - .../scripts/executable_block-dangerous-git.sh | 25 - dot_agents/skills/golang-pro/SKILL.md | 124 -- .../golang-pro/references/concurrency.md | 329 --- .../skills/golang-pro/references/generics.md | 442 ---- .../golang-pro/references/interfaces.md | 432 ---- .../references/project-structure.md | 477 ---- .../skills/golang-pro/references/testing.md | 451 ---- dot_agents/skills/gpt-taste/SKILL.md | 74 - dot_agents/skills/grill-me/SKILL.md | 7 - dot_agents/skills/grill-with-docs/SKILL.md | 7 - dot_agents/skills/grilling/SKILL.md | 22 - dot_agents/skills/handoff/SKILL.md | 16 - .../skills/high-end-visual-design/SKILL.md | 98 - .../skills/imagegen-frontend-web/SKILL.md | 987 --------- dot_agents/skills/implement/SKILL.md | 15 - .../HTML-REPORT.md | 123 -- .../improve-codebase-architecture/SKILL.md | 71 - dot_agents/skills/interface-design/SKILL.md | 391 ---- .../interface-design/references/critique.md | 67 - .../interface-design/references/example.md | 86 - .../interface-design/references/principles.md | 235 -- .../interface-design/references/validation.md | 48 - dot_agents/skills/laws-of-ux/SKILL.md | 987 --------- dot_agents/skills/linear-cli/SKILL.md | 334 --- .../skills/linear-cli/SKILL.template.md | 217 -- .../skills/linear-cli/references/api.md | 23 - .../skills/linear-cli/references/auth.md | 152 -- .../skills/linear-cli/references/commands.md | 27 - .../skills/linear-cli/references/config.md | 18 - .../skills/linear-cli/references/cycle.md | 61 - .../skills/linear-cli/references/document.md | 155 -- .../references/initiative-update.md | 65 - .../linear-cli/references/initiative.md | 222 -- .../skills/linear-cli/references/issue.md | 640 ------ .../skills/linear-cli/references/label.md | 87 - .../skills/linear-cli/references/milestone.md | 127 -- .../references/organization-features.md | 91 - .../linear-cli/references/project-update.md | 65 - .../skills/linear-cli/references/project.md | 151 -- .../skills/linear-cli/references/schema.md | 20 - .../skills/linear-cli/references/team.md | 161 -- .../linear-cli/scripts/generate-docs.ts | 362 ---- dot_agents/skills/linear-documents/SKILL.md | 33 - dot_agents/skills/linear/LICENSE.txt | 202 -- dot_agents/skills/linear/SKILL.md | 87 - dot_agents/skills/linear/agents/openai.yaml | 14 - .../skills/linear/assets/linear-small.svg | 5 - dot_agents/skills/linear/assets/linear.png | Bin 6969 -> 0 bytes dot_agents/skills/loop-me/SKILL.md | 32 - dot_agents/skills/loopy/SKILL.md | 301 --- dot_agents/skills/loopy/agents/openai.yaml | 4 - dot_agents/skills/loopy/references/audit.md | 61 - dot_agents/skills/loopy/references/debrief.md | 43 - .../skills/loopy/references/discover.md | 72 - dot_agents/skills/loopy/references/publish.md | 65 - dot_agents/skills/loopy/references/run.md | 73 - .../skills/migrate-to-shoehorn/SKILL.md | 118 - dot_agents/skills/minimalist-ui/SKILL.md | 85 - dot_agents/skills/mintlify-api/SKILL.md | 43 - dot_agents/skills/mintlify-docs/SKILL.md | 328 --- dot_agents/skills/mintlify/SKILL.md | 328 --- dot_agents/skills/native-sdk/SKILL.md | 34 - dot_agents/skills/obsidian-vault/SKILL.md | 59 - .../skills/openlogs-server-logs/SKILL.md | 56 - .../openlogs-server-logs/agents/openai.yaml | 4 - dot_agents/skills/prototype/LOGIC.md | 67 - dot_agents/skills/prototype/SKILL.md | 26 - dot_agents/skills/prototype/UI.md | 112 - dot_agents/skills/qa/SKILL.md | 130 -- dot_agents/skills/react/SKILL.md | 266 --- .../redesign-existing-projects/SKILL.md | 178 -- dot_agents/skills/remix/SKILL.md | 450 ---- .../remix/references/animate-elements.md | 186 -- .../references/assets-and-browser-modules.md | 154 -- .../remix/references/auth-and-sessions.md | 422 ---- .../remix/references/component-model.md | 270 --- .../skills/remix/references/create-mixins.md | 153 -- .../remix/references/data-and-validation.md | 356 --- .../references/hydration-frames-navigation.md | 306 --- .../remix/references/middleware-and-server.md | 278 --- .../remix/references/mixins-styling-events.md | 197 -- .../references/routing-and-controllers.md | 362 ---- .../remix/references/testing-patterns.md | 154 -- .../skills/request-refactor-plan/SKILL.md | 68 - .../skills/resolving-merge-conflicts/SKILL.md | 14 - .../skills/rust-async-patterns/SKILL.md | 95 - .../rust-async-patterns/references/details.md | 423 ---- .../skills/rust-best-practices/SKILL.md | 94 - .../references/chapter_01.md | 647 ------ .../references/chapter_02.md | 117 - .../references/chapter_03.md | 209 -- .../references/chapter_04.md | 180 -- .../references/chapter_05.md | 389 ---- .../references/chapter_06.md | 161 -- .../references/chapter_07.md | 226 -- .../references/chapter_08.md | 256 --- .../references/chapter_09.md | 256 --- dot_agents/skills/rust-testing/SKILL.md | 501 ----- dot_agents/skills/scaffold-exercises/SKILL.md | 106 - .../skills/setup-matt-pocock-skills/SKILL.md | 116 - .../skills/setup-matt-pocock-skills/domain.md | 51 - .../issue-tracker-github.md | 45 - .../issue-tracker-gitlab.md | 46 - .../issue-tracker-local.md | 30 - .../setup-matt-pocock-skills/triage-labels.md | 15 - dot_agents/skills/setup-pre-commit/SKILL.md | 91 - dot_agents/skills/shadcn/SKILL.md | 277 --- dot_agents/skills/shadcn/agents/openai.yml | 5 - .../skills/shadcn/assets/shadcn-small.png | Bin 1049 -> 0 bytes dot_agents/skills/shadcn/assets/shadcn.png | Bin 3852 -> 0 bytes dot_agents/skills/shadcn/cli.md | 290 --- dot_agents/skills/shadcn/customization.md | 209 -- dot_agents/skills/shadcn/evals/evals.json | 77 - dot_agents/skills/shadcn/mcp.md | 105 - dot_agents/skills/shadcn/registry.md | 277 --- .../skills/shadcn/rules/base-vs-radix.md | 306 --- dot_agents/skills/shadcn/rules/chat.md | 224 -- dot_agents/skills/shadcn/rules/composition.md | 213 -- dot_agents/skills/shadcn/rules/forms.md | 192 -- dot_agents/skills/shadcn/rules/icons.md | 101 - dot_agents/skills/shadcn/rules/styling.md | 185 -- .../solidity-foundry-development/SKILL.md | 127 -- .../references/foundry-cheatsheet.md | 119 - dot_agents/skills/solidity-security/SKILL.md | 112 - .../solidity-security/references/details.md | 389 ---- dot_agents/skills/stop-slop/CHANGELOG.md | 24 - dot_agents/skills/stop-slop/LICENSE | 21 - dot_agents/skills/stop-slop/README.md | 62 - dot_agents/skills/stop-slop/SKILL.md | 68 - .../skills/stop-slop/references/examples.md | 59 - .../skills/stop-slop/references/phrases.md | 128 -- .../skills/stop-slop/references/structures.md | 134 -- dot_agents/skills/tanstack-form/SKILL.md | 416 ---- .../SKILL.md | 68 - .../rules/cache-single-source.md | 187 -- .../rules/flow-loader-query-pattern.md | 178 -- .../rules/setup-query-client-context.md | 173 -- .../rules/ssr-dehydrate-hydrate.md | 206 -- .../tanstack-query-best-practices/SKILL.md | 114 - .../rules/cache-gc-time.md | 93 - .../rules/cache-invalidation.md | 116 - .../rules/cache-placeholder-vs-initial.md | 156 -- .../rules/cache-stale-time.md | 80 - .../rules/err-error-boundaries.md | 150 -- .../rules/inf-page-params.md | 132 -- .../rules/mut-invalidate-queries.md | 118 - .../rules/mut-mutation-state.md | 169 -- .../rules/mut-optimistic-updates.md | 137 -- .../rules/network-mode.md | 179 -- .../rules/parallel-use-queries.md | 152 -- .../rules/perf-select-transform.md | 144 -- .../rules/persist-queries.md | 194 -- .../rules/pf-intent-prefetch.md | 143 -- .../rules/qk-array-structure.md | 50 - .../rules/qk-factory-pattern.md | 102 - .../rules/qk-hierarchical-organization.md | 76 - .../rules/qk-include-dependencies.md | 62 - .../rules/qk-serializable.md | 93 - .../rules/query-cancellation.md | 171 -- .../rules/ssr-dehydration.md | 158 -- .../tanstack-router-best-practices/SKILL.md | 113 - .../rules/ctx-root-context.md | 172 -- .../rules/err-not-found.md | 194 -- .../rules/load-ensure-query-data.md | 153 -- .../rules/load-parallel.md | 190 -- .../rules/load-use-loaders.md | 148 -- .../rules/nav-link-component.md | 178 -- .../rules/nav-route-masks.md | 197 -- .../rules/org-virtual-routes.md | 133 -- .../rules/preload-intent.md | 133 -- .../rules/router-default-options.md | 163 -- .../rules/search-custom-serializer.md | 198 -- .../rules/search-validation.md | 158 -- .../rules/split-lazy-routes.md | 148 -- .../rules/ts-register-router.md | 113 - .../rules/ts-use-from-param.md | 130 -- .../tanstack-start-best-practices/SKILL.md | 109 - .../rules/api-routes.md | 238 -- .../rules/auth-route-protection.md | 192 -- .../rules/auth-session-management.md | 191 -- .../rules/deploy-adapters.md | 201 -- .../rules/env-functions.md | 211 -- .../rules/err-server-errors.md | 187 -- .../rules/file-separation.md | 152 -- .../rules/mw-request-middleware.md | 166 -- .../rules/sf-create-server-fn.md | 146 -- .../rules/sf-input-validation.md | 158 -- .../rules/ssr-hydration-safety.md | 187 -- .../rules/ssr-prerender.md | 199 -- .../rules/ssr-streaming.md | 201 -- dot_agents/skills/tanstack-table/SKILL.md | 582 ----- dot_agents/skills/tdd/SKILL.md | 38 - dot_agents/skills/tdd/mocking.md | 59 - dot_agents/skills/tdd/tests.md | 77 - dot_agents/skills/teach/GLOSSARY-FORMAT.md | 35 - .../skills/teach/LEARNING-RECORD-FORMAT.md | 46 - dot_agents/skills/teach/MISSION-FORMAT.md | 31 - dot_agents/skills/teach/RESOURCES-FORMAT.md | 32 - dot_agents/skills/teach/SKILL.md | 140 -- dot_agents/skills/todoist-cli/SKILL.md | 414 ---- dot_agents/skills/triage/AGENT-BRIEF.md | 207 -- dot_agents/skills/triage/OUT-OF-SCOPE.md | 105 - dot_agents/skills/triage/SKILL.md | 112 - dot_agents/skills/typescript-expert/SKILL.md | 138 -- .../typescript-expert/agents/openai.yaml | 4 - .../skills/ubiquitous-language/SKILL.md | 93 - dot_agents/skills/ui-ux-pro-max/SKILL.md | 659 ------ .../skills/ui-ux-pro-max/data/_sync_all.py | 414 ---- .../ui-ux-pro-max/data/app-interface.csv | 31 - .../skills/ui-ux-pro-max/data/charts.csv | 26 - .../skills/ui-ux-pro-max/data/colors.csv | 162 -- .../skills/ui-ux-pro-max/data/design.csv | 1776 --------------- .../skills/ui-ux-pro-max/data/draft.csv | 1779 --------------- .../ui-ux-pro-max/data/google-fonts.csv | 1924 ----------------- .../skills/ui-ux-pro-max/data/icons.csv | 106 - .../skills/ui-ux-pro-max/data/landing.csv | 35 - .../skills/ui-ux-pro-max/data/products.csv | 162 -- .../ui-ux-pro-max/data/react-performance.csv | 45 - .../data/stacks/react-native.csv | 52 - .../skills/ui-ux-pro-max/data/styles.csv | 85 - .../skills/ui-ux-pro-max/data/typography.csv | 74 - .../ui-ux-pro-max/data/ui-reasoning.csv | 162 -- .../ui-ux-pro-max/data/ux-guidelines.csv | 100 - .../skills/ui-ux-pro-max/scripts/core.py | 247 --- .../ui-ux-pro-max/scripts/design_system.py | 1067 --------- .../skills/ui-ux-pro-max/scripts/search.py | 114 - dot_agents/skills/uv-package-manager/SKILL.md | 345 --- .../references/advanced-patterns.md | 473 ---- .../skills/web-design-guidelines/SKILL.md | 39 - .../skills/workers-best-practices/SKILL.md | 127 -- .../references/review.md | 174 -- .../references/rules.md | 463 ---- dot_agents/skills/wrangler/SKILL.md | 922 -------- dot_agents/skills/write-tests/SKILL.md | 101 - .../skills/write-tests/agents/openai.yaml | 4 - dot_agents/skills/writing-beats/SKILL.md | 67 - dot_agents/skills/writing-fragments/SKILL.md | 79 - .../skills/writing-great-skills/GLOSSARY.md | 201 -- .../skills/writing-great-skills/SKILL.md | 83 - dot_agents/skills/writing-shape/SKILL.md | 79 - dot_claude/skills/absurd/SKILL.md | 256 --- dot_claude/skills/agents-sdk/SKILL.md | 221 -- .../agents-sdk/references/browse-the-web.md | 63 - .../skills/agents-sdk/references/callable.md | 92 - .../agents-sdk/references/client-sdk.md | 110 - .../skills/agents-sdk/references/codemode.md | 110 - .../agents-sdk/references/configuration.md | 72 - .../references/durable-execution.md | 51 - .../skills/agents-sdk/references/email.md | 146 -- .../references/human-in-the-loop.md | 67 - .../skills/agents-sdk/references/mcp.md | 188 -- .../agents-sdk/references/observability.md | 44 - .../agents-sdk/references/queue-retries.md | 79 - .../skills/agents-sdk/references/routing.md | 75 - .../references/server-driven-messages.md | 63 - .../agents-sdk/references/state-scheduling.md | 171 -- .../agents-sdk/references/streaming-chat.md | 198 -- .../skills/agents-sdk/references/think.md | 112 - .../skills/agents-sdk/references/voice.md | 68 - .../agents-sdk/references/webhooks-push.md | 86 - .../skills/agents-sdk/references/workflows.md | 132 -- .../skills/cloudflare-email-service/SKILL.md | 103 - .../references/cli-and-mcp.md | 125 -- .../references/deliverability.md | 285 --- .../references/rest-api.md | 184 -- .../references/routing.md | 199 -- .../references/sending.md | 252 --- .../skills/cloudflare-one-migrations/SKILL.md | 110 - dot_claude/skills/cloudflare-one/SKILL.md | 176 -- dot_claude/skills/cloudflare/SKILL.md | 248 --- .../references/agents-sdk/README.md | 89 - .../cloudflare/references/agents-sdk/api.md | 190 -- .../references/agents-sdk/configuration.md | 182 -- .../references/agents-sdk/gotchas.md | 158 -- .../references/agents-sdk/patterns.md | 192 -- .../references/ai-gateway/README.md | 175 -- .../references/ai-gateway/configuration.md | 111 - .../references/ai-gateway/dynamic-routing.md | 82 - .../references/ai-gateway/features.md | 96 - .../references/ai-gateway/sdk-integration.md | 114 - .../references/ai-gateway/troubleshooting.md | 88 - .../cloudflare/references/ai-search/README.md | 138 -- .../cloudflare/references/ai-search/api.md | 87 - .../references/ai-search/configuration.md | 88 - .../references/ai-search/gotchas.md | 81 - .../references/ai-search/patterns.md | 85 - .../references/analytics-engine/README.md | 94 - .../references/analytics-engine/api.md | 112 - .../analytics-engine/configuration.md | 112 - .../references/analytics-engine/gotchas.md | 85 - .../references/analytics-engine/patterns.md | 83 - .../references/api-shield/README.md | 44 - .../cloudflare/references/api-shield/api.md | 141 -- .../references/api-shield/configuration.md | 192 -- .../references/api-shield/gotchas.md | 125 -- .../references/api-shield/patterns.md | 180 -- .../cloudflare/references/api/README.md | 66 - .../skills/cloudflare/references/api/api.md | 204 -- .../references/api/configuration.md | 160 -- .../cloudflare/references/api/gotchas.md | 225 -- .../cloudflare/references/api/patterns.md | 204 -- .../references/argo-smart-routing/README.md | 90 - .../references/argo-smart-routing/api.md | 240 -- .../argo-smart-routing/configuration.md | 197 -- .../references/argo-smart-routing/gotchas.md | 111 - .../references/argo-smart-routing/patterns.md | 104 - .../cloudflare/references/artifacts/README.md | 79 - .../cloudflare/references/artifacts/api.md | 128 -- .../references/artifacts/configuration.md | 92 - .../cloudflare/references/bindings/README.md | 122 -- .../cloudflare/references/bindings/api.md | 203 -- .../references/bindings/configuration.md | 188 -- .../cloudflare/references/bindings/gotchas.md | 208 -- .../references/bindings/patterns.md | 200 -- .../references/bot-management/README.md | 94 - .../references/bot-management/api.md | 169 -- .../bot-management/configuration.md | 163 -- .../references/bot-management/gotchas.md | 114 - .../references/bot-management/patterns.md | 182 -- .../references/browser-rendering/README.md | 78 - .../references/browser-rendering/api.md | 108 - .../browser-rendering/configuration.md | 78 - .../references/browser-rendering/gotchas.md | 88 - .../references/browser-rendering/patterns.md | 91 - .../skills/cloudflare/references/c3/README.md | 111 - .../skills/cloudflare/references/c3/api.md | 71 - .../cloudflare/references/c3/configuration.md | 81 - .../cloudflare/references/c3/gotchas.md | 92 - .../cloudflare/references/c3/patterns.md | 82 - .../references/cache-reserve/README.md | 147 -- .../references/cache-reserve/api.md | 194 -- .../references/cache-reserve/configuration.md | 169 -- .../references/cache-reserve/gotchas.md | 132 -- .../references/cache-reserve/patterns.md | 197 -- .../references/containers/README.md | 85 - .../cloudflare/references/containers/api.md | 187 -- .../references/containers/configuration.md | 188 -- .../references/containers/gotchas.md | 178 -- .../references/containers/patterns.md | 202 -- .../references/cron-triggers/README.md | 99 - .../references/cron-triggers/api.md | 196 -- .../references/cron-triggers/configuration.md | 180 -- .../references/cron-triggers/gotchas.md | 199 -- .../references/cron-triggers/patterns.md | 190 -- .../skills/cloudflare/references/d1/README.md | 133 -- .../skills/cloudflare/references/d1/api.md | 196 -- .../cloudflare/references/d1/configuration.md | 191 -- .../cloudflare/references/d1/gotchas.md | 98 - .../cloudflare/references/d1/patterns.md | 189 -- .../cloudflare/references/ddos/README.md | 41 - .../skills/cloudflare/references/ddos/api.md | 164 -- .../references/ddos/configuration.md | 93 - .../cloudflare/references/ddos/gotchas.md | 107 - .../cloudflare/references/ddos/patterns.md | 174 -- .../references/do-storage/README.md | 75 - .../cloudflare/references/do-storage/api.md | 102 - .../references/do-storage/configuration.md | 112 - .../references/do-storage/gotchas.md | 150 -- .../references/do-storage/patterns.md | 194 -- .../references/do-storage/testing.md | 183 -- .../references/durable-objects/README.md | 185 -- .../references/durable-objects/api.md | 187 -- .../durable-objects/configuration.md | 160 -- .../references/durable-objects/gotchas.md | 197 -- .../references/durable-objects/patterns.md | 201 -- .../references/email-routing/README.md | 89 - .../references/email-routing/api.md | 195 -- .../references/email-routing/configuration.md | 186 -- .../references/email-routing/gotchas.md | 196 -- .../references/email-routing/patterns.md | 229 -- .../references/email-workers/README.md | 151 -- .../references/email-workers/api.md | 237 -- .../references/email-workers/configuration.md | 112 - .../references/email-workers/gotchas.md | 125 -- .../references/email-workers/patterns.md | 102 - .../cloudflare/references/flagship/README.md | 59 - .../cloudflare/references/flagship/api.md | 390 ---- .../references/flagship/configuration.md | 202 -- .../cloudflare/references/flagship/gotchas.md | 178 -- .../references/flagship/patterns.md | 469 ---- .../references/graphql-api/README.md | 147 -- .../cloudflare/references/graphql-api/api.md | 175 -- .../references/graphql-api/configuration.md | 118 - .../references/graphql-api/gotchas.md | 110 - .../references/graphql-api/patterns.md | 225 -- .../references/hyperdrive/README.md | 82 - .../cloudflare/references/hyperdrive/api.md | 143 -- .../references/hyperdrive/configuration.md | 159 -- .../references/hyperdrive/gotchas.md | 77 - .../references/hyperdrive/patterns.md | 190 -- .../cloudflare/references/images/README.md | 61 - .../cloudflare/references/images/api.md | 96 - .../references/images/configuration.md | 211 -- .../cloudflare/references/images/gotchas.md | 99 - .../cloudflare/references/images/patterns.md | 115 - .../skills/cloudflare/references/kv/README.md | 89 - .../skills/cloudflare/references/kv/api.md | 160 -- .../cloudflare/references/kv/configuration.md | 144 -- .../cloudflare/references/kv/gotchas.md | 131 -- .../cloudflare/references/kv/patterns.md | 196 -- .../cloudflare/references/miniflare/README.md | 105 - .../cloudflare/references/miniflare/api.md | 187 -- .../references/miniflare/configuration.md | 173 -- .../references/miniflare/gotchas.md | 160 -- .../references/miniflare/patterns.md | 181 -- .../references/network-interconnect/README.md | 99 - .../references/network-interconnect/api.md | 199 -- .../network-interconnect/configuration.md | 114 - .../network-interconnect/gotchas.md | 165 -- .../network-interconnect/patterns.md | 166 -- .../references/observability/README.md | 88 - .../references/observability/api.md | 164 -- .../references/observability/configuration.md | 169 -- .../references/observability/gotchas.md | 115 - .../references/observability/patterns.md | 105 - .../references/pages-functions/README.md | 98 - .../references/pages-functions/api.md | 143 -- .../pages-functions/configuration.md | 122 -- .../references/pages-functions/gotchas.md | 94 - .../references/pages-functions/patterns.md | 137 -- .../cloudflare/references/pages/README.md | 88 - .../skills/cloudflare/references/pages/api.md | 204 -- .../references/pages/configuration.md | 201 -- .../cloudflare/references/pages/gotchas.md | 203 -- .../cloudflare/references/pages/patterns.md | 204 -- .../cloudflare/references/pipelines/README.md | 90 - .../cloudflare/references/pipelines/api.md | 124 -- .../references/pipelines/configuration.md | 155 -- .../references/pipelines/gotchas.md | 58 - .../references/pipelines/patterns.md | 130 -- .../cloudflare/references/pulumi/README.md | 100 - .../cloudflare/references/pulumi/api.md | 200 -- .../references/pulumi/configuration.md | 198 -- .../cloudflare/references/pulumi/gotchas.md | 181 -- .../cloudflare/references/pulumi/patterns.md | 191 -- .../cloudflare/references/queues/README.md | 96 - .../cloudflare/references/queues/api.md | 206 -- .../references/queues/configuration.md | 144 -- .../cloudflare/references/queues/gotchas.md | 206 -- .../cloudflare/references/queues/patterns.md | 220 -- .../references/r2-data-catalog/README.md | 75 - .../references/r2-data-catalog/api.md | 122 -- .../r2-data-catalog/configuration.md | 98 - .../references/r2-data-catalog/gotchas.md | 55 - .../references/r2-data-catalog/patterns.md | 122 -- .../cloudflare/references/r2-sql/README.md | 64 - .../cloudflare/references/r2-sql/api.md | 121 -- .../references/r2-sql/configuration.md | 50 - .../cloudflare/references/r2-sql/gotchas.md | 39 - .../cloudflare/references/r2-sql/patterns.md | 118 - .../skills/cloudflare/references/r2/README.md | 95 - .../skills/cloudflare/references/r2/api.md | 200 -- .../cloudflare/references/r2/configuration.md | 165 -- .../cloudflare/references/r2/gotchas.md | 190 -- .../cloudflare/references/r2/patterns.md | 193 -- .../references/realtime-sfu/README.md | 65 - .../cloudflare/references/realtime-sfu/api.md | 158 -- .../references/realtime-sfu/configuration.md | 137 -- .../references/realtime-sfu/gotchas.md | 133 -- .../references/realtime-sfu/patterns.md | 174 -- .../references/realtimekit/README.md | 113 - .../cloudflare/references/realtimekit/api.md | 212 -- .../references/realtimekit/configuration.md | 203 -- .../references/realtimekit/gotchas.md | 169 -- .../references/realtimekit/patterns.md | 223 -- .../cloudflare/references/sandbox/README.md | 96 - .../cloudflare/references/sandbox/api.md | 198 -- .../references/sandbox/configuration.md | 143 -- .../cloudflare/references/sandbox/gotchas.md | 194 -- .../cloudflare/references/sandbox/patterns.md | 201 -- .../references/secrets-store/README.md | 74 - .../references/secrets-store/api.md | 200 -- .../references/secrets-store/configuration.md | 185 -- .../references/secrets-store/gotchas.md | 97 - .../references/secrets-store/patterns.md | 207 -- .../references/smart-placement/README.md | 138 -- .../references/smart-placement/api.md | 183 -- .../smart-placement/configuration.md | 196 -- .../references/smart-placement/gotchas.md | 174 -- .../references/smart-placement/patterns.md | 183 -- .../cloudflare/references/snippets/README.md | 68 - .../cloudflare/references/snippets/api.md | 198 -- .../references/snippets/configuration.md | 227 -- .../cloudflare/references/snippets/gotchas.md | 86 - .../references/snippets/patterns.md | 135 -- .../cloudflare/references/spectrum/README.md | 52 - .../cloudflare/references/spectrum/api.md | 181 -- .../references/spectrum/configuration.md | 194 -- .../cloudflare/references/spectrum/gotchas.md | 145 -- .../references/spectrum/patterns.md | 196 -- .../references/static-assets/README.md | 65 - .../references/static-assets/api.md | 199 -- .../references/static-assets/configuration.md | 186 -- .../references/static-assets/gotchas.md | 162 -- .../references/static-assets/patterns.md | 189 -- .../cloudflare/references/stream/README.md | 114 - .../cloudflare/references/stream/api-live.md | 195 -- .../cloudflare/references/stream/api.md | 199 -- .../references/stream/configuration.md | 141 -- .../cloudflare/references/stream/gotchas.md | 130 -- .../cloudflare/references/stream/patterns.md | 184 -- .../references/tail-workers/README.md | 89 - .../cloudflare/references/tail-workers/api.md | 200 -- .../references/tail-workers/configuration.md | 176 -- .../references/tail-workers/gotchas.md | 192 -- .../references/tail-workers/patterns.md | 180 -- .../cloudflare/references/terraform/README.md | 102 - .../cloudflare/references/terraform/api.md | 178 -- .../references/terraform/configuration.md | 197 -- .../references/terraform/gotchas.md | 150 -- .../references/terraform/patterns.md | 174 -- .../cloudflare/references/tunnel/README.md | 129 -- .../cloudflare/references/tunnel/api.md | 193 -- .../references/tunnel/configuration.md | 157 -- .../cloudflare/references/tunnel/gotchas.md | 147 -- .../references/tunnel/networking.md | 168 -- .../cloudflare/references/tunnel/patterns.md | 192 -- .../cloudflare/references/turn/README.md | 82 - .../skills/cloudflare/references/turn/api.md | 239 -- .../references/turn/configuration.md | 179 -- .../cloudflare/references/turn/gotchas.md | 231 -- .../cloudflare/references/turn/patterns.md | 213 -- .../cloudflare/references/turnstile/README.md | 99 - .../cloudflare/references/turnstile/api.md | 240 -- .../references/turnstile/configuration.md | 222 -- .../references/turnstile/gotchas.md | 218 -- .../references/turnstile/patterns.md | 193 -- .../cloudflare/references/vectorize/README.md | 133 -- .../cloudflare/references/vectorize/api.md | 88 - .../references/vectorize/configuration.md | 88 - .../references/vectorize/gotchas.md | 76 - .../references/vectorize/patterns.md | 90 - .../cloudflare/references/waf/README.md | 113 - .../skills/cloudflare/references/waf/api.md | 202 -- .../references/waf/configuration.md | 203 -- .../cloudflare/references/waf/gotchas.md | 204 -- .../cloudflare/references/waf/patterns.md | 197 -- .../references/web-analytics/README.md | 141 -- .../references/web-analytics/configuration.md | 76 - .../references/web-analytics/gotchas.md | 82 - .../references/web-analytics/integration.md | 60 - .../references/web-analytics/patterns.md | 91 - .../cloudflare/references/workerd/README.md | 78 - .../cloudflare/references/workerd/api.md | 185 -- .../references/workerd/configuration.md | 183 -- .../cloudflare/references/workerd/gotchas.md | 139 -- .../cloudflare/references/workerd/patterns.md | 192 -- .../references/workers-ai/README.md | 197 -- .../cloudflare/references/workers-ai/api.md | 112 - .../references/workers-ai/configuration.md | 97 - .../references/workers-ai/gotchas.md | 114 - .../references/workers-ai/patterns.md | 120 - .../workers-for-platforms/README.md | 89 - .../references/workers-for-platforms/api.md | 196 -- .../workers-for-platforms/configuration.md | 167 -- .../workers-for-platforms/gotchas.md | 134 -- .../workers-for-platforms/patterns.md | 188 -- .../references/workers-playground/README.md | 127 -- .../references/workers-playground/api.md | 101 - .../workers-playground/configuration.md | 163 -- .../references/workers-playground/gotchas.md | 88 - .../references/workers-playground/patterns.md | 132 -- .../references/workers-vpc/README.md | 127 -- .../cloudflare/references/workers-vpc/api.md | 202 -- .../references/workers-vpc/configuration.md | 147 -- .../references/workers-vpc/gotchas.md | 167 -- .../references/workers-vpc/patterns.md | 209 -- .../cloudflare/references/workers/README.md | 108 - .../cloudflare/references/workers/api.md | 195 -- .../references/workers/configuration.md | 185 -- .../references/workers/frameworks.md | 197 -- .../cloudflare/references/workers/gotchas.md | 137 -- .../cloudflare/references/workers/patterns.md | 198 -- .../cloudflare/references/workflows/README.md | 77 - .../cloudflare/references/workflows/api.md | 218 -- .../references/workflows/configuration.md | 152 -- .../references/workflows/gotchas.md | 90 - .../references/workflows/patterns.md | 175 -- .../cloudflare/references/wrangler/README.md | 135 -- .../cloudflare/references/wrangler/api.md | 188 -- .../references/wrangler/configuration.md | 197 -- .../cloudflare/references/wrangler/gotchas.md | 197 -- .../references/wrangler/patterns.md | 209 -- .../zaraz/IMPLEMENTATION_SUMMARY.md | 121 -- .../cloudflare/references/zaraz/README.md | 111 - .../skills/cloudflare/references/zaraz/api.md | 112 - .../references/zaraz/configuration.md | 90 - .../cloudflare/references/zaraz/gotchas.md | 81 - .../cloudflare/references/zaraz/patterns.md | 74 - .../create-beads-orchestration/SKILL.md | 263 --- dot_claude/skills/durable-objects/SKILL.md | 186 -- .../durable-objects/references/rules.md | 295 --- .../durable-objects/references/testing.md | 264 --- .../durable-objects/references/workers.md | 346 --- dot_claude/skills/sandbox-sdk/SKILL.md | 177 -- .../sandbox-sdk/references/api-quick-ref.md | 113 - .../skills/sandbox-sdk/references/examples.md | 49 - dot_claude/skills/symlink_blume | 1 - dot_claude/skills/symlink_blume-migrate | 1 - dot_claude/skills/symlink_blume-update-docs | 1 - dot_claude/skills/symlink_brandkit | 1 - dot_claude/skills/symlink_bun-development | 1 - dot_claude/skills/symlink_codebase-design | 1 - dot_claude/skills/symlink_core | 1 - dot_claude/skills/symlink_deepinit | 1 - dot_claude/skills/symlink_design-an-interface | 1 - .../skills/symlink_design-taste-frontend | 1 - dot_claude/skills/symlink_diagnosing-bugs | 1 - dot_claude/skills/symlink_domain-modeling | 1 - dot_claude/skills/symlink_find-skills | 1 - .../skills/symlink_git-guardrails-claude-code | 1 - dot_claude/skills/symlink_golang-pro | 1 - dot_claude/skills/symlink_gpt-taste | 1 - dot_claude/skills/symlink_grill-me | 1 - dot_claude/skills/symlink_grill-with-docs | 1 - dot_claude/skills/symlink_grilling | 1 - dot_claude/skills/symlink_handoff | 1 - .../skills/symlink_high-end-visual-design | 1 - .../skills/symlink_imagegen-frontend-web | 1 - dot_claude/skills/symlink_implement | 1 - .../symlink_improve-codebase-architecture | 1 - dot_claude/skills/symlink_linear | 1 - dot_claude/skills/symlink_linear-cli | 1 - dot_claude/skills/symlink_linear-documents | 1 - dot_claude/skills/symlink_loop-me | 1 - dot_claude/skills/symlink_loopy | 1 - dot_claude/skills/symlink_migrate-to-shoehorn | 1 - dot_claude/skills/symlink_minimalist-ui | 1 - dot_claude/skills/symlink_mintlify | 1 - dot_claude/skills/symlink_mintlify-api | 1 - dot_claude/skills/symlink_mintlify-docs | 1 - dot_claude/skills/symlink_native-sdk | 1 - dot_claude/skills/symlink_obsidian-vault | 1 - .../skills/symlink_openlogs-server-logs | 1 - dot_claude/skills/symlink_prototype | 1 - dot_claude/skills/symlink_qa | 1 - dot_claude/skills/symlink_react | 1 - .../skills/symlink_redesign-existing-projects | 1 - dot_claude/skills/symlink_remix | 1 - .../skills/symlink_request-refactor-plan | 1 - .../skills/symlink_resolving-merge-conflicts | 1 - dot_claude/skills/symlink_rust-async-patterns | 1 - dot_claude/skills/symlink_rust-best-practices | 1 - dot_claude/skills/symlink_rust-testing | 1 - dot_claude/skills/symlink_scaffold-exercises | 1 - .../skills/symlink_setup-matt-pocock-skills | 1 - dot_claude/skills/symlink_setup-pre-commit | 1 - dot_claude/skills/symlink_shadcn | 1 - .../symlink_solidity-foundry-development | 1 - dot_claude/skills/symlink_solidity-security | 1 - dot_claude/skills/symlink_stop-slop | 1 - .../symlink_tanstack-start-best-practices | 1 - dot_claude/skills/symlink_tdd | 1 - dot_claude/skills/symlink_teach | 1 - dot_claude/skills/symlink_triage | 1 - dot_claude/skills/symlink_typescript-expert | 1 - dot_claude/skills/symlink_ubiquitous-language | 1 - dot_claude/skills/symlink_uv-package-manager | 1 - dot_claude/skills/symlink_wrangler | 1 - dot_claude/skills/symlink_write-tests | 1 - dot_claude/skills/symlink_writing-beats | 1 - dot_claude/skills/symlink_writing-fragments | 1 - .../skills/symlink_writing-great-skills | 1 - dot_claude/skills/symlink_writing-shape | 1 - dot_claude/skills/todoist-cli/SKILL.md | 418 ---- dot_claude/skills/turnstile-spin/README.md | 51 - dot_claude/skills/turnstile-spin/SKILL.md | 330 --- .../skills/turnstile-spin/references/astro.md | 199 -- .../skills/turnstile-spin/references/hugo.md | 114 - .../turnstile-spin/references/nextjs-app.md | 261 --- .../turnstile-spin/references/nextjs-pages.md | 82 - .../turnstile-spin/references/sveltekit.md | 191 -- .../turnstile-spin/references/vanilla-html.md | 157 -- .../scripts/executable_auth-probe.sh | 285 --- .../scripts/executable_fetch-secret.sh | 66 - .../scripts/executable_persist-skill.sh | 114 - .../scripts/executable_validate.sh | 137 -- .../scripts/executable_widget-create.sh | 121 -- .../scripts/executable_worker-deploy.sh | 102 - .../turnstile-spin/templates/worker/LICENSE | 21 - .../turnstile-spin/templates/worker/README.md | 196 -- .../templates/worker/dot_gitignore | 9 - .../templates/worker/package.json | 39 - .../templates/worker/public/post-deploy.html | 287 --- .../templates/worker/src/errors.ts | 29 - .../templates/worker/src/index.ts | 199 -- .../templates/worker/src/observability.ts | 34 - .../templates/worker/src/types.ts | 95 - .../templates/worker/src/validate.ts | 101 - .../templates/worker/test/deploy.test.ts | 71 - .../templates/worker/test/integration.test.ts | 87 - .../templates/worker/test/unit.test.ts | 372 ---- .../templates/worker/test/validation.test.ts | 201 -- .../templates/worker/tsconfig.json | 24 - .../templates/worker/vitest.config.ts | 12 - .../templates/worker/wrangler.toml | 36 - .../skills/turnstile-spin/tests/validation.md | 62 - dot_claude/skills/web-perf/SKILL.md | 201 -- .../skills/workers-best-practices/SKILL.md | 127 -- .../references/review.md | 174 -- .../references/rules.md | 463 ---- dot_leetcode/star-prompt.json | 4 +- dot_leetcode/version-cache.json | 2 +- 1048 files changed, 3 insertions(+), 158459 deletions(-) delete mode 100644 dot_agents/dot_skill-lock.json delete mode 100644 dot_agents/skills/blume-migrate/SKILL.md delete mode 100644 dot_agents/skills/blume-migrate/assets/oxfmt@0.55.0.patch delete mode 100644 dot_agents/skills/blume-migrate/references/docusaurus.md delete mode 100644 dot_agents/skills/blume-migrate/references/fumadocs.md delete mode 100644 dot_agents/skills/blume-migrate/references/mintlify.md delete mode 100644 dot_agents/skills/blume-migrate/references/monorepo.md delete mode 100644 dot_agents/skills/blume-migrate/references/nextra.md delete mode 100644 dot_agents/skills/blume-migrate/references/starlight.md delete mode 100644 dot_agents/skills/blume-migrate/scripts/mintlify-codemod.mjs delete mode 100644 dot_agents/skills/blume-update-docs/SKILL.md delete mode 100644 dot_agents/skills/blume-update-docs/references/audit-checklist.md delete mode 100644 dot_agents/skills/blume/SKILL.md delete mode 100644 dot_agents/skills/brandkit/SKILL.md delete mode 100644 dot_agents/skills/bun-development/SKILL.md delete mode 100644 dot_agents/skills/cloudflare/SKILL.md delete mode 100644 dot_agents/skills/cloudflare/references/agents-sdk/README.md delete mode 100644 dot_agents/skills/cloudflare/references/agents-sdk/api.md delete mode 100644 dot_agents/skills/cloudflare/references/agents-sdk/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/agents-sdk/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/agents-sdk/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/ai-gateway/README.md delete mode 100644 dot_agents/skills/cloudflare/references/ai-gateway/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/ai-gateway/dynamic-routing.md delete mode 100644 dot_agents/skills/cloudflare/references/ai-gateway/features.md delete mode 100644 dot_agents/skills/cloudflare/references/ai-gateway/sdk-integration.md delete mode 100644 dot_agents/skills/cloudflare/references/ai-gateway/troubleshooting.md delete mode 100644 dot_agents/skills/cloudflare/references/ai-search/README.md delete mode 100644 dot_agents/skills/cloudflare/references/ai-search/api.md delete mode 100644 dot_agents/skills/cloudflare/references/ai-search/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/ai-search/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/ai-search/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/analytics-engine/README.md delete mode 100644 dot_agents/skills/cloudflare/references/analytics-engine/api.md delete mode 100644 dot_agents/skills/cloudflare/references/analytics-engine/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/analytics-engine/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/analytics-engine/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/api-shield/README.md delete mode 100644 dot_agents/skills/cloudflare/references/api-shield/api.md delete mode 100644 dot_agents/skills/cloudflare/references/api-shield/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/api-shield/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/api-shield/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/api/README.md delete mode 100644 dot_agents/skills/cloudflare/references/api/api.md delete mode 100644 dot_agents/skills/cloudflare/references/api/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/api/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/api/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/argo-smart-routing/README.md delete mode 100644 dot_agents/skills/cloudflare/references/argo-smart-routing/api.md delete mode 100644 dot_agents/skills/cloudflare/references/argo-smart-routing/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/argo-smart-routing/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/argo-smart-routing/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/bindings/README.md delete mode 100644 dot_agents/skills/cloudflare/references/bindings/api.md delete mode 100644 dot_agents/skills/cloudflare/references/bindings/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/bindings/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/bindings/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/bot-management/README.md delete mode 100644 dot_agents/skills/cloudflare/references/bot-management/api.md delete mode 100644 dot_agents/skills/cloudflare/references/bot-management/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/bot-management/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/bot-management/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/browser-rendering/README.md delete mode 100644 dot_agents/skills/cloudflare/references/browser-rendering/api.md delete mode 100644 dot_agents/skills/cloudflare/references/browser-rendering/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/browser-rendering/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/browser-rendering/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/c3/README.md delete mode 100644 dot_agents/skills/cloudflare/references/c3/api.md delete mode 100644 dot_agents/skills/cloudflare/references/c3/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/c3/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/c3/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/cache-reserve/README.md delete mode 100644 dot_agents/skills/cloudflare/references/cache-reserve/api.md delete mode 100644 dot_agents/skills/cloudflare/references/cache-reserve/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/cache-reserve/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/cache-reserve/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/containers/README.md delete mode 100644 dot_agents/skills/cloudflare/references/containers/api.md delete mode 100644 dot_agents/skills/cloudflare/references/containers/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/containers/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/containers/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/cron-triggers/README.md delete mode 100644 dot_agents/skills/cloudflare/references/cron-triggers/api.md delete mode 100644 dot_agents/skills/cloudflare/references/cron-triggers/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/cron-triggers/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/cron-triggers/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/d1/README.md delete mode 100644 dot_agents/skills/cloudflare/references/d1/api.md delete mode 100644 dot_agents/skills/cloudflare/references/d1/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/d1/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/d1/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/ddos/README.md delete mode 100644 dot_agents/skills/cloudflare/references/ddos/api.md delete mode 100644 dot_agents/skills/cloudflare/references/ddos/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/ddos/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/ddos/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/do-storage/README.md delete mode 100644 dot_agents/skills/cloudflare/references/do-storage/api.md delete mode 100644 dot_agents/skills/cloudflare/references/do-storage/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/do-storage/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/do-storage/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/do-storage/testing.md delete mode 100644 dot_agents/skills/cloudflare/references/durable-objects/README.md delete mode 100644 dot_agents/skills/cloudflare/references/durable-objects/api.md delete mode 100644 dot_agents/skills/cloudflare/references/durable-objects/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/durable-objects/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/durable-objects/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/email-routing/README.md delete mode 100644 dot_agents/skills/cloudflare/references/email-routing/api.md delete mode 100644 dot_agents/skills/cloudflare/references/email-routing/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/email-routing/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/email-routing/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/email-workers/README.md delete mode 100644 dot_agents/skills/cloudflare/references/email-workers/api.md delete mode 100644 dot_agents/skills/cloudflare/references/email-workers/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/email-workers/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/email-workers/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/graphql-api/README.md delete mode 100644 dot_agents/skills/cloudflare/references/graphql-api/api.md delete mode 100644 dot_agents/skills/cloudflare/references/graphql-api/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/graphql-api/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/graphql-api/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/hyperdrive/README.md delete mode 100644 dot_agents/skills/cloudflare/references/hyperdrive/api.md delete mode 100644 dot_agents/skills/cloudflare/references/hyperdrive/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/hyperdrive/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/hyperdrive/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/images/README.md delete mode 100644 dot_agents/skills/cloudflare/references/images/api.md delete mode 100644 dot_agents/skills/cloudflare/references/images/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/images/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/images/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/kv/README.md delete mode 100644 dot_agents/skills/cloudflare/references/kv/api.md delete mode 100644 dot_agents/skills/cloudflare/references/kv/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/kv/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/kv/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/miniflare/README.md delete mode 100644 dot_agents/skills/cloudflare/references/miniflare/api.md delete mode 100644 dot_agents/skills/cloudflare/references/miniflare/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/miniflare/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/miniflare/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/network-interconnect/README.md delete mode 100644 dot_agents/skills/cloudflare/references/network-interconnect/api.md delete mode 100644 dot_agents/skills/cloudflare/references/network-interconnect/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/network-interconnect/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/network-interconnect/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/observability/README.md delete mode 100644 dot_agents/skills/cloudflare/references/observability/api.md delete mode 100644 dot_agents/skills/cloudflare/references/observability/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/observability/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/observability/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/pages-functions/README.md delete mode 100644 dot_agents/skills/cloudflare/references/pages-functions/api.md delete mode 100644 dot_agents/skills/cloudflare/references/pages-functions/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/pages-functions/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/pages-functions/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/pages/README.md delete mode 100644 dot_agents/skills/cloudflare/references/pages/api.md delete mode 100644 dot_agents/skills/cloudflare/references/pages/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/pages/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/pages/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/pipelines/README.md delete mode 100644 dot_agents/skills/cloudflare/references/pipelines/api.md delete mode 100644 dot_agents/skills/cloudflare/references/pipelines/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/pipelines/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/pipelines/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/pulumi/README.md delete mode 100644 dot_agents/skills/cloudflare/references/pulumi/api.md delete mode 100644 dot_agents/skills/cloudflare/references/pulumi/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/pulumi/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/pulumi/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/queues/README.md delete mode 100644 dot_agents/skills/cloudflare/references/queues/api.md delete mode 100644 dot_agents/skills/cloudflare/references/queues/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/queues/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/queues/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/r2-data-catalog/README.md delete mode 100644 dot_agents/skills/cloudflare/references/r2-data-catalog/api.md delete mode 100644 dot_agents/skills/cloudflare/references/r2-data-catalog/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/r2-data-catalog/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/r2-data-catalog/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/r2-sql/README.md delete mode 100644 dot_agents/skills/cloudflare/references/r2-sql/SKILL.md.backup delete mode 100644 dot_agents/skills/cloudflare/references/r2-sql/api.md delete mode 100644 dot_agents/skills/cloudflare/references/r2-sql/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/r2-sql/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/r2-sql/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/r2/README.md delete mode 100644 dot_agents/skills/cloudflare/references/r2/api.md delete mode 100644 dot_agents/skills/cloudflare/references/r2/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/r2/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/r2/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/realtime-sfu/README.md delete mode 100644 dot_agents/skills/cloudflare/references/realtime-sfu/api.md delete mode 100644 dot_agents/skills/cloudflare/references/realtime-sfu/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/realtime-sfu/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/realtime-sfu/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/realtimekit/README.md delete mode 100644 dot_agents/skills/cloudflare/references/realtimekit/api.md delete mode 100644 dot_agents/skills/cloudflare/references/realtimekit/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/realtimekit/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/realtimekit/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/sandbox/README.md delete mode 100644 dot_agents/skills/cloudflare/references/sandbox/api.md delete mode 100644 dot_agents/skills/cloudflare/references/sandbox/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/sandbox/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/sandbox/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/secrets-store/README.md delete mode 100644 dot_agents/skills/cloudflare/references/secrets-store/api.md delete mode 100644 dot_agents/skills/cloudflare/references/secrets-store/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/secrets-store/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/secrets-store/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/smart-placement/README.md delete mode 100644 dot_agents/skills/cloudflare/references/smart-placement/api.md delete mode 100644 dot_agents/skills/cloudflare/references/smart-placement/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/smart-placement/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/smart-placement/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/snippets/README.md delete mode 100644 dot_agents/skills/cloudflare/references/snippets/api.md delete mode 100644 dot_agents/skills/cloudflare/references/snippets/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/snippets/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/snippets/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/spectrum/README.md delete mode 100644 dot_agents/skills/cloudflare/references/spectrum/api.md delete mode 100644 dot_agents/skills/cloudflare/references/spectrum/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/spectrum/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/spectrum/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/static-assets/README.md delete mode 100644 dot_agents/skills/cloudflare/references/static-assets/api.md delete mode 100644 dot_agents/skills/cloudflare/references/static-assets/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/static-assets/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/static-assets/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/stream/README.md delete mode 100644 dot_agents/skills/cloudflare/references/stream/api-live.md delete mode 100644 dot_agents/skills/cloudflare/references/stream/api.md delete mode 100644 dot_agents/skills/cloudflare/references/stream/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/stream/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/stream/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/tail-workers/README.md delete mode 100644 dot_agents/skills/cloudflare/references/tail-workers/api.md delete mode 100644 dot_agents/skills/cloudflare/references/tail-workers/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/tail-workers/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/tail-workers/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/terraform/README.md delete mode 100644 dot_agents/skills/cloudflare/references/terraform/api.md delete mode 100644 dot_agents/skills/cloudflare/references/terraform/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/terraform/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/terraform/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/tunnel/README.md delete mode 100644 dot_agents/skills/cloudflare/references/tunnel/api.md delete mode 100644 dot_agents/skills/cloudflare/references/tunnel/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/tunnel/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/tunnel/networking.md delete mode 100644 dot_agents/skills/cloudflare/references/tunnel/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/turn/README.md delete mode 100644 dot_agents/skills/cloudflare/references/turn/api.md delete mode 100644 dot_agents/skills/cloudflare/references/turn/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/turn/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/turn/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/turnstile/README.md delete mode 100644 dot_agents/skills/cloudflare/references/turnstile/api.md delete mode 100644 dot_agents/skills/cloudflare/references/turnstile/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/turnstile/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/turnstile/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/vectorize/README.md delete mode 100644 dot_agents/skills/cloudflare/references/vectorize/api.md delete mode 100644 dot_agents/skills/cloudflare/references/vectorize/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/vectorize/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/vectorize/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/waf/README.md delete mode 100644 dot_agents/skills/cloudflare/references/waf/api.md delete mode 100644 dot_agents/skills/cloudflare/references/waf/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/waf/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/waf/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/web-analytics/README.md delete mode 100644 dot_agents/skills/cloudflare/references/web-analytics/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/web-analytics/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/web-analytics/integration.md delete mode 100644 dot_agents/skills/cloudflare/references/web-analytics/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/workerd/README.md delete mode 100644 dot_agents/skills/cloudflare/references/workerd/api.md delete mode 100644 dot_agents/skills/cloudflare/references/workerd/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/workerd/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/workerd/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-ai/README.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-ai/api.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-ai/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-ai/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-ai/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-for-platforms/README.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-for-platforms/api.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-for-platforms/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-for-platforms/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-for-platforms/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-playground/README.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-playground/api.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-playground/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-playground/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-playground/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-vpc/README.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-vpc/api.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-vpc/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-vpc/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/workers-vpc/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/workers/README.md delete mode 100644 dot_agents/skills/cloudflare/references/workers/api.md delete mode 100644 dot_agents/skills/cloudflare/references/workers/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/workers/frameworks.md delete mode 100644 dot_agents/skills/cloudflare/references/workers/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/workers/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/workflows/README.md delete mode 100644 dot_agents/skills/cloudflare/references/workflows/api.md delete mode 100644 dot_agents/skills/cloudflare/references/workflows/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/workflows/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/workflows/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/wrangler/README.md delete mode 100644 dot_agents/skills/cloudflare/references/wrangler/api.md delete mode 100644 dot_agents/skills/cloudflare/references/wrangler/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/wrangler/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/wrangler/patterns.md delete mode 100644 dot_agents/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md delete mode 100644 dot_agents/skills/cloudflare/references/zaraz/README.md delete mode 100644 dot_agents/skills/cloudflare/references/zaraz/api.md delete mode 100644 dot_agents/skills/cloudflare/references/zaraz/configuration.md delete mode 100644 dot_agents/skills/cloudflare/references/zaraz/gotchas.md delete mode 100644 dot_agents/skills/cloudflare/references/zaraz/patterns.md delete mode 100644 dot_agents/skills/codebase-design/DEEPENING.md delete mode 100644 dot_agents/skills/codebase-design/DESIGN-IT-TWICE.md delete mode 100644 dot_agents/skills/codebase-design/SKILL.md delete mode 100644 dot_agents/skills/core/SKILL.md delete mode 100644 dot_agents/skills/deepinit/SKILL.md delete mode 100644 dot_agents/skills/design-an-interface/SKILL.md delete mode 100644 dot_agents/skills/design-taste-frontend/SKILL.md delete mode 100644 dot_agents/skills/diagnosing-bugs/SKILL.md delete mode 100644 dot_agents/skills/diagnosing-bugs/scripts/hitl-loop.template.sh delete mode 100644 dot_agents/skills/domain-modeling/ADR-FORMAT.md delete mode 100644 dot_agents/skills/domain-modeling/CONTEXT-FORMAT.md delete mode 100644 dot_agents/skills/domain-modeling/SKILL.md delete mode 100644 dot_agents/skills/find-skills/SKILL.md delete mode 100644 dot_agents/skills/fumadocs-component-docs/SKILL.md delete mode 100644 dot_agents/skills/fumadocs-mdx-structure/SKILL.md delete mode 100644 dot_agents/skills/fumadocs-registry-integration/SKILL.md delete mode 100644 dot_agents/skills/git-guardrails-claude-code/SKILL.md delete mode 100644 dot_agents/skills/git-guardrails-claude-code/scripts/executable_block-dangerous-git.sh delete mode 100644 dot_agents/skills/golang-pro/SKILL.md delete mode 100644 dot_agents/skills/golang-pro/references/concurrency.md delete mode 100644 dot_agents/skills/golang-pro/references/generics.md delete mode 100644 dot_agents/skills/golang-pro/references/interfaces.md delete mode 100644 dot_agents/skills/golang-pro/references/project-structure.md delete mode 100644 dot_agents/skills/golang-pro/references/testing.md delete mode 100644 dot_agents/skills/gpt-taste/SKILL.md delete mode 100644 dot_agents/skills/grill-me/SKILL.md delete mode 100644 dot_agents/skills/grill-with-docs/SKILL.md delete mode 100644 dot_agents/skills/grilling/SKILL.md delete mode 100644 dot_agents/skills/handoff/SKILL.md delete mode 100644 dot_agents/skills/high-end-visual-design/SKILL.md delete mode 100644 dot_agents/skills/imagegen-frontend-web/SKILL.md delete mode 100644 dot_agents/skills/implement/SKILL.md delete mode 100644 dot_agents/skills/improve-codebase-architecture/HTML-REPORT.md delete mode 100644 dot_agents/skills/improve-codebase-architecture/SKILL.md delete mode 100644 dot_agents/skills/interface-design/SKILL.md delete mode 100644 dot_agents/skills/interface-design/references/critique.md delete mode 100644 dot_agents/skills/interface-design/references/example.md delete mode 100644 dot_agents/skills/interface-design/references/principles.md delete mode 100644 dot_agents/skills/interface-design/references/validation.md delete mode 100644 dot_agents/skills/laws-of-ux/SKILL.md delete mode 100644 dot_agents/skills/linear-cli/SKILL.md delete mode 100644 dot_agents/skills/linear-cli/SKILL.template.md delete mode 100644 dot_agents/skills/linear-cli/references/api.md delete mode 100644 dot_agents/skills/linear-cli/references/auth.md delete mode 100644 dot_agents/skills/linear-cli/references/commands.md delete mode 100644 dot_agents/skills/linear-cli/references/config.md delete mode 100644 dot_agents/skills/linear-cli/references/cycle.md delete mode 100644 dot_agents/skills/linear-cli/references/document.md delete mode 100644 dot_agents/skills/linear-cli/references/initiative-update.md delete mode 100644 dot_agents/skills/linear-cli/references/initiative.md delete mode 100644 dot_agents/skills/linear-cli/references/issue.md delete mode 100644 dot_agents/skills/linear-cli/references/label.md delete mode 100644 dot_agents/skills/linear-cli/references/milestone.md delete mode 100644 dot_agents/skills/linear-cli/references/organization-features.md delete mode 100644 dot_agents/skills/linear-cli/references/project-update.md delete mode 100644 dot_agents/skills/linear-cli/references/project.md delete mode 100644 dot_agents/skills/linear-cli/references/schema.md delete mode 100644 dot_agents/skills/linear-cli/references/team.md delete mode 100644 dot_agents/skills/linear-cli/scripts/generate-docs.ts delete mode 100644 dot_agents/skills/linear-documents/SKILL.md delete mode 100644 dot_agents/skills/linear/LICENSE.txt delete mode 100644 dot_agents/skills/linear/SKILL.md delete mode 100644 dot_agents/skills/linear/agents/openai.yaml delete mode 100644 dot_agents/skills/linear/assets/linear-small.svg delete mode 100644 dot_agents/skills/linear/assets/linear.png delete mode 100644 dot_agents/skills/loop-me/SKILL.md delete mode 100644 dot_agents/skills/loopy/SKILL.md delete mode 100644 dot_agents/skills/loopy/agents/openai.yaml delete mode 100644 dot_agents/skills/loopy/references/audit.md delete mode 100644 dot_agents/skills/loopy/references/debrief.md delete mode 100644 dot_agents/skills/loopy/references/discover.md delete mode 100644 dot_agents/skills/loopy/references/publish.md delete mode 100644 dot_agents/skills/loopy/references/run.md delete mode 100644 dot_agents/skills/migrate-to-shoehorn/SKILL.md delete mode 100644 dot_agents/skills/minimalist-ui/SKILL.md delete mode 100644 dot_agents/skills/mintlify-api/SKILL.md delete mode 100644 dot_agents/skills/mintlify-docs/SKILL.md delete mode 100644 dot_agents/skills/mintlify/SKILL.md delete mode 100644 dot_agents/skills/native-sdk/SKILL.md delete mode 100644 dot_agents/skills/obsidian-vault/SKILL.md delete mode 100644 dot_agents/skills/openlogs-server-logs/SKILL.md delete mode 100644 dot_agents/skills/openlogs-server-logs/agents/openai.yaml delete mode 100644 dot_agents/skills/prototype/LOGIC.md delete mode 100644 dot_agents/skills/prototype/SKILL.md delete mode 100644 dot_agents/skills/prototype/UI.md delete mode 100644 dot_agents/skills/qa/SKILL.md delete mode 100644 dot_agents/skills/react/SKILL.md delete mode 100644 dot_agents/skills/redesign-existing-projects/SKILL.md delete mode 100644 dot_agents/skills/remix/SKILL.md delete mode 100644 dot_agents/skills/remix/references/animate-elements.md delete mode 100644 dot_agents/skills/remix/references/assets-and-browser-modules.md delete mode 100644 dot_agents/skills/remix/references/auth-and-sessions.md delete mode 100644 dot_agents/skills/remix/references/component-model.md delete mode 100644 dot_agents/skills/remix/references/create-mixins.md delete mode 100644 dot_agents/skills/remix/references/data-and-validation.md delete mode 100644 dot_agents/skills/remix/references/hydration-frames-navigation.md delete mode 100644 dot_agents/skills/remix/references/middleware-and-server.md delete mode 100644 dot_agents/skills/remix/references/mixins-styling-events.md delete mode 100644 dot_agents/skills/remix/references/routing-and-controllers.md delete mode 100644 dot_agents/skills/remix/references/testing-patterns.md delete mode 100644 dot_agents/skills/request-refactor-plan/SKILL.md delete mode 100644 dot_agents/skills/resolving-merge-conflicts/SKILL.md delete mode 100644 dot_agents/skills/rust-async-patterns/SKILL.md delete mode 100644 dot_agents/skills/rust-async-patterns/references/details.md delete mode 100644 dot_agents/skills/rust-best-practices/SKILL.md delete mode 100644 dot_agents/skills/rust-best-practices/references/chapter_01.md delete mode 100644 dot_agents/skills/rust-best-practices/references/chapter_02.md delete mode 100644 dot_agents/skills/rust-best-practices/references/chapter_03.md delete mode 100644 dot_agents/skills/rust-best-practices/references/chapter_04.md delete mode 100644 dot_agents/skills/rust-best-practices/references/chapter_05.md delete mode 100644 dot_agents/skills/rust-best-practices/references/chapter_06.md delete mode 100644 dot_agents/skills/rust-best-practices/references/chapter_07.md delete mode 100644 dot_agents/skills/rust-best-practices/references/chapter_08.md delete mode 100644 dot_agents/skills/rust-best-practices/references/chapter_09.md delete mode 100644 dot_agents/skills/rust-testing/SKILL.md delete mode 100644 dot_agents/skills/scaffold-exercises/SKILL.md delete mode 100644 dot_agents/skills/setup-matt-pocock-skills/SKILL.md delete mode 100644 dot_agents/skills/setup-matt-pocock-skills/domain.md delete mode 100644 dot_agents/skills/setup-matt-pocock-skills/issue-tracker-github.md delete mode 100644 dot_agents/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md delete mode 100644 dot_agents/skills/setup-matt-pocock-skills/issue-tracker-local.md delete mode 100644 dot_agents/skills/setup-matt-pocock-skills/triage-labels.md delete mode 100644 dot_agents/skills/setup-pre-commit/SKILL.md delete mode 100644 dot_agents/skills/shadcn/SKILL.md delete mode 100644 dot_agents/skills/shadcn/agents/openai.yml delete mode 100644 dot_agents/skills/shadcn/assets/shadcn-small.png delete mode 100644 dot_agents/skills/shadcn/assets/shadcn.png delete mode 100644 dot_agents/skills/shadcn/cli.md delete mode 100644 dot_agents/skills/shadcn/customization.md delete mode 100644 dot_agents/skills/shadcn/evals/evals.json delete mode 100644 dot_agents/skills/shadcn/mcp.md delete mode 100644 dot_agents/skills/shadcn/registry.md delete mode 100644 dot_agents/skills/shadcn/rules/base-vs-radix.md delete mode 100644 dot_agents/skills/shadcn/rules/chat.md delete mode 100644 dot_agents/skills/shadcn/rules/composition.md delete mode 100644 dot_agents/skills/shadcn/rules/forms.md delete mode 100644 dot_agents/skills/shadcn/rules/icons.md delete mode 100644 dot_agents/skills/shadcn/rules/styling.md delete mode 100644 dot_agents/skills/solidity-foundry-development/SKILL.md delete mode 100644 dot_agents/skills/solidity-foundry-development/references/foundry-cheatsheet.md delete mode 100644 dot_agents/skills/solidity-security/SKILL.md delete mode 100644 dot_agents/skills/solidity-security/references/details.md delete mode 100644 dot_agents/skills/stop-slop/CHANGELOG.md delete mode 100644 dot_agents/skills/stop-slop/LICENSE delete mode 100644 dot_agents/skills/stop-slop/README.md delete mode 100644 dot_agents/skills/stop-slop/SKILL.md delete mode 100644 dot_agents/skills/stop-slop/references/examples.md delete mode 100644 dot_agents/skills/stop-slop/references/phrases.md delete mode 100644 dot_agents/skills/stop-slop/references/structures.md delete mode 100644 dot_agents/skills/tanstack-form/SKILL.md delete mode 100644 dot_agents/skills/tanstack-integration-best-practices/SKILL.md delete mode 100644 dot_agents/skills/tanstack-integration-best-practices/rules/cache-single-source.md delete mode 100644 dot_agents/skills/tanstack-integration-best-practices/rules/flow-loader-query-pattern.md delete mode 100644 dot_agents/skills/tanstack-integration-best-practices/rules/setup-query-client-context.md delete mode 100644 dot_agents/skills/tanstack-integration-best-practices/rules/ssr-dehydrate-hydrate.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/SKILL.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/cache-gc-time.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/cache-invalidation.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/cache-placeholder-vs-initial.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/cache-stale-time.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/err-error-boundaries.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/inf-page-params.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/mut-invalidate-queries.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/mut-mutation-state.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/mut-optimistic-updates.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/network-mode.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/parallel-use-queries.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/perf-select-transform.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/persist-queries.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/pf-intent-prefetch.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/qk-array-structure.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/qk-factory-pattern.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/qk-hierarchical-organization.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/qk-include-dependencies.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/qk-serializable.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/query-cancellation.md delete mode 100644 dot_agents/skills/tanstack-query-best-practices/rules/ssr-dehydration.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/SKILL.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/ctx-root-context.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/err-not-found.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/load-ensure-query-data.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/load-parallel.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/load-use-loaders.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/nav-link-component.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/nav-route-masks.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/org-virtual-routes.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/preload-intent.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/router-default-options.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/search-custom-serializer.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/search-validation.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/split-lazy-routes.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/ts-register-router.md delete mode 100644 dot_agents/skills/tanstack-router-best-practices/rules/ts-use-from-param.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/SKILL.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/rules/api-routes.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/rules/auth-route-protection.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/rules/auth-session-management.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/rules/deploy-adapters.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/rules/env-functions.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/rules/err-server-errors.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/rules/file-separation.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/rules/mw-request-middleware.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/rules/sf-create-server-fn.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/rules/sf-input-validation.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/rules/ssr-hydration-safety.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/rules/ssr-prerender.md delete mode 100644 dot_agents/skills/tanstack-start-best-practices/rules/ssr-streaming.md delete mode 100644 dot_agents/skills/tanstack-table/SKILL.md delete mode 100644 dot_agents/skills/tdd/SKILL.md delete mode 100644 dot_agents/skills/tdd/mocking.md delete mode 100644 dot_agents/skills/tdd/tests.md delete mode 100644 dot_agents/skills/teach/GLOSSARY-FORMAT.md delete mode 100644 dot_agents/skills/teach/LEARNING-RECORD-FORMAT.md delete mode 100644 dot_agents/skills/teach/MISSION-FORMAT.md delete mode 100644 dot_agents/skills/teach/RESOURCES-FORMAT.md delete mode 100644 dot_agents/skills/teach/SKILL.md delete mode 100644 dot_agents/skills/todoist-cli/SKILL.md delete mode 100644 dot_agents/skills/triage/AGENT-BRIEF.md delete mode 100644 dot_agents/skills/triage/OUT-OF-SCOPE.md delete mode 100644 dot_agents/skills/triage/SKILL.md delete mode 100644 dot_agents/skills/typescript-expert/SKILL.md delete mode 100644 dot_agents/skills/typescript-expert/agents/openai.yaml delete mode 100644 dot_agents/skills/ubiquitous-language/SKILL.md delete mode 100644 dot_agents/skills/ui-ux-pro-max/SKILL.md delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/_sync_all.py delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/app-interface.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/charts.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/colors.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/design.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/draft.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/google-fonts.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/icons.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/landing.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/products.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/react-performance.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/stacks/react-native.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/styles.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/typography.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/ui-reasoning.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/data/ux-guidelines.csv delete mode 100644 dot_agents/skills/ui-ux-pro-max/scripts/core.py delete mode 100644 dot_agents/skills/ui-ux-pro-max/scripts/design_system.py delete mode 100644 dot_agents/skills/ui-ux-pro-max/scripts/search.py delete mode 100644 dot_agents/skills/uv-package-manager/SKILL.md delete mode 100644 dot_agents/skills/uv-package-manager/references/advanced-patterns.md delete mode 100644 dot_agents/skills/web-design-guidelines/SKILL.md delete mode 100644 dot_agents/skills/workers-best-practices/SKILL.md delete mode 100644 dot_agents/skills/workers-best-practices/references/review.md delete mode 100644 dot_agents/skills/workers-best-practices/references/rules.md delete mode 100644 dot_agents/skills/wrangler/SKILL.md delete mode 100644 dot_agents/skills/write-tests/SKILL.md delete mode 100644 dot_agents/skills/write-tests/agents/openai.yaml delete mode 100644 dot_agents/skills/writing-beats/SKILL.md delete mode 100644 dot_agents/skills/writing-fragments/SKILL.md delete mode 100644 dot_agents/skills/writing-great-skills/GLOSSARY.md delete mode 100644 dot_agents/skills/writing-great-skills/SKILL.md delete mode 100644 dot_agents/skills/writing-shape/SKILL.md delete mode 100644 dot_claude/skills/absurd/SKILL.md delete mode 100644 dot_claude/skills/agents-sdk/SKILL.md delete mode 100644 dot_claude/skills/agents-sdk/references/browse-the-web.md delete mode 100644 dot_claude/skills/agents-sdk/references/callable.md delete mode 100644 dot_claude/skills/agents-sdk/references/client-sdk.md delete mode 100644 dot_claude/skills/agents-sdk/references/codemode.md delete mode 100644 dot_claude/skills/agents-sdk/references/configuration.md delete mode 100644 dot_claude/skills/agents-sdk/references/durable-execution.md delete mode 100644 dot_claude/skills/agents-sdk/references/email.md delete mode 100644 dot_claude/skills/agents-sdk/references/human-in-the-loop.md delete mode 100644 dot_claude/skills/agents-sdk/references/mcp.md delete mode 100644 dot_claude/skills/agents-sdk/references/observability.md delete mode 100644 dot_claude/skills/agents-sdk/references/queue-retries.md delete mode 100644 dot_claude/skills/agents-sdk/references/routing.md delete mode 100644 dot_claude/skills/agents-sdk/references/server-driven-messages.md delete mode 100644 dot_claude/skills/agents-sdk/references/state-scheduling.md delete mode 100644 dot_claude/skills/agents-sdk/references/streaming-chat.md delete mode 100644 dot_claude/skills/agents-sdk/references/think.md delete mode 100644 dot_claude/skills/agents-sdk/references/voice.md delete mode 100644 dot_claude/skills/agents-sdk/references/webhooks-push.md delete mode 100644 dot_claude/skills/agents-sdk/references/workflows.md delete mode 100644 dot_claude/skills/cloudflare-email-service/SKILL.md delete mode 100644 dot_claude/skills/cloudflare-email-service/references/cli-and-mcp.md delete mode 100644 dot_claude/skills/cloudflare-email-service/references/deliverability.md delete mode 100644 dot_claude/skills/cloudflare-email-service/references/rest-api.md delete mode 100644 dot_claude/skills/cloudflare-email-service/references/routing.md delete mode 100644 dot_claude/skills/cloudflare-email-service/references/sending.md delete mode 100644 dot_claude/skills/cloudflare-one-migrations/SKILL.md delete mode 100644 dot_claude/skills/cloudflare-one/SKILL.md delete mode 100644 dot_claude/skills/cloudflare/SKILL.md delete mode 100644 dot_claude/skills/cloudflare/references/agents-sdk/README.md delete mode 100644 dot_claude/skills/cloudflare/references/agents-sdk/api.md delete mode 100644 dot_claude/skills/cloudflare/references/agents-sdk/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/agents-sdk/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/agents-sdk/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/ai-gateway/README.md delete mode 100644 dot_claude/skills/cloudflare/references/ai-gateway/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/ai-gateway/dynamic-routing.md delete mode 100644 dot_claude/skills/cloudflare/references/ai-gateway/features.md delete mode 100644 dot_claude/skills/cloudflare/references/ai-gateway/sdk-integration.md delete mode 100644 dot_claude/skills/cloudflare/references/ai-gateway/troubleshooting.md delete mode 100644 dot_claude/skills/cloudflare/references/ai-search/README.md delete mode 100644 dot_claude/skills/cloudflare/references/ai-search/api.md delete mode 100644 dot_claude/skills/cloudflare/references/ai-search/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/ai-search/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/ai-search/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/analytics-engine/README.md delete mode 100644 dot_claude/skills/cloudflare/references/analytics-engine/api.md delete mode 100644 dot_claude/skills/cloudflare/references/analytics-engine/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/analytics-engine/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/analytics-engine/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/api-shield/README.md delete mode 100644 dot_claude/skills/cloudflare/references/api-shield/api.md delete mode 100644 dot_claude/skills/cloudflare/references/api-shield/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/api-shield/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/api-shield/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/api/README.md delete mode 100644 dot_claude/skills/cloudflare/references/api/api.md delete mode 100644 dot_claude/skills/cloudflare/references/api/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/api/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/api/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/argo-smart-routing/README.md delete mode 100644 dot_claude/skills/cloudflare/references/argo-smart-routing/api.md delete mode 100644 dot_claude/skills/cloudflare/references/argo-smart-routing/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/argo-smart-routing/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/argo-smart-routing/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/artifacts/README.md delete mode 100644 dot_claude/skills/cloudflare/references/artifacts/api.md delete mode 100644 dot_claude/skills/cloudflare/references/artifacts/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/bindings/README.md delete mode 100644 dot_claude/skills/cloudflare/references/bindings/api.md delete mode 100644 dot_claude/skills/cloudflare/references/bindings/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/bindings/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/bindings/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/bot-management/README.md delete mode 100644 dot_claude/skills/cloudflare/references/bot-management/api.md delete mode 100644 dot_claude/skills/cloudflare/references/bot-management/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/bot-management/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/bot-management/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/browser-rendering/README.md delete mode 100644 dot_claude/skills/cloudflare/references/browser-rendering/api.md delete mode 100644 dot_claude/skills/cloudflare/references/browser-rendering/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/browser-rendering/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/browser-rendering/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/c3/README.md delete mode 100644 dot_claude/skills/cloudflare/references/c3/api.md delete mode 100644 dot_claude/skills/cloudflare/references/c3/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/c3/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/c3/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/cache-reserve/README.md delete mode 100644 dot_claude/skills/cloudflare/references/cache-reserve/api.md delete mode 100644 dot_claude/skills/cloudflare/references/cache-reserve/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/cache-reserve/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/cache-reserve/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/containers/README.md delete mode 100644 dot_claude/skills/cloudflare/references/containers/api.md delete mode 100644 dot_claude/skills/cloudflare/references/containers/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/containers/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/containers/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/cron-triggers/README.md delete mode 100644 dot_claude/skills/cloudflare/references/cron-triggers/api.md delete mode 100644 dot_claude/skills/cloudflare/references/cron-triggers/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/cron-triggers/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/cron-triggers/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/d1/README.md delete mode 100644 dot_claude/skills/cloudflare/references/d1/api.md delete mode 100644 dot_claude/skills/cloudflare/references/d1/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/d1/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/d1/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/ddos/README.md delete mode 100644 dot_claude/skills/cloudflare/references/ddos/api.md delete mode 100644 dot_claude/skills/cloudflare/references/ddos/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/ddos/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/ddos/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/do-storage/README.md delete mode 100644 dot_claude/skills/cloudflare/references/do-storage/api.md delete mode 100644 dot_claude/skills/cloudflare/references/do-storage/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/do-storage/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/do-storage/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/do-storage/testing.md delete mode 100644 dot_claude/skills/cloudflare/references/durable-objects/README.md delete mode 100644 dot_claude/skills/cloudflare/references/durable-objects/api.md delete mode 100644 dot_claude/skills/cloudflare/references/durable-objects/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/durable-objects/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/durable-objects/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/email-routing/README.md delete mode 100644 dot_claude/skills/cloudflare/references/email-routing/api.md delete mode 100644 dot_claude/skills/cloudflare/references/email-routing/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/email-routing/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/email-routing/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/email-workers/README.md delete mode 100644 dot_claude/skills/cloudflare/references/email-workers/api.md delete mode 100644 dot_claude/skills/cloudflare/references/email-workers/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/email-workers/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/email-workers/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/flagship/README.md delete mode 100644 dot_claude/skills/cloudflare/references/flagship/api.md delete mode 100644 dot_claude/skills/cloudflare/references/flagship/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/flagship/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/flagship/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/graphql-api/README.md delete mode 100644 dot_claude/skills/cloudflare/references/graphql-api/api.md delete mode 100644 dot_claude/skills/cloudflare/references/graphql-api/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/graphql-api/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/graphql-api/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/hyperdrive/README.md delete mode 100644 dot_claude/skills/cloudflare/references/hyperdrive/api.md delete mode 100644 dot_claude/skills/cloudflare/references/hyperdrive/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/hyperdrive/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/hyperdrive/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/images/README.md delete mode 100644 dot_claude/skills/cloudflare/references/images/api.md delete mode 100644 dot_claude/skills/cloudflare/references/images/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/images/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/images/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/kv/README.md delete mode 100644 dot_claude/skills/cloudflare/references/kv/api.md delete mode 100644 dot_claude/skills/cloudflare/references/kv/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/kv/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/kv/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/miniflare/README.md delete mode 100644 dot_claude/skills/cloudflare/references/miniflare/api.md delete mode 100644 dot_claude/skills/cloudflare/references/miniflare/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/miniflare/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/miniflare/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/network-interconnect/README.md delete mode 100644 dot_claude/skills/cloudflare/references/network-interconnect/api.md delete mode 100644 dot_claude/skills/cloudflare/references/network-interconnect/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/network-interconnect/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/network-interconnect/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/observability/README.md delete mode 100644 dot_claude/skills/cloudflare/references/observability/api.md delete mode 100644 dot_claude/skills/cloudflare/references/observability/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/observability/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/observability/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/pages-functions/README.md delete mode 100644 dot_claude/skills/cloudflare/references/pages-functions/api.md delete mode 100644 dot_claude/skills/cloudflare/references/pages-functions/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/pages-functions/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/pages-functions/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/pages/README.md delete mode 100644 dot_claude/skills/cloudflare/references/pages/api.md delete mode 100644 dot_claude/skills/cloudflare/references/pages/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/pages/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/pages/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/pipelines/README.md delete mode 100644 dot_claude/skills/cloudflare/references/pipelines/api.md delete mode 100644 dot_claude/skills/cloudflare/references/pipelines/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/pipelines/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/pipelines/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/pulumi/README.md delete mode 100644 dot_claude/skills/cloudflare/references/pulumi/api.md delete mode 100644 dot_claude/skills/cloudflare/references/pulumi/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/pulumi/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/pulumi/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/queues/README.md delete mode 100644 dot_claude/skills/cloudflare/references/queues/api.md delete mode 100644 dot_claude/skills/cloudflare/references/queues/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/queues/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/queues/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/r2-data-catalog/README.md delete mode 100644 dot_claude/skills/cloudflare/references/r2-data-catalog/api.md delete mode 100644 dot_claude/skills/cloudflare/references/r2-data-catalog/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/r2-data-catalog/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/r2-data-catalog/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/r2-sql/README.md delete mode 100644 dot_claude/skills/cloudflare/references/r2-sql/api.md delete mode 100644 dot_claude/skills/cloudflare/references/r2-sql/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/r2-sql/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/r2-sql/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/r2/README.md delete mode 100644 dot_claude/skills/cloudflare/references/r2/api.md delete mode 100644 dot_claude/skills/cloudflare/references/r2/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/r2/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/r2/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/realtime-sfu/README.md delete mode 100644 dot_claude/skills/cloudflare/references/realtime-sfu/api.md delete mode 100644 dot_claude/skills/cloudflare/references/realtime-sfu/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/realtime-sfu/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/realtime-sfu/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/realtimekit/README.md delete mode 100644 dot_claude/skills/cloudflare/references/realtimekit/api.md delete mode 100644 dot_claude/skills/cloudflare/references/realtimekit/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/realtimekit/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/realtimekit/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/sandbox/README.md delete mode 100644 dot_claude/skills/cloudflare/references/sandbox/api.md delete mode 100644 dot_claude/skills/cloudflare/references/sandbox/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/sandbox/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/sandbox/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/secrets-store/README.md delete mode 100644 dot_claude/skills/cloudflare/references/secrets-store/api.md delete mode 100644 dot_claude/skills/cloudflare/references/secrets-store/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/secrets-store/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/secrets-store/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/smart-placement/README.md delete mode 100644 dot_claude/skills/cloudflare/references/smart-placement/api.md delete mode 100644 dot_claude/skills/cloudflare/references/smart-placement/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/smart-placement/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/smart-placement/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/snippets/README.md delete mode 100644 dot_claude/skills/cloudflare/references/snippets/api.md delete mode 100644 dot_claude/skills/cloudflare/references/snippets/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/snippets/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/snippets/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/spectrum/README.md delete mode 100644 dot_claude/skills/cloudflare/references/spectrum/api.md delete mode 100644 dot_claude/skills/cloudflare/references/spectrum/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/spectrum/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/spectrum/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/static-assets/README.md delete mode 100644 dot_claude/skills/cloudflare/references/static-assets/api.md delete mode 100644 dot_claude/skills/cloudflare/references/static-assets/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/static-assets/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/static-assets/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/stream/README.md delete mode 100644 dot_claude/skills/cloudflare/references/stream/api-live.md delete mode 100644 dot_claude/skills/cloudflare/references/stream/api.md delete mode 100644 dot_claude/skills/cloudflare/references/stream/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/stream/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/stream/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/tail-workers/README.md delete mode 100644 dot_claude/skills/cloudflare/references/tail-workers/api.md delete mode 100644 dot_claude/skills/cloudflare/references/tail-workers/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/tail-workers/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/tail-workers/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/terraform/README.md delete mode 100644 dot_claude/skills/cloudflare/references/terraform/api.md delete mode 100644 dot_claude/skills/cloudflare/references/terraform/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/terraform/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/terraform/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/tunnel/README.md delete mode 100644 dot_claude/skills/cloudflare/references/tunnel/api.md delete mode 100644 dot_claude/skills/cloudflare/references/tunnel/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/tunnel/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/tunnel/networking.md delete mode 100644 dot_claude/skills/cloudflare/references/tunnel/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/turn/README.md delete mode 100644 dot_claude/skills/cloudflare/references/turn/api.md delete mode 100644 dot_claude/skills/cloudflare/references/turn/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/turn/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/turn/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/turnstile/README.md delete mode 100644 dot_claude/skills/cloudflare/references/turnstile/api.md delete mode 100644 dot_claude/skills/cloudflare/references/turnstile/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/turnstile/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/turnstile/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/vectorize/README.md delete mode 100644 dot_claude/skills/cloudflare/references/vectorize/api.md delete mode 100644 dot_claude/skills/cloudflare/references/vectorize/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/vectorize/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/vectorize/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/waf/README.md delete mode 100644 dot_claude/skills/cloudflare/references/waf/api.md delete mode 100644 dot_claude/skills/cloudflare/references/waf/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/waf/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/waf/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/web-analytics/README.md delete mode 100644 dot_claude/skills/cloudflare/references/web-analytics/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/web-analytics/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/web-analytics/integration.md delete mode 100644 dot_claude/skills/cloudflare/references/web-analytics/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/workerd/README.md delete mode 100644 dot_claude/skills/cloudflare/references/workerd/api.md delete mode 100644 dot_claude/skills/cloudflare/references/workerd/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/workerd/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/workerd/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-ai/README.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-ai/api.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-ai/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-ai/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-ai/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-for-platforms/README.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-for-platforms/api.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-for-platforms/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-for-platforms/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-for-platforms/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-playground/README.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-playground/api.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-playground/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-playground/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-playground/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-vpc/README.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-vpc/api.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-vpc/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-vpc/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/workers-vpc/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/workers/README.md delete mode 100644 dot_claude/skills/cloudflare/references/workers/api.md delete mode 100644 dot_claude/skills/cloudflare/references/workers/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/workers/frameworks.md delete mode 100644 dot_claude/skills/cloudflare/references/workers/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/workers/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/workflows/README.md delete mode 100644 dot_claude/skills/cloudflare/references/workflows/api.md delete mode 100644 dot_claude/skills/cloudflare/references/workflows/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/workflows/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/workflows/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/wrangler/README.md delete mode 100644 dot_claude/skills/cloudflare/references/wrangler/api.md delete mode 100644 dot_claude/skills/cloudflare/references/wrangler/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/wrangler/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/wrangler/patterns.md delete mode 100644 dot_claude/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md delete mode 100644 dot_claude/skills/cloudflare/references/zaraz/README.md delete mode 100644 dot_claude/skills/cloudflare/references/zaraz/api.md delete mode 100644 dot_claude/skills/cloudflare/references/zaraz/configuration.md delete mode 100644 dot_claude/skills/cloudflare/references/zaraz/gotchas.md delete mode 100644 dot_claude/skills/cloudflare/references/zaraz/patterns.md delete mode 100644 dot_claude/skills/create-beads-orchestration/SKILL.md delete mode 100644 dot_claude/skills/durable-objects/SKILL.md delete mode 100644 dot_claude/skills/durable-objects/references/rules.md delete mode 100644 dot_claude/skills/durable-objects/references/testing.md delete mode 100644 dot_claude/skills/durable-objects/references/workers.md delete mode 100644 dot_claude/skills/sandbox-sdk/SKILL.md delete mode 100644 dot_claude/skills/sandbox-sdk/references/api-quick-ref.md delete mode 100644 dot_claude/skills/sandbox-sdk/references/examples.md delete mode 100644 dot_claude/skills/symlink_blume delete mode 100644 dot_claude/skills/symlink_blume-migrate delete mode 100644 dot_claude/skills/symlink_blume-update-docs delete mode 100644 dot_claude/skills/symlink_brandkit delete mode 100644 dot_claude/skills/symlink_bun-development delete mode 100644 dot_claude/skills/symlink_codebase-design delete mode 100644 dot_claude/skills/symlink_core delete mode 100644 dot_claude/skills/symlink_deepinit delete mode 100644 dot_claude/skills/symlink_design-an-interface delete mode 100644 dot_claude/skills/symlink_design-taste-frontend delete mode 100644 dot_claude/skills/symlink_diagnosing-bugs delete mode 100644 dot_claude/skills/symlink_domain-modeling delete mode 100644 dot_claude/skills/symlink_find-skills delete mode 100644 dot_claude/skills/symlink_git-guardrails-claude-code delete mode 100644 dot_claude/skills/symlink_golang-pro delete mode 100644 dot_claude/skills/symlink_gpt-taste delete mode 100644 dot_claude/skills/symlink_grill-me delete mode 100644 dot_claude/skills/symlink_grill-with-docs delete mode 100644 dot_claude/skills/symlink_grilling delete mode 100644 dot_claude/skills/symlink_handoff delete mode 100644 dot_claude/skills/symlink_high-end-visual-design delete mode 100644 dot_claude/skills/symlink_imagegen-frontend-web delete mode 100644 dot_claude/skills/symlink_implement delete mode 100644 dot_claude/skills/symlink_improve-codebase-architecture delete mode 100644 dot_claude/skills/symlink_linear delete mode 100644 dot_claude/skills/symlink_linear-cli delete mode 100644 dot_claude/skills/symlink_linear-documents delete mode 100644 dot_claude/skills/symlink_loop-me delete mode 100644 dot_claude/skills/symlink_loopy delete mode 100644 dot_claude/skills/symlink_migrate-to-shoehorn delete mode 100644 dot_claude/skills/symlink_minimalist-ui delete mode 100644 dot_claude/skills/symlink_mintlify delete mode 100644 dot_claude/skills/symlink_mintlify-api delete mode 100644 dot_claude/skills/symlink_mintlify-docs delete mode 100644 dot_claude/skills/symlink_native-sdk delete mode 100644 dot_claude/skills/symlink_obsidian-vault delete mode 100644 dot_claude/skills/symlink_openlogs-server-logs delete mode 100644 dot_claude/skills/symlink_prototype delete mode 100644 dot_claude/skills/symlink_qa delete mode 100644 dot_claude/skills/symlink_react delete mode 100644 dot_claude/skills/symlink_redesign-existing-projects delete mode 100644 dot_claude/skills/symlink_remix delete mode 100644 dot_claude/skills/symlink_request-refactor-plan delete mode 100644 dot_claude/skills/symlink_resolving-merge-conflicts delete mode 100644 dot_claude/skills/symlink_rust-async-patterns delete mode 100644 dot_claude/skills/symlink_rust-best-practices delete mode 100644 dot_claude/skills/symlink_rust-testing delete mode 100644 dot_claude/skills/symlink_scaffold-exercises delete mode 100644 dot_claude/skills/symlink_setup-matt-pocock-skills delete mode 100644 dot_claude/skills/symlink_setup-pre-commit delete mode 100644 dot_claude/skills/symlink_shadcn delete mode 100644 dot_claude/skills/symlink_solidity-foundry-development delete mode 100644 dot_claude/skills/symlink_solidity-security delete mode 100644 dot_claude/skills/symlink_stop-slop delete mode 100644 dot_claude/skills/symlink_tanstack-start-best-practices delete mode 100644 dot_claude/skills/symlink_tdd delete mode 100644 dot_claude/skills/symlink_teach delete mode 100644 dot_claude/skills/symlink_triage delete mode 100644 dot_claude/skills/symlink_typescript-expert delete mode 100644 dot_claude/skills/symlink_ubiquitous-language delete mode 100644 dot_claude/skills/symlink_uv-package-manager delete mode 100644 dot_claude/skills/symlink_wrangler delete mode 100644 dot_claude/skills/symlink_write-tests delete mode 100644 dot_claude/skills/symlink_writing-beats delete mode 100644 dot_claude/skills/symlink_writing-fragments delete mode 100644 dot_claude/skills/symlink_writing-great-skills delete mode 100644 dot_claude/skills/symlink_writing-shape delete mode 100644 dot_claude/skills/todoist-cli/SKILL.md delete mode 100644 dot_claude/skills/turnstile-spin/README.md delete mode 100644 dot_claude/skills/turnstile-spin/SKILL.md delete mode 100644 dot_claude/skills/turnstile-spin/references/astro.md delete mode 100644 dot_claude/skills/turnstile-spin/references/hugo.md delete mode 100644 dot_claude/skills/turnstile-spin/references/nextjs-app.md delete mode 100644 dot_claude/skills/turnstile-spin/references/nextjs-pages.md delete mode 100644 dot_claude/skills/turnstile-spin/references/sveltekit.md delete mode 100644 dot_claude/skills/turnstile-spin/references/vanilla-html.md delete mode 100644 dot_claude/skills/turnstile-spin/scripts/executable_auth-probe.sh delete mode 100644 dot_claude/skills/turnstile-spin/scripts/executable_fetch-secret.sh delete mode 100644 dot_claude/skills/turnstile-spin/scripts/executable_persist-skill.sh delete mode 100644 dot_claude/skills/turnstile-spin/scripts/executable_validate.sh delete mode 100644 dot_claude/skills/turnstile-spin/scripts/executable_widget-create.sh delete mode 100644 dot_claude/skills/turnstile-spin/scripts/executable_worker-deploy.sh delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/LICENSE delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/README.md delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/dot_gitignore delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/package.json delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/public/post-deploy.html delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/src/errors.ts delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/src/index.ts delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/src/observability.ts delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/src/types.ts delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/src/validate.ts delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/test/deploy.test.ts delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/test/integration.test.ts delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/test/unit.test.ts delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/test/validation.test.ts delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/tsconfig.json delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/vitest.config.ts delete mode 100644 dot_claude/skills/turnstile-spin/templates/worker/wrangler.toml delete mode 100644 dot_claude/skills/turnstile-spin/tests/validation.md delete mode 100644 dot_claude/skills/web-perf/SKILL.md delete mode 100644 dot_claude/skills/workers-best-practices/SKILL.md delete mode 100644 dot_claude/skills/workers-best-practices/references/review.md delete mode 100644 dot_claude/skills/workers-best-practices/references/rules.md diff --git a/dot_agents/dot_skill-lock.json b/dot_agents/dot_skill-lock.json deleted file mode 100644 index f4d8231..0000000 --- a/dot_agents/dot_skill-lock.json +++ /dev/null @@ -1,725 +0,0 @@ -{ - "version": 3, - "skills": { - "Technical Writer": { - "source": "daffy0208/ai-dev-standards", - "sourceType": "github", - "sourceUrl": "https://github.com/daffy0208/ai-dev-standards.git", - "skillPath": "skills/technical-writer/SKILL.md", - "skillFolderHash": "0491075584fae0727df54f24e0e5cb6344b165bf", - "installedAt": "2026-03-06T23:21:33.091Z", - "updatedAt": "2026-03-06T23:21:33.091Z" - }, - "blume": { - "source": "haydenbleasel/blume", - "sourceType": "github", - "sourceUrl": "https://github.com/haydenbleasel/blume.git", - "skillPath": "skills/blume/SKILL.md", - "skillFolderHash": "73868524ef612c0d3dc0b3b12acf50de17042ff1", - "installedAt": "2026-07-14T15:07:06.129Z", - "updatedAt": "2026-08-11T19:45:26.058Z" - }, - "blume-migrate": { - "source": "haydenbleasel/blume", - "sourceType": "github", - "sourceUrl": "https://github.com/haydenbleasel/blume.git", - "skillPath": "skills/blume-migrate/SKILL.md", - "skillFolderHash": "5de96dc489ba973cfce99ab4e6e7bd9bf8b6f3a3", - "installedAt": "2026-07-21T17:52:06.811Z", - "updatedAt": "2026-08-19T20:08:03.736Z" - }, - "blume-update-docs": { - "source": "haydenbleasel/blume", - "sourceType": "github", - "sourceUrl": "https://github.com/haydenbleasel/blume.git", - "skillPath": "skills/blume-update-docs/SKILL.md", - "skillFolderHash": "cd89e3a3cecd361d1cf4debab3c1cd403b0833ed", - "installedAt": "2026-07-14T15:07:06.131Z", - "updatedAt": "2026-07-21T17:52:06.814Z" - }, - "brandkit": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "sourceUrl": "https://github.com/Leonxlnx/taste-skill.git", - "skillPath": "skills/brandkit/SKILL.md", - "skillFolderHash": "d278ff748cafab01e4ae5dd7758fc0b53258621c", - "installedAt": "2026-05-26T16:59:11.015Z", - "updatedAt": "2026-05-26T16:59:11.015Z" - }, - "bun-development": { - "source": "sickn33/antigravity-awesome-skills", - "sourceType": "github", - "sourceUrl": "https://github.com/sickn33/antigravity-awesome-skills.git", - "skillPath": "skills/bun-development/SKILL.md", - "skillFolderHash": "309d79a55351d0cf21b64cd908be064ab5df497d", - "installedAt": "2026-03-08T01:09:35.482Z", - "updatedAt": "2026-07-05T21:43:22.418Z" - }, - "codebase-design": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/engineering/codebase-design/SKILL.md", - "skillFolderHash": "344e3efc88ee60663b2e989555c2efdb548fbd42", - "installedAt": "2026-06-27T19:37:25.602Z", - "updatedAt": "2026-08-19T20:07:47.794Z" - }, - "codegen": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/codegen/SKILL.md", - "skillFolderHash": "5bd34abdd5045973433399f14e96559dce28c0b4", - "installedAt": "2026-03-13T21:58:28.992Z", - "updatedAt": "2026-03-13T21:58:28.992Z" - }, - "core": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/core/SKILL.md", - "skillFolderHash": "94a02b9d10597fdd9d6694d59f7817ec5de75e03", - "installedAt": "2026-03-13T21:55:31.291Z", - "updatedAt": "2026-08-14T01:06:47.152Z" - }, - "deepinit": { - "source": "yeachan-heo/oh-my-claudecode", - "sourceType": "github", - "sourceUrl": "https://github.com/yeachan-heo/oh-my-claudecode.git", - "skillPath": "skills/deepinit/SKILL.md", - "skillFolderHash": "5839f9be75783f998424c936ce3b62d5a443718f", - "installedAt": "2026-06-30T14:03:37.084Z", - "updatedAt": "2026-06-30T14:03:37.084Z" - }, - "design-taste-frontend": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "sourceUrl": "https://github.com/Leonxlnx/taste-skill.git", - "skillPath": "skills/taste-skill/SKILL.md", - "skillFolderHash": "a6d128e53b4ec0238baee751dde33bf707adb5ec", - "installedAt": "2026-05-26T16:59:11.011Z", - "updatedAt": "2026-05-28T16:55:47.754Z" - }, - "diagnosing-bugs": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/engineering/diagnosing-bugs/SKILL.md", - "skillFolderHash": "99bd56983e42bc752c52da67f1112e4121781cd1", - "installedAt": "2026-06-27T19:37:25.603Z", - "updatedAt": "2026-08-19T20:07:48.691Z" - }, - "domain-modeling": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/engineering/domain-modeling/SKILL.md", - "skillFolderHash": "388c9822641805ca2dcd5038e68a1d5282437ee5", - "installedAt": "2026-06-27T19:37:25.604Z", - "updatedAt": "2026-08-19T20:07:49.670Z" - }, - "ethereum-wingman": { - "source": "austintgriffith/ethereum-wingman", - "sourceType": "github", - "sourceUrl": "https://github.com/austintgriffith/ethereum-wingman.git", - "skillPath": "skills/ethereum-wingman/SKILL.md", - "skillFolderHash": "87c6e8d93ea71cf608ef13b3c27fae6f2b5466a4", - "installedAt": "2026-03-06T23:19:25.834Z", - "updatedAt": "2026-03-06T23:19:25.834Z" - }, - "find-skills": { - "source": "vercel-labs/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/skills.git", - "skillPath": "skills/find-skills/SKILL.md", - "skillFolderHash": "76a98a285cb0434f3d39e1a873823556330e398b", - "installedAt": "2026-03-06T23:16:26.850Z", - "updatedAt": "2026-07-11T22:58:43.931Z" - }, - "gh-stack": { - "source": "github/gh-stack", - "sourceType": "github", - "sourceUrl": "https://github.com/github/gh-stack.git", - "skillPath": "skills/gh-stack/SKILL.md", - "skillFolderHash": "c95c8b5b4dd850f3fef007b304428f5684f2fb87", - "installedAt": "2026-08-21T19:42:49Z", - "updatedAt": "2026-08-21T19:43:10Z" - }, - "git-guardrails-claude-code": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/misc/git-guardrails-claude-code/SKILL.md", - "skillFolderHash": "ceed97af09633b300826d0ca0b1464c527ec9a35", - "installedAt": "2026-06-27T19:37:25.609Z", - "updatedAt": "2026-08-19T20:07:51.378Z" - }, - "golang-pro": { - "source": "jeffallan/claude-skills", - "sourceType": "github", - "sourceUrl": "https://github.com/jeffallan/claude-skills.git", - "skillPath": "skills/golang-pro/SKILL.md", - "skillFolderHash": "e347d9842958ce46d5f0644ef6009304d648a964", - "installedAt": "2026-03-06T23:21:16.634Z", - "updatedAt": "2026-05-14T13:17:56.339Z" - }, - "gpt-taste": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "sourceUrl": "https://github.com/Leonxlnx/taste-skill.git", - "skillPath": "skills/gpt-tasteskill/SKILL.md", - "skillFolderHash": "c87d529ad945cd35985b19475bf53f41682d4f69", - "installedAt": "2026-05-26T16:59:11.012Z", - "updatedAt": "2026-05-26T16:59:11.012Z" - }, - "grill-me": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/productivity/grill-me/SKILL.md", - "skillFolderHash": "3df14e2d3a89459bf300614be9247e3ce74798f8", - "installedAt": "2026-05-11T17:38:14.403Z", - "updatedAt": "2026-08-16T19:29:30.954Z" - }, - "grill-with-docs": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/engineering/grill-with-docs/SKILL.md", - "skillFolderHash": "eedaf2562c83155115e9c649fa3ecaac2e10e81d", - "installedAt": "2026-05-11T17:38:14.403Z", - "updatedAt": "2026-08-16T19:29:31.536Z" - }, - "grilling": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/productivity/grilling/SKILL.md", - "skillFolderHash": "0d40d978f1a588971a11ea7ae85b208e78102dc3", - "installedAt": "2026-06-27T19:37:25.605Z", - "updatedAt": "2026-08-16T19:29:34.786Z" - }, - "handoff": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/productivity/handoff/SKILL.md", - "skillFolderHash": "2242e8f05424b8c2ae94194a90d97b88d16108ec", - "installedAt": "2026-05-11T17:38:14.404Z", - "updatedAt": "2026-08-16T19:29:31.964Z" - }, - "high-end-visual-design": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "sourceUrl": "https://github.com/Leonxlnx/taste-skill.git", - "skillPath": "skills/soft-skill/SKILL.md", - "skillFolderHash": "1b5943432ddd1b980206968c529a323cc992dbec", - "installedAt": "2026-05-26T16:59:11.014Z", - "updatedAt": "2026-05-26T16:59:11.014Z" - }, - "image": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/image/SKILL.md", - "skillFolderHash": "f697c8a50da72a9ca2f1cc37c74f87a7a90b6722", - "installedAt": "2026-03-13T21:56:14.738Z", - "updatedAt": "2026-03-13T21:56:14.738Z" - }, - "imagegen-frontend-web": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "sourceUrl": "https://github.com/Leonxlnx/taste-skill.git", - "skillPath": "skills/imagegen-frontend-web/SKILL.md", - "skillFolderHash": "3b5117d349200e33f9c3399344681620079dcc18", - "installedAt": "2026-05-26T16:59:11.014Z", - "updatedAt": "2026-05-26T16:59:11.014Z" - }, - "implement": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/engineering/implement/SKILL.md", - "skillFolderHash": "f07d230f645fc9ac390cf13a450bbff12ad791a3", - "installedAt": "2026-06-27T19:37:25.609Z", - "updatedAt": "2026-08-11T19:45:10.783Z" - }, - "improve-codebase-architecture": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/engineering/improve-codebase-architecture/SKILL.md", - "skillFolderHash": "3d35cd438f4067b03c8b3792e038960e4ac11526", - "installedAt": "2026-05-11T17:38:14.404Z", - "updatedAt": "2026-08-19T20:07:44.416Z" - }, - "jotai": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/jotai/SKILL.md", - "skillFolderHash": "60b5a6ebcc751d25bae4faa2c9be7f36085cb65f", - "installedAt": "2026-03-13T21:58:50.970Z", - "updatedAt": "2026-03-13T21:58:50.970Z" - }, - "linear": { - "source": "openai/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/openai/skills.git", - "skillPath": "skills/.curated/linear/SKILL.md", - "skillFolderHash": "31c1648f2d1a4d05d32eab4bdfb2ed89a5541e06", - "installedAt": "2026-06-23T19:50:00.950Z", - "updatedAt": "2026-06-23T19:50:00.950Z" - }, - "linear-cli": { - "source": "schpet/linear-cli", - "sourceType": "github", - "sourceUrl": "https://github.com/schpet/linear-cli.git", - "skillPath": "skills/linear-cli/SKILL.md", - "skillFolderHash": "b5d3090b32462e87f79dc1544c6d2822f0f7f635", - "installedAt": "2026-06-23T19:51:54.496Z", - "updatedAt": "2026-08-14T01:06:58.207Z" - }, - "linear-documents": { - "source": "finesssee/linear-cli", - "sourceType": "github", - "sourceUrl": "https://github.com/finesssee/linear-cli.git", - "skillPath": "skills/linear-documents/SKILL.md", - "skillFolderHash": "4c306d0268f42978363078262380fd63912a7493", - "installedAt": "2026-06-23T19:53:25.148Z", - "updatedAt": "2026-06-23T19:53:25.148Z" - }, - "loop-me": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/in-progress/loop-me/SKILL.md", - "skillFolderHash": "a0dfdc3562686d920900973b50289b36e2f7eafe", - "installedAt": "2026-06-27T19:37:25.609Z", - "updatedAt": "2026-08-19T20:07:52.335Z" - }, - "loopy": { - "source": "Forward-Future/loop-library", - "sourceType": "github", - "sourceUrl": "https://github.com/Forward-Future/loop-library.git", - "skillPath": "skills/loopy/SKILL.md", - "skillFolderHash": "29f8d21b72ea1326ceac048b362ff344ecb5fcab", - "installedAt": "2026-06-29T15:24:59.672Z", - "updatedAt": "2026-07-05T21:43:28.623Z" - }, - "mcp": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/mcp/SKILL.md", - "skillFolderHash": "eb7a93c6df1ecf6997c3fe6ea2c92847cfbe3114", - "installedAt": "2026-03-13T21:58:34.168Z", - "updatedAt": "2026-03-13T21:58:34.168Z" - }, - "migrate-to-shoehorn": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/misc/migrate-to-shoehorn/SKILL.md", - "skillFolderHash": "0aea91a3599a4bf7aeec17e3262d4cbcfcbeec23", - "installedAt": "2026-06-27T19:37:25.609Z", - "updatedAt": "2026-08-11T19:45:12.483Z" - }, - "minimalist-ui": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "sourceUrl": "https://github.com/Leonxlnx/taste-skill.git", - "skillPath": "skills/minimalist-skill/SKILL.md", - "skillFolderHash": "5509c012862cda27e2ed7efae89ed940ecc53add", - "installedAt": "2026-05-26T16:59:11.015Z", - "updatedAt": "2026-05-26T16:59:11.015Z" - }, - "mintlify": { - "source": "mintlify.com", - "sourceType": "well-known", - "sourceUrl": "https://mintlify.com/docs/.well-known/agent-skills/mintlify/skill.md", - "skillFolderHash": "", - "installedAt": "2026-03-06T23:16:24.133Z", - "updatedAt": "2026-07-09T16:33:01.435Z" - }, - "mintlify-api": { - "source": "mintlify.com", - "sourceType": "well-known", - "sourceUrl": "https://mintlify.com/docs/.well-known/agent-skills/mintlify-api/skill.md", - "skillFolderHash": "", - "installedAt": "2026-07-09T16:33:01.435Z", - "updatedAt": "2026-07-09T16:33:01.435Z" - }, - "mintlify-docs": { - "source": "mintlify.com", - "sourceType": "well-known", - "sourceUrl": "https://mintlify.com/docs/.well-known/agent-skills/mintlify-docs/skill.md", - "skillFolderHash": "", - "installedAt": "2026-07-09T16:33:01.437Z", - "updatedAt": "2026-07-09T16:33:01.437Z" - }, - "native-sdk": { - "source": "vercel-labs/native", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/native.git", - "skillPath": "skills/native-sdk/SKILL.md", - "skillFolderHash": "621c3893fe0e8abcd32b94f9b36a601d0c29e06c", - "installedAt": "2026-07-09T15:09:31.311Z", - "updatedAt": "2026-08-19T20:08:02.210Z" - }, - "openlogs-server-logs": { - "source": "charlietlamb/openlogs", - "sourceType": "github", - "sourceUrl": "https://github.com/charlietlamb/openlogs.git", - "skillPath": "skills/openlogs-server-logs/SKILL.md", - "skillFolderHash": "42fb220fe9596d6a30679940ecdf44082a166954", - "installedAt": "2026-06-10T21:12:16.667Z", - "updatedAt": "2026-06-10T21:12:16.667Z" - }, - "prototype": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/engineering/prototype/SKILL.md", - "skillFolderHash": "e41d92e171f074a2b6887d8f6faca4a15c83d1ca", - "installedAt": "2026-05-11T17:38:14.405Z", - "updatedAt": "2026-08-19T20:07:45.327Z" - }, - "react": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/react/SKILL.md", - "skillFolderHash": "9c588f4ee3abe16fc959c4ddea65f43c786edc2c", - "installedAt": "2026-03-13T21:55:40.915Z", - "updatedAt": "2026-08-15T20:19:34.630Z" - }, - "react-email": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/react-email/SKILL.md", - "skillFolderHash": "94dc1f8669455c8554a26248b3460df3e28880ba", - "installedAt": "2026-03-13T21:55:57.139Z", - "updatedAt": "2026-08-14T01:06:49.199Z" - }, - "react-native": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/react-native/SKILL.md", - "skillFolderHash": "2e187eff964dccca88132448205e8fb92e511d34", - "installedAt": "2026-03-13T21:56:04.694Z", - "updatedAt": "2026-08-14T01:06:50.614Z" - }, - "react-pdf": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/react-pdf/SKILL.md", - "skillFolderHash": "733951c7f376c13560bf518bd38b45bf2bf1a143", - "installedAt": "2026-03-13T21:55:50.545Z", - "updatedAt": "2026-08-14T01:06:48.535Z" - }, - "redesign-existing-projects": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "sourceUrl": "https://github.com/Leonxlnx/taste-skill.git", - "skillPath": "skills/redesign-skill/SKILL.md", - "skillFolderHash": "d9cffe56d26d4af7687299e391a7be1cfaf46c1b", - "installedAt": "2026-05-26T16:59:11.015Z", - "updatedAt": "2026-05-26T16:59:11.015Z" - }, - "redux": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/redux/SKILL.md", - "skillFolderHash": "b67e39ae74ba8c338657fe420b95c60a06cf6270", - "installedAt": "2026-03-13T21:58:39.965Z", - "updatedAt": "2026-03-13T21:58:39.965Z" - }, - "remix": { - "source": "remix-run/remix", - "sourceType": "github", - "sourceUrl": "https://github.com/remix-run/remix.git", - "skillPath": ".agents/skills/remix/SKILL.md", - "skillFolderHash": "a4d5d8d8f74e4e67d44e5d9b90011ebc5f4bc1ac", - "installedAt": "2026-05-23T19:11:24.642Z", - "updatedAt": "2026-08-19T20:08:01.258Z" - }, - "remotion": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/remotion/SKILL.md", - "skillFolderHash": "a1a047a21d40a39e8b13853a326fb1e53b967706", - "installedAt": "2026-03-13T21:58:08.516Z", - "updatedAt": "2026-03-13T21:58:08.516Z" - }, - "resolving-merge-conflicts": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/engineering/resolving-merge-conflicts/SKILL.md", - "skillFolderHash": "77f0d7de3143abbf03e55a63522d30bff31ae908", - "installedAt": "2026-06-27T19:37:25.610Z", - "updatedAt": "2026-08-19T20:07:53.041Z" - }, - "rust-async-patterns": { - "source": "wshobson/agents", - "sourceType": "github", - "sourceUrl": "https://github.com/wshobson/agents.git", - "skillPath": "plugins/systems-programming/skills/rust-async-patterns/SKILL.md", - "skillFolderHash": "3624037dbe3d96e2e55ecb6988afeaffbbb9ad1b", - "installedAt": "2026-07-21T18:52:26.413Z", - "updatedAt": "2026-07-21T18:52:26.413Z" - }, - "rust-best-practices": { - "source": "apollographql/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/apollographql/skills.git", - "skillPath": "skills/rust-best-practices/SKILL.md", - "skillFolderHash": "6ef87177d5674b39adc1e58a46149299feefe43a", - "installedAt": "2026-07-21T18:52:13.087Z", - "updatedAt": "2026-08-11T19:45:28.604Z" - }, - "rust-testing": { - "source": "affaan-m/everything-claude-code", - "sourceType": "github", - "sourceUrl": "https://github.com/affaan-m/everything-claude-code.git", - "skillPath": "skills/rust-testing/SKILL.md", - "skillFolderHash": "168d8a24ffec489070a6da1bf8af19716ba356bc", - "installedAt": "2026-07-21T18:52:43.658Z", - "updatedAt": "2026-08-14T01:07:02.190Z" - }, - "scaffold-exercises": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/misc/scaffold-exercises/SKILL.md", - "skillFolderHash": "44a0ee332b9d67ebbd59389c7eb4e5aff1ce845c", - "installedAt": "2026-06-27T19:37:25.611Z", - "updatedAt": "2026-08-11T19:45:13.864Z" - }, - "setup-matt-pocock-skills": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/engineering/setup-matt-pocock-skills/SKILL.md", - "skillFolderHash": "ec07f82df54064d01aa1648670e81da41e2cbdc2", - "installedAt": "2026-05-11T17:38:14.405Z", - "updatedAt": "2026-08-19T20:07:45.909Z" - }, - "setup-pre-commit": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/misc/setup-pre-commit/SKILL.md", - "skillFolderHash": "5b63f9f665bacc9be04cae51982e9ef1469d6699", - "installedAt": "2026-06-27T19:37:25.611Z", - "updatedAt": "2026-08-19T20:07:54.015Z" - }, - "shadcn": { - "source": "shadcn-ui/ui", - "sourceType": "github", - "sourceUrl": "https://github.com/shadcn-ui/ui.git", - "skillPath": "skills/shadcn/SKILL.md", - "skillFolderHash": "0a31c3c2535a62b22bf23a1b10a142178a6b7dbf", - "installedAt": "2026-03-13T21:56:09.517Z", - "updatedAt": "2026-08-13T19:15:34.070Z" - }, - "solid": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/solid/SKILL.md", - "skillFolderHash": "f5b705d36ebc070267690034cc0a574624a35cb5", - "installedAt": "2026-03-13T21:58:23.919Z", - "updatedAt": "2026-08-14T01:06:53.499Z" - }, - "solidity-foundry-development": { - "source": "whackur/solidity-agent-toolkit", - "sourceType": "github", - "sourceUrl": "https://github.com/whackur/solidity-agent-toolkit.git", - "skillPath": "skills/solidity-foundry-development/SKILL.md", - "skillFolderHash": "195d13ac69743f20cd1b845d9f6715263626116e", - "installedAt": "2026-03-06T23:20:07.263Z", - "updatedAt": "2026-06-28T19:36:33.256Z" - }, - "solidity-security": { - "source": "wshobson/agents", - "sourceType": "github", - "sourceUrl": "https://github.com/wshobson/agents.git", - "skillPath": "plugins/blockchain-web3/skills/solidity-security/SKILL.md", - "skillFolderHash": "04eced95a2501b780e71b1157b928de1ad34c538", - "installedAt": "2026-03-06T23:19:43.396Z", - "updatedAt": "2026-05-28T16:55:40.447Z" - }, - "stop-slop": { - "source": "hardikpandya/stop-slop", - "sourceType": "github", - "sourceUrl": "https://github.com/hardikpandya/stop-slop.git", - "skillPath": "SKILL.md", - "skillFolderHash": "8da1f030185bdfe8471220585162991eaeb970e9", - "installedAt": "2026-05-26T16:59:31.618Z", - "updatedAt": "2026-05-26T16:59:31.618Z" - }, - "svelte": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/svelte/SKILL.md", - "skillFolderHash": "e7b8b3eaee7bab2d291a9801530a9fa9b0e0cf10", - "installedAt": "2026-03-13T21:58:19.264Z", - "updatedAt": "2026-08-14T01:06:52.655Z" - }, - "tanstack-query-best-practices": { - "source": "deckardger/tanstack-agent-skills", - "sourceType": "github", - "sourceUrl": "https://github.com/deckardger/tanstack-agent-skills.git", - "skillPath": "skills/tanstack-query/SKILL.md", - "skillFolderHash": "b73085898a2015a0f33c98aef0f3f2ff4ee9454f", - "installedAt": "2026-03-06T23:18:29.570Z", - "updatedAt": "2026-03-06T23:18:29.570Z" - }, - "tanstack-start-best-practices": { - "source": "deckardger/tanstack-agent-skills", - "sourceType": "github", - "sourceUrl": "https://github.com/deckardger/tanstack-agent-skills.git", - "skillPath": "skills/tanstack-start/SKILL.md", - "skillFolderHash": "f51cf71300531adc6e9af58e2a3a578be8a58aea", - "installedAt": "2026-03-06T23:18:14.260Z", - "updatedAt": "2026-05-14T13:17:52.807Z" - }, - "tdd": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/engineering/tdd/SKILL.md", - "skillFolderHash": "79288be15c67b849f22b6572056601090fd20913", - "installedAt": "2026-05-11T17:38:14.405Z", - "updatedAt": "2026-08-19T20:07:46.470Z" - }, - "teach": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/productivity/teach/SKILL.md", - "skillFolderHash": "2ab11f2f51f3c29771edb5d4258d807a49462491", - "installedAt": "2026-06-27T19:37:25.607Z", - "updatedAt": "2026-08-19T20:07:50.585Z" - }, - "triage": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/engineering/triage/SKILL.md", - "skillFolderHash": "95fa21bf236993cd9af25bd3670476c17fdb95a4", - "installedAt": "2026-05-11T17:38:14.406Z", - "updatedAt": "2026-08-19T20:07:47.172Z" - }, - "typescript-expert": { - "source": "remix-run/remix", - "sourceType": "github", - "sourceUrl": "https://github.com/remix-run/remix.git", - "skillPath": ".agents/skills/typescript-expert/SKILL.md", - "skillFolderHash": "e6926fb96faf26e3c46900aab1135b202436719e", - "installedAt": "2026-05-23T19:11:24.644Z", - "updatedAt": "2026-05-23T19:11:24.644Z" - }, - "uv-package-manager": { - "source": "wshobson/agents", - "sourceType": "github", - "sourceUrl": "https://github.com/wshobson/agents.git", - "skillPath": "plugins/python-development/skills/uv-package-manager/SKILL.md", - "skillFolderHash": "f80b5182adb7bec902841316352bb9e1b8871fbf", - "installedAt": "2026-03-08T01:09:07.357Z", - "updatedAt": "2026-05-14T13:17:57.333Z" - }, - "vue": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/vue/SKILL.md", - "skillFolderHash": "fd64dd02c9a2e3df5c1f4cbb1731f68a694a5880", - "installedAt": "2026-03-13T21:58:14.274Z", - "updatedAt": "2026-08-19T20:07:43.586Z" - }, - "web-design-guidelines": { - "source": "vercel-labs/agent-skills", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/agent-skills.git", - "skillPath": "skills/web-design-guidelines/SKILL.md", - "skillFolderHash": "3116f3e62dbd02b44a598b1aa690d2a8938e8f89", - "installedAt": "2026-03-06T23:17:28.357Z", - "updatedAt": "2026-03-06T23:17:28.357Z" - }, - "wrangler": { - "source": "cloudflare/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/cloudflare/skills.git", - "skillPath": "skills/wrangler/SKILL.md", - "skillFolderHash": "45cc198b2aad3f06e8abf91333f55fbe7579f659", - "installedAt": "2026-03-06T23:17:51.886Z", - "updatedAt": "2026-08-13T19:08:49.917Z" - }, - "write-tests": { - "source": "remix-run/remix", - "sourceType": "github", - "sourceUrl": "https://github.com/remix-run/remix.git", - "skillPath": ".agents/skills/write-tests/SKILL.md", - "skillFolderHash": "6f3a8ac6ea9aedc477afa96c7756af769e1eb805", - "installedAt": "2026-05-23T19:11:24.644Z", - "updatedAt": "2026-08-11T19:45:22.732Z" - }, - "writing-beats": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/in-progress/writing-beats/SKILL.md", - "skillFolderHash": "3a28fb076fdaaec0927080718abb98fc0f340011", - "installedAt": "2026-06-27T19:37:25.612Z", - "updatedAt": "2026-08-19T20:07:55.088Z" - }, - "writing-fragments": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/in-progress/writing-fragments/SKILL.md", - "skillFolderHash": "98e500e0097ec80f52f6a024c5a2ff6d15235bdb", - "installedAt": "2026-06-27T19:37:25.612Z", - "updatedAt": "2026-08-19T20:07:55.806Z" - }, - "writing-shape": { - "source": "mattpocock/skills", - "sourceType": "github", - "sourceUrl": "https://github.com/mattpocock/skills.git", - "skillPath": "skills/in-progress/writing-shape/SKILL.md", - "skillFolderHash": "ac92229646fccf7315ae139c37b479b3790617f2", - "installedAt": "2026-06-27T19:37:25.613Z", - "updatedAt": "2026-08-19T20:07:56.556Z" - }, - "xstate": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/xstate/SKILL.md", - "skillFolderHash": "58cc03a9b085c2ec82fdffdfb388893b7d59fa19", - "installedAt": "2026-03-13T21:58:59.740Z", - "updatedAt": "2026-03-13T21:58:59.740Z" - }, - "zustand": { - "source": "vercel-labs/json-render", - "sourceType": "github", - "sourceUrl": "https://github.com/vercel-labs/json-render.git", - "skillPath": "skills/zustand/SKILL.md", - "skillFolderHash": "4315759f61175e4b75c45bab1e72caccbd440c42", - "installedAt": "2026-03-13T21:58:45.208Z", - "updatedAt": "2026-03-13T21:58:45.208Z" - } - }, - "dismissed": { - "findSkillsPrompt": true - } -} \ No newline at end of file diff --git a/dot_agents/skills/blume-migrate/SKILL.md b/dot_agents/skills/blume-migrate/SKILL.md deleted file mode 100644 index 4d80542..0000000 --- a/dot_agents/skills/blume-migrate/SKILL.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -name: blume-migrate -description: Migrate an existing documentation site (Mintlify, Docusaurus, Fumadocs, Nextra, Starlight, or any docs framework) to Blume, the markdown-first docs framework on Astro. Translate the source config to blume.config.ts, restructure content into Blume's filesystem-derived navigation, rewrite JSX callouts to directives, convert icons to Lucide, and inline snippets. Use when the user asks to migrate/convert/port a docs repo to Blume, or when the repo has a docs.json/mint.json, docusaurus.config.*, meta.json with fumadocs, _meta.* with nextra, or an astro.config.* with starlight(). ---- - -# Migrate to Blume - -Blume is a **markdown-first** documentation framework on Astro/Vite. You drop Markdown/MDX into a folder and get navigation, search, theming, Open Graph images, and a component library with no app boilerplate — **the framework is the template**. There is no starter to clone; the only thing a project owns is its content and a `blume.config.ts`. - -Your job is to convert a source docs repo into an **idiomatic** Blume project — not a 1:1 transliteration. Read this file, detect the source framework, open the matching `references/.md` for the exact mappings, and work the loop below. Report everything you drop or approximate. - -Throughout this skill (including the `references/` files), **`` means the absolute path of the directory containing this SKILL.md** — resolve it from wherever you read this file (e.g. `node_modules/blume/skills/blume-migrate` or `.claude/skills/blume-migrate`). It is a placeholder to substitute, never a literal path. - -## Migration philosophy - -- **Target idiomatic Blume, not a mechanical port.** Prefer filesystem-derived navigation over an exhaustive explicit `navigation.sidebar`. Prefer `:::` directives over JSX callouts. Prefer Blume defaults over restating them in config. -- **Every field has a default; `{}` is a valid config.** Map only what the source _declares_. If the source uses a framework default, don't write it. -- **Drop chrome that has no Blume equivalent — and say so.** Navbar CTAs, footer columns, custom theming, dynamic redirects, and unmappable icons get reported to the user, not silently discarded or faked. -- **Convert, don't preserve.** Blume's page frontmatter schema is **strict** — unknown keys are build errors. A source-only frontmatter key must be mapped to a Blume key or removed (and reported), never left to "maybe validate." - -## Migration workflow - -1. **Detect the source framework** and read its reference file: - - `docs.json` / `mint.json` → **Mintlify** (`references/mintlify.md`) — the deepest, config-declared nav. - - `docusaurus.config.*` → **Docusaurus** (`references/docusaurus.md`). - - `meta.json` + `fumadocs-*` deps (content under `content/docs/`) → **Fumadocs** (`references/fumadocs.md`). - - `_meta.{js,ts,json}` + `nextra` deps → **Nextra** (`references/nextra.md`). - - `astro.config.*` calling `starlight({…})` → **Starlight** (`references/starlight.md`). - - Anything else → apply this file's mental model directly; there's no framework-specific reference, so inventory by hand. - - **Also note the host repo, independent of source framework:** a pnpm/Turbo workspace, a non-`docs/` content layout, or a Vercel deploy each need integration steps (`content.root` scoping, `minimumReleaseAge`, lockfile, `vercel.json`, an Astro/Vite patch) — all in `references/monorepo.md`. Read it whenever the target isn't a bare single-package docs folder. -2. **Inventory the repo** before changing anything: the config file(s), the content tree, the nav definition, snippets/partials/includes, static assets, OpenAPI/AsyncAPI specs, redirects, i18n locales, custom components, and icon usage. Note what's declared vs. defaulted. -3. **Write `blume.config.ts`** with `defineConfig` from `blume`. Map only declared fields (see the reference's mapping table); rely on defaults everywhere else. A minimal result is `defineConfig({ title: "…" })`. -4. **Restructure content.** Choose `content.root` (default `docs`) — **detect where `.md`/`.mdx` actually live, don't assume a `docs/` folder.** Many repos keep content directly under an app dir (`apps/docs/api/`, `.../getting-started/`) with no `docs/` subfolder; when so, set `content.root` to that dir and scope `content.include` to the real content folders rather than leaving a bare `content.root: "."` that scans everything (see `references/monorepo.md` §1). Order with numeric prefixes (`01-intro.mdx`), group without a URL segment via `(group)/` folders, and add a `meta.ts` (`defineMeta`) only where filesystem order isn't enough. **A source that already declares per-folder navigation in a sidecar file — Fumadocs `meta.json`, Nextra `_meta.*` — _is_ that case: convert each one to a `meta.ts`, carrying over its title/icon/order/collapse, rather than dropping it and hoping filenames reproduce the intent. Filesystem inference is the fallback for folders that declare no per-folder nav, never a reason to discard one that does.** Reach for an explicit `navigation.sidebar` only when the source nav genuinely can't be expressed by files. **Reshaping into folder-per-tab moves URLs** — track every old→new path as you go; you'll turn them into `redirects` in step 5. -5. **Rewrite pages.** Map frontmatter to Blume's strict schema; convert callout JSX to `:::` directives — **directives (and math/mermaid/package-install fences) are MDX-only, so rename any `.md` page that needs them to `.mdx`**; rename components; inline snippets/partials (Blume has no import-based includes); fix asset paths; **rewrite internal links** to their new routes (including OpenAPI operation links — see the OpenAPI section, their slugs differ from most sources); **add a `redirects` entry for every route you moved** in step 4; **convert every icon name to Lucide** (Blume is Lucide-only — no FontAwesome/Tabler). Remove any duplicated H1 in the body (`title` renders the H1; bodies start at `##`). **If the source has a hand-maintained changelog and the repo is open source on GitHub, offer to swap it for the `github-releases` source** (see "Changelogs" below) rather than porting the entries. For **Mintlify**, run the bundled codemod first — `node /scripts/mintlify-codemod.mjs --write ` deterministically remaps icons and drops/renames unsupported frontmatter keys, and reports the rest (unknown icons, OpenAPI-stub flags) for you to finish by hand (see `references/mintlify.md`). -6. **Adopt `package.json`.** Repoint `dev`/`build`/`start` → `blume dev`/`blume build`/`blume preview`, remove the old framework's deps, add `blume`. A config-only source (e.g. a bare Mintlify `docs.json`) has no manifest — scaffold one. **In a pnpm workspace:** if `pnpm-workspace.yaml`/`.npmrc` sets `minimumReleaseAge`, add **only** `blume` to `minimumReleaseAgeExclude` (don't disable the guard) so the just-published version installs. **Always regenerate the lockfile in the same change:** after editing deps run a plain `pnpm install` (from the workspace root) and commit `pnpm-lock.yaml` alongside `package.json` — CI/Vercel use `--frozen-lockfile`, so a stale lockfile fails the build before it starts. **If the repo uses (or the user wants) [Ultracite](https://www.ultracite.ai) for formatting:** its oxfmt formatter mangles the `:::` directives you just wrote unless you ship the bundled `assets/oxfmt@0.55.0.patch` and register it under `patchedDependencies` — see `references/monorepo.md` §6. See `references/monorepo.md` §2–3. -7. **Wire up the host repo & deploy (non-trivial repos).** For a monorepo on Vercel, emit the root-aware install/build recipe and `apps/docs/vercel.json`, and tell the user the two settings you can't commit (Vercel Root Directory, Node 22). If the workspace pins Vite and `blume build` crashes inside Astro/Vite, apply the pnpm-patch workaround. All copy-pasteable in `references/monorepo.md` §4–5. -8. **Verify.** Run `blume build --strict` (frontmatter schema, duplicate routes, config — **without `--strict` a build exits 0 despite content errors**, silently dropping invalid pages) and `blume validate --strict` (internal links, heading anchors, assets — the link checker lives in `validate`, not `build`), fix diagnostics, then `blume dev` for a visual pass. End with a written summary of what was migrated, dropped, and approximated — **and every repo-specific edit you made** (pnpm-workspace, vercel.json, config globs) with the reason, plus any manual step left to the user (the Astro patch, Vercel dashboard settings). - -## The Blume mental model - -The single biggest shift for most sources — especially Mintlify — is that **navigation is derived from the filesystem**, not declared in config. - -### Navigation is the file tree - -- **Folders become groups, files become pages.** A page's sidebar label is its frontmatter `title`; a group's label is the humanized folder name. -- **Ordering resolves highest-priority-first:** an explicit `navigation.sidebar` (replaces the whole tree) → a folder's `meta.ts` `pages` array → a page's frontmatter `sidebar.order` → the filesystem (`index` first, then numeric filename prefix like `01-`, then alphabetical). -- **`meta.ts` refines one folder** (`defineMeta({ title, icon, order, collapsed, pages, display })`). The `pages` array lists children by slug (numeric prefix and parentheses stripped); children you omit fall back to their own `sidebar.order`, then filesystem order (`index` still sorts first) — so a partial `pages` list is safe, but list every child when the source declared a complete order. -- **Sidebar render mode: a global default with per-folder overrides.** `navigation.sidebar.display` in `blume.config.ts` is `"flat"` (default), `"group"` (collapsible), or `"page"` (drill-in sub-panel) and sets the mode for every group at once. A folder can override its **own** group: `display` in its `meta.ts`, or — sugar when the folder has an `index` page — `sidebar.display` in that index page's frontmatter. Precedence: index frontmatter → `meta.ts` → global config → `flat`; an override applies to that one group only (nested subgroups resolve their own chain). So a source's per-category collapse/drill-in modes migrate per folder — only reach for the global mode when the whole sidebar changes. Under an explicit `navigation.sidebar`, the config item's own `display` field is the only per-group control (frontmatter/meta `display` is ignored there, with a `BLUME_SIDEBAR_DISPLAY_IGNORED` warning). -- **An explicit `navigation.sidebar` replaces filesystem generation entirely.** Use it only for a nav shape files can't express. Its items are a page route string, a group (`{ label, items }`), or a link (`{ label, href }`). -- **Config-declared nesting has no on-disk counterpart — materialize it or it flattens silently.** When a source (Mintlify `groups`, Nextra `_meta`, a Docusaurus sidebar…) declares a nested group, its pages usually sit **flat in one folder** and the grouping lives only in config. Filesystem-derived nav sees the flat folder and drops the inner group. To keep the nesting you must **either** move those pages into a real subfolder (`meta.ts` for label/`collapsed`) — which changes their URLs, so add `redirects` — **or** declare the group in an explicit `navigation.sidebar`, which nests the existing routes without moving a file. Walk config `pages`/nav arrays **recursively** during inventory and record where config nesting depth exceeds on-disk depth; that gap is exactly what gets lost. - -### Tabs and selectors - -- **`navigation.tabs`** (`{ label, path, icon? }`) render top-of-header sections and **scope the sidebar by route** — the folder at a tab's `path` becomes the section, so this needs no config beyond the tabs themselves; structure content as **one folder per tab**. **A source's top-level tabs (Mintlify `navigation.tabs`, a top-level product/section switcher) map to these header tabs — keep them as tabs; don't flatten them into a single global `navigation.sidebar`.** Blume picks the active tab by **URL prefix** (longest tab `path` that prefixes the route), so every page in a tab must live under that tab's single `path`; a source tab that mixes arbitrary routes isn't portable as-is — either move its pages under one prefix (route change → add `redirects`) or accept the closest shape, and say which in the report (details in `references/mintlify.md`). The filtering runs both ways: on a route **under** a tab's `path`, the sidebar shows **only** that tab's folder (a tab also highlights when the current route is under it); on a **root or untabbed** route (or a tab whose `path` is `/`), the tab folders are **hidden** and the sidebar shows only the loose pages that belong to no tab (full tree as a fallback, so it's never blank). Consequence for migrations: once you add tabs, the landing sidebar automatically drops the sectioned content — that's intended, not lost pages; don't hand-build excludes for it. -- **`navigation.selectors`** (`{ kind, label, items: [{ label, path, icon?, description?, tag? }] }`, `kind` = `dropdown`/`product`/`version`/`language`) partition a whole site (products, versions) via a header dropdown keyed on the current route. -- **`navigation.featured`** (`{ label, href, icon? }`) pins links to the **top of the sidebar, above every section** — a blog, changelog, or support page that should always be one click away. These are the **exception to tab scoping**: unlike the generated tree, featured links show on **every** route and breakpoint. `href` points anywhere — an external URL opens in a new tab, an internal route (`/contact`) is validated against your pages at build time. `icon` is a Lucide name (or image path/URL/inline SVG), as everywhere else. This is the home for a source's always-visible header/utility links (Mintlify anchors, Blog/Contact links) — see `references/mintlify.md`. - -### Routes and pathing - -- A route is the content path relative to `content.root`, with **numeric prefixes stripped** (`01-intro.mdx` → `/intro`) and **`(group)/` folders adding no segment**. An `index` file maps to its folder's route. Frontmatter `slug` overrides the generated route. - -### `blume.config.ts` shape - -`defineConfig({...})` — every field optional, all with defaults: - -- **Site:** `title`, `description`, `logo` (string SVG, or `{ image: string | { light, dark, alt }, text, href }`), `banner` (`{ content, link, dismissible, id }` — no color/type). A logo renders beside `title` in the header, so a **wordmark logo doubles the brand** ("Acme Acme") — set `text: ""` to render the mark alone. **Prefer the string form over `{ light, dark }`:** if you have the logo SVG locally and it's monochrome (solid black or white), rewrite its `fill`/`stroke` to `currentColor` and use `logo: "/logo.svg"` — it then inherits the theme's text color and adapts to light/dark automatically, so you don't need separate light/dark files. -- **`theme`:** `accent` (a color string for both modes, or `{ light, dark }` per mode), `action` (color), `mode` (`light`/`dark`/`system`), `radius`, `fonts` (`{ body, display, mono }` — each a curated Google-font slug, a `{ name, provider?, weights? }` object for any Google/Fontsource/Bunny/Fontshare family, or `{ name, variants: [{ src, weight?, style? }] }` for local font files), `background` and `backgroundImage` (each a string, or `{ light, dark }` per mode). The old `accentDark`/`backgroundDark`/`backgroundImageDark` fields were **merged into these per-mode objects** — a bare string still applies to both modes, so only reach for `{ light, dark }` when the two modes differ. There is **no** `theme.strict` and **no** `theme.css` config field — custom CSS goes in a project-root **`theme.css` file** (auto-picked-up), and a source's "strict appearance" flags drop. -- **`content`:** `root` (default `"docs"`, relative to the project dir where `blume` runs), `include`/`exclude` (arrays of globs **relative to `content.root`**; defaults `["**/*.{md,mdx}"]` / `["**/_*", "**/.*"]`), `sources` (staged sources: `filesystem`, `github-releases`, `notion`, `sanity`, `mdx-remote`, `custom` — OpenAPI is **not** one of these; it's the top-level `openapi` field), `pages` (custom `.astro` dir), `defaultType`. When docs sit directly under the project dir (no `docs/` subfolder), set `root` there and **scope `include` to the real content folders** instead of scanning everything — `references/monorepo.md` §1. -- **`basePath`** (top-level): a site-wide mount point (e.g. `"/docs"`) prepended to **every** route while staying invisible to the sidebar (no wrapper group). This is the right target for a source that served all docs under a prefix (Docusaurus `routeBasePath`, a Fumadocs `baseUrl` of `/docs`) — distinct from a per-source `prefix` (which adds a nav group) and from `deployment.base` (host subdirectory). -- **`navigation`:** `tabs`, `selectors`, `featured` (links pinned above the sidebar on every route), `sidebar` (`{ display, items }` — `display` is the global render mode above; `items` is an explicit tree), `repo`. **Avoid an explicit `navigation.sidebar` unless you have to** — lean on the filesystem-derived sidebar. It only works when the file tree roughly matches the intended sidebar layout, so reshape folders to match first; reach for `sidebar.items` only for a shape files genuinely can't express (see "Config-declared nesting" above). -- **`search`** (Orama default, Pagefind opt-in), **`ai`** (llms.txt, Ask AI, the MCP server), **`openapi`**, **`redirects`**, **`seo`**, **`markdown`**, **`analytics`**, **`deployment`**, **`i18n`**, **`toc`**, **`lastModified`**, **`github`**. -- **Don't set `deployment.site`.** Blume auto-fills it: the dev server's `localhost` URL in dev, and the deployment URL (`VERCEL_PROJECT_PRODUCTION_URL`/`VERCEL_URL`) on Vercel. Hardcoding it in `blume.config.ts` overrides that auto-detection and pins the wrong absolute URL (canonical links, sitemap, OG, llms.txt) everywhere but the one host you typed — so leave it unset even when a source config had a `url`/`site` field. (Sitemap still generates in production because the deploy URL is present there.) -- **Favicon is a filename convention, not config.** Drop `icon`/`favicon.{svg,png,ico}` (and `apple-icon.png`) in the project root or `public/` — Blume auto-detects it. There is **no** `favicon` config field. A source favicon given as `{ light, dark }` maps to a filename pair: copy the light file to a conventional name (e.g. `public/icon.png`) and the dark file to its `-dark` sibling — same directory and extension, `-dark` before the extension (`public/icon-dark.png`). If the two files have different formats, convert one so the extensions match; only an exact sibling of the resolved icon is picked up. - -The schema is exported from `blume/schema`; the full field reference is in the `docs/configuration/` directory of the installed `blume` package (see "Full documentation" below for how to locate it). - -### Icons are Lucide, period - -Blume resolves **bare kebab-case [Lucide](https://lucide.dev) names** everywhere an icon is accepted — frontmatter `icon`, `sidebar.icon`, `meta.ts` `icon`, `navigation.tabs`/`selectors` icons, and `Card`/`Step`/`Icon`/etc. props. There is **no** FontAwesome or Tabler support and **no** `iconType` prop. Names must be **kebab-case** (`book-open`, not `BookOpen`) — a PascalCase React-component name (common in Fumadocs/lucide-react sources) does not resolve and renders nothing. When migrating a source that uses another icon set (Mintlify defaults to FontAwesome), **map each name to its closest Lucide equivalent**; where none exists, drop the icon and report it. Verify a name exists at [lucide.dev/icons](https://lucide.dev/icons) before writing it. - -### Page frontmatter (strict — unknown keys are build errors) - -```yaml ---- -title: Install # renders as the page H1 — remove any duplicate H1 in the body -description: Install Blume and scaffold your first project. -type: doc # doc (default) | blog | changelog | api -icon: download # a Lucide name -sidebar: - label: Install # overrides title in the sidebar - order: 2 - icon: download - badge: New - hidden: false -seo: - title: … - description: … - image: /og/install.png - canonical: https://… - noindex: false -search: - exclude: false - tags: [api] -slug: install # override the generated route -draft: false -lastModified: 2026-06-20 # pin the "last updated" date ---- -``` - -Also valid: `date`/`authors` (blog/changelog feeds), `changelog` (changelog metadata), `deprecated`, `hidden`, `noindex`. - -### Authoring features (no imports needed in `.mdx`) - -- **The rich features are MDX-only.** Directives, `package-install`, mermaid, and math are wired into the MDX processor; in a plain `.md` file a `:::note` stays **literal text** — and the build stays green. **Rename any `.md` file that uses (or should use) these to `.mdx` during migration.** This bites hardest on Docusaurus/Starlight sources, whose `.md` content is full of `:::` admonitions. Plain Markdown (headings, tables, fenced code with titles/highlighting) is fine in `.md`. -- **Callouts as directives:** `:::note`, `:::tip`, `:::warning`, `:::danger`, `:::info`, `:::success`, with an optional title in brackets: `:::warning[Heads up]`. Aliases `caution`→warning, `error`→danger, `important`→note, `warn`→warning. -- **No-import MDX components:** `Callout`, `Card`/`CardGroup`, `Columns`/`Column`, `Steps`/`Step`, `Tabs`/`Tab`, `Accordion`/`AccordionItem`, `Expandable`, `FileTree`, `Tree`/`Tree.Folder`/`Tree.File`, `CodeGroup`, `Frame`, `Panel`, `Tooltip`, `Tile`, `Badge`, `Icon`, `TypeTable`/`AutoTypeTable`, `Color`, `YouTube`, `Visibility`, `GithubInfo`, `Component`, `CodeBlock`, `Diff`, `Prompt`, `Math`. (**Not** shipped — convert away: `` → the `:::warning` directive, and the `ParamField`/`ResponseField`/`RequestField` field family → `TypeTable` rows or the OpenAPI reference. See the reference files for targets.) -- **Fenced-code superpowers:** ` ```package-install ` → package-manager tabs; ` ```mermaid ` → a rendered diagram; code-block titles (` ```ts server.ts `), line numbers (`lineNumbers`), and highlighting (`{1,4-5}`, `// [!code ++]`). -- **Math:** block math `$$…$$` renders in `.mdx` with **no config** (there is no `markdown.math` field). Inline `$…$` is **not** supported — a bare `$` stays literal text; convert inline math to display math or drop it (report). - -### OpenAPI - -`openapi: { enabled: true, sources: [{ spec, label?, route? }] }` generates **one real page per operation** — with routing, sidebar, search, and OG images for free. **The reference does not get a header tab automatically** — add a `navigation.tabs` entry pointing at the reference's `route` (reference routes are valid tab targets) or the API reference is unreachable from the header. **Never hand-migrate generated API-reference pages** (per-endpoint stub pages in the source): delete them and point `openapi.sources` at the spec. (`renderer: "scalar"` keeps the Scalar embed instead; AsyncAPI uses the same embed.) - -- **Vendor the spec by default.** A remote `spec:` URL makes every build depend on fetching it at build time — a single point of failure in CI, offline, or behind a proxy, and a failed fetch skips the whole reference. Prefer committing the spec into the repo (`openapi/.json`) and pointing `spec` at the local path; if you keep the URL, say so and consider a `prebuild` step that refreshes the local copy with a fallback. -- **Operation routes have their own slug scheme** — `//` (e.g. tag `Models`, id `listModels` → `/api-reference/models/listmodels`). This rarely matches the source's endpoint links (Mintlify/others kebab-case differently), so **rewrite every inbound link to an operation**. `blume validate` resolves operation pages like any other route, so it catches the ones you miss. -- **Keep hand-written conceptual pages.** Sources often pair a written "Introduction/Authentication" page with the endpoint group in the same tab. A normal content page placed under the openapi `route` merges into the reference tab's sidebar — so keep those (auth, errors, rate limits) and delete only the per-endpoint stubs. - -### Changelogs - -If the source ships a **hand-maintained changelog** (a `changelog.mdx`, a folder of dated entries, Mintlify `` blocks) **and the project is open source on GitHub**, offer to replace it with the **`github-releases`** content source — release notes become the changelog automatically, with no files to maintain. It's an offer, not an automatic rewrite: some teams keep a curated changelog that doesn't map 1:1 to GitHub releases, so confirm the release notes are the source of truth before deleting their pages. - -Add it under `content.sources` alongside the filesystem source: - -```ts -content: { - sources: [ - { include: ["docs/**/*.mdx"], root: ".", type: "filesystem" }, - { - owner: "haydenbleasel", - repo: "ultracite", - prefix: "changelog", - type: "github-releases", - }, - ], -}, -``` - -- Each release materializes as a `type: changelog` page under `//` (`prefix: "changelog"` → `/changelog/…`); omit `prefix` to mount at the root. -- Optional fields: `limit` (cap materialized releases, newest-first, default 100), `prereleases` (include prereleases), `drafts` (include drafts — needs a token with repo write access), `pollInterval` (dev polling seconds; omit to freeze for the session). -- A **private** repo reads a token from `GITHUB_TOKEN`; it is never inlined in config. A public repo needs no token. -- **Delete the old changelog pages** once the source is wired (and add `redirects` from their old routes to the new `//…` slugs). Pin a header/sidebar link with `navigation.featured` if the source had one. - -### Redirects are static - -A `redirects: [{ from, to, status? }]` array **in `blume.config.ts`** maps old URLs when you restructure routes — Blume serves these itself, so any reorganization that moves a page (folder-per-tab, materialized nested groups, renamed slugs, index promotion) is fixed by adding an entry there; no host config needed. **Restructuring is the main source of these:** every page you moved in step 4 (folder-per-tab, renamed slugs, index promotion) needs an entry, or old URLs 404. `status` defaults to **301 (permanent — browsers cache it indefinitely)**; that's correct for genuine moves, but never use 301/308 for redirects you might reverse. Dynamic/wildcard patterns (`:slug*`) can't be modeled as static path-to-path; move those to host-level config (`_redirects`, `vercel.json`) and report them. - -## Verification & reporting - -1. Run **`blume build --strict`** — it validates the frontmatter schema, duplicate routes, and config, and `--strict` makes diagnostics fail the build (without it, `blume build` **exits 0 despite content errors** and silently drops invalid pages). Then run **`blume validate --strict`** — links, heading anchors, and assets live here, not in `build` (add `--external` to also check outbound HTTP links). OpenAPI operation pages are real routes to `validate`, so dead links to them are caught too. Iterate until both are clean. -2. Run `blume dev` and review the site visually — nav structure, tabs, theme, rendered components. -3. **Write a migration summary** covering: what was migrated (config, N pages, nav, OpenAPI), what was **dropped** (navbar CTAs, footers, custom theming, dynamic redirects, unmappable icons, unsupported components), and suggested follow-ups (`blume eject` for full control, `blume add` to vendor a component for customization). - -## Full documentation - -The mapping details live in `references/`: one file per source framework (`mintlify.md`, `docusaurus.md`, `fumadocs.md`, `nextra.md`, `starlight.md`), plus **`monorepo.md`** for host-repo integration (content-layout detection, pnpm `minimumReleaseAge`, frozen-lockfile regeneration, the Vercel monorepo recipe, and the Astro/Vite patch). The Mintlify icon + frontmatter pass is automated by **`scripts/mintlify-codemod.mjs`** (zero-dependency, deterministic, idempotent; `--write` to apply). The authoritative Blume docs are bundled in the installed package's **`docs/` directory** — not necessarily at the repository root: in a workspace monorepo (pnpm especially) the package lives in the depending workspace's `node_modules` (e.g. `apps/docs/node_modules/blume/docs`); `node -e "console.log(require.resolve('blume/package.json'))"` run from the depending package prints the exact location. (In a repo checkout of Blume itself, the docs source is `apps/docs/content/docs`.) The most relevant pages: - -- `configuration/index.mdx` — every `blume.config.ts` field. -- `content/navigation.mdx` — the sidebar/tabs/selectors model. -- `content/meta.mdx` — `meta.ts` and display modes. -- `content/syntax.mdx` — directives, code features, math. -- `content/components.mdx` — the component library and APIs. -- `reference/frontmatter.mdx` — the strict page schema. diff --git a/dot_agents/skills/blume-migrate/assets/oxfmt@0.55.0.patch b/dot_agents/skills/blume-migrate/assets/oxfmt@0.55.0.patch deleted file mode 100644 index 4909461..0000000 --- a/dot_agents/skills/blume-migrate/assets/oxfmt@0.55.0.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/dist/markdown-Bowe09rB.js b/dist/markdown-Bowe09rB.js -index 0fe63ff712e07c9c2188711fa0940f7a7d8f7d74..44435d91a2f5a6711512981c9bcaddedc1760be4 100644 ---- a/dist/markdown-Bowe09rB.js -+++ b/dist/markdown-Bowe09rB.js -@@ -1141,7 +1141,14 @@ function Yf(e, r, t) { - case "sentence": return Yi(e, t); - case "word": return Li(e); - case "whitespace": { -- let { next: i } = e, u = i && /^>|^(?:[*+-]|#{1,6}|\d+[).])$/u.test(i.value) ? "never" : r.proseWrap; -+ let { next: i, previous: oxfmtFencePrev } = e; -+ // Preserve line breaks that sit directly against a `:::` container -+ // directive fence, so `proseWrap: "never"` keeps the opening/closing -+ // fence on their own lines instead of joining them into the prose (which -+ // breaks the directive). Ordinary prose still wraps per proseWrap. -+ // See prettier/prettier#19040. -+ let oxfmtIsFence = (w) => w != null && typeof w.value === "string" && w.value.startsWith(":::"); -+ let u = oxfmtIsFence(oxfmtFencePrev) || oxfmtIsFence(i) ? "preserve" : i && /^>|^(?:[*+-]|#{1,6}|\d+[).])$/u.test(i.value) ? "never" : r.proseWrap; - return qt(e, n.value, u); - } - case "emphasis": { diff --git a/dot_agents/skills/blume-migrate/references/docusaurus.md b/dot_agents/skills/blume-migrate/references/docusaurus.md deleted file mode 100644 index 23843bd..0000000 --- a/dot_agents/skills/blume-migrate/references/docusaurus.md +++ /dev/null @@ -1,95 +0,0 @@ -# Docusaurus → Blume - -Docusaurus is a React site; navigation comes from `sidebars.js` (explicit or autogenerated) plus per-folder `_category_.json`. Admonitions are already directive syntax, which eases the content transform — **but note the source major version**: v2 (MDX v1) and v3 (MDX v3) have different content hazards, called out below. - -## Detect - -- **`docusaurus.config.{js,ts}`** at the root; a **`sidebars.{js,ts}`** file and per-folder **`_category_.json`** files. -- Content under **`docs/`** (often plus `blog/`, `src/pages/`, `static/`, `versioned_docs/`); `@docusaurus/*` deps. -- v2 vs v3: check the `@docusaurus/core` major in `package.json`. - -## Config: `docusaurus.config` → `blume.config.ts` - -Read `themeConfig`, `presets`, and `plugins`: - -| Docusaurus | Blume | -| --- | --- | -| `title` | `title` | -| `tagline` | `description` | -| `themeConfig.navbar.title` / `.logo` | `title` / `logo` (move the image into `public/`) | -| `themeConfig.navbar.items` (doc items) | `navigation.tabs` (for section links) | -| `themeConfig.navbar.items` (external/utility links — Blog, GitHub, Discord…) | **`navigation.featured`** (`{ label, href, icon? }`, pinned above the sidebar on every route); the GitHub link → the `github` config instead | -| `themeConfig.colorMode.defaultMode` | `theme.mode` (`respectPrefersColorScheme: true` → `"system"`) | -| `themeConfig.prism.theme` / `.darkTheme` | `markdown.codeBlocks.theme: { light, dark }` (map Prism theme names to Shiki themes, e.g. `github`/`github-dark`) | -| `themeConfig.metadata` / `themeConfig.image` | per-page `seo` frontmatter / `seo.og`; report what doesn't fit | -| `url` + `baseUrl` | **`url` → drop** (`deployment.site` auto-detects); `baseUrl` (when not `/`) → `deployment.base` | -| preset `docs.routeBasePath` — **including the default!** | Docusaurus serves docs at **`/docs/…` by default**; the "map only declared fields" rule does **not** apply here because the _URLs_ are load-bearing. Either keep them with top-level **`basePath: "/docs"`** (invisible to the sidebar), or intentionally move to root and emit a `redirects` entry per page. Decide explicitly and say which. (`routeBasePath: '/'` = docs-only mode — nothing to do.) | -| preset `docs.editUrl` | `github` (owner/repo/branch; a path after the branch → `github.dir`) | -| `themeConfig.footer` | drop → Footer override (`defineComponents` layout slot) | -| `themeConfig.announcementBar` | `banner` (`{ content, dismissible, id }` — `isCloseable` → `dismissible`; colors drop) | -| `i18n.locales` / `defaultLocale` | `i18n` — translated files live at `i18n//docusaurus-plugin-content-docs/current/…`; move them to `/…` under `content.root` | -| `themeConfig.algolia` | drop — Blume ships built-in search (Orama); remove the Algolia dep | -| `@docusaurus/plugin-client-redirects` | **static `redirects: [{from, to}]` arrays convert 1:1** to Blume `redirects` (a `from` array = one entry per item); only `createRedirects` functions are truly dynamic → host rules | -| `@docusaurus/theme-mermaid` | delete the dep — ` ```mermaid ` renders natively (in `.mdx`) | -| `remark-math` + `rehype-katex` | delete — block `$$…$$` renders in `.mdx` with no config (no `markdown.math` field exists); **inline `$…$` is not supported** — convert or drop (report) | -| Multi-instance docs plugins (`plugin-content-docs` with `id`) | one folder (and usually one `navigation.tabs` entry) per instance | - -## Static assets — required move - -Every Docusaurus repo serves **`static/`** at the site root (`static/img/foo.png` → `/img/foo.png`). Blume serves **`public/`**. **Move `static/*` (and any extra `staticDirectories`) into `public/`** — all root-relative references then keep resolving unchanged. Without this, every image and download 404s. - -## Navigation: `sidebars.js` + `_category_.json` - -- **Autogenerated sidebar** (`{ type: 'autogenerated', dirName: '...' }`) → Blume's default filesystem navigation. Docusaurus strips numeric prefixes (`01-`) exactly like Blume, so the convention round-trips; no config needed. -- **Explicit sidebar** (arrays of doc IDs, categories, links) → restructure into folders where possible; use `navigation.sidebar` only for shapes files can't express. A category `{ type: 'category', label, items }` → a folder (label → `meta.ts` `title`); `collapsed` → `meta.ts` `collapsed`, and collapsible rendering → that folder's `meta.ts` `display: "group"` (or `navigation.sidebar.display: "group"` once in config when every category collapses). -- **`_category_.json`** (also `.yml`) (`{ label, position, collapsed, collapsible, link, className, customProps }`) → a folder `meta.ts`: `label`→`title`, `position`→`order`, `collapsed`→`collapsed`. `link.type: 'generated-index'` → an `index` page in the folder — **and the old URL was `/docs/category/`**, so add a redirect and rewrite inbound links. `link.type: 'doc'` → make that doc the folder's `index`. `collapsible`/`className`/`customProps` → drop (report). -- **`src/pages/` — inventory, don't nuke.** Nearly every repo has a React landing page (`src/pages/index.tsx`) and often extra Markdown pages. Markdown pages → content pages; the React home page → rebuild as a docs index or a custom `.astro` page under `content.pages` — report either way. - -## Versioned docs - -Docusaurus `versioned_docs/version-X/` + `versions.json` (+ `versioned_sidebars/`) → **recommend migrating the latest released version only**. Mind the URL scheme: by default the **latest release** serves at `/docs/` and the work-in-progress `docs/` folder serves at `/docs/next` (`lastVersion: 'current'` flips this) — pick the folder that matches what users see at `/docs/`. If older versions must stay, put each under its own folder and wire a `navigation.selectors` entry of `kind: "version"`. - -## Blog - -A Docusaurus `blog/` → Blume `type: blog` pages. **Dates come from filenames/folders** (`2024-01-31-foo.md`) — extract each into `date` frontmatter and strip the date from the filename (the old dated URLs `/blog/2024/01/31/foo` need `redirects`). Strip `` / `{/* truncate */}` markers. `authors.yml` refs → inline author objects in each post's `authors` frontmatter. RSS stays at `/blog/rss.xml` on both sides. - -## Content & components - -- **`.md` vs `.mdx` — both majors need renames, for opposite reasons.** Blume parses `.md` as plain Markdown: no directives, no JSX, no `$$` math, no mermaid/package-install fences. **v3** treats `.md` as MDX (so a `.md` with imports/JSX/`{}` renders them as literal text in Blume); **v2** content is looser MDX v1. Rule: **rename any `.md` that contains admonitions, JSX, imports, or math to `.mdx`** — for typical Docusaurus repos that is most files. -- **Admonitions are directives — but check the version.** v3: `:::note`, `:::tip`, `:::info`, `:::warning`, `:::danger` pass through; `:::caution` → `:::warning` (or rely on Blume's alias); titles `:::note[Title]` work. **v2:** titles are space-separated (`:::note Your Title`) — rewrite to brackets or the title is silently lost; and v2's `:::warning` rendered **red/danger** — audit whether it should become `:::danger`. -- **Tabs:** ``/`` → ``/``. Drop `groupId`/`queryString`/`value`; strip the `@theme/Tabs` imports. -- **Theme JSX in content:** `` (standard on category index pages) → hand-write `Card`/`CardGroup` links or delete (a Blume group page lists its children); `` → drop (report); `` JSX → a fenced code block; `` → the matching directive; `
`/`` → ``/`` or leave as raw HTML. -- **`@theme/*` / `@site/*` imports** — strip `@theme/*` (Blume injects components globally); rewrite `@site/` asset/module paths to `/public` URLs or inline. **MDX partials** (`_partial.mdx` imports) → inline the partial's body (Blume's default `**/_*` exclude already hides the partial files themselves). -- **Code blocks:** `title="file.js"` → works as-is; `showLineNumbers` → `lineNumbers`; **magic comments** (`// highlight-next-line`, `highlight-start`/`end`) → `{ranges}` or `// [!code highlight]` — unconverted they ship as literal comments in every sample; ` ```bash npm2yarn ` → ` ```package-install `. -- **MDX v1 (v2 sources) pitfalls:** unescaped `<`/`{` in prose, HTML comments `` (→ `{/* */}`), string `style="…"` attributes (→ objects). Fix as build errors surface. - -## Frontmatter - -| Docusaurus | Blume | -| --- | --- | -| `title` / `description` | pass through | -| `id` | usually drop (routing is filesystem-based); use `slug` to pin a route | -| `slug` | `slug` | -| `sidebar_label` | `sidebar.label` | -| `sidebar_position` | `sidebar.order` | -| `unlisted` | `hidden: true` + `noindex: true` | -| `last_update.date` | `lastModified` | -| `draft` | `draft` | -| `tags` | `search.tags` (or drop if only used for the blog tag index) | -| `image` | `seo.image` | -| `keywords` | drop → use `seo` | -| `sidebar_class_name` / `sidebar_custom_props` / `pagination_next` / `pagination_prev` / `pagination_label` / `hide_title` / `hide_table_of_contents` / `toc_min_heading_level` / `toc_max_heading_level` / `displayed_sidebar` / `custom_edit_url` | drop (report) | - -Remove any duplicated H1 in the body — `title` renders the H1. - -## Icons - -Docusaurus has no built-in icon-name system (icons are usually inline SVG/emoji/CSS). Where you add sidebar/tab icons, use Lucide names. Convert any FontAwesome/react-icons usage in content to Lucide `` or drop it. - -## Teardown - -Remove `@docusaurus/*` and Algolia deps; delete `docusaurus.config.*`, `sidebars.*`, `babel.config.js`, and `src/` theme customizations (after the `src/pages/` inventory above; re-implement what matters via `defineComponents` layout slots or `blume eject`). Repoint `start`/`build`/`serve` scripts → `blume dev`/`blume build`/`blume preview`; add `blume`. - -## Dropped — report these - -Custom/swizzled theme components (layout slots or `blume eject`), footer columns, Algolia config, `sidebar_custom_props` and the other dropped frontmatter keys, `createRedirects` functions (→ host rules), React pages under `src/pages/`, ``, per-category `className`/`customProps`, and any `@theme/*` component with no Blume equivalent. diff --git a/dot_agents/skills/blume-migrate/references/fumadocs.md b/dot_agents/skills/blume-migrate/references/fumadocs.md deleted file mode 100644 index 351ea07..0000000 --- a/dot_agents/skills/blume-migrate/references/fumadocs.md +++ /dev/null @@ -1,95 +0,0 @@ -# Fumadocs → Blume - -Fumadocs is code-first: navigation comes from the folder tree + per-folder `meta.json`. This maps cleanly to Blume — most content passes through, and `meta.json` becomes `meta.ts`. Fumadocs v16 runs on Next.js, React Router, TanStack Start, Astro, or Waku — detect by the Fumadocs files, not by Next.js files, and adjust the teardown list to whichever host framework is present. - -## Detect - -- Content under **`content/docs/`** (the Fumadocs convention). -- Per-folder **`meta.json`** files. -- `fumadocs-ui` / `fumadocs-core` / `fumadocs-mdx` deps and a `source.config.ts`. -- A `loader({ baseUrl: "/docs" })` call in `lib/source.ts` (or `app/source.ts`, `src/lib/source.ts`, `source.ts`). - -## Config - -Fumadocs declares almost nothing Blume needs — only two things map: - -- **Title** — read `package.json` `name`, prettified (drop scope, split on `-_`, Title-Case). For a generic monorepo name (`web`, `app`, `docs`…), use the repo-root directory name instead. -- **Route prefix** — the `baseUrl` in the source loader (required in Fumadocs, so it's always declared). If it's a real prefix (e.g. `/docs`), set top-level **`basePath: "/docs"`** — it prefixes every route while staying invisible to the sidebar, which matches Fumadocs' behavior. (A `content.sources` `prefix` also works but adds a wrapping nav group — only use it when you _want_ the group.) If `baseUrl` is `"/"`, serve from the site root (nothing to set). - -Everything else is `defineConfig({ title })`. - -**Also read `source.config.ts` `mdxOptions`** — remark/rehype plugins live there: - -- `remark-math`/`rehype-katex` → nothing to configure: block math `$$…$$` renders in `.mdx` out of the box (there is **no** `markdown.math` field). Inline `$…$` is **not** supported — convert inline math to `$$…$$` or drop it (report). -- A Twoslash transformer → Blume supports the `twoslash` fence meta natively; drop the plugin. -- Custom Shiki transformers/themes or other plugins → report. - -## Navigation: `meta.json` → `meta.ts` - -**Every `meta.json` becomes a `meta.ts` — this is the primary navigation carry-over for Fumadocs, always required, never optional.** `meta.json` is Fumadocs' canonical nav source; no filesystem-only shortcut reproduces its ordering, icons, and collapse state, so don't skip it in favor of filename inference. Move content from `content/docs/` to your chosen `content.root` (e.g. `docs/`), then convert each `meta.json` to a `meta.ts` (`defineMeta`): - -| Fumadocs `meta.json` | Blume `meta.ts` | -| --- | --- | -| `title` | `title` | -| `icon` | `icon` — **convert the casing** (see Icons below) | -| `defaultOpen: false` | `collapsed: true` | -| `defaultOpen: true` | `collapsed: false` | -| `root: true` | a **`navigation.tabs` entry** (see below) — **not** a `meta.ts` field | -| `pages: [...]` slugs | `pages: [...]` (ordering) | -| `description` | **drop** (folders have no description) | -| `collapsible: false` | **drop** (report — no per-folder equivalent) | - -`meta.ts` accepts **only** `title`, `icon`, `order`, `collapsed`, `pages`, `display`. Render mode is per-folder or global: a folder that needs collapsible rendering sets its own `meta.ts` `display: "group"` (drill-in is `"page"`); when the whole sidebar should collapse, set `navigation.sidebar.display: "group"` once in `blume.config.ts` instead of repeating it per folder. - -**`root: true` folders are Fumadocs' tab mechanism** — Fumadocs UI renders them as layout tabs and scopes the sidebar to the active one. That is exactly Blume's `navigation.tabs`: add `{ label, path, icon? }` per root folder (label/icon from its `meta.json`), pointing at the folder's route. Blume then scopes the sidebar by URL prefix the same way. Don't try to model root folders inside `meta.ts`. - -Handle the `pages` array items: - -- **`"..."`** (rest marker) / `""` → drop; Blume appends unlisted pages automatically. **`"z...a"`** (reversed rest) → no equivalent; list the pages explicitly in the intended order. -- **`"!page"`** (exclusion) → Blume _appends_ unlisted pages, so a dropped `!page` **resurfaces in the sidebar**. Set that page's frontmatter `sidebar.hidden: true` instead. -- **`"---Section---"`** (separator; also the `---[Icon]Label---` variant) → Blume has no flat separator. Turn each section into a **`(Section)/` group folder** (route-transparent — the `(…)` segment is stripped from URLs), and move the section's pages into it. If a section wraps a single existing folder, leave it in place and set that folder's `meta.ts` `title` instead. -- **`"...folder"`** (extract) → Blume can't flatten a folder inline; keep it as a normal group at that ordering position and report it. -- **`"[Text](url)"`** (link; also `[Icon][Text](url)` and `external:` variants) → a top-level/utility link belongs in **`navigation.featured`** (`{ label, href, icon? }` — pinned above the sidebar on every route). A link buried deep in one folder has no folder-meta home — drop and report (or model that one folder via an explicit `navigation.sidebar`). -- **`pagesIndex`** → make that page the folder's `index` (rename the file); report the route change and add a redirect. - -## Frontmatter - -Fumadocs' core frontmatter (`title`, `description`, `icon`) matches Blume — but **convert `icon` casing** (see Icons). Drops: **`full`** (Fumadocs' full-width/no-TOC layout — no equivalent; report) and **`_openapi`** (generated API stubs — delete the whole page, see OpenAPI). Any other non-schema key is a build error, so drop and report. - -## Icons: lucide-react names → kebab-case - -Fumadocs icons are strings resolved by the repo's own `icon` handler in `loader()` — in practice **PascalCase lucide-react export names** (`"BookOpen"`, `"HomeIcon"`). Blume resolves **kebab-case** Lucide names and silently renders nothing on a miss, so pass-through loses every icon. Read the loader's icon handler to confirm the scheme, then convert each name: strip any `Icon` suffix, kebab-case it (`BookOpen` → `book-open`, `HomeIcon` → `home`), and verify it exists at [lucide.dev/icons](https://lucide.dev/icons). - -## Components - -- **Callouts:** `` → `:::` directive. Fumadocs types are `info` (the default), `warn`, `warning`, `error`, `success`, `idea`: `warn`/`warning`→`:::warning`, `error`→`:::danger`, `success`→`:::success`, `idea`→`:::tip`, `info` and **bare ``** → `:::info`. `title` → `:::type[Title]`; drop `icon`. -- **Cards:** `` → ``. `` needs **prop surgery**, not pass-through: Fumadocs `icon` is a JSX element (`icon={}` imported from `lucide-react`) → Blume takes a string name (`icon="cpu"`); Fumadocs `description="…"` → Blume has no `description` prop — move the text into the card body. -- **Accordions (container/item inversion):** `` → `` (container); `` → `` (item). -- **File trees:** `` → **``** (the JSX container for `Tree.*` children — _not_ ``, which wraps a Markdown list); `` → `` (`defaultOpen` carries over); `` → ``. Or convert the whole block to a list-driven ``. -- **Tabs:** Fumadocs declares labels on the parent (``) and selects with ``. Blume's `` carries its own `title`. Strip `items={[…]}` from `` and give each child `` a `title` (from its `value`, or the positional `items` entry). -- **Pass through unchanged:** ``/``, `` (Blume's was modeled on Fumadocs' — identical `type` record shape), ``. -- **``** (layout-mounted, not per-page) → the `banner` config field (`{ content, link, dismissible, id }`). -- **`./partial.mdx`** — Blume has no runtime include. **Inline** the partial's body (strip its frontmatter) at migration time; resolve nested includes recursively. -- **No equivalent — report:** ``, `` (Blume zooms content images by default), ``. -- **Strip or convert every import** — not just `fumadocs-*`: `lucide-react` imports (icon JSX → string names), `next/image`/`next/link` (→ Markdown image/link), and local components. **Inventory `mdx-components.tsx` before deleting it** — components registered there are used import-free in MDX bodies; port or inline each usage first. - -## Code fences - -- ` ```npm ` fences (Fumadocs' remark-npm accepts both) → ` ```package-install `. -- Adjacent fences sharing `tab="…"` meta render as grouped tabs in Fumadocs → wrap them in a Blume `` and drop the `tab=` attrs. - -## OpenAPI - -`fumadocs-openapi` writes **generated MDX stubs into the content tree** (`generateFiles()` output: pages containing ``/`` with `_openapi` frontmatter), plus `lib/openapi.ts` (`createOpenAPI`) and a generate script. Treat these exactly like Mintlify endpoint stubs: **delete the generated pages**, point `openapi: { enabled: true, sources: [{ spec }] }` at the spec (vendor it locally), add a `navigation.tabs` entry for the reference route, and remove `fumadocs-openapi`, `lib/openapi.ts`, and the generate script. Keep hand-written conceptual pages (intro/auth) under the reference route. - -## i18n - -A `loader({ i18n })` setup (locale-suffixed files or locale dirs) → Blume `i18n: { defaultLocale, locales: [{ code, label }] }`. Locale **directories** match Blume's `dir` parser as-is; locale **file suffixes** (`page.cn.mdx`) need restructuring into locale folders. Report whichever transform you apply. - -## Package.json & teardown - -Repoint scripts (`dev`→`blume dev`, `build`→`blume build`, `start`→`blume preview`), remove the `fumadocs-*` deps and the host framework's deps (`next`, `react-router`, `@tanstack/*`…), add `blume`. Safe to delete after harvesting (see above for what to read first): `source.config.*`, `mdx-components.tsx`, the app/route dir, and host-framework config (`next.config.*`, `next-env.d.ts`, the `next` tsconfig plugin — or the React Router/TanStack equivalents). - -## Dropped — report these - -Folder `description` and `collapsible: false`; reversed rest (`z...a`) ordering; the extract (`...folder`) flatten semantics; deep-folder sidebar links; frontmatter `full`; ``/``; custom Shiki transformers; any icon with no Lucide equivalent after casing conversion. diff --git a/dot_agents/skills/blume-migrate/references/mintlify.md b/dot_agents/skills/blume-migrate/references/mintlify.md deleted file mode 100644 index 8edf1d7..0000000 --- a/dot_agents/skills/blume-migrate/references/mintlify.md +++ /dev/null @@ -1,156 +0,0 @@ -# Mintlify → Blume - -The deepest migration. Mintlify declares its **entire navigation in `docs.json`**; Blume derives navigation from the filesystem. The bulk of the work is reshaping content into folders + tabs and translating config, callouts, and icons. - -## Detect - -- `docs.json` (current) or `mint.json` (legacy) at the repo root — the config file. -- A `mintlify` dependency / `mintlify dev` script. -- Content is `.mdx` under the repo root (Mintlify has no `content.root` — pages live at the top level), with a `/snippets` folder and image dirs like `/images`. - -Read `docs.json` first; it drives everything. - -## Config: `docs.json`/`mint.json` → `blume.config.ts` - -Resolve `$ref` includes first (Mintlify splits config across files). Map only what's set: - -| Mintlify | Blume | Notes | -| --- | --- | --- | -| `name` / `title` | `title` | | -| `description` | `description` | | -| `logo` (string or `{ light, dark, href }`) | `logo` (string, or `{ image: { light, dark, alt }, text, href }`) | Mintlify's `light`/`dark` nest under Blume's `image`; ensure files land in `public/`. **If the SVG is local and monochrome** (a solid black or white mark), rewrite its `fill`/`stroke` to `currentColor` and collapse `{ light, dark }` to the string shorthand `logo: "/logo.svg"` — one file that inherits the theme text color and flips with light/dark automatically. If the logo is a **wordmark** (brand name baked in), set `text: ""` so it doesn't render twice beside `title` | -| `favicon` (string **or `{ light, dark }`**) | **drop the field** — copy the file(s) into `public/` under conventional names (`favicon.svg`/`icon.png`) | Blume auto-detects by filename; there is **no** favicon config field. A `{ light, dark }` source maps to a filename pair: light file → `public/icon.png`, dark file → its `-dark` sibling `public/icon-dark.png` (same directory and extension — convert if the formats differ) | -| `colors.primary` + `colors.light` | `theme.accent` (`{ light, dark }`) | accent is now **per-mode**: `accent: { light: , dark: }`. If Mintlify sets only `primary`, collapse to the string shorthand `accent: ""` (applies to both modes) | -| `colors.dark` | `theme.action` | | -| `appearance.default` | `theme.mode` (`light`/`dark`/`system`) | | -| `appearance.strict` | **drop** | `theme.strict` was removed — writing it is a config error | -| `background.color.{light,dark}` | `theme.background` (`{ light, dark }`) | one field now: `background: { light: …, dark: … }` (a bare string applies to both) | -| `background.image` | `theme.backgroundImage` (`{ light, dark }`) | same per-mode shape as `background` | -| `background.decoration` | **drop** | no Blume equivalent | -| `fonts.family` / `fonts.{heading,body}.family` | `theme.fonts.{display,body}` | a curated slug (kebab-case, e.g. `space-grotesk`) maps directly; any other Google family maps to the object form `{ name: "Family Name" }`; a self-hosted font (`fonts.*.src` URLs) maps to `{ name, variants: [{ src, weight }] }` after downloading the files into the project | -| `banner` | `banner` (`{ content, dismissible, id, link }`) | **only** those keys — drop `banner.color`/`banner.type` | -| `styling.latex: true` | **drop the field** — block math `$$…$$` renders in `.mdx` with no config | there is **no** `markdown.math` field; inline `$…$` is **not** supported — convert inline math to `$$…$$` or drop it (report) | -| `styling.codeblocks.theme` | `markdown.codeBlocks.theme` (`{ light, dark }`) | | -| `search.prompt` | **drop** | no equivalent | -| `seo.metatags` | **drop** | no equivalent; use per-page `seo` frontmatter | -| `seo.indexing: "all"` | `search.indexing.includeHiddenPages: true` | | -| `variables` (`{{name}}`) | **inline into content** | Blume has no runtime `{{var}}` substitution — replace each `{{name}}` with its value in the pages | -| `integrations.posthog` (`{ apiKey, apiHost }`) | `analytics.posthog` (`{ key, host }`) | preserve the host verbatim (e.g. `us.posthog.com` — Blume's default is `us.i.posthog.com`) | -| `integrations` (GA, Plausible, Fathom, …) | `analytics.scripts` / `analytics.vercel` | one `scripts[]` entry per provider (`{ src, strategy, attributes }`); no first-class mapping beyond PostHog/Vercel | -| `contextual` (`["copy","chatgpt","claude",…]`) | **mostly free** | Copy-as-Markdown and Open-in-chat are default page actions; `mcp` needs `ai.mcp.enabled` + server output (report as a follow-up) | -| `redirects` | `redirects: [{ from, to }]` | static only — see below | -| `navigation.languages` | `i18n` | see i18n below | - -A minimal result is often just `defineConfig({ title, logo, theme: { accent } })`. - -## Icons: FontAwesome → Lucide (required) - -Mintlify defaults to **FontAwesome**; Blume is **Lucide-only**. Convert every icon reference — frontmatter `icon`, nav-group `icon`, ``, `` — to the closest Lucide name. Discard Mintlify's `iconType` (solid/regular/brands) entirely. - -**Automate the frontmatter pass — don't hand-edit it.** `scripts/mintlify-codemod.mjs` (in this skill, zero-dependency) remaps every **frontmatter** `icon:` using the table below, drops brand/no-equivalent icons, and — in the same pass — drops/renames unsupported frontmatter keys (see [Frontmatter](#frontmatter)). It's deterministic and idempotent, and reports what it changed per file plus what it couldn't (unknown icons, OpenAPI-stub flags): - -```bash -# = this skill's directory (the one containing SKILL.md); dry run first (report only), then apply: -node /scripts/mintlify-codemod.mjs -node /scripts/mintlify-codemod.mjs --write -``` - -The codemod touches **only frontmatter**. Icons in MDX **body** (``, ``, nav-group icons in `docs.json`) it does not see — convert those by hand using the same table. Common mappings: - -| FontAwesome | Lucide | | FontAwesome | Lucide | -| --- | --- | --- | --- | --- | -| `bolt` | `zap` | | `gear`/`cog` | `settings` | -| `circle-info`/`info` | `info` | | `wand-magic-sparkles`/`magic` | `sparkles` | -| `house` | `house` | | `magnifying-glass` | `search` | -| `gauge`/`gauge-high` | `gauge` | | `puzzle-piece` | `puzzle` | -| `envelope` | `mail` | | `file-lines` | `file-text` | -| `pen-to-square` | `square-pen` | | `trash-can` | `trash-2` | -| `xmark`/`times` | `x` | | `circle-check` | `circle-check` | -| `triangle-exclamation` | `triangle-alert` | | `circle-exclamation` | `circle-alert` | -| `arrow-right-from-bracket` | `log-out` | | `right-to-bracket` | `log-in` | -| `location-dot`/`map-marker` | `map-pin` | | `comments` | `messages-square` | -| `cube` | `box` | | `cubes`/`boxes` | `boxes` | -| `layer-group` | `layers` | | `diagram-project`/`sitemap` | `workflow`/`network` | -| `chart-line` | `chart-line` | | `chart-simple`/`chart-column` | `chart-column` | -| `flask` | `flask-conical` | | `robot` | `bot` | -| `screwdriver-wrench`/`toolbox` | `wrench` | | `circle-question`/`question` | `circle-help` | -| `life-ring` | `life-buoy` | | `shield-halved` | `shield` | -| `rocket`/`book`/`book-open`/`code`/`terminal`/`key`/`lock`/`user`/`users`/`database`/`server`/`cloud`/`bell`/`calendar`/`star`/`heart`/`tag`/`folder`/`globe`/`link`/`download`/`upload`/`check`/`copy`/`play`/`filter` | _(same name — verify)_ | - -**Rules:** verify each Lucide name exists at [lucide.dev/icons](https://lucide.dev/icons) before writing it. **Brand icons** (`fa6-brands:*` — github, discord, x, slack, linkedin…) mostly have **no** Lucide equivalent: for GitHub use the `github` config (renders the header repo link); for other socials, drop the icon and report it (or add via a Footer override after `blume eject`). Where no Lucide counterpart exists, **drop the icon and report it** — an unknown icon name is a build error. - -## Navigation: `docs.json` `navigation` → filesystem + tabs - -Mintlify's `navigation` object (`tabs`/`anchors`/`dropdowns`/`products`/`versions`/`languages`/`groups`/`pages`) is fully config-declared. **Prefer restructuring content into folders**, not porting the config verbatim: - -- **`groups`** (`{ group, pages: [...] }`) → a folder per group. The `group` name → the folder's humanized name or a `meta.ts` `title`. Nested groups → nested folders. `expanded: false` → `meta.ts` `collapsed: true` (inverted). `tag` → the folder/page `sidebar.badge`. **Folder metadata is a `meta.ts` module** (`export default defineMeta({ title, icon, order, collapsed, pages, display })`), a TypeScript file — **not** JSON. Blume does not read a `meta.json`, so any folder-level config you carry over from the source (or hand-write to preserve a group's label/order/collapse) must be authored as `meta.ts`. (Render mode — flat/group/page — defaults to the global `navigation.sidebar.display` in `blume.config.ts`; a folder overrides its own group with `meta.ts` `display`, or `sidebar.display` in its `index` page's frontmatter.) -- **Config-only nested groups don't exist on disk — you must materialize them, or they flatten silently.** A nested `{ group, pages }` almost never has a matching subfolder: its pages sit **flat in the parent directory** (e.g. `platform/analytics/getting-started.mdx`, `…/quick-reference.mdx`) and the grouping lives **only** in the `docs.json` `pages` array. If you leave the files where they are, filesystem-derived nav sees one flat folder and the inner group vanishes — Mintlify's `Analytics → Reference → {…}` becomes a flat `Analytics → {…}`. To preserve it you must **either** move those pages into a real subfolder (`platform/analytics/reference/`, with a `meta.ts` for the label/`collapsed`), **or** declare the shape in an explicit `navigation.sidebar`. Walk **every** `pages` array recursively and treat any nested `group` object as a folder-move to plan, not files already in place. When inventorying the nav (workflow step 2), record the config nesting depth separately from the on-disk depth — they diverge exactly here. -- **This is the canonical case for `navigation.sidebar` over folders.** Materializing a purely-presentational nested group as a subfolder changes URLs (`/platform/analytics/getting-started` → `/platform/analytics/reference/getting-started`) for no reason other than a visual grouping, forcing a `redirects` entry per page. When you want to keep the nesting **and** the URLs, an explicit `navigation.sidebar` group (`{ label, items }`) is the better trade — it nests the existing routes without moving any file. Pick per group; don't reflexively flatten. -- **`pages`** entries are page refs (paths without extension) → files at the corresponding path. An entry that's `"GET /path"` is an OpenAPI endpoint stub → **delete it** (Blume generates these; see OpenAPI). -- **`tabs`** (top-level `navigation.tabs`, e.g. `App` / `API` / `API reference`) → Blume's **header tabs** `navigation.tabs` (`{ label, path, icon? }`). **Keep them as tabs — do not flatten them into `navigation.sidebar` groups or sections.** Flattening is the easy translation error: it collapses the site's top-level structure into one global sidebar and loses the header tab bar entirely. A Mintlify top-level tab is a header tab; map it to one. Put each tab's pages in **one folder** and point the tab's `path` at it — the tab then scopes the sidebar automatically (under the tab's `path`, the sidebar shows only that folder). **Blume resolves the active tab by URL prefix** (the tab whose `path` is the longest prefix of the current route), so every page in a tab must live under that tab's single `path`. Mintlify tabs freely mix pages from any folder / arbitrary routes; Blume tabs scope by prefix, so a tab that pulls in routes from all over is **not portable as-is**. You have two choices, per tab: - - **Move the pages under one prefix** so they share the tab's `path` (a route change → add a `redirects` entry for each moved page). This preserves the exact tab grouping. - - **Accept the closest shape** — assign each shared/cross-cutting page to one tab's folder and link to it from the others — when moving routes isn't worth the churn. - - Call this trade out explicitly in the migration report; don't silently pick one. **The scoping is bidirectional:** on the root/landing route Blume _hides_ every tab folder and lists only untabbed top-level pages — so a Mintlify home whose single sidebar showed everything becomes a lean root list plus one sidebar per tab. That's automatic; don't try to exclude tab folders from the root by hand. - -- **`dropdowns`/`products`/`versions`** → `navigation.selectors` (`{ kind, label, items: [{ label, path, icon?, description?, tag? }] }`). Use `kind` `dropdown`/`product`/`version` accordingly. -- **`anchors` / `navigation.global.anchors` / `navbar.links`** (persistent header links — Blog, Changelog, Community, Contact/Support) → **`navigation.featured`** (`{ label, href, icon? }`). These pin to the **top of the sidebar, above every section, on every route** (not tab-scoped) — the right home for Mintlify's always-visible utility links. An external `href` opens in a new tab; an internal one (`/contact`) is build-time validated against your pages. Convert the FontAwesome `icon` to Lucide as usual. (This replaces the old "drop and report" for anchors.) The `navbar.primary` **CTA button** has no featured equivalent — see Dropped. -- **`languages`** → `i18n`, not a selector (see below). -- Only fall back to an explicit `navigation.sidebar` for a shape the filesystem genuinely can't express. - -This reshaping **changes URLs** — a page moved from `getting-started/quickstart` into the API tab's folder becomes `/api/…`, an `index` promotion drops a segment, etc. Record each old→new path and add a `redirects` entry for it (see below); otherwise every existing link and bookmark 404s. - -## Content & component transforms - -Rewrite each page's MDX: - -- **Callouts → directives** (directives are **MDX-only** — Mintlify content is already `.mdx`, so this just works; never rename a page to `.md`): ``→`:::note`, ``→`:::tip`, ``→`:::warning`, ``→`:::info`, ``→`:::success`, ``/``→`:::danger`. `` maps by type (`caution`→warning, `check`→success). A `title` attr → `:::type[Title]`. Drop `icon`/color props. -- **Accordions — container/item inversion!** Mintlify nests `` inside ``. Blume inverts: ``→`` (container), and each Mintlify ``→`` (item). -- **``/``** → `` (titled-fence tabs). -- **`` → ``.** Mintlify renders tabs **borderless** — a strip on a full-width rule with the content flowing beneath as prose — while Blume's `` defaults to a bordered box. Add `inline` to each `` to preserve Mintlify's appearance; every child `` is unchanged. Don't add `param` — Mintlify tabs switch in place and don't deep-link to the URL, so plain `inline` is the faithful mapping. -- **These pass through — Blume ships them natively:** ``/``, ``, ``, ``, ``, ``/``, ``, ``/``. Keep them as-is. -- **API fields → `TypeTable`.** Blume does **not** ship ``/``/``. Convert a cluster of fields into one `` (rows keyed by field name, each `{ type, required?, default?, description }`). For a fully spec'd API, prefer deleting the hand-written fields and using the [OpenAPI reference](#openapi) instead. -- **``** (a Mintlify changelog entry) has no component form → convert to a `type: changelog` page, or use the `github-releases` source. -- **Snippets are inlined, not imported.** Blume has no `/snippets` import mechanism. For each `import X from "/snippets/x.mdx"` + ``, inline the snippet's body (substituting `{prop}` placeholders), then delete the import and the `/snippets` file. Named string imports (`import { foo } from "/snippets/vars.mdx"`) → inline the value at each `{foo}`. - -## Frontmatter - -Mintlify page frontmatter → Blume's strict schema. **`scripts/mintlify-codemod.mjs --write` does the mechanical rows automatically** (rename, drop, icon-remap) and flags the judgment rows (`openapi`/`asyncapi`/`api`) for you — see [Icons](#icons-fontawesome--lucide-required) for the invocation. The table is both the mapping reference and a description of exactly what the codemod does: - -| Mintlify | Blume | Codemod | -| --- | --- | --- | -| `title` / `description` | pass through | — | -| `sidebarTitle` | `sidebar.label` | renames | -| `icon` | remapped to a Lucide name in place (top-level `icon` is valid Blume frontmatter; keep it there) | remaps | -| `tag` | `sidebar.badge` | renames | -| `canonical` | `seo.canonical` | renames | -| `og:image` | `seo.image` | renames | -| `hidden: true` | valid top-level in Blume — **kept as-is**; add `noindex: true` yourself if the page must also leave the search index | left (do by hand) | -| `openapi`/`asyncapi`/`api` | usually an endpoint stub → **delete the page** (Blume generates operation pages); else `type: api` | **flags** for review — never auto-deletes a page | -| `mode`, `public`, `rss`, `groups`, `keywords`, `hideApiMarker`, `hideFooterPagination`, `iconType` | **drop** (report) | drops | - -The codemod leaves the source key in place and reports a conflict rather than clobbering data when a rename target already exists (e.g. a page already has `sidebar.label`) or the value is too structured to move safely — resolve those by hand. Remove any duplicate H1 in the body — `title` renders the H1. (The codemod only edits frontmatter; it never touches the body.) - -## OpenAPI - -Top-level `openapi`, `api.openapi`, or a per-group/per-tab `openapi` → `openapi: { enabled: true, sources: [{ spec, label?, route? }] }`. A Mintlify `{ source, directory }` object: `directory` → the source's `route`. **Delete every per-endpoint stub page** (frontmatter `openapi: "GET /path"` or a `"GET /path"` nav entry) — Blume's native renderer generates one real page per operation. **Add a `navigation.tabs` entry pointing at the reference `route` yourself** (Mintlify's API tab maps to it); the reference does not create a header tab automatically. - -- **Vendor the spec.** Mintlify usually points at a spec **URL**. Copying that straight into `spec:` makes every build fetch it at build time — a single point of failure in CI/offline/behind a proxy, and a failed fetch silently drops the reference (leaving the tab pointing at a route that 404s). Prefer downloading it into the repo (`curl … -o openapi/.json`) and pointing `spec` at that local path. If you keep the URL, report the dependency and consider a `prebuild` refresh-with-fallback. -- **Fix endpoint links.** Blume operation routes are `//` (tag `Models` + id `listModels` → `/api-reference/models/listmodels`) — this differs from Mintlify's endpoint URLs, so **rewrite every inbound link to an operation**. `blume validate` resolves operation pages like any other route and flags the ones you miss. -- **Keep the "Introduction" page.** Mintlify commonly has a written intro/auth page in an "Introduction" group beside the "Endpoints" (openapi) group in the same tab. Keep it: a normal content page placed under the openapi `route` (e.g. `/api-reference/introduction.mdx`) merges into the reference tab's sidebar alongside the generated operations. Delete only the per-endpoint stubs, not the conceptual pages. - -## Assets - -Mintlify serves every top-level dir (e.g. `/images`) at the site root. Blume serves `public/` at the site root. **Move root asset dirs into `public/`** (`mv images public/images`) — every `/images/...` reference still resolves, unchanged. Move loose root files (`logo.png`, `favicon.png`) under `public/` too. - -## i18n - -`navigation.languages` (≥2) → `i18n: { defaultLocale, locales: [{ code, label }] }`. The `default: true` language → `defaultLocale`. Translated content already lives in ISO-code directories, which match Blume's `dir` parser — no file moves. Remove any language selector; language switching is handled by i18n. - -## Dropped — report these - -- **`navbar.primary`** (the prominent header **CTA button**, e.g. "Get Started"/"Sign Up") → no button equivalent; re-add via `navigation.tabs`, a `navigation.featured` link, or a Header override. (Plain `navbar.links` and `anchors` map to `navigation.featured` — see Navigation above, not here.) -- **`footer.socials`** → suggest the `github` config, or a Footer override. -- **Per-language banners** (`navigation.languages[].banner`) → no equivalent. -- **Dynamic redirects** (`:slug*`/`:id` params) → can't be static path-to-path; move to host rules (`_redirects`, `vercel.json`). -- **``** changelog components, `iconType`, `background.decoration`, `search.prompt`, `seo.metatags`. diff --git a/dot_agents/skills/blume-migrate/references/monorepo.md b/dot_agents/skills/blume-migrate/references/monorepo.md deleted file mode 100644 index dac98bc..0000000 --- a/dot_agents/skills/blume-migrate/references/monorepo.md +++ /dev/null @@ -1,225 +0,0 @@ -# Migrating into a real repo (monorepos, pnpm, Vercel) - -The framework references (`mintlify.md`, etc.) cover translating _content and config_. This file covers the **host repo** the docs live in — the concerns that surface when the target isn't a bare docs folder but a pnpm/Turbo workspace deployed on Vercel. All six were real failures in a production migration; none are Blume bugs, they're integration steps. - -**Golden rule for this whole file: detect, then edit surgically, then say what you changed and why.** Every edit here touches a file the repo owns (`pnpm-workspace.yaml`, `vercel.json`, `package.json`, the lockfile). Never guess a path depth or a workspace name — read it out of the repo first. Where a step can't be fully automated (the Astro patch, the Vercel Root Directory setting), leave a copy-pasteable manual instruction rather than a half-applied change. - ---- - -## 1. Non-standard content layout → scope `content.root` + `include` - -`content.root` defaults to `"docs"`, and `blume` runs from the directory that holds `blume.config.ts` (in a monorepo, that's the docs _package_, e.g. `apps/docs/`). Many repos **don't** have a `docs/` subfolder — the content sits directly under the app dir in topic folders (`apps/docs/api/`, `apps/docs/getting-started/`). With the default root, Blume looks for `apps/docs/docs/` and finds nothing. - -**Detect by finding where `.md`/`.mdx` actually live** — never assume `docs/`. From the docs package dir: - -```bash -# top two path segments of every content file, deduped — your content folders -find . -path ./node_modules -prune -o \( -name '*.md' -o -name '*.mdx' \) -print \ - | sed 's|^\./||' | cut -d/ -f1 | sort -u -``` - -If that lists a real `docs` folder, keep the default. If it lists content folders directly (`api`, `getting-started`, `guides`), the content root is the package dir itself. - -**Set `content.root` to the package dir and scope with explicit `include` globs — do _not_ use `content.root: "."` alone.** A bare `.` root scans the whole package: `src/`, `public/`, `README.md`, config files, and (in a monorepo) anything a loose glob reaches. That's slow and pulls non-content Markdown into the site. Instead pin `root` and list the real content folders in `content.include`: - -```ts blume.config.ts -import { defineConfig } from "blume"; - -export default defineConfig({ - content: { - root: ".", // content sits directly under this package (apps/docs/), no docs/ subfolder - // include/exclude globs are relative to `content.root`. List the actual - // content folders so the scan never wanders into src/, public/, etc. - include: [ - "api/**/*.{md,mdx}", - "getting-started/**/*.{md,mdx}", - "guides/**/*.{md,mdx}", - ], - exclude: ["**/node_modules/**", "**/_*", "**/.*"], - }, -}); -``` - -Schema field names, exactly: **`content.root`** (string, relative to the project/cwd), **`content.include`** (array of globs, relative to `content.root`, default `["**/*.{md,mdx}"]`), **`content.exclude`** (array of globs, relative to `content.root`, default `["**/_*", "**/.*"]`). Singular `include`/`exclude`, both arrays. - -Report to the user: the detected content root, the folders you scoped `include` to, and anything Markdown you deliberately left out (a top-level `README.md`, a `CHANGELOG.md`) so they can confirm it isn't content. - ---- - -## 2. pnpm `minimumReleaseAge` blocks installing fresh Blume - -pnpm's supply-chain guard (`minimumReleaseAge`, often set to `1440` = 24h) refuses to install any package version published more recently than the window. Right after Blume publishes, that's **every** Blume release — so `pnpm add blume` / the workspace install fails or silently pins an older version. - -**Do not disable the policy globally** — that removes the guard for the whole dependency tree. Add **only `blume`** to the exclude list. - -**Detect** in `pnpm-workspace.yaml` (pnpm 10+, the primary location) and, for older setups, `.npmrc`: - -```bash -grep -rn "minimumReleaseAge\|minimum-release-age" pnpm-workspace.yaml .npmrc 2>/dev/null -``` - -**Fix — `pnpm-workspace.yaml`** (surgical add; create the key if the policy is set but no exclude exists): - -```yaml -minimumReleaseAge: 1440 -minimumReleaseAgeExclude: - - blume -``` - -**Fix — `.npmrc`** form (if the policy lives there instead): - -```ini -minimum-release-age=1440 -minimum-release-age-exclude[]=blume -``` - -Report: "Added `blume` to `minimumReleaseAgeExclude` so the just-published version installs; the release-age guard still applies to everything else." - ---- - -## 3. Frozen lockfile — regenerate and commit `pnpm-lock.yaml` in the same change - -CI and Vercel install with `--frozen-lockfile` (pnpm's default in CI): if `package.json` and `pnpm-lock.yaml` disagree by even one dependency, the install **fails immediately** — before any build step runs. A migration always edits dependencies (add `blume`, drop the old framework), so the lockfile is guaranteed stale. - -**After every dependency edit, regenerate the lockfile and stage it with the manifest:** - -```bash -pnpm install # NOT --frozen-lockfile — this rewrites pnpm-lock.yaml -git add package.json apps/docs/package.json pnpm-lock.yaml -``` - -Rules: - -- Run `pnpm install` (plain) from the **workspace root**, not the docs package, so the single root lockfile updates. -- The lockfile change belongs in the **same commit** as the `package.json` change. A commit that edits deps without the matching lockfile is a broken build for anyone who pulls it. -- Verify locally the way CI will: `pnpm install --frozen-lockfile` should succeed with no diff. If it errors "lockfile not up to date," you forgot the plain install. - ---- - -## 4. Vercel monorepo recipe (root-aware install + build) - -A plain `blume build` works locally, but Vercel in a workspace needs three things aligned: the install must run at the **workspace root** (so pnpm resolves the whole graph under a frozen lockfile), the build must run in the **docs package**, and Vercel must be pointed at the built `dist/`. `blume build` emits a static site to `dist/` **relative to where it runs** — so building in `apps/docs/` produces `apps/docs/dist/`. - -This is a **copyable template**, not prose. Three pieces: - -**a) Docs package `apps/docs/package.json`** — the standard Blume scripts: - -```json -{ - "scripts": { - "dev": "blume dev", - "build": "blume build", - "preview": "blume preview" - }, - "dependencies": { - "blume": "^1" - } -} -``` - -**b) `apps/docs/vercel.json`** — root-aware install, local build, `dist` output: - -```json -{ - "$schema": "https://openapi.vercel.sh/vercel.json", - "framework": null, - "installCommand": "cd ../.. && pnpm install --frozen-lockfile", - "buildCommand": "pnpm run build", - "outputDirectory": "dist" -} -``` - -**c) The one setting `vercel.json` can't hold — set it in the Vercel project (dashboard → Settings → General, or `vercel` CLI):** - -- **Root Directory** = `apps/docs`. This makes install/build/output paths resolve from the docs package, which is what the `vercel.json` above assumes. -- **Node version** = 22 or newer (Blume requires it). Or pin it in the docs package: `"engines": { "node": ">=22" }`. - -How the pieces fit, with Root Directory = `apps/docs`: - -- `installCommand` does `cd ../..` to reach the **workspace root** and runs a frozen install of the whole graph. **Adjust `../..` to the app's actual depth** — an app at `packages/web/docs/` needs `cd ../../..`. Read the path; don't assume two levels. -- `buildCommand` runs in `apps/docs/` and invokes `blume build` (via the package's `build` script) → emits `apps/docs/dist/`. -- `outputDirectory: "dist"` is relative to the Root Directory (`apps/docs`), so it points at `apps/docs/dist/`. -- `framework: null` stops Vercel from auto-detecting Astro and overriding your build/output with its Astro preset (which expects a different output path). Blume's static output is plain files — Vercel just serves the folder. - -If the repo uses **Turborepo**, you can instead build through the root pipeline — `"buildCommand": "cd ../.. && pnpm turbo build --filter=docs"` — for remote-cache reuse. Keep `outputDirectory: "dist"` and Root Directory `apps/docs`. - -Report every piece you wrote and the two dashboard settings the user must set by hand (Root Directory, Node version) — those can't be committed. - -**Redirect caveat on this deploy path:** a static build emits `vercel.json` redirect rules into `dist/`, but Vercel's **git-integration** builds read `vercel.json` only from the project's Root Directory — the copy inside `dist/` is honored only when the dist folder is deployed directly via the Vercel CLI. On the §4 setup, `blume.config.ts` redirects still work (Blume also emits per-route meta-refresh pages), but they're soft redirects, not real 3xx. If real 3xx responses matter (SEO for a large moved site), copy the generated redirect rules from `dist/vercel.json` after a build into the committed `apps/docs/vercel.json`'s `redirects` array, and note they must be re-synced when `redirects` change. (Most migrations are fine with the soft fallback — say which you chose.) - ---- - -## 5. Astro/Vite version mismatch → pnpm patch (manual) - -Blume pins **`astro ^7`**. If the workspace forces a specific **Vite** version — a root `pnpm.overrides` / `resolutions` entry, or a `vite` in the workspace catalog — that pinned Vite can diverge from the version Astro 7 expects, and Astro's internal build behavior mismatches. The symptom is a **build-time crash inside Astro/Vite** (a Rollup/Vite internal error, a missing-export or hook-signature error deep in `astro`/`vite` during `blume build`) that doesn't reproduce in a clean, override-free project. - -**Detect the risk factor** before it bites: - -```bash -grep -rn "\"vite\"\|vite@\| vite:" pnpm-workspace.yaml package.json 2>/dev/null | grep -i "override\|resolution\|catalog\|vite" -``` - -Blume is adding early version validation separately, so a future release will flag this at startup. Until then, **recognize the symptom and apply a pinned patch** — pnpm's `patch` workflow writes a committed diff that pnpm reapplies on every install (survives CI and frozen installs): - -```bash -# 1. Open the offending version in an editable temp dir (use the exact version -# pnpm resolved — check `pnpm why astro`): -pnpm patch astro@7.0.6 - -# 2. Edit files in the printed temp path to reconcile the Astro/Vite interface -# (the exact edit depends on the mismatch; the crash's stack trace names the -# file and call site). Then commit the patch: -pnpm patch-commit '' -``` - -`patch-commit` writes `patches/astro@7.0.6.patch` and registers it under `patchedDependencies` in `pnpm-workspace.yaml` (pnpm 10+) or root `package.json` (`pnpm.patchedDependencies` on pnpm 9): - -```yaml -# pnpm-workspace.yaml -patchedDependencies: - astro@7.0.6: patches/astro@7.0.6.patch -``` - -Commit **both** `patches/astro@7.0.6.patch` and the `patchedDependencies` entry, then re-run `pnpm install` and `blume build`. - -This is a **manual step — do not fabricate the patch contents.** Leave the user this exact recipe plus the crash's stack trace, and tell them: the cleaner long-term fix is to relax the workspace's Vite pin so Astro 7 resolves its own compatible Vite, and drop the patch once Blume ships version validation. Don't fail silently — if a build crashes inside Astro/Vite and a Vite override exists, name this as the likely cause. - ---- - -## 6. Ultracite / oxfmt formatting → oxfmt patch (ship the bundled patch) - -If the repo uses (or the user wants to adopt) **[Ultracite](https://www.ultracite.ai)** for formatting — an `ultracite check` / `ultracite fix` script, an `ultracite` dev dep, or oxlint/oxfmt in the toolchain — it will format the migrated `.md`/`.mdx` **and break Blume's `:::` directives.** Ultracite's formatter is **oxfmt**, and under `proseWrap` oxfmt joins the opening/closing `:::` fence line into the surrounding prose, which invalidates the directive (`:::note` … `:::` callouts, tabs, steps — the exact syntax you convert callouts _into_ in step 5). Blume's own repo hits this and pins a patched oxfmt; a migrated repo needs the same patch or every directive silently degrades to literal text on the next `ultracite fix`. - -The fix is a committed **pnpm patch** (`patches/oxfmt@0.55.0.patch`), shipped with this skill at `assets/oxfmt@0.55.0.patch`. Unlike the Astro/Vite patch, this one is a **known, deterministic diff** — copy it in, don't regenerate it: - -```bash -# 1. Copy the shipped patch into the target repo's patches/ dir (keep the exact filename; -# = this skill's directory, the one containing SKILL.md): -mkdir -p patches -cp "/assets/oxfmt@0.55.0.patch" patches/oxfmt@0.55.0.patch -``` - -Then register it under `patchedDependencies` — `pnpm-workspace.yaml` on pnpm 10+, or root `package.json` (`pnpm.patchedDependencies`) on pnpm 9: - -```yaml -# pnpm-workspace.yaml -patchedDependencies: - oxfmt@0.55.0: patches/oxfmt@0.55.0.patch -``` - -Commit **both** the patch file and the `patchedDependencies` entry, then re-run `pnpm install`. - -- **The patch is pinned to `oxfmt@0.55.0`** (the version Ultracite 7.8.x resolves). pnpm requires an exact version match — if `pnpm why oxfmt` reports a different version, the patch won't apply. Bump the key to the resolved version (the hunk is a one-line prose-wrap guard and usually still applies cleanly); if it doesn't, tell the user and fall back to keeping directive-heavy files out of the formatter's globs. -- **Not on pnpm?** The patch mechanism is pnpm-specific. For npm/yarn, either pin oxfmt and apply the diff with `patch-package`, or exclude `.md`/`.mdx` from Ultracite formatting so it never touches the directives — report whichever you chose. - ---- - -## Checklist for a workspace migration - -- [ ] Located real content folders (not assumed `docs/`); set `content.root` + scoped `content.include`. -- [ ] `minimumReleaseAge` present? Added `blume` to `minimumReleaseAgeExclude` only. -- [ ] Ran plain `pnpm install`; committed `pnpm-lock.yaml` with the `package.json` change; verified `pnpm install --frozen-lockfile` is clean. -- [ ] Wrote `apps/docs/vercel.json` + package scripts; told the user to set Root Directory + Node 22 in the Vercel project. -- [ ] Checked for a workspace Vite override; if the build crashes inside Astro/Vite, gave the pnpm-patch recipe. -- [ ] Uses Ultracite/oxfmt? Shipped `patches/oxfmt@0.55.0.patch` + registered it under `patchedDependencies` so formatting doesn't mangle `:::` directives. -- [ ] Reported every repo-specific edit and every manual step left to the user. diff --git a/dot_agents/skills/blume-migrate/references/nextra.md b/dot_agents/skills/blume-migrate/references/nextra.md deleted file mode 100644 index 089a95c..0000000 --- a/dot_agents/skills/blume-migrate/references/nextra.md +++ /dev/null @@ -1,76 +0,0 @@ -# Nextra → Blume - -Nextra (on Next.js) declares navigation and per-page labels in `_meta` files — and crucially, **a folder's title and its pages' sidebar labels live in the _parent_ `_meta`**. Reconciling that cross-file inheritance is the main task. Nextra 4 was a near-rewrite, so **fingerprint the generation first** — it decides where config lives, where content lives, and what the components are called. - -## Detect & fingerprint the generation - -- **`_meta.{js,mjs,cjs,ts,jsx,tsx,json}`** files — the strongest fingerprint (v4 also has a single-file `_meta.global.*` variant). -- **v2/v3 (Pages Router):** content in `pages/`, `_meta.json` (v2) or `_meta.{js,ts}` (v3), a `theme.config.{js,jsx,ts,tsx}`, components from `nextra-theme-docs` (v2) or `nextra/components` (v3). -- **v4 (App Router):** **no `theme.config`** — config lives as component props in `app/layout.{jsx,tsx}` (``, ``, ``, `