@dsalazardev/ai-hub-cli 0.0.0-stage → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE.md +34 -0
- package/README.md +64 -2
- package/agents/cpp-build-resolver.md +25 -0
- package/agents/cpp-reviewer.md +28 -0
- package/agents/csharp-reviewer.md +28 -0
- package/agents/django-build-resolver.md +25 -0
- package/agents/django-reviewer.md +28 -0
- package/agents/explorer-domain.md +28 -0
- package/agents/fastapi-reviewer.md +28 -0
- package/agents/flutter-build-resolver.md +25 -0
- package/agents/flutter-reviewer.md +28 -0
- package/agents/go-build-resolver.md +25 -0
- package/agents/go-reviewer.md +28 -0
- package/agents/implementer-backend.md +30 -0
- package/agents/implementer-frontend.md +30 -0
- package/agents/java-build-resolver.md +26 -0
- package/agents/java-reviewer.md +29 -0
- package/agents/kotlin-build-resolver.md +25 -0
- package/agents/kotlin-reviewer.md +28 -0
- package/agents/mle-reviewer.md +28 -0
- package/agents/php-reviewer.md +29 -0
- package/agents/postgres-reviewer.md +28 -0
- package/agents/python-reviewer.md +28 -0
- package/agents/pytorch-build-resolver.md +25 -0
- package/agents/rag-reviewer.md +28 -0
- package/agents/react-build-resolver.md +26 -0
- package/agents/react-reviewer.md +29 -0
- package/agents/reviewer-architecture.md +32 -0
- package/agents/reviewer-tests.md +31 -0
- package/agents/rust-build-resolver.md +25 -0
- package/agents/rust-reviewer.md +28 -0
- package/agents/spec-author.md +36 -0
- package/agents/spec-miner.md +14 -0
- package/agents/swift-build-resolver.md +25 -0
- package/agents/swift-reviewer.md +28 -0
- package/agents/typescript-reviewer.md +28 -0
- package/agents/vue-reviewer.md +28 -0
- package/dist/backup/snapshots.d.ts +24 -0
- package/dist/backup/snapshots.js +171 -0
- package/dist/bin/ai-hub.d.ts +2 -0
- package/dist/bin/ai-hub.js +11 -0
- package/dist/catalog.d.ts +76 -0
- package/dist/catalog.js +321 -0
- package/dist/cli/args.d.ts +4 -0
- package/dist/cli/args.js +63 -0
- package/dist/cli/context.d.ts +7 -0
- package/dist/cli/context.js +79 -0
- package/dist/cli/doctor.d.ts +14 -0
- package/dist/cli/doctor.js +282 -0
- package/dist/cli/drift.d.ts +2 -0
- package/dist/cli/drift.js +34 -0
- package/dist/cli/items.d.ts +5 -0
- package/dist/cli/items.js +10 -0
- package/dist/cli/legacy.d.ts +3 -0
- package/dist/cli/legacy.js +18 -0
- package/dist/cli/maintenance.d.ts +8 -0
- package/dist/cli/maintenance.js +334 -0
- package/dist/cli/memory.d.ts +2 -0
- package/dist/cli/memory.js +89 -0
- package/dist/cli/onboarding.d.ts +36 -0
- package/dist/cli/onboarding.js +516 -0
- package/dist/cli/run.d.ts +15 -0
- package/dist/cli/run.js +185 -0
- package/dist/cli/source.d.ts +5 -0
- package/dist/cli/source.js +22 -0
- package/dist/cli/trunk.d.ts +8 -0
- package/dist/cli/trunk.js +54 -0
- package/dist/cli/types.d.ts +17 -0
- package/dist/cli/types.js +4 -0
- package/dist/cli/worktrees.d.ts +11 -0
- package/dist/cli/worktrees.js +141 -0
- package/dist/concurrency.d.ts +5 -0
- package/dist/concurrency.js +23 -0
- package/dist/engine/engine.d.ts +48 -0
- package/dist/engine/engine.js +114 -0
- package/dist/engine/gates.d.ts +2 -0
- package/dist/engine/gates.js +131 -0
- package/dist/frontmatter.d.ts +11 -0
- package/dist/frontmatter.js +30 -0
- package/dist/harness/guards/adapters/context.d.ts +19 -0
- package/dist/harness/guards/adapters/context.js +153 -0
- package/dist/harness/guards/adapters/hermes.d.ts +13 -0
- package/dist/harness/guards/adapters/hermes.js +18 -0
- package/dist/harness/guards/adapters/hooks.d.ts +25 -0
- package/dist/harness/guards/adapters/hooks.js +52 -0
- package/dist/harness/guards/branch.d.ts +5 -0
- package/dist/harness/guards/branch.js +43 -0
- package/dist/harness/guards/danger.d.ts +13 -0
- package/dist/harness/guards/danger.js +157 -0
- package/dist/harness/guards/index.d.ts +6 -0
- package/dist/harness/guards/index.js +6 -0
- package/dist/harness/guards/preflight.d.ts +14 -0
- package/dist/harness/guards/preflight.js +37 -0
- package/dist/harness/guards/ship.d.ts +2 -0
- package/dist/harness/guards/ship.js +35 -0
- package/dist/harness/guards/trunk.d.ts +5 -0
- package/dist/harness/guards/trunk.js +41 -0
- package/dist/harness/guards/types.d.ts +50 -0
- package/dist/harness/guards/types.js +1 -0
- package/dist/harness/memory/ledger.d.ts +53 -0
- package/dist/harness/memory/ledger.js +136 -0
- package/dist/harness/memory/state.d.ts +35 -0
- package/dist/harness/memory/state.js +121 -0
- package/dist/harness/worktree/reaper.d.ts +32 -0
- package/dist/harness/worktree/reaper.js +54 -0
- package/dist/manifest/build.d.ts +1 -0
- package/dist/manifest/build.js +1 -0
- package/dist/manifest/cli.d.ts +2 -0
- package/dist/manifest/cli.js +44 -0
- package/dist/manifest/dispatch.d.ts +13 -0
- package/dist/manifest/dispatch.js +36 -0
- package/dist/manifest/labels.d.ts +15 -0
- package/dist/manifest/labels.js +70 -0
- package/dist/manifest/manifest.d.ts +130 -0
- package/dist/manifest/manifest.js +220 -0
- package/dist/package-info.d.ts +4 -0
- package/dist/package-info.js +7 -0
- package/dist/paths.d.ts +33 -0
- package/dist/paths.js +123 -0
- package/dist/presets/detect.d.ts +24 -0
- package/dist/presets/detect.js +116 -0
- package/dist/presets/materialize.d.ts +26 -0
- package/dist/presets/materialize.js +192 -0
- package/dist/presets/resolve.d.ts +37 -0
- package/dist/presets/resolve.js +83 -0
- package/dist/presets/schema.d.ts +57 -0
- package/dist/presets/schema.js +68 -0
- package/dist/source-checkout.d.ts +8 -0
- package/dist/source-checkout.js +19 -0
- package/dist/sync/config.d.ts +47 -0
- package/dist/sync/config.js +85 -0
- package/dist/sync/lock.d.ts +16 -0
- package/dist/sync/lock.js +43 -0
- package/dist/sync/render.d.ts +18 -0
- package/dist/sync/render.js +259 -0
- package/dist/sync/sync.d.ts +38 -0
- package/dist/sync/sync.js +288 -0
- package/dist/sync/targets.d.ts +24 -0
- package/dist/sync/targets.js +78 -0
- package/engine/coupling.json +4 -0
- package/engine/engine.yaml +250 -0
- package/engine/legacy-paths.json +4 -0
- package/engine/preflight.md +11 -0
- package/manifest.json +402 -0
- package/package.json +62 -4
- package/presets/angular-express/harness/rules/01-zero-any.sh +25 -0
- package/presets/angular-express/harness/rules/02-no-ng-module.sh +21 -0
- package/presets/angular-express/harness/rules/03-no-constructor-injection.sh +21 -0
- package/presets/angular-express/harness/rules/04-no-legacy-directives.sh +21 -0
- package/presets/angular-express/harness/rules/05-no-dolibarrdal-inheritance.sh +25 -0
- package/presets/angular-express/harness/rules/06-no-todos.sh +22 -0
- package/presets/angular-express/harness/run-all.sh +13 -0
- package/presets/angular-express/preset.yaml +53 -0
- package/presets/angular-express/references/common-imports-catalog.md +146 -0
- package/presets/angular-express/references/fichajes-migration-notes.md +57 -0
- package/presets/angular-express/references/module-implementation-flow.md +260 -0
- package/presets/angular-express/references/products-coding-standard.md +143 -0
- package/presets/angular-express/references/products-module-blueprint.md +860 -0
- package/presets/angular-express/references/replicate-module-checklist.md +72 -0
- package/presets/angular-express/references/users-migration-notes.md +172 -0
- package/presets/angular-express/rules/architecture.md +8 -0
- package/presets/angular-express/rules/backend.md +4 -0
- package/presets/angular-express/rules/frontend.md +53 -0
- package/presets/angular-express/skills/angular-developer/SKILL.md +130 -0
- package/presets/angular-express/skills/angular-developer/references/angular-animations.md +160 -0
- package/presets/angular-express/skills/angular-developer/references/angular-aria.md +410 -0
- package/presets/angular-express/skills/angular-developer/references/cli.md +86 -0
- package/presets/angular-express/skills/angular-developer/references/component-harnesses.md +59 -0
- package/presets/angular-express/skills/angular-developer/references/component-styling.md +91 -0
- package/presets/angular-express/skills/angular-developer/references/components.md +117 -0
- package/presets/angular-express/skills/angular-developer/references/creating-services.md +97 -0
- package/presets/angular-express/skills/angular-developer/references/data-resolvers.md +69 -0
- package/presets/angular-express/skills/angular-developer/references/define-routes.md +67 -0
- package/presets/angular-express/skills/angular-developer/references/defining-providers.md +72 -0
- package/presets/angular-express/skills/angular-developer/references/di-fundamentals.md +120 -0
- package/presets/angular-express/skills/angular-developer/references/e2e-testing.md +66 -0
- package/presets/angular-express/skills/angular-developer/references/effects.md +83 -0
- package/presets/angular-express/skills/angular-developer/references/hierarchical-injectors.md +43 -0
- package/presets/angular-express/skills/angular-developer/references/host-elements.md +80 -0
- package/presets/angular-express/skills/angular-developer/references/injection-context.md +63 -0
- package/presets/angular-express/skills/angular-developer/references/inputs.md +101 -0
- package/presets/angular-express/skills/angular-developer/references/linked-signal.md +59 -0
- package/presets/angular-express/skills/angular-developer/references/loading-strategies.md +61 -0
- package/presets/angular-express/skills/angular-developer/references/mcp.md +106 -0
- package/presets/angular-express/skills/angular-developer/references/migrations.md +30 -0
- package/presets/angular-express/skills/angular-developer/references/navigate-to-routes.md +69 -0
- package/presets/angular-express/skills/angular-developer/references/outputs.md +86 -0
- package/presets/angular-express/skills/angular-developer/references/reactive-forms.md +122 -0
- package/presets/angular-express/skills/angular-developer/references/rendering-strategies.md +44 -0
- package/presets/angular-express/skills/angular-developer/references/resource.md +74 -0
- package/presets/angular-express/skills/angular-developer/references/route-animations.md +56 -0
- package/presets/angular-express/skills/angular-developer/references/route-guards.md +52 -0
- package/presets/angular-express/skills/angular-developer/references/router-lifecycle.md +45 -0
- package/presets/angular-express/skills/angular-developer/references/router-testing.md +87 -0
- package/presets/angular-express/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
- package/presets/angular-express/skills/angular-developer/references/signal-forms.md +897 -0
- package/presets/angular-express/skills/angular-developer/references/signals-overview.md +94 -0
- package/presets/angular-express/skills/angular-developer/references/tailwind-css.md +69 -0
- package/presets/angular-express/skills/angular-developer/references/template-driven-forms.md +114 -0
- package/presets/angular-express/skills/angular-developer/references/testing-fundamentals.md +66 -0
- package/presets/angular-express/skills/angular-new-app/SKILL.md +62 -0
- package/presets/angular-express/skills/frontend-design/LICENSE.txt +177 -0
- package/presets/angular-express/skills/frontend-design/SKILL.md +55 -0
- package/presets/angular-express/skills/onna-architecture-angular/SKILL.md +229 -0
- package/presets/angular-express/skills/onna-architecture-bff/SKILL.md +446 -0
- package/presets/angular-express/skills/onna-architecture-common/SKILL.md +313 -0
- package/presets/angular-express/skills/onna-design-system/SKILL.md +615 -0
- package/presets/base/preset.yaml +25 -0
- package/presets/base/rules/core.md +35 -0
- package/presets/generic-ts/preset.yaml +44 -0
- package/presets/python/preset.yaml +45 -0
- package/presets/python/rules/python.md +10 -0
- package/rules/skill-quality/skill-behavior-rubric.md +63 -0
- package/rules/skill-quality/skill-harden-rubric.md +102 -0
- package/rules/skill-quality/skill-migration-brief.md +200 -0
- package/rules/skill-quality/skill-rubric.md +40 -0
- package/schema/engine.schema.json +73 -0
- package/schema/manifest.schema.json +152 -0
- package/schema/preset.schema.json +98 -0
- package/schema/state.schema.json +27 -0
- package/skills/shared/ab-testing/SKILL.md +159 -0
- package/skills/shared/ab-testing/evals/README.md +8 -0
- package/skills/shared/ab-testing/evals/cases.yaml +49 -0
- package/skills/shared/ab-testing/references/pitfalls.md +74 -0
- package/skills/shared/ab-testing/references/sample-size-and-cuped.md +128 -0
- package/skills/shared/ab-testing/scripts/verify.sh +89 -0
- package/skills/shared/accessibility/SKILL.md +216 -0
- package/skills/shared/accessibility/evals/README.md +3 -0
- package/skills/shared/accessibility/evals/cases.yaml +47 -0
- package/skills/shared/accessibility/references/aria-patterns.md +113 -0
- package/skills/shared/accessibility/references/wcag22-checklist.md +83 -0
- package/skills/shared/accessibility/scripts/verify.sh +103 -0
- package/skills/shared/agent-eval/SKILL.md +187 -0
- package/skills/shared/agent-eval/evals/README.md +12 -0
- package/skills/shared/agent-eval/evals/cases.yaml +45 -0
- package/skills/shared/agent-eval/references/judge-design.md +118 -0
- package/skills/shared/agent-eval/references/runner-and-gate.md +183 -0
- package/skills/shared/agent-eval/scripts/verify.sh +161 -0
- package/skills/shared/agent-safety/SKILL.md +169 -0
- package/skills/shared/agent-safety/evals/README.md +12 -0
- package/skills/shared/agent-safety/evals/cases.yaml +46 -0
- package/skills/shared/agent-safety/references/threat-model.md +51 -0
- package/skills/shared/analyze/SKILL.md +123 -0
- package/skills/shared/analyze/evals/README.md +72 -0
- package/skills/shared/analyze/evals/cases.yaml +74 -0
- package/skills/shared/angular/SKILL.md +275 -0
- package/skills/shared/angular/evals/README.md +3 -0
- package/skills/shared/angular/evals/cases.yaml +38 -0
- package/skills/shared/angular/references/migration.md +81 -0
- package/skills/shared/angular/references/signals-rxjs.md +92 -0
- package/skills/shared/angular/scripts/verify.sh +122 -0
- package/skills/shared/api-connector-builder/SKILL.md +268 -0
- package/skills/shared/api-connector-builder/evals/README.md +11 -0
- package/skills/shared/api-connector-builder/evals/cases.yaml +47 -0
- package/skills/shared/api-connector-builder/references/auth-flows.md +132 -0
- package/skills/shared/api-connector-builder/references/pagination.md +144 -0
- package/skills/shared/api-connector-builder/scripts/verify.sh +172 -0
- package/skills/shared/api-design/SKILL.md +182 -0
- package/skills/shared/api-design/evals/README.md +3 -0
- package/skills/shared/api-design/evals/cases.yaml +45 -0
- package/skills/shared/api-design/references/graphql-design.md +70 -0
- package/skills/shared/api-design/references/openapi-contract.md +86 -0
- package/skills/shared/api-design/references/rest-conventions.md +63 -0
- package/skills/shared/api-design/references/versioning-and-evolution.md +49 -0
- package/skills/shared/api-design/scripts/verify.sh +138 -0
- package/skills/shared/astro/SKILL.md +257 -0
- package/skills/shared/astro/evals/README.md +3 -0
- package/skills/shared/astro/evals/cases.yaml +41 -0
- package/skills/shared/astro/references/content-layer.md +118 -0
- package/skills/shared/astro/references/deploy-and-integrations.md +163 -0
- package/skills/shared/astro/scripts/verify.sh +137 -0
- package/skills/shared/author-skill/SKILL.md +194 -0
- package/skills/shared/author-skill/evals/README.md +66 -0
- package/skills/shared/author-skill/evals/cases.yaml +75 -0
- package/skills/shared/author-skill/references/description-recipe.md +85 -0
- package/skills/shared/author-skill/references/eval-authoring.md +108 -0
- package/skills/shared/author-skill/references/skill-conventions.md +95 -0
- package/skills/shared/automation-flows/SKILL.md +122 -0
- package/skills/shared/automation-flows/evals/README.md +5 -0
- package/skills/shared/automation-flows/evals/cases.yaml +44 -0
- package/skills/shared/automation-flows/references/error-handling.md +58 -0
- package/skills/shared/automation-flows/references/n8n-workflow-json.md +63 -0
- package/skills/shared/automation-flows/scripts/verify.sh +78 -0
- package/skills/shared/aws-essentials/SKILL.md +206 -0
- package/skills/shared/aws-essentials/evals/README.md +10 -0
- package/skills/shared/aws-essentials/evals/cases.yaml +44 -0
- package/skills/shared/aws-essentials/references/iam-least-privilege.md +134 -0
- package/skills/shared/aws-essentials/references/rds-cloudfront-recipes.md +127 -0
- package/skills/shared/aws-essentials/scripts/verify.sh +99 -0
- package/skills/shared/backups/SKILL.md +131 -0
- package/skills/shared/backups/evals/README.md +3 -0
- package/skills/shared/backups/evals/cases.yaml +42 -0
- package/skills/shared/backups/references/engine-recipes.md +121 -0
- package/skills/shared/backups/references/restore-runbook.md +65 -0
- package/skills/shared/backups/scripts/verify.sh +80 -0
- package/skills/shared/bash-scripting/SKILL.md +227 -0
- package/skills/shared/bash-scripting/evals/README.md +3 -0
- package/skills/shared/bash-scripting/evals/cases.yaml +45 -0
- package/skills/shared/bash-scripting/references/portability.md +97 -0
- package/skills/shared/bash-scripting/scripts/verify.sh +140 -0
- package/skills/shared/building-agents/SKILL.md +386 -0
- package/skills/shared/building-agents/evals/README.md +68 -0
- package/skills/shared/building-agents/evals/cases.yaml +60 -0
- package/skills/shared/building-agents/references/agent-loops-and-harness.md +371 -0
- package/skills/shared/building-agents/references/evals-and-observability.md +420 -0
- package/skills/shared/building-agents/references/mcp-servers.md +294 -0
- package/skills/shared/building-agents/references/provider-abstraction.md +489 -0
- package/skills/shared/building-agents/references/tools-and-rag.md +417 -0
- package/skills/shared/building-agents/scripts/verify.sh +121 -0
- package/skills/shared/chatbot/SKILL.md +151 -0
- package/skills/shared/chatbot/evals/README.md +13 -0
- package/skills/shared/chatbot/evals/cases.yaml +43 -0
- package/skills/shared/chatbot/references/handoff-and-sales.md +71 -0
- package/skills/shared/chatbot/references/system-prompt-and-guardrails.md +78 -0
- package/skills/shared/chatbot/scripts/verify.sh +162 -0
- package/skills/shared/chrome-extension/SKILL.md +169 -0
- package/skills/shared/chrome-extension/evals/README.md +12 -0
- package/skills/shared/chrome-extension/evals/cases.yaml +40 -0
- package/skills/shared/chrome-extension/references/store-and-migration.md +84 -0
- package/skills/shared/chrome-extension/scripts/verify.sh +62 -0
- package/skills/shared/clarify/SKILL.md +161 -0
- package/skills/shared/clarify/evals/README.md +70 -0
- package/skills/shared/clarify/evals/cases.yaml +71 -0
- package/skills/shared/clickhouse-analytics/SKILL.md +159 -0
- package/skills/shared/clickhouse-analytics/evals/README.md +3 -0
- package/skills/shared/clickhouse-analytics/evals/cases.yaml +45 -0
- package/skills/shared/clickhouse-analytics/references/ingestion-and-mvs.md +109 -0
- package/skills/shared/clickhouse-analytics/references/query-optimization.md +76 -0
- package/skills/shared/clickhouse-analytics/references/schema-and-engines.md +63 -0
- package/skills/shared/clickhouse-analytics/scripts/verify.sh +109 -0
- package/skills/shared/cloudflare/SKILL.md +186 -0
- package/skills/shared/cloudflare/evals/README.md +15 -0
- package/skills/shared/cloudflare/evals/cases.yaml +46 -0
- package/skills/shared/cloudflare/references/storage-primitives.md +104 -0
- package/skills/shared/cloudflare/references/wrangler-config.md +91 -0
- package/skills/shared/cloudflare/scripts/verify.sh +133 -0
- package/skills/shared/code-review/SKILL.md +132 -0
- package/skills/shared/code-review/evals/README.md +3 -0
- package/skills/shared/code-review/evals/cases.yaml +55 -0
- package/skills/shared/code-review/references/pr-workflow.md +67 -0
- package/skills/shared/codebase-onboarding/SKILL.md +128 -0
- package/skills/shared/codebase-onboarding/evals/README.md +3 -0
- package/skills/shared/codebase-onboarding/evals/cases.yaml +69 -0
- package/skills/shared/codebase-onboarding/references/recon-playbook.md +57 -0
- package/skills/shared/codebase-onboarding/scripts/verify.sh +54 -0
- package/skills/shared/compose-multiplatform/SKILL.md +198 -0
- package/skills/shared/compose-multiplatform/evals/README.md +3 -0
- package/skills/shared/compose-multiplatform/evals/cases.yaml +40 -0
- package/skills/shared/compose-multiplatform/references/ios-interop.md +91 -0
- package/skills/shared/compose-multiplatform/references/project-setup.md +96 -0
- package/skills/shared/compose-multiplatform/scripts/verify.sh +123 -0
- package/skills/shared/connect-tool/SKILL.md +163 -0
- package/skills/shared/connect-tool/evals/cases.yaml +58 -0
- package/skills/shared/constitution/SKILL.md +158 -0
- package/skills/shared/constitution/evals/README.md +68 -0
- package/skills/shared/constitution/evals/cases.yaml +72 -0
- package/skills/shared/constitution/references/constitution-template.md +100 -0
- package/skills/shared/context-budget/SKILL.md +114 -0
- package/skills/shared/context-budget/evals/README.md +11 -0
- package/skills/shared/context-budget/evals/cases.yaml +40 -0
- package/skills/shared/context-budget/references/handoff-and-compaction.md +96 -0
- package/skills/shared/continuous-learning/SKILL.md +106 -0
- package/skills/shared/continuous-learning/evals/README.md +16 -0
- package/skills/shared/continuous-learning/evals/cases.yaml +39 -0
- package/skills/shared/continuous-learning/references/lesson-routing.md +106 -0
- package/skills/shared/coolify/SKILL.md +194 -0
- package/skills/shared/coolify/evals/README.md +21 -0
- package/skills/shared/coolify/evals/cases.yaml +46 -0
- package/skills/shared/coolify/references/databases-and-backups.md +99 -0
- package/skills/shared/coolify/references/deploy-recipes.md +105 -0
- package/skills/shared/coolify/references/install-and-proxy.md +80 -0
- package/skills/shared/coolify/scripts/verify.sh +123 -0
- package/skills/shared/cost-tracking/SKILL.md +176 -0
- package/skills/shared/cost-tracking/evals/README.md +3 -0
- package/skills/shared/cost-tracking/evals/cases.yaml +45 -0
- package/skills/shared/cost-tracking/references/cloud-caps.md +52 -0
- package/skills/shared/cost-tracking/references/pricing-tables.md +51 -0
- package/skills/shared/cost-tracking/scripts/verify.sh +135 -0
- package/skills/shared/cpp/SKILL.md +302 -0
- package/skills/shared/cpp/evals/README.md +14 -0
- package/skills/shared/cpp/evals/cases.yaml +44 -0
- package/skills/shared/cpp/references/cmake.md +167 -0
- package/skills/shared/cpp/references/move-and-templates.md +130 -0
- package/skills/shared/cpp/references/undefined-behavior.md +86 -0
- package/skills/shared/cpp/scripts/verify.sh +165 -0
- package/skills/shared/csharp-dotnet/SKILL.md +272 -0
- package/skills/shared/csharp-dotnet/evals/README.md +3 -0
- package/skills/shared/csharp-dotnet/evals/cases.yaml +48 -0
- package/skills/shared/csharp-dotnet/references/aspnetcore.md +99 -0
- package/skills/shared/csharp-dotnet/references/async.md +82 -0
- package/skills/shared/csharp-dotnet/references/efcore.md +96 -0
- package/skills/shared/csharp-dotnet/scripts/verify.sh +90 -0
- package/skills/shared/data-cleaning/SKILL.md +259 -0
- package/skills/shared/data-cleaning/evals/README.md +16 -0
- package/skills/shared/data-cleaning/evals/cases.yaml +57 -0
- package/skills/shared/data-cleaning/references/normalization-recipes.md +136 -0
- package/skills/shared/data-cleaning/references/validation-patterns.md +134 -0
- package/skills/shared/data-cleaning/scripts/verify.sh +115 -0
- package/skills/shared/data-scraper/SKILL.md +130 -0
- package/skills/shared/data-scraper/evals/README.md +3 -0
- package/skills/shared/data-scraper/evals/cases.yaml +46 -0
- package/skills/shared/data-scraper/references/anti-bot.md +85 -0
- package/skills/shared/data-scraper/references/frameworks.md +116 -0
- package/skills/shared/data-scraper/references/legal-compliance.md +64 -0
- package/skills/shared/data-scraper/scripts/verify.sh +166 -0
- package/skills/shared/db-migrations/SKILL.md +237 -0
- package/skills/shared/db-migrations/evals/README.md +10 -0
- package/skills/shared/db-migrations/evals/cases.yaml +46 -0
- package/skills/shared/db-migrations/references/backfill-and-batching.md +105 -0
- package/skills/shared/db-migrations/references/expand-contract-playbook.md +152 -0
- package/skills/shared/db-migrations/references/tools-and-runners.md +88 -0
- package/skills/shared/db-migrations/scripts/verify.sh +112 -0
- package/skills/shared/debug/SKILL.md +188 -0
- package/skills/shared/debug/evals/README.md +88 -0
- package/skills/shared/debug/evals/cases.yaml +74 -0
- package/skills/shared/decision-challenge/SKILL.md +113 -0
- package/skills/shared/decision-challenge/evals/README.md +3 -0
- package/skills/shared/decision-challenge/evals/cases.yaml +42 -0
- package/skills/shared/decision-records/SKILL.md +202 -0
- package/skills/shared/decision-records/evals/README.md +3 -0
- package/skills/shared/decision-records/evals/cases.yaml +43 -0
- package/skills/shared/decision-records/references/templates.md +252 -0
- package/skills/shared/decision-records/scripts/verify.sh +105 -0
- package/skills/shared/deep-learning/SKILL.md +226 -0
- package/skills/shared/deep-learning/evals/README.md +11 -0
- package/skills/shared/deep-learning/evals/cases.yaml +48 -0
- package/skills/shared/deep-learning/references/distributed.md +105 -0
- package/skills/shared/deep-learning/references/training-recipes.md +135 -0
- package/skills/shared/deployment/SKILL.md +374 -0
- package/skills/shared/deployment/evals/README.md +50 -0
- package/skills/shared/deployment/evals/cases.yaml +53 -0
- package/skills/shared/deployment/references/coolify.md +216 -0
- package/skills/shared/deployment/references/dockerfiles-by-stack.md +319 -0
- package/skills/shared/deployment/references/github-actions.md +295 -0
- package/skills/shared/deployment/references/hosting-targets.md +272 -0
- package/skills/shared/deployment/scripts/verify.sh +134 -0
- package/skills/shared/deprecation/SKILL.md +123 -0
- package/skills/shared/deprecation/evals/README.md +3 -0
- package/skills/shared/deprecation/evals/cases.yaml +42 -0
- package/skills/shared/design/IMPECCABLE-LICENSE.txt +191 -0
- package/skills/shared/design/SKILL.md +111 -0
- package/skills/shared/design/THIRD_PARTY.md +26 -0
- package/skills/shared/design/engine/LICENSE +21 -0
- package/skills/shared/design/engine/RUN.md +515 -0
- package/skills/shared/design/engine/UPSTREAM.json +4 -0
- package/skills/shared/design/engine/assets/app.css +216 -0
- package/skills/shared/design/engine/assets/base.css +105 -0
- package/skills/shared/design/engine/assets/base.js +37 -0
- package/skills/shared/design/engine/assets/charts.js +617 -0
- package/skills/shared/design/engine/assets/scenes/stage.css +28 -0
- package/skills/shared/design/engine/assets/scenes/stage.js +133 -0
- package/skills/shared/design/engine/library/app.json +1327 -0
- package/skills/shared/design/engine/library/directions.json +1078 -0
- package/skills/shared/design/engine/library/heroes.json +1086 -0
- package/skills/shared/design/engine/library/motions.json +92 -0
- package/skills/shared/design/engine/library/palettes.json +1485 -0
- package/skills/shared/design/engine/library/photos.json +7240 -0
- package/skills/shared/design/engine/library/sections.json +4429 -0
- package/skills/shared/design/engine/library/sites.json +8350 -0
- package/skills/shared/design/engine/library/type.json +2024 -0
- package/skills/shared/design/engine/references/app-screens.md +1199 -0
- package/skills/shared/design/engine/references/colour.md +141 -0
- package/skills/shared/design/engine/references/copy.md +177 -0
- package/skills/shared/design/engine/references/critique.md +182 -0
- package/skills/shared/design/engine/references/imagery.md +791 -0
- package/skills/shared/design/engine/references/layout.md +292 -0
- package/skills/shared/design/engine/references/motion.md +980 -0
- package/skills/shared/design/engine/references/research.md +356 -0
- package/skills/shared/design/engine/references/scenes.md +174 -0
- package/skills/shared/design/engine/references/tells.md +115 -0
- package/skills/shared/design/engine/references/type.md +170 -0
- package/skills/shared/design/engine/scripts/assets.mjs +865 -0
- package/skills/shared/design/engine/scripts/draw.mjs +584 -0
- package/skills/shared/design/engine/scripts/inspect.mjs +303 -0
- package/skills/shared/design/engine/scripts/lib/app-draw.mjs +203 -0
- package/skills/shared/design/engine/scripts/lib/cdp.mjs +248 -0
- package/skills/shared/design/engine/scripts/lib/probe.mjs +909 -0
- package/skills/shared/design/engine/scripts/lib/rules.mjs +243 -0
- package/skills/shared/design/engine/scripts/lint.mjs +119 -0
- package/skills/shared/design/engine/scripts/scenes.mjs +124 -0
- package/skills/shared/design/evals/cases.yaml +45 -0
- package/skills/shared/design/references/design-md.md +49 -0
- package/skills/shared/design/references/finish-review.md +46 -0
- package/skills/shared/design/references/modes.md +51 -0
- package/skills/shared/digitalocean/SKILL.md +227 -0
- package/skills/shared/digitalocean/evals/README.md +10 -0
- package/skills/shared/digitalocean/evals/cases.yaml +37 -0
- package/skills/shared/digitalocean/references/app-spec.md +126 -0
- package/skills/shared/digitalocean/references/droplet-ops.md +95 -0
- package/skills/shared/digitalocean/scripts/verify.sh +102 -0
- package/skills/shared/django/SKILL.md +263 -0
- package/skills/shared/django/evals/README.md +11 -0
- package/skills/shared/django/evals/cases.yaml +47 -0
- package/skills/shared/django/references/drf.md +109 -0
- package/skills/shared/django/references/orm-performance.md +91 -0
- package/skills/shared/django/references/security.md +81 -0
- package/skills/shared/django/references/testing.md +86 -0
- package/skills/shared/django/scripts/verify.sh +115 -0
- package/skills/shared/docker/SKILL.md +251 -0
- package/skills/shared/docker/evals/README.md +10 -0
- package/skills/shared/docker/evals/cases.yaml +44 -0
- package/skills/shared/docker/references/base-images-and-stages.md +104 -0
- package/skills/shared/docker/references/compose-recipes.md +109 -0
- package/skills/shared/docker/scripts/verify.sh +149 -0
- package/skills/shared/domains-dns/SKILL.md +131 -0
- package/skills/shared/domains-dns/evals/README.md +16 -0
- package/skills/shared/domains-dns/evals/cases.yaml +47 -0
- package/skills/shared/domains-dns/references/record-cookbook.md +94 -0
- package/skills/shared/domains-dns/references/tls-and-acme.md +90 -0
- package/skills/shared/domains-dns/references/verify-and-debug.md +64 -0
- package/skills/shared/domains-dns/scripts/verify.sh +163 -0
- package/skills/shared/drizzle-orm/SKILL.md +231 -0
- package/skills/shared/drizzle-orm/evals/README.md +12 -0
- package/skills/shared/drizzle-orm/evals/cases.yaml +47 -0
- package/skills/shared/drizzle-orm/references/relations-and-drivers.md +118 -0
- package/skills/shared/drizzle-orm/scripts/verify.sh +155 -0
- package/skills/shared/duckdb/SKILL.md +202 -0
- package/skills/shared/duckdb/evals/README.md +31 -0
- package/skills/shared/duckdb/evals/cases.yaml +41 -0
- package/skills/shared/duckdb/references/python-and-interop.md +105 -0
- package/skills/shared/duckdb/references/remote-and-lakehouse.md +101 -0
- package/skills/shared/duckdb/scripts/verify.sh +71 -0
- package/skills/shared/dynamodb/SKILL.md +204 -0
- package/skills/shared/dynamodb/evals/README.md +8 -0
- package/skills/shared/dynamodb/evals/cases.yaml +46 -0
- package/skills/shared/dynamodb/references/access-patterns.md +127 -0
- package/skills/shared/dynamodb/references/capacity-and-limits.md +78 -0
- package/skills/shared/dynamodb/scripts/verify.sh +108 -0
- package/skills/shared/e2e-testing/SKILL.md +233 -0
- package/skills/shared/e2e-testing/evals/README.md +10 -0
- package/skills/shared/e2e-testing/evals/cases.yaml +64 -0
- package/skills/shared/e2e-testing/references/config-and-ci.md +156 -0
- package/skills/shared/e2e-testing/references/flakiness-playbook.md +124 -0
- package/skills/shared/e2e-testing/scripts/verify.sh +117 -0
- package/skills/shared/electron/SKILL.md +209 -0
- package/skills/shared/electron/evals/README.md +13 -0
- package/skills/shared/electron/evals/cases.yaml +38 -0
- package/skills/shared/electron/references/packaging-and-updates.md +122 -0
- package/skills/shared/electron/references/security-and-ipc.md +158 -0
- package/skills/shared/electron/scripts/verify.sh +143 -0
- package/skills/shared/elixir/SKILL.md +209 -0
- package/skills/shared/elixir/evals/README.md +3 -0
- package/skills/shared/elixir/evals/cases.yaml +41 -0
- package/skills/shared/elixir/references/mix-and-releases.md +91 -0
- package/skills/shared/elixir/references/otp-patterns.md +96 -0
- package/skills/shared/elixir/scripts/verify.sh +76 -0
- package/skills/shared/email-deliverability/SKILL.md +148 -0
- package/skills/shared/email-deliverability/evals/README.md +21 -0
- package/skills/shared/email-deliverability/evals/cases.yaml +45 -0
- package/skills/shared/email-deliverability/scripts/verify.sh +98 -0
- package/skills/shared/embeddings-search/SKILL.md +184 -0
- package/skills/shared/embeddings-search/evals/README.md +10 -0
- package/skills/shared/embeddings-search/evals/cases.yaml +44 -0
- package/skills/shared/embeddings-search/references/evaluation.md +86 -0
- package/skills/shared/embeddings-search/references/models.md +73 -0
- package/skills/shared/embeddings-search/scripts/verify.sh +103 -0
- package/skills/shared/error-handling/SKILL.md +273 -0
- package/skills/shared/error-handling/evals/README.md +12 -0
- package/skills/shared/error-handling/evals/cases.yaml +46 -0
- package/skills/shared/error-handling/references/boundaries-and-messaging.md +120 -0
- package/skills/shared/error-handling/references/retry-and-resilience.md +154 -0
- package/skills/shared/error-handling/scripts/verify.sh +110 -0
- package/skills/shared/expo/SKILL.md +243 -0
- package/skills/shared/expo/evals/README.md +13 -0
- package/skills/shared/expo/evals/cases.yaml +44 -0
- package/skills/shared/expo/references/config-plugins.md +117 -0
- package/skills/shared/expo/references/eas-update.md +118 -0
- package/skills/shared/expo/scripts/verify.sh +132 -0
- package/skills/shared/fal/SKILL.md +196 -0
- package/skills/shared/fal/evals/README.md +3 -0
- package/skills/shared/fal/evals/cases.yaml +42 -0
- package/skills/shared/fal/references/models-and-cost.md +53 -0
- package/skills/shared/fal/references/queue-and-webhooks.md +153 -0
- package/skills/shared/fal/scripts/verify.sh +72 -0
- package/skills/shared/fastapi/SKILL.md +469 -0
- package/skills/shared/fastapi/evals/README.md +50 -0
- package/skills/shared/fastapi/evals/cases.yaml +55 -0
- package/skills/shared/fastapi/references/database.md +347 -0
- package/skills/shared/fastapi/references/production.md +338 -0
- package/skills/shared/fastapi/references/security.md +330 -0
- package/skills/shared/fastapi/references/testing.md +349 -0
- package/skills/shared/fastapi/scripts/verify.sh +157 -0
- package/skills/shared/finetuning/SKILL.md +232 -0
- package/skills/shared/finetuning/evals/README.md +13 -0
- package/skills/shared/finetuning/evals/cases.yaml +50 -0
- package/skills/shared/finetuning/references/hyperparameters-and-eval.md +74 -0
- package/skills/shared/finetuning/references/methods.md +189 -0
- package/skills/shared/firebase/SKILL.md +237 -0
- package/skills/shared/firebase/evals/README.md +12 -0
- package/skills/shared/firebase/evals/cases.yaml +45 -0
- package/skills/shared/firebase/references/cloud-functions.md +102 -0
- package/skills/shared/firebase/references/data-modeling.md +108 -0
- package/skills/shared/firebase/references/security-rules.md +137 -0
- package/skills/shared/firebase/scripts/verify.sh +98 -0
- package/skills/shared/flutter/SKILL.md +400 -0
- package/skills/shared/flutter/evals/README.md +54 -0
- package/skills/shared/flutter/evals/cases.yaml +69 -0
- package/skills/shared/flutter/references/architecture-and-state.md +499 -0
- package/skills/shared/flutter/references/i18n-and-dependencies.md +197 -0
- package/skills/shared/flutter/references/performance.md +299 -0
- package/skills/shared/flutter/references/testing.md +385 -0
- package/skills/shared/flutter/references/ui-and-navigation.md +378 -0
- package/skills/shared/flutter/scripts/verify.sh +104 -0
- package/skills/shared/fly-io/SKILL.md +197 -0
- package/skills/shared/fly-io/evals/README.md +3 -0
- package/skills/shared/fly-io/evals/cases.yaml +42 -0
- package/skills/shared/fly-io/references/fly-toml.md +155 -0
- package/skills/shared/fly-io/references/multi-region.md +66 -0
- package/skills/shared/fly-io/scripts/verify.sh +90 -0
- package/skills/shared/ftd/SKILL.md +111 -0
- package/skills/shared/ftd/evals/cases.yaml +66 -0
- package/skills/shared/ftd/evals/routing.json +24 -0
- package/skills/shared/game-design/SKILL.md +146 -0
- package/skills/shared/game-design/evals/README.md +13 -0
- package/skills/shared/game-design/evals/cases.yaml +47 -0
- package/skills/shared/game-design/references/mechanics-and-loops.md +78 -0
- package/skills/shared/game-design/references/playtesting-and-scope.md +58 -0
- package/skills/shared/game-design/references/progression-and-economy.md +70 -0
- package/skills/shared/game-storytelling/SKILL.md +134 -0
- package/skills/shared/game-storytelling/evals/README.md +28 -0
- package/skills/shared/game-storytelling/evals/cases.yaml +51 -0
- package/skills/shared/game-storytelling/references/branching-and-state.md +134 -0
- package/skills/shared/game-storytelling/references/dialogue-tools.md +117 -0
- package/skills/shared/game-storytelling/references/environmental-storytelling.md +71 -0
- package/skills/shared/gamedev-multiplayer/SKILL.md +237 -0
- package/skills/shared/gamedev-multiplayer/evals/README.md +12 -0
- package/skills/shared/gamedev-multiplayer/evals/cases.yaml +44 -0
- package/skills/shared/gamedev-multiplayer/references/godot-high-level-multiplayer.md +133 -0
- package/skills/shared/gamedev-multiplayer/references/prediction-and-latency.md +104 -0
- package/skills/shared/gamedev-multiplayer/references/unity-and-unreal-netcode.md +166 -0
- package/skills/shared/gamedev-pathing/SKILL.md +233 -0
- package/skills/shared/gamedev-pathing/evals/README.md +14 -0
- package/skills/shared/gamedev-pathing/evals/cases.yaml +49 -0
- package/skills/shared/gamedev-pathing/references/navmesh-workflow.md +110 -0
- package/skills/shared/gamedev-pathing/references/search-algorithms.md +135 -0
- package/skills/shared/gamedev-pathing/references/steering-and-avoidance.md +120 -0
- package/skills/shared/gamedev-physics/SKILL.md +225 -0
- package/skills/shared/gamedev-physics/evals/README.md +12 -0
- package/skills/shared/gamedev-physics/evals/cases.yaml +54 -0
- package/skills/shared/gamedev-physics/references/character-controllers.md +120 -0
- package/skills/shared/gamedev-physics/references/determinism-and-queries.md +124 -0
- package/skills/shared/gamedev-physics/references/layers-and-masks.md +115 -0
- package/skills/shared/gamedev-shaders/SKILL.md +232 -0
- package/skills/shared/gamedev-shaders/evals/README.md +14 -0
- package/skills/shared/gamedev-shaders/evals/cases.yaml +45 -0
- package/skills/shared/gamedev-shaders/references/effect-recipes.md +205 -0
- package/skills/shared/gamedev-shaders/references/godot-shading-language.md +133 -0
- package/skills/shared/gamedev-shaders/references/unity-and-unreal-shaders.md +169 -0
- package/skills/shared/gamedev-shipping/SKILL.md +220 -0
- package/skills/shared/gamedev-shipping/evals/README.md +9 -0
- package/skills/shared/gamedev-shipping/evals/cases.yaml +55 -0
- package/skills/shared/gamedev-shipping/references/mobile-and-desktop.md +127 -0
- package/skills/shared/gamedev-shipping/references/stores-and-ci.md +162 -0
- package/skills/shared/gamedev-shipping/references/web-export-headers.md +140 -0
- package/skills/shared/gcp-essentials/SKILL.md +324 -0
- package/skills/shared/gcp-essentials/evals/README.md +12 -0
- package/skills/shared/gcp-essentials/evals/cases.yaml +38 -0
- package/skills/shared/gcp-essentials/references/deploy-recipes.md +81 -0
- package/skills/shared/gcp-essentials/references/iam-and-auth.md +94 -0
- package/skills/shared/gcp-essentials/references/networking-and-sql.md +74 -0
- package/skills/shared/gcp-essentials/scripts/verify.sh +158 -0
- package/skills/shared/git-workflow/SKILL.md +214 -0
- package/skills/shared/git-workflow/evals/README.md +10 -0
- package/skills/shared/git-workflow/evals/cases.yaml +52 -0
- package/skills/shared/git-workflow/references/gitmoji.md +157 -0
- package/skills/shared/git-workflow/references/interactive-rebase.md +89 -0
- package/skills/shared/github-actions/SKILL.md +244 -0
- package/skills/shared/github-actions/evals/README.md +3 -0
- package/skills/shared/github-actions/evals/cases.yaml +45 -0
- package/skills/shared/github-actions/references/caching-and-matrix.md +92 -0
- package/skills/shared/github-actions/references/oidc-deploys.md +130 -0
- package/skills/shared/github-actions/scripts/verify.sh +105 -0
- package/skills/shared/gitlab-auth/SKILL.md +99 -0
- package/skills/shared/gitlab-workflow/SKILL.md +138 -0
- package/skills/shared/go/SKILL.md +390 -0
- package/skills/shared/go/evals/README.md +56 -0
- package/skills/shared/go/evals/cases.yaml +55 -0
- package/skills/shared/go/references/concurrency.md +557 -0
- package/skills/shared/go/references/http-services.md +529 -0
- package/skills/shared/go/references/testing.md +338 -0
- package/skills/shared/go/scripts/verify.sh +134 -0
- package/skills/shared/godot/SKILL.md +300 -0
- package/skills/shared/godot/evals/README.md +13 -0
- package/skills/shared/godot/evals/cases.yaml +50 -0
- package/skills/shared/godot/references/export-and-testing.md +102 -0
- package/skills/shared/godot/references/gdscript-style.md +84 -0
- package/skills/shared/godot/references/godot3-to-4-traps.md +89 -0
- package/skills/shared/godot/references/nodes-scenes-resources.md +109 -0
- package/skills/shared/harness/SKILL.md +316 -0
- package/skills/shared/harness/assets/_TEMPLATE/.env.example +8 -0
- package/skills/shared/harness/assets/_TEMPLATE/CREDENTIALS.md +25 -0
- package/skills/shared/harness/assets/_TEMPLATE/README.md +25 -0
- package/skills/shared/harness/assets/_TEMPLATE/gitignore +10 -0
- package/skills/shared/harness/assets/_TEMPLATE/test_connection.sh +30 -0
- package/skills/shared/harness/evals/README.md +54 -0
- package/skills/shared/harness/evals/cases.yaml +72 -0
- package/skills/shared/harness/examples/audit-example.md +120 -0
- package/skills/shared/harness/references/agents-md-template.md +41 -0
- package/skills/shared/harness/references/audit-report-template.html +140 -0
- package/skills/shared/harness/references/audit-report-template.md +116 -0
- package/skills/shared/harness/references/claude-md-template.md +85 -0
- package/skills/shared/harness/references/daily-curation-automation.md +68 -0
- package/skills/shared/harness/references/inbox-readme-template.md +51 -0
- package/skills/shared/harness/references/ingest-formats.md +185 -0
- package/skills/shared/harness/references/ingest-ignore-defaults.md +48 -0
- package/skills/shared/harness/references/obsidian-scaffolding.md +103 -0
- package/skills/shared/harness/references/providers.yaml +3546 -0
- package/skills/shared/harness/references/tools-readme-template.md +88 -0
- package/skills/shared/harness/references/wiki-archive-template.html +81 -0
- package/skills/shared/harness/references/wiki-article-template.md +60 -0
- package/skills/shared/harness/references/wiki-dashboard-template.html +136 -0
- package/skills/shared/harness/references/wiki-deep-improve-report-template.html +126 -0
- package/skills/shared/harness/references/wiki-gaps-template.md +22 -0
- package/skills/shared/harness/references/wiki-index-template.md +32 -0
- package/skills/shared/harness/references/wiki-protocol.md +926 -0
- package/skills/shared/harness/references/wiki-raw-template.md +7 -0
- package/skills/shared/harness/references/wiki-worklog-template.md +60 -0
- package/skills/shared/hetzner/SKILL.md +203 -0
- package/skills/shared/hetzner/evals/README.md +35 -0
- package/skills/shared/hetzner/evals/cases.yaml +46 -0
- package/skills/shared/hetzner/references/cloud-init.md +120 -0
- package/skills/shared/hetzner/references/plans-and-locations.md +56 -0
- package/skills/shared/hetzner/scripts/verify.sh +122 -0
- package/skills/shared/htmx/SKILL.md +261 -0
- package/skills/shared/htmx/evals/README.md +3 -0
- package/skills/shared/htmx/evals/cases.yaml +38 -0
- package/skills/shared/htmx/references/patterns.md +113 -0
- package/skills/shared/htmx/references/server-contract.md +91 -0
- package/skills/shared/htmx/scripts/verify.sh +93 -0
- package/skills/shared/huggingface/SKILL.md +191 -0
- package/skills/shared/huggingface/evals/README.md +11 -0
- package/skills/shared/huggingface/evals/cases.yaml +41 -0
- package/skills/shared/huggingface/references/endpoints-and-spaces.md +99 -0
- package/skills/shared/huggingface/references/hub-and-cli.md +85 -0
- package/skills/shared/huggingface/references/inference-providers.md +115 -0
- package/skills/shared/huggingface/scripts/verify.sh +123 -0
- package/skills/shared/idea-refinement/SKILL.md +121 -0
- package/skills/shared/idea-refinement/evals/README.md +3 -0
- package/skills/shared/idea-refinement/evals/cases.yaml +42 -0
- package/skills/shared/implement/SKILL.md +383 -0
- package/skills/shared/implement/evals/README.md +56 -0
- package/skills/shared/implement/evals/cases.yaml +43 -0
- package/skills/shared/implement/references/per-task-review.md +46 -0
- package/skills/shared/implement/scripts/review-package +59 -0
- package/skills/shared/implement/scripts/sdd-workspace +47 -0
- package/skills/shared/implement/scripts/task-brief +77 -0
- package/skills/shared/init/SKILL.md +209 -0
- package/skills/shared/init/evals/README.md +49 -0
- package/skills/shared/init/evals/cases.yaml +74 -0
- package/skills/shared/init/references/accompaniment-and-profile.md +122 -0
- package/skills/shared/init/references/discovery.md +90 -0
- package/skills/shared/init/references/recommend-skills.md +115 -0
- package/skills/shared/init/scripts/verify.sh +118 -0
- package/skills/shared/java/SKILL.md +341 -0
- package/skills/shared/java/evals/README.md +23 -0
- package/skills/shared/java/evals/cases.yaml +43 -0
- package/skills/shared/java/references/builds.md +133 -0
- package/skills/shared/java/references/concurrency.md +108 -0
- package/skills/shared/java/references/streams.md +102 -0
- package/skills/shared/java/scripts/verify.sh +107 -0
- package/skills/shared/knowledge-ops/SKILL.md +122 -0
- package/skills/shared/knowledge-ops/evals/README.md +16 -0
- package/skills/shared/knowledge-ops/evals/cases.yaml +50 -0
- package/skills/shared/knowledge-ops/references/gardening-playbook.md +126 -0
- package/skills/shared/kotlin-android/SKILL.md +245 -0
- package/skills/shared/kotlin-android/evals/README.md +13 -0
- package/skills/shared/kotlin-android/evals/cases.yaml +56 -0
- package/skills/shared/kotlin-android/references/architecture.md +200 -0
- package/skills/shared/kotlin-android/references/gradle-setup.md +125 -0
- package/skills/shared/kotlin-android/scripts/verify.sh +109 -0
- package/skills/shared/laravel/SKILL.md +301 -0
- package/skills/shared/laravel/evals/README.md +10 -0
- package/skills/shared/laravel/evals/cases.yaml +45 -0
- package/skills/shared/laravel/references/eloquent-patterns.md +126 -0
- package/skills/shared/laravel/references/queues-and-scheduling.md +153 -0
- package/skills/shared/laravel/scripts/verify.sh +128 -0
- package/skills/shared/level-design/SKILL.md +143 -0
- package/skills/shared/level-design/evals/README.md +35 -0
- package/skills/shared/level-design/evals/cases.yaml +58 -0
- package/skills/shared/level-design/references/blockout-to-art.md +118 -0
- package/skills/shared/level-design/references/guidance-and-readability.md +152 -0
- package/skills/shared/level-design/references/pacing-and-encounters.md +142 -0
- package/skills/shared/llm-pipeline/SKILL.md +150 -0
- package/skills/shared/llm-pipeline/evals/README.md +3 -0
- package/skills/shared/llm-pipeline/evals/cases.yaml +44 -0
- package/skills/shared/llm-pipeline/references/caching-layers.md +60 -0
- package/skills/shared/llm-pipeline/references/litellm-router.md +101 -0
- package/skills/shared/llm-pipeline/scripts/verify.sh +169 -0
- package/skills/shared/machine-learning/SKILL.md +228 -0
- package/skills/shared/machine-learning/evals/README.md +15 -0
- package/skills/shared/machine-learning/evals/cases.yaml +54 -0
- package/skills/shared/machine-learning/references/gbdt-and-tuning.md +83 -0
- package/skills/shared/machine-learning/references/metrics-and-imbalance.md +82 -0
- package/skills/shared/machine-learning/references/pipelines-and-cv.md +135 -0
- package/skills/shared/modal/SKILL.md +290 -0
- package/skills/shared/modal/evals/README.md +29 -0
- package/skills/shared/modal/evals/cases.yaml +50 -0
- package/skills/shared/modal/references/images-gpu-cookbook.md +160 -0
- package/skills/shared/modal/references/web-and-scaling.md +138 -0
- package/skills/shared/modal/scripts/verify.sh +127 -0
- package/skills/shared/mongodb/SKILL.md +342 -0
- package/skills/shared/mongodb/evals/README.md +29 -0
- package/skills/shared/mongodb/evals/cases.yaml +41 -0
- package/skills/shared/mongodb/references/aggregation.md +115 -0
- package/skills/shared/mongodb/references/data-modeling.md +135 -0
- package/skills/shared/mongodb/references/transactions-and-ops.md +128 -0
- package/skills/shared/mongodb/scripts/verify.sh +151 -0
- package/skills/shared/monitoring/SKILL.md +155 -0
- package/skills/shared/monitoring/evals/README.md +3 -0
- package/skills/shared/monitoring/evals/cases.yaml +47 -0
- package/skills/shared/monitoring/references/burn-rate-and-oncall.md +128 -0
- package/skills/shared/monitoring/references/tool-setup.md +154 -0
- package/skills/shared/monitoring/scripts/verify.sh +145 -0
- package/skills/shared/mysql/SKILL.md +249 -0
- package/skills/shared/mysql/evals/README.md +12 -0
- package/skills/shared/mysql/evals/cases.yaml +49 -0
- package/skills/shared/mysql/references/indexing-and-explain.md +161 -0
- package/skills/shared/mysql/references/mysql-vs-mariadb.md +78 -0
- package/skills/shared/mysql/references/online-ddl-and-migrations.md +120 -0
- package/skills/shared/mysql/references/replication-and-ha.md +115 -0
- package/skills/shared/mysql/scripts/verify.sh +141 -0
- package/skills/shared/neon/SKILL.md +218 -0
- package/skills/shared/neon/evals/README.md +11 -0
- package/skills/shared/neon/evals/cases.yaml +45 -0
- package/skills/shared/neon/references/branching-ci.md +86 -0
- package/skills/shared/neon/scripts/verify.sh +78 -0
- package/skills/shared/nestjs/SKILL.md +217 -0
- package/skills/shared/nestjs/evals/README.md +3 -0
- package/skills/shared/nestjs/evals/cases.yaml +38 -0
- package/skills/shared/nestjs/references/cross-cutting.md +135 -0
- package/skills/shared/nestjs/references/testing-recipes.md +105 -0
- package/skills/shared/nestjs/scripts/verify.sh +98 -0
- package/skills/shared/netlify/SKILL.md +208 -0
- package/skills/shared/netlify/evals/README.md +13 -0
- package/skills/shared/netlify/evals/cases.yaml +43 -0
- package/skills/shared/netlify/references/functions.md +97 -0
- package/skills/shared/netlify/references/netlify-toml.md +115 -0
- package/skills/shared/netlify/scripts/verify.sh +95 -0
- package/skills/shared/nextjs/SKILL.md +400 -0
- package/skills/shared/nextjs/evals/README.md +59 -0
- package/skills/shared/nextjs/evals/cases.yaml +56 -0
- package/skills/shared/nextjs/references/data-and-caching.md +309 -0
- package/skills/shared/nextjs/references/metadata.md +208 -0
- package/skills/shared/nextjs/references/performance.md +325 -0
- package/skills/shared/nextjs/references/react.md +383 -0
- package/skills/shared/nextjs/references/security.md +239 -0
- package/skills/shared/nextjs/references/testing.md +290 -0
- package/skills/shared/nextjs/scripts/verify.sh +141 -0
- package/skills/shared/nlp/SKILL.md +225 -0
- package/skills/shared/nlp/evals/README.md +10 -0
- package/skills/shared/nlp/evals/cases.yaml +45 -0
- package/skills/shared/nlp/references/evaluation.md +107 -0
- package/skills/shared/nlp/references/tokenization.md +95 -0
- package/skills/shared/no-code-app/SKILL.md +145 -0
- package/skills/shared/no-code-app/evals/README.md +3 -0
- package/skills/shared/no-code-app/evals/cases.yaml +43 -0
- package/skills/shared/no-code-app/references/platform-limits.md +100 -0
- package/skills/shared/nodejs/SKILL.md +229 -0
- package/skills/shared/nodejs/evals/README.md +3 -0
- package/skills/shared/nodejs/evals/cases.yaml +39 -0
- package/skills/shared/nodejs/references/express5-migration.md +53 -0
- package/skills/shared/nodejs/references/graceful-shutdown.md +73 -0
- package/skills/shared/nodejs/scripts/verify.sh +122 -0
- package/skills/shared/observability/SKILL.md +235 -0
- package/skills/shared/observability/evals/README.md +3 -0
- package/skills/shared/observability/evals/cases.yaml +51 -0
- package/skills/shared/observability/references/collector-config.md +98 -0
- package/skills/shared/observability/references/instrumentation-recipes.md +115 -0
- package/skills/shared/observability/scripts/verify.sh +156 -0
- package/skills/shared/ollama/SKILL.md +213 -0
- package/skills/shared/ollama/evals/README.md +9 -0
- package/skills/shared/ollama/evals/cases.yaml +43 -0
- package/skills/shared/ollama/references/api.md +148 -0
- package/skills/shared/ollama/references/hardware-sizing.md +87 -0
- package/skills/shared/ollama/scripts/verify.sh +116 -0
- package/skills/shared/open-weights/SKILL.md +239 -0
- package/skills/shared/open-weights/evals/README.md +14 -0
- package/skills/shared/open-weights/evals/cases.yaml +42 -0
- package/skills/shared/open-weights/references/licenses.md +123 -0
- package/skills/shared/open-weights/references/model-families.md +83 -0
- package/skills/shared/open-weights/references/sizing-and-quant.md +89 -0
- package/skills/shared/orient/SKILL.md +92 -0
- package/skills/shared/orient/evals/README.md +18 -0
- package/skills/shared/orient/evals/cases.yaml +67 -0
- package/skills/shared/orient/references/explain-ladder.md +93 -0
- package/skills/shared/orient/references/orientation-contract.md +86 -0
- package/skills/shared/parallel/SKILL.md +168 -0
- package/skills/shared/parallel/evals/README.md +62 -0
- package/skills/shared/parallel/evals/cases.yaml +44 -0
- package/skills/shared/performance/SKILL.md +229 -0
- package/skills/shared/performance/evals/README.md +3 -0
- package/skills/shared/performance/evals/cases.yaml +49 -0
- package/skills/shared/performance/references/profiling-playbook.md +54 -0
- package/skills/shared/performance/scripts/verify.sh +94 -0
- package/skills/shared/phoenix/SKILL.md +169 -0
- package/skills/shared/phoenix/evals/README.md +3 -0
- package/skills/shared/phoenix/evals/cases.yaml +40 -0
- package/skills/shared/phoenix/references/auth-and-scopes.md +82 -0
- package/skills/shared/phoenix/references/ecto-patterns.md +93 -0
- package/skills/shared/phoenix/references/liveview.md +134 -0
- package/skills/shared/phoenix/scripts/verify.sh +73 -0
- package/skills/shared/php/SKILL.md +397 -0
- package/skills/shared/php/evals/README.md +12 -0
- package/skills/shared/php/evals/cases.yaml +45 -0
- package/skills/shared/php/references/tooling.md +170 -0
- package/skills/shared/php/references/type-system.md +220 -0
- package/skills/shared/php/scripts/verify.sh +155 -0
- package/skills/shared/plan/SKILL.md +166 -0
- package/skills/shared/plan/evals/README.md +62 -0
- package/skills/shared/plan/evals/cases.yaml +49 -0
- package/skills/shared/plan/references/plan-template.md +153 -0
- package/skills/shared/planetscale/SKILL.md +198 -0
- package/skills/shared/planetscale/evals/README.md +11 -0
- package/skills/shared/planetscale/evals/cases.yaml +46 -0
- package/skills/shared/planetscale/references/deploy-requests.md +75 -0
- package/skills/shared/planetscale/references/no-foreign-keys.md +88 -0
- package/skills/shared/planetscale/scripts/verify.sh +115 -0
- package/skills/shared/planning-with-files/SKILL.md +278 -0
- package/skills/shared/planning-with-files/examples.md +202 -0
- package/skills/shared/planning-with-files/reference.md +218 -0
- package/skills/shared/planning-with-files/scripts/attest-plan.ps1 +118 -0
- package/skills/shared/planning-with-files/scripts/attest-plan.sh +110 -0
- package/skills/shared/planning-with-files/scripts/check-complete.ps1 +44 -0
- package/skills/shared/planning-with-files/scripts/check-complete.sh +46 -0
- package/skills/shared/planning-with-files/scripts/init-session.ps1 +166 -0
- package/skills/shared/planning-with-files/scripts/init-session.sh +284 -0
- package/skills/shared/planning-with-files/scripts/resolve-plan-dir.ps1 +44 -0
- package/skills/shared/planning-with-files/scripts/resolve-plan-dir.sh +76 -0
- package/skills/shared/planning-with-files/scripts/session-catchup.py +438 -0
- package/skills/shared/planning-with-files/scripts/set-active-plan.ps1 +50 -0
- package/skills/shared/planning-with-files/scripts/set-active-plan.sh +50 -0
- package/skills/shared/planning-with-files/templates/findings.md +95 -0
- package/skills/shared/planning-with-files/templates/progress.md +114 -0
- package/skills/shared/planning-with-files/templates/task_plan.md +132 -0
- package/skills/shared/postgresdb/SKILL.md +354 -0
- package/skills/shared/postgresdb/evals/README.md +55 -0
- package/skills/shared/postgresdb/evals/cases.yaml +57 -0
- package/skills/shared/postgresdb/references/migrations.md +279 -0
- package/skills/shared/postgresdb/references/operations-and-security.md +267 -0
- package/skills/shared/postgresdb/references/query-optimization.md +374 -0
- package/skills/shared/postgresdb/references/schema-and-indexing.md +379 -0
- package/skills/shared/postgresdb/scripts/verify.sh +191 -0
- package/skills/shared/prisma-orm/SKILL.md +313 -0
- package/skills/shared/prisma-orm/evals/README.md +12 -0
- package/skills/shared/prisma-orm/evals/cases.yaml +56 -0
- package/skills/shared/prisma-orm/references/migrations-and-v7-upgrade.md +197 -0
- package/skills/shared/prisma-orm/references/queries-and-performance.md +169 -0
- package/skills/shared/prisma-orm/scripts/verify.sh +137 -0
- package/skills/shared/prompt-engineering/SKILL.md +127 -0
- package/skills/shared/prompt-engineering/evals/README.md +11 -0
- package/skills/shared/prompt-engineering/evals/cases.yaml +46 -0
- package/skills/shared/prompt-engineering/references/eval-templates.md +94 -0
- package/skills/shared/prompt-engineering/references/output-contracts.md +120 -0
- package/skills/shared/prompt-engineering/scripts/verify.sh +84 -0
- package/skills/shared/python/SKILL.md +320 -0
- package/skills/shared/python/evals/README.md +19 -0
- package/skills/shared/python/evals/cases.yaml +46 -0
- package/skills/shared/python/references/async.md +136 -0
- package/skills/shared/python/references/stdlib.md +162 -0
- package/skills/shared/python/references/typing.md +160 -0
- package/skills/shared/python/scripts/verify.sh +125 -0
- package/skills/shared/rag/SKILL.md +209 -0
- package/skills/shared/rag/evals/README.md +13 -0
- package/skills/shared/rag/evals/cases.yaml +45 -0
- package/skills/shared/rag/references/evaluation.md +99 -0
- package/skills/shared/rag/references/pipeline.md +151 -0
- package/skills/shared/rag/scripts/verify.sh +99 -0
- package/skills/shared/rails/SKILL.md +264 -0
- package/skills/shared/rails/evals/README.md +12 -0
- package/skills/shared/rails/evals/cases.yaml +47 -0
- package/skills/shared/rails/references/activerecord.md +148 -0
- package/skills/shared/rails/references/hotwire.md +139 -0
- package/skills/shared/rails/references/testing.md +110 -0
- package/skills/shared/rails/scripts/verify.sh +128 -0
- package/skills/shared/railway/SKILL.md +245 -0
- package/skills/shared/railway/evals/README.md +14 -0
- package/skills/shared/railway/evals/cases.yaml +44 -0
- package/skills/shared/railway/references/cli-cookbook.md +137 -0
- package/skills/shared/railway/references/config-as-code.md +120 -0
- package/skills/shared/railway/scripts/verify.sh +162 -0
- package/skills/shared/react/SKILL.md +182 -0
- package/skills/shared/react/evals/README.md +3 -0
- package/skills/shared/react/evals/cases.yaml +43 -0
- package/skills/shared/react/references/data-and-state.md +152 -0
- package/skills/shared/react/references/performance.md +75 -0
- package/skills/shared/react/references/routing.md +99 -0
- package/skills/shared/react/scripts/verify.sh +123 -0
- package/skills/shared/react-native/SKILL.md +215 -0
- package/skills/shared/react-native/evals/README.md +3 -0
- package/skills/shared/react-native/evals/cases.yaml +42 -0
- package/skills/shared/react-native/references/native-modules.md +123 -0
- package/skills/shared/react-native/references/performance-debugging.md +46 -0
- package/skills/shared/react-native/scripts/verify.sh +120 -0
- package/skills/shared/redis/SKILL.md +298 -0
- package/skills/shared/redis/evals/README.md +10 -0
- package/skills/shared/redis/evals/cases.yaml +43 -0
- package/skills/shared/redis/references/caching.md +116 -0
- package/skills/shared/redis/references/locks-and-rate-limiting.md +140 -0
- package/skills/shared/redis/references/queues.md +102 -0
- package/skills/shared/redis/scripts/verify.sh +164 -0
- package/skills/shared/render/SKILL.md +256 -0
- package/skills/shared/render/evals/README.md +12 -0
- package/skills/shared/render/evals/cases.yaml +45 -0
- package/skills/shared/render/references/blueprint-reference.md +203 -0
- package/skills/shared/render/scripts/verify.sh +167 -0
- package/skills/shared/replicate/SKILL.md +210 -0
- package/skills/shared/replicate/evals/README.md +9 -0
- package/skills/shared/replicate/evals/cases.yaml +45 -0
- package/skills/shared/replicate/references/cog-packaging.md +89 -0
- package/skills/shared/replicate/references/deployments-api.md +87 -0
- package/skills/shared/replicate/references/webhooks-and-async.md +110 -0
- package/skills/shared/replicate/scripts/verify.sh +162 -0
- package/skills/shared/research-ops/SKILL.md +200 -0
- package/skills/shared/research-ops/evals/README.md +13 -0
- package/skills/shared/research-ops/evals/cases.yaml +38 -0
- package/skills/shared/research-ops/references/credibility-rubric.md +78 -0
- package/skills/shared/research-ops/references/memo-template.md +63 -0
- package/skills/shared/research-ops/scripts/verify.sh +181 -0
- package/skills/shared/review/SKILL.md +314 -0
- package/skills/shared/review/evals/README.md +84 -0
- package/skills/shared/review/evals/cases.yaml +55 -0
- package/skills/shared/ruby/SKILL.md +295 -0
- package/skills/shared/ruby/evals/README.md +12 -0
- package/skills/shared/ruby/evals/cases.yaml +41 -0
- package/skills/shared/ruby/references/gems-and-testing.md +208 -0
- package/skills/shared/ruby/references/metaprogramming.md +161 -0
- package/skills/shared/ruby/scripts/verify.sh +83 -0
- package/skills/shared/runpod/SKILL.md +238 -0
- package/skills/shared/runpod/evals/README.md +11 -0
- package/skills/shared/runpod/evals/cases.yaml +47 -0
- package/skills/shared/runpod/references/cost-and-scaling.md +85 -0
- package/skills/shared/runpod/references/serverless-workers.md +101 -0
- package/skills/shared/runpod/scripts/verify.sh +126 -0
- package/skills/shared/rust/SKILL.md +320 -0
- package/skills/shared/rust/evals/README.md +12 -0
- package/skills/shared/rust/evals/cases.yaml +42 -0
- package/skills/shared/rust/references/async-tokio.md +141 -0
- package/skills/shared/rust/references/axum-service.md +132 -0
- package/skills/shared/rust/references/ownership.md +86 -0
- package/skills/shared/rust/references/testing.md +108 -0
- package/skills/shared/rust/scripts/verify.sh +91 -0
- package/skills/shared/scaling/SKILL.md +137 -0
- package/skills/shared/scaling/evals/README.md +3 -0
- package/skills/shared/scaling/evals/cases.yaml +42 -0
- package/skills/shared/scaling/references/load-testing-k6.md +127 -0
- package/skills/shared/scaling/scripts/example.load.js +24 -0
- package/skills/shared/scaling/scripts/verify.sh +70 -0
- package/skills/shared/sdd/SKILL.md +250 -0
- package/skills/shared/sdd/evals/README.md +60 -0
- package/skills/shared/sdd/evals/cases.yaml +90 -0
- package/skills/shared/sdd/references/model-routing.md +194 -0
- package/skills/shared/sdd-init/SKILL.md +189 -0
- package/skills/shared/sdd-init/evals/README.md +3 -0
- package/skills/shared/sdd-init/evals/cases.yaml +43 -0
- package/skills/shared/secure-coding/SKILL.md +336 -0
- package/skills/shared/secure-coding/evals/README.md +68 -0
- package/skills/shared/secure-coding/evals/cases.yaml +55 -0
- package/skills/shared/secure-coding/references/authn-authz.md +249 -0
- package/skills/shared/secure-coding/references/owasp-by-stack.md +574 -0
- package/skills/shared/secure-coding/references/secrets-and-supply-chain.md +205 -0
- package/skills/shared/secure-coding/references/threat-modeling.md +213 -0
- package/skills/shared/secure-coding/scripts/verify.sh +208 -0
- package/skills/shared/security-scan/SKILL.md +219 -0
- package/skills/shared/security-scan/evals/README.md +14 -0
- package/skills/shared/security-scan/evals/cases.yaml +50 -0
- package/skills/shared/security-scan/references/tools.md +97 -0
- package/skills/shared/security-scan/references/triage.md +92 -0
- package/skills/shared/security-scan/scripts/verify.sh +108 -0
- package/skills/shared/ship/SKILL.md +272 -0
- package/skills/shared/ship/evals/README.md +89 -0
- package/skills/shared/ship/evals/cases.yaml +44 -0
- package/skills/shared/shopify/SKILL.md +229 -0
- package/skills/shared/shopify/evals/README.md +14 -0
- package/skills/shared/shopify/evals/cases.yaml +41 -0
- package/skills/shared/shopify/references/apps-graphql.md +103 -0
- package/skills/shared/shopify/references/checkout-extensibility.md +71 -0
- package/skills/shared/shopify/references/liquid-themes.md +89 -0
- package/skills/shared/shopify/scripts/verify.sh +120 -0
- package/skills/shared/simplify-code/SKILL.md +101 -0
- package/skills/shared/simplify-code/evals/README.md +3 -0
- package/skills/shared/simplify-code/evals/cases.yaml +42 -0
- package/skills/shared/skill-scout/SKILL.md +169 -0
- package/skills/shared/skill-scout/evals/README.md +12 -0
- package/skills/shared/skill-scout/evals/cases.yaml +56 -0
- package/skills/shared/skill-scout/references/install-commands.md +76 -0
- package/skills/shared/skill-scout/scripts/verify.sh +154 -0
- package/skills/shared/solid-js/SKILL.md +260 -0
- package/skills/shared/solid-js/evals/README.md +3 -0
- package/skills/shared/solid-js/evals/cases.yaml +38 -0
- package/skills/shared/solid-js/references/reactivity-deep-dive.md +89 -0
- package/skills/shared/solid-js/references/router-and-start.md +93 -0
- package/skills/shared/solid-js/scripts/verify.sh +130 -0
- package/skills/shared/source-grounded-development/SKILL.md +108 -0
- package/skills/shared/source-grounded-development/evals/README.md +3 -0
- package/skills/shared/source-grounded-development/evals/cases.yaml +42 -0
- package/skills/shared/specify/SKILL.md +391 -0
- package/skills/shared/specify/evals/README.md +73 -0
- package/skills/shared/specify/evals/cases.yaml +93 -0
- package/skills/shared/specify/references/eliciting-requirements.md +117 -0
- package/skills/shared/specify/references/spec-template.md +101 -0
- package/skills/shared/speckit-analyze/SKILL.md +35 -0
- package/skills/shared/speckit-assess-decide/SKILL.md +36 -0
- package/skills/shared/speckit-assess-define/SKILL.md +36 -0
- package/skills/shared/speckit-assess-intake/SKILL.md +38 -0
- package/skills/shared/speckit-assess-research/SKILL.md +36 -0
- package/skills/shared/speckit-assess-shape/SKILL.md +36 -0
- package/skills/shared/speckit-bug-assess/SKILL.md +38 -0
- package/skills/shared/speckit-bug-fix/SKILL.md +37 -0
- package/skills/shared/speckit-bug-test/SKILL.md +37 -0
- package/skills/shared/speckit-checklist/SKILL.md +35 -0
- package/skills/shared/speckit-clarify/SKILL.md +32 -0
- package/skills/shared/speckit-constitution/SKILL.md +35 -0
- package/skills/shared/speckit-converge/SKILL.md +36 -0
- package/skills/shared/speckit-implement/SKILL.md +32 -0
- package/skills/shared/speckit-plan/SKILL.md +37 -0
- package/skills/shared/speckit-specify/SKILL.md +36 -0
- package/skills/shared/speckit-tasks/SKILL.md +34 -0
- package/skills/shared/spreadsheet-ops/SKILL.md +180 -0
- package/skills/shared/spreadsheet-ops/evals/README.md +33 -0
- package/skills/shared/spreadsheet-ops/evals/cases.yaml +42 -0
- package/skills/shared/spreadsheet-ops/references/formula-cookbook.md +70 -0
- package/skills/shared/spreadsheet-ops/references/python-excel.md +87 -0
- package/skills/shared/spreadsheet-ops/references/sheets-api-appsscript.md +118 -0
- package/skills/shared/spreadsheet-ops/scripts/verify.sh +152 -0
- package/skills/shared/spring-boot/SKILL.md +350 -0
- package/skills/shared/spring-boot/evals/README.md +11 -0
- package/skills/shared/spring-boot/evals/cases.yaml +49 -0
- package/skills/shared/spring-boot/references/jpa.md +94 -0
- package/skills/shared/spring-boot/references/security.md +92 -0
- package/skills/shared/spring-boot/references/testing.md +95 -0
- package/skills/shared/spring-boot/scripts/verify.sh +115 -0
- package/skills/shared/sql/SKILL.md +286 -0
- package/skills/shared/sql/evals/README.md +9 -0
- package/skills/shared/sql/evals/cases.yaml +49 -0
- package/skills/shared/sql/references/ctes-and-recursion.md +63 -0
- package/skills/shared/sql/references/joins-and-sets.md +71 -0
- package/skills/shared/sql/references/portability.md +38 -0
- package/skills/shared/sql/references/window-functions.md +72 -0
- package/skills/shared/sql/scripts/verify.sh +139 -0
- package/skills/shared/sqlite-turso/SKILL.md +214 -0
- package/skills/shared/sqlite-turso/evals/README.md +24 -0
- package/skills/shared/sqlite-turso/evals/cases.yaml +45 -0
- package/skills/shared/sqlite-turso/references/embedded-replicas.md +96 -0
- package/skills/shared/sqlite-turso/scripts/verify.sh +95 -0
- package/skills/shared/structured-extraction/SKILL.md +230 -0
- package/skills/shared/structured-extraction/evals/README.md +13 -0
- package/skills/shared/structured-extraction/evals/cases.yaml +70 -0
- package/skills/shared/structured-extraction/references/providers.md +152 -0
- package/skills/shared/structured-extraction/scripts/verify.sh +160 -0
- package/skills/shared/suggest/SKILL.md +123 -0
- package/skills/shared/suggest/evals/README.md +17 -0
- package/skills/shared/suggest/evals/cases.yaml +78 -0
- package/skills/shared/supabase/SKILL.md +268 -0
- package/skills/shared/supabase/evals/README.md +12 -0
- package/skills/shared/supabase/evals/cases.yaml +42 -0
- package/skills/shared/supabase/references/auth-ssr.md +173 -0
- package/skills/shared/supabase/references/rls-cookbook.md +122 -0
- package/skills/shared/supabase/scripts/verify.sh +149 -0
- package/skills/shared/svelte/SKILL.md +238 -0
- package/skills/shared/svelte/evals/README.md +3 -0
- package/skills/shared/svelte/evals/cases.yaml +41 -0
- package/skills/shared/svelte/references/runes.md +97 -0
- package/skills/shared/svelte/references/sveltekit-data.md +156 -0
- package/skills/shared/svelte/scripts/verify.sh +128 -0
- package/skills/shared/swift-ios/SKILL.md +224 -0
- package/skills/shared/swift-ios/evals/README.md +3 -0
- package/skills/shared/swift-ios/evals/cases.yaml +46 -0
- package/skills/shared/swift-ios/references/concurrency.md +132 -0
- package/skills/shared/swift-ios/references/testing.md +112 -0
- package/skills/shared/swift-ios/scripts/verify.sh +98 -0
- package/skills/shared/tasks/SKILL.md +265 -0
- package/skills/shared/tasks/evals/README.md +70 -0
- package/skills/shared/tasks/evals/cases.yaml +75 -0
- package/skills/shared/tauri/SKILL.md +219 -0
- package/skills/shared/tauri/evals/README.md +12 -0
- package/skills/shared/tauri/evals/cases.yaml +46 -0
- package/skills/shared/tauri/references/bundling-distribution.md +129 -0
- package/skills/shared/tauri/references/security.md +143 -0
- package/skills/shared/tauri/scripts/verify.sh +178 -0
- package/skills/shared/technical-writing/SKILL.md +230 -0
- package/skills/shared/technical-writing/evals/README.md +12 -0
- package/skills/shared/technical-writing/evals/cases.yaml +53 -0
- package/skills/shared/technical-writing/references/diataxis-modes.md +131 -0
- package/skills/shared/technical-writing/references/vale-starter.md +90 -0
- package/skills/shared/technical-writing/scripts/verify.sh +83 -0
- package/skills/shared/testing-go/SKILL.md +263 -0
- package/skills/shared/testing-go/evals/README.md +3 -0
- package/skills/shared/testing-go/evals/cases.yaml +46 -0
- package/skills/shared/testing-go/references/coverage-and-benchmarks.md +85 -0
- package/skills/shared/testing-go/references/mocks-and-fakes.md +140 -0
- package/skills/shared/testing-go/references/synctest-and-concurrency.md +82 -0
- package/skills/shared/testing-go/scripts/verify.sh +72 -0
- package/skills/shared/testing-py/SKILL.md +197 -0
- package/skills/shared/testing-py/evals/README.md +5 -0
- package/skills/shared/testing-py/evals/cases.yaml +44 -0
- package/skills/shared/testing-py/references/mocking.md +141 -0
- package/skills/shared/testing-py/references/property-testing.md +99 -0
- package/skills/shared/testing-py/scripts/verify.sh +117 -0
- package/skills/shared/testing-web/SKILL.md +244 -0
- package/skills/shared/testing-web/evals/README.md +11 -0
- package/skills/shared/testing-web/evals/cases.yaml +52 -0
- package/skills/shared/testing-web/references/jest-setup.md +88 -0
- package/skills/shared/testing-web/references/recipes.md +116 -0
- package/skills/shared/testing-web/scripts/verify.sh +111 -0
- package/skills/shared/together-fireworks/SKILL.md +176 -0
- package/skills/shared/together-fireworks/evals/README.md +3 -0
- package/skills/shared/together-fireworks/evals/cases.yaml +50 -0
- package/skills/shared/together-fireworks/references/batch-and-tuning.md +59 -0
- package/skills/shared/together-fireworks/references/models-and-pricing.md +79 -0
- package/skills/shared/together-fireworks/scripts/verify.sh +165 -0
- package/skills/shared/training-data/SKILL.md +226 -0
- package/skills/shared/training-data/evals/README.md +13 -0
- package/skills/shared/training-data/evals/cases.yaml +41 -0
- package/skills/shared/training-data/references/formats.md +118 -0
- package/skills/shared/training-data/references/synthesis-dedup-quality.md +134 -0
- package/skills/shared/translation-l10n/SKILL.md +229 -0
- package/skills/shared/translation-l10n/evals/README.md +3 -0
- package/skills/shared/translation-l10n/evals/cases.yaml +39 -0
- package/skills/shared/translation-l10n/references/icu-cookbook.md +82 -0
- package/skills/shared/translation-l10n/references/rtl-and-bidi.md +60 -0
- package/skills/shared/typescript/SKILL.md +225 -0
- package/skills/shared/typescript/evals/README.md +15 -0
- package/skills/shared/typescript/evals/cases.yaml +46 -0
- package/skills/shared/typescript/references/build-and-monorepo.md +141 -0
- package/skills/shared/typescript/references/type-system.md +162 -0
- package/skills/shared/typescript/scripts/verify.sh +52 -0
- package/skills/shared/ui-engineering/SKILL.md +113 -0
- package/skills/shared/ui-engineering/evals/cases.yaml +38 -0
- package/skills/shared/unity/SKILL.md +282 -0
- package/skills/shared/unity/evals/README.md +8 -0
- package/skills/shared/unity/evals/cases.yaml +43 -0
- package/skills/shared/unity/references/build-and-platforms.md +65 -0
- package/skills/shared/unity/references/input-system.md +102 -0
- package/skills/shared/unity/references/lifecycle-deep-dive.md +75 -0
- package/skills/shared/unreal/SKILL.md +270 -0
- package/skills/shared/unreal/evals/README.md +12 -0
- package/skills/shared/unreal/evals/cases.yaml +45 -0
- package/skills/shared/unreal/references/blueprint-cpp-parity.md +109 -0
- package/skills/shared/unreal/references/gameplay-framework.md +95 -0
- package/skills/shared/unreal/references/packaging.md +83 -0
- package/skills/shared/unslop/SKILL.md +143 -0
- package/skills/shared/unslop/evals/README.md +25 -0
- package/skills/shared/unslop/evals/cases.yaml +61 -0
- package/skills/shared/unsloth/SKILL.md +254 -0
- package/skills/shared/unsloth/evals/README.md +10 -0
- package/skills/shared/unsloth/evals/cases.yaml +42 -0
- package/skills/shared/unsloth/references/export.md +75 -0
- package/skills/shared/unsloth/references/grpo.md +91 -0
- package/skills/shared/unsloth/references/masking-and-templates.md +91 -0
- package/skills/shared/variant-explorer/SKILL.md +93 -0
- package/skills/shared/variant-explorer/evals/cases.yaml +38 -0
- package/skills/shared/vector-db/SKILL.md +189 -0
- package/skills/shared/vector-db/evals/README.md +10 -0
- package/skills/shared/vector-db/evals/cases.yaml +45 -0
- package/skills/shared/vector-db/references/engines.md +175 -0
- package/skills/shared/vector-db/references/tuning.md +62 -0
- package/skills/shared/vector-db/scripts/verify.sh +110 -0
- package/skills/shared/vercel/SKILL.md +242 -0
- package/skills/shared/vercel/evals/README.md +23 -0
- package/skills/shared/vercel/evals/cases.yaml +45 -0
- package/skills/shared/vercel/references/cli-cookbook.md +98 -0
- package/skills/shared/vercel/references/vercel-json.md +120 -0
- package/skills/shared/vercel/scripts/verify.sh +168 -0
- package/skills/shared/verify/SKILL.md +230 -0
- package/skills/shared/verify/evals/README.md +78 -0
- package/skills/shared/verify/evals/cases.yaml +104 -0
- package/skills/shared/vllm/SKILL.md +235 -0
- package/skills/shared/vllm/evals/README.md +9 -0
- package/skills/shared/vllm/evals/cases.yaml +47 -0
- package/skills/shared/vllm/references/flags-and-endpoints.md +105 -0
- package/skills/shared/vllm/references/memory-and-throughput.md +78 -0
- package/skills/shared/vue-nuxt/SKILL.md +323 -0
- package/skills/shared/vue-nuxt/evals/README.md +11 -0
- package/skills/shared/vue-nuxt/evals/cases.yaml +49 -0
- package/skills/shared/vue-nuxt/references/data-and-state.md +127 -0
- package/skills/shared/vue-nuxt/references/migration-nuxt4.md +79 -0
- package/skills/shared/vue-nuxt/references/nitro-and-rendering.md +117 -0
- package/skills/shared/vue-nuxt/references/reactivity.md +135 -0
- package/skills/shared/vue-nuxt/scripts/verify.sh +148 -0
- package/skills/shared/webhooks/SKILL.md +229 -0
- package/skills/shared/webhooks/evals/README.md +15 -0
- package/skills/shared/webhooks/evals/cases.yaml +46 -0
- package/skills/shared/webhooks/references/framework-raw-body.md +97 -0
- package/skills/shared/webhooks/references/signature-schemes.md +66 -0
- package/skills/shared/webhooks/scripts/verify.sh +142 -0
- package/skills/shared/wordpress/SKILL.md +224 -0
- package/skills/shared/wordpress/evals/README.md +3 -0
- package/skills/shared/wordpress/evals/cases.yaml +50 -0
- package/skills/shared/wordpress/references/hardening.md +108 -0
- package/skills/shared/wordpress/references/performance.md +80 -0
- package/skills/shared/wordpress/references/woocommerce.md +65 -0
- package/skills/shared/wordpress/scripts/verify.sh +96 -0
- package/skills/shared/worktrees/SKILL.md +204 -0
- package/skills/shared/worktrees/evals/README.md +78 -0
- package/skills/shared/worktrees/evals/cases.yaml +47 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
skill: fly-io
|
|
2
|
+
|
|
3
|
+
should_trigger:
|
|
4
|
+
- prompt: "Deploy my Dockerized API to Fly.io in Frankfurt and Virginia"
|
|
5
|
+
why: Core use — a multi-region Fly deploy with explicit region placement (fra + iad).
|
|
6
|
+
- prompt: "My fly.toml scales to zero but cold starts are slow, how do I keep one machine warm?"
|
|
7
|
+
why: Autostop tuning (min_machines_running tradeoff) — Fly-specific, not generic scaling theory.
|
|
8
|
+
- prompt: "Users in Sydney get high latency and my app only runs in iad"
|
|
9
|
+
why: Non-obvious — no 'Fly' keyword, but 'iad' region code + latency-by-distance is a Fly region-placement problem (add a Machine in syd).
|
|
10
|
+
- prompt: "Need to attach a persistent disk to my Fly machine for SQLite"
|
|
11
|
+
why: Fly Volumes — region/machine-pinned disk attached via [[mounts]].
|
|
12
|
+
- prompt: "Vull desplegar a Fly.io amb secrets i rèpliques per regió"
|
|
13
|
+
why: Catalan — deploy to Fly.io with secrets and per-region replicas; secrets + multi-region.
|
|
14
|
+
- prompt: "How do I forward writes to the primary region while reads stay local on Fly?"
|
|
15
|
+
why: Non-obvious — the fly-replay write-forwarding pattern for stateful multi-region.
|
|
16
|
+
|
|
17
|
+
should_not_trigger:
|
|
18
|
+
- prompt: "Deploy my app to Railway with git push"
|
|
19
|
+
route_to: railway
|
|
20
|
+
why: Railway is a git-push PaaS with no Machines/regions model — different platform.
|
|
21
|
+
- prompt: "Host my Next.js site on the edge with a CDN"
|
|
22
|
+
route_to: vercel
|
|
23
|
+
why: Frontend/serverless edge hosting, not Fly Machines.
|
|
24
|
+
- prompt: "Write a multi-stage Dockerfile for my Go service"
|
|
25
|
+
route_to: docker
|
|
26
|
+
why: Image build mechanics — Fly consumes the Dockerfile but does not author it.
|
|
27
|
+
- prompt: "Design a load-shedding and queue strategy for traffic spikes"
|
|
28
|
+
route_to: scaling
|
|
29
|
+
why: Generic horizontal-scaling theory, platform-agnostic.
|
|
30
|
+
|
|
31
|
+
capability:
|
|
32
|
+
- scenario: >
|
|
33
|
+
A single-region (iad) Express app talks to Postgres via DATABASE_URL. Make it
|
|
34
|
+
serve EU + US users and scale to zero outside business hours, keeping cold-start
|
|
35
|
+
pain in mind.
|
|
36
|
+
must_include:
|
|
37
|
+
- "fly.toml with primary_region = \"iad\" and an [http_service] with internal_port"
|
|
38
|
+
- "auto_stop_machines and auto_start_machines set together (not one alone)"
|
|
39
|
+
- "min_machines_running = 0 for scale-to-zero, with the cold-start tradeoff called out (set to 1 to keep one warm; honored only in primary region)"
|
|
40
|
+
- "fly scale count with --region to add an EU region (e.g. ams) for nearby users"
|
|
41
|
+
- "secrets via `fly secrets set DATABASE_URL=...`, never in [env]"
|
|
42
|
+
- "note that Fly Volumes/Postgres are region-pinned with no replication; cross-region writes need a replica + fly-replay or a managed/external DB"
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# fly.toml field reference
|
|
2
|
+
|
|
3
|
+
The full configuration surface. The SKILL.md body covers the common case; reach here for a key it did not show. Source: https://fly.io/docs/reference/configuration/ (accessed 2026-06-02).
|
|
4
|
+
|
|
5
|
+
## Top level
|
|
6
|
+
|
|
7
|
+
```toml
|
|
8
|
+
app = "my-api" # required, unique app name
|
|
9
|
+
primary_region = "iad" # 3-letter region code; the write/anchor region
|
|
10
|
+
kill_signal = "SIGINT" # signal sent on shutdown
|
|
11
|
+
kill_timeout = "5s" # grace period before SIGKILL
|
|
12
|
+
swap_size_mb = 512 # optional swap file (helps memory-spiky workloads)
|
|
13
|
+
|
|
14
|
+
[experimental]
|
|
15
|
+
# rarely needed; flags for unreleased behavior
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## [build]
|
|
19
|
+
|
|
20
|
+
```toml
|
|
21
|
+
[build]
|
|
22
|
+
dockerfile = "Dockerfile" # default if present
|
|
23
|
+
# builder = "paketobuildpacks/builder:base" # buildpack instead of Dockerfile
|
|
24
|
+
# image = "flyio/myimage:latest" # deploy a prebuilt image, skip build
|
|
25
|
+
[build.args]
|
|
26
|
+
NODE_VERSION = "22"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The image mechanics belong to ../docker/SKILL.md — Fly only consumes the build.
|
|
30
|
+
|
|
31
|
+
## Services: [http_service] vs [[services]]
|
|
32
|
+
|
|
33
|
+
`[http_service]` is the sugar for the common single HTTP service. Use `[[services]]` when you need raw TCP, multiple ports, or several services.
|
|
34
|
+
|
|
35
|
+
```toml
|
|
36
|
+
# Lower-level, explicit form
|
|
37
|
+
[[services]]
|
|
38
|
+
internal_port = 8080
|
|
39
|
+
protocol = "tcp"
|
|
40
|
+
processes = ["web"]
|
|
41
|
+
|
|
42
|
+
[[services.ports]]
|
|
43
|
+
port = 443
|
|
44
|
+
handlers = ["tls", "http"]
|
|
45
|
+
[[services.ports]]
|
|
46
|
+
port = 80
|
|
47
|
+
handlers = ["http"]
|
|
48
|
+
force_https = true
|
|
49
|
+
|
|
50
|
+
[services.concurrency]
|
|
51
|
+
type = "requests" # "requests" | "connections"
|
|
52
|
+
soft_limit = 200
|
|
53
|
+
hard_limit = 250
|
|
54
|
+
|
|
55
|
+
[[services.tcp_checks]]
|
|
56
|
+
interval = "15s"
|
|
57
|
+
timeout = "2s"
|
|
58
|
+
[[services.http_checks]]
|
|
59
|
+
interval = "15s"
|
|
60
|
+
timeout = "2s"
|
|
61
|
+
method = "get"
|
|
62
|
+
path = "/health"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
`internal_port` is the port your process listens on inside the container. `handlers` tell the Proxy how to terminate (`tls`, `http`). Exactly one service should define the public HTTP entrypoint.
|
|
66
|
+
|
|
67
|
+
## [[vm]]
|
|
68
|
+
|
|
69
|
+
Formerly `[[compute]]`. Bind to process groups via `processes`.
|
|
70
|
+
|
|
71
|
+
```toml
|
|
72
|
+
[[vm]]
|
|
73
|
+
size = "shared-cpu-1x" # preset; sets cpus + memory together
|
|
74
|
+
memory = "512mb" # override the preset memory
|
|
75
|
+
cpu_kind = "shared" # "shared" | "performance"
|
|
76
|
+
cpus = 1
|
|
77
|
+
processes = ["web"]
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Common sizes: `shared-cpu-1x/2x/4x/8x` (burstable), `performance-1x/2x/4x/8x` (dedicated). Memory presets scale with the size; override with `memory` for memory-heavy, low-CPU work.
|
|
81
|
+
|
|
82
|
+
## [processes]
|
|
83
|
+
|
|
84
|
+
```toml
|
|
85
|
+
[processes]
|
|
86
|
+
web = "node server.js"
|
|
87
|
+
worker = "node worker.js"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Each key is a process group running the same image with a different command. `[[vm]]`, `[http_service]`, `[[mounts]]`, and `[[services]]` all target groups via `processes`. A group with no service takes no inbound traffic.
|
|
91
|
+
|
|
92
|
+
## [[mounts]]
|
|
93
|
+
|
|
94
|
+
```toml
|
|
95
|
+
[[mounts]]
|
|
96
|
+
source = "data" # volume name
|
|
97
|
+
destination = "/data" # mount path in the guest
|
|
98
|
+
processes = ["web"]
|
|
99
|
+
initial_size = "1gb"
|
|
100
|
+
snapshot_retention = 7 # days of automatic volume snapshots
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
One volume per Machine, region-pinned, no replication. See the SKILL.md Volumes section and `multi-region.md`.
|
|
104
|
+
|
|
105
|
+
## [deploy]
|
|
106
|
+
|
|
107
|
+
```toml
|
|
108
|
+
[deploy]
|
|
109
|
+
release_command = "npm run migrate" # one-shot Machine run before the rollout goes live
|
|
110
|
+
strategy = "rolling" # rolling | bluegreen | canary | immediate
|
|
111
|
+
max_unavailable = 0.33 # fraction (or int) of Machines down at once during rolling
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
`release_command` runs in a temporary Machine with the new image + secrets; if it exits nonzero, the deploy aborts. Ideal for migrations.
|
|
115
|
+
|
|
116
|
+
## [[statics]]
|
|
117
|
+
|
|
118
|
+
Serve static assets directly from the Proxy / object storage instead of your process:
|
|
119
|
+
|
|
120
|
+
```toml
|
|
121
|
+
[[statics]]
|
|
122
|
+
guest_path = "/app/public"
|
|
123
|
+
url_prefix = "/static/"
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## [[files]]
|
|
127
|
+
|
|
128
|
+
Write files into the guest at boot — including secrets as files:
|
|
129
|
+
|
|
130
|
+
```toml
|
|
131
|
+
[[files]]
|
|
132
|
+
guest_path = "/etc/app/config.yaml"
|
|
133
|
+
local_path = "config/prod.yaml" # ship a local file
|
|
134
|
+
[[files]]
|
|
135
|
+
guest_path = "/etc/app/sa.json"
|
|
136
|
+
secret_name = "GCP_SA_JSON" # materialize a secret as a file
|
|
137
|
+
[[files]]
|
|
138
|
+
guest_path = "/etc/app/banner.txt"
|
|
139
|
+
raw_value = "aGVsbG8=" # base64 inline content
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Use `secret_name` for credentials a library expects on disk (e.g. a service-account JSON) rather than in an env var.
|
|
143
|
+
|
|
144
|
+
## [restart] and [metrics]
|
|
145
|
+
|
|
146
|
+
```toml
|
|
147
|
+
[restart]
|
|
148
|
+
policy = "on-failure" # "no" | "on-failure" | "always"
|
|
149
|
+
|
|
150
|
+
[metrics]
|
|
151
|
+
port = 9091
|
|
152
|
+
path = "/metrics" # Prometheus scrape endpoint Fly ingests
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
The `[metrics]` endpoint is what `fly-autoscaler` reads to scale by custom metrics (see `multi-region.md` / the SKILL.md scaling table).
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Multi-region playbook
|
|
2
|
+
|
|
3
|
+
Most deploys do not need this — run Machines in more regions and let anycast do the rest. Reach here when you have **state** that must stay correct across regions. Sources: https://fly.io/docs/networking/dynamic-request-routing/ , https://fly.io/docs/blueprints/multi-region-fly-replay/ , https://fly.io/docs/launch/scale-count/ (accessed 2026-06-02).
|
|
4
|
+
|
|
5
|
+
## Decide the shape
|
|
6
|
+
|
|
7
|
+
| Your state lives in... | Pattern |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| Nowhere local (DB is external/managed, app is stateless) | **Stateless replicate** — just add regions |
|
|
10
|
+
| A Fly Volume / embedded DB (SQLite, LiteFS) | **Primary + read replicas** with `fly-replay` write forwarding |
|
|
11
|
+
| Fly Postgres | One primary region; route writes there, reads to local replicas |
|
|
12
|
+
|
|
13
|
+
## Stateless replicate
|
|
14
|
+
|
|
15
|
+
The easy path. No volumes, no write coordination.
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
fly scale count 1 --region iad,ams,syd # one Machine in each of three regions
|
|
19
|
+
fly scale show
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Anycast sends each caller to the nearest Machine. All Machines are identical and talk to the same external datastore. Done.
|
|
23
|
+
|
|
24
|
+
## Primary + read replicas (fly-replay write forwarding)
|
|
25
|
+
|
|
26
|
+
When reads can be local but **writes must hit one region** (the `primary_region`), use the `fly-replay` header. Replicas serve reads instantly; on a write, the app tells the Proxy to replay the entire request in the primary region.
|
|
27
|
+
|
|
28
|
+
Header forms the app can return:
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
fly-replay: region=iad # replay this request in region iad
|
|
32
|
+
fly-replay: instance=<id> # replay on a specific Machine
|
|
33
|
+
fly-replay: app=other-app # replay against a different app
|
|
34
|
+
fly-replay: elsewhere=true # "not me" — let the Proxy pick another Machine
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Sketch (Node/Express), forwarding writes to the primary region:
|
|
38
|
+
|
|
39
|
+
```javascript
|
|
40
|
+
const PRIMARY = process.env.PRIMARY_REGION; // Fly injects PRIMARY_REGION
|
|
41
|
+
const HERE = process.env.FLY_REGION; // and FLY_REGION for the current Machine
|
|
42
|
+
|
|
43
|
+
app.use((req, res, next) => {
|
|
44
|
+
const isWrite = req.method !== "GET" && req.method !== "HEAD";
|
|
45
|
+
if (isWrite && HERE !== PRIMARY) {
|
|
46
|
+
res.set("fly-replay", `region=${PRIMARY}`);
|
|
47
|
+
return res.status(409).end(); // body is discarded; Proxy re-runs the request in PRIMARY
|
|
48
|
+
}
|
|
49
|
+
next();
|
|
50
|
+
});
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Why a status like 409: the response is never sent to the client — the Proxy intercepts the `fly-replay` header and re-runs the original request (method, path, body) in the target. Your replica code just needs to *refuse locally and tag it*.
|
|
54
|
+
|
|
55
|
+
`PRIMARY_REGION` and `FLY_REGION` are environment variables Fly injects into every Machine — read them to know "am I the writer."
|
|
56
|
+
|
|
57
|
+
## Volume strategy across regions
|
|
58
|
+
|
|
59
|
+
- A volume is pinned to one Machine in one region; there is no cross-region replication.
|
|
60
|
+
- For per-region read replicas, give **each region its own volume** and replicate at the application layer.
|
|
61
|
+
- **LiteFS** is Fly's distributed SQLite layer: it ships the primary's writes to replica nodes and integrates with `fly-replay` so writes route to the primary automatically. Use it when you want SQLite semantics with multi-region reads.
|
|
62
|
+
- For Postgres, run a primary in `primary_region` and read replicas elsewhere; send writes to the primary (via connection routing or `fly-replay`). Operating the engine itself belongs to ../postgresdb/SKILL.md.
|
|
63
|
+
|
|
64
|
+
## Capacity caveat
|
|
65
|
+
|
|
66
|
+
`fly scale count N --region a,b,c` places N Machines in **each** listed region. If **any** region is out of capacity the whole operation fails atomically — nothing is placed. Retry with fewer regions, a different code (`fly platform regions` for alternatives), or place granularly with `fly machine clone <id> --region <code>`.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# verify.sh — lint a fly.toml. Read-only. Exits 0 on a clean/empty target.
|
|
3
|
+
#
|
|
4
|
+
# Usage: scripts/verify.sh [path/to/fly.toml] (defaults to ./fly.toml)
|
|
5
|
+
#
|
|
6
|
+
# Prefers `fly config validate` when flyctl is on PATH; otherwise runs
|
|
7
|
+
# structural grep checks. Prints PASS:/FAIL: lines; nonzero exit on any FAIL.
|
|
8
|
+
|
|
9
|
+
set -u
|
|
10
|
+
|
|
11
|
+
TARGET="${1:-fly.toml}"
|
|
12
|
+
fails=0
|
|
13
|
+
|
|
14
|
+
pass() { printf 'PASS: %s\n' "$1"; }
|
|
15
|
+
fail() { printf 'FAIL: %s\n' "$1"; fails=$((fails + 1)); }
|
|
16
|
+
info() { printf 'INFO: %s\n' "$1"; }
|
|
17
|
+
|
|
18
|
+
# Empty/clean target: nothing to lint, do not invent a failure.
|
|
19
|
+
if [ ! -e "$TARGET" ]; then
|
|
20
|
+
info "no fly.toml at '$TARGET' — nothing to verify"
|
|
21
|
+
exit 0
|
|
22
|
+
fi
|
|
23
|
+
if [ ! -s "$TARGET" ]; then
|
|
24
|
+
info "'$TARGET' is empty — nothing to verify"
|
|
25
|
+
exit 0
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
pass "found $TARGET"
|
|
29
|
+
|
|
30
|
+
# Prefer the real validator when available.
|
|
31
|
+
FLY_BIN=""
|
|
32
|
+
if command -v fly >/dev/null 2>&1; then
|
|
33
|
+
FLY_BIN="fly"
|
|
34
|
+
elif command -v flyctl >/dev/null 2>&1; then
|
|
35
|
+
FLY_BIN="flyctl"
|
|
36
|
+
fi
|
|
37
|
+
|
|
38
|
+
if [ -n "$FLY_BIN" ]; then
|
|
39
|
+
info "$FLY_BIN on PATH — running '$FLY_BIN config validate'"
|
|
40
|
+
if "$FLY_BIN" config validate --config "$TARGET" >/dev/null 2>&1; then
|
|
41
|
+
pass "$FLY_BIN config validate"
|
|
42
|
+
else
|
|
43
|
+
fail "$FLY_BIN config validate reported errors (run '$FLY_BIN config validate --config $TARGET')"
|
|
44
|
+
fi
|
|
45
|
+
[ "$fails" -eq 0 ] && exit 0 || exit 1
|
|
46
|
+
fi
|
|
47
|
+
|
|
48
|
+
info "flyctl not found — falling back to structural checks"
|
|
49
|
+
|
|
50
|
+
# app = "..."
|
|
51
|
+
if grep -Eq '^[[:space:]]*app[[:space:]]*=' "$TARGET"; then
|
|
52
|
+
pass "app is set"
|
|
53
|
+
else
|
|
54
|
+
fail "missing top-level 'app ='"
|
|
55
|
+
fi
|
|
56
|
+
|
|
57
|
+
# primary_region = "..."
|
|
58
|
+
if grep -Eq '^[[:space:]]*primary_region[[:space:]]*=' "$TARGET"; then
|
|
59
|
+
pass "primary_region is set"
|
|
60
|
+
else
|
|
61
|
+
fail "missing 'primary_region ='"
|
|
62
|
+
fi
|
|
63
|
+
|
|
64
|
+
# an internal_port under [http_service] or [[services]]
|
|
65
|
+
if grep -Eq '^[[:space:]]*internal_port[[:space:]]*=' "$TARGET"; then
|
|
66
|
+
pass "internal_port is defined"
|
|
67
|
+
else
|
|
68
|
+
fail "no 'internal_port' found (expected under [http_service] or [[services]])"
|
|
69
|
+
fi
|
|
70
|
+
|
|
71
|
+
# autostop pair lint: if either key present, both must be present
|
|
72
|
+
has_stop=0; has_start=0
|
|
73
|
+
grep -Eq '^[[:space:]]*auto_stop_machines[[:space:]]*=' "$TARGET" && has_stop=1
|
|
74
|
+
grep -Eq '^[[:space:]]*auto_start_machines[[:space:]]*=' "$TARGET" && has_start=1
|
|
75
|
+
if [ "$has_stop" -eq 1 ] || [ "$has_start" -eq 1 ]; then
|
|
76
|
+
if [ "$has_stop" -eq 1 ] && [ "$has_start" -eq 1 ]; then
|
|
77
|
+
pass "auto_stop_machines and auto_start_machines set together"
|
|
78
|
+
else
|
|
79
|
+
fail "set auto_stop_machines and auto_start_machines together (only one is present)"
|
|
80
|
+
fi
|
|
81
|
+
else
|
|
82
|
+
info "no autostop keys — skipping pair lint"
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
if [ "$fails" -eq 0 ]; then
|
|
86
|
+
printf '\nOK: %s passed structural checks\n' "$TARGET"
|
|
87
|
+
exit 0
|
|
88
|
+
fi
|
|
89
|
+
printf '\n%d check(s) failed\n' "$fails"
|
|
90
|
+
exit 1
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ftd
|
|
3
|
+
description: "Use for ordinary authorised change — the default lane once the decisor has ruled out a question and not selected the chain. Keeps one feature document per feature in 02-DOCS holding intent, scope, checklist, evidence and next step, checks tasks off only against observed proof, and asks whether to branch before the work writes code. NOT the ten-phase chain (that is `sdd`), NOT the classification itself (that is the decisor in `suggest`), NOT a request for information, which writes nothing."
|
|
4
|
+
tags: [ftd, lane, default, feature-document, evidence]
|
|
5
|
+
recommends: [worktrees, debug, verify]
|
|
6
|
+
profiles: [minimal, core, full]
|
|
7
|
+
origin: ai-hub
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# FTD — Fast-Track Development
|
|
11
|
+
|
|
12
|
+
The lane ordinary work takes. Not a lighter methodology: the **same** discipline about evidence with
|
|
13
|
+
none of the coordination the ten-phase chain exists to buy. One document instead of five, written
|
|
14
|
+
because the work might be interrupted, not because somebody has to approve it first.
|
|
15
|
+
|
|
16
|
+
You are here because the decisor in `../suggest/SKILL.md` ruled that this turn authorises a change
|
|
17
|
+
and did not select `../sdd/SKILL.md`. If it is still a question, you are in the wrong place: go back
|
|
18
|
+
and answer it.
|
|
19
|
+
|
|
20
|
+
## Why this lane exists
|
|
21
|
+
|
|
22
|
+
The constitution's seventh principle has said it from the start: *«la fricción es proporcional al
|
|
23
|
+
riesgo. Silencio para lo trivial, ceremonia solo donde el fallo es caro. Un sistema que molesta en el
|
|
24
|
+
80% inofensivo acaba apagado, y apagado no protege el 20% que importa.»*
|
|
25
|
+
|
|
26
|
+
The harness spent a long time contradicting it — every request that sounded like building went
|
|
27
|
+
through ten phases. This lane is that principle finally implemented, not a new idea.
|
|
28
|
+
|
|
29
|
+
## The feature document
|
|
30
|
+
|
|
31
|
+
One per feature, in the workspace wiki under `02-DOCS/wiki/ftd/<slug>.md`. **Never inside the code
|
|
32
|
+
repository**: whoever clones it should get code, not somebody else's notes in progress.
|
|
33
|
+
|
|
34
|
+
It is written **before the first change**, not after, and it holds exactly this:
|
|
35
|
+
|
|
36
|
+
```markdown
|
|
37
|
+
---
|
|
38
|
+
author: <who asked for it — git user.name>
|
|
39
|
+
branch: <the branch the work runs on>
|
|
40
|
+
status: in-progress
|
|
41
|
+
---
|
|
42
|
+
# <feature>
|
|
43
|
+
|
|
44
|
+
## Intent — what changes, and why it is worth doing
|
|
45
|
+
## Scope — what is in, and what is explicitly not
|
|
46
|
+
## Checklist — one line per task, each with what would prove it done
|
|
47
|
+
## Evidence — the observed output per completed task
|
|
48
|
+
## Next — the single next step, so an interruption costs nothing
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
The frontmatter says whose work it is, so «¿qué ha hecho cada uno?» has an answer. You never close
|
|
52
|
+
it by hand: when the branch lands on the default branch, ai-hub's post-merge hook sets `status: done`
|
|
53
|
+
and replaces Next with where and when it merged (on a closed default branch, via `ai-hub/knowledge`).
|
|
54
|
+
|
|
55
|
+
No decision journal, no phase records, no approvals. If a decision was meaningful, one line of
|
|
56
|
+
rationale goes next to the task it belongs to.
|
|
57
|
+
|
|
58
|
+
**The checkbox is not the proof.** A task is checked off when its stated check has been *observed* —
|
|
59
|
+
the test output, the command's result, the page rendering. A task whose check was skipped, failed or
|
|
60
|
+
could not run is recorded as such, honestly. The tenth principle applies here exactly as it does in
|
|
61
|
+
the chain: a result asserted without evidence is treated as not done.
|
|
62
|
+
|
|
63
|
+
## Isolation
|
|
64
|
+
|
|
65
|
+
Where the work runs follows the project's decision (asked at install: «main» or «ramas y PR»; ai-hub
|
|
66
|
+
says which on every turn) — never a branch opened on your own:
|
|
67
|
+
|
|
68
|
+
- **Default branch open** (research, content, scripts, simple projects) → work straight on it. Do not
|
|
69
|
+
ask about branches.
|
|
70
|
+
- **Default branch closed for the agent** (long-lived code: «ramas y PR» chosen at install, CI, a
|
|
71
|
+
deployment or several people) → before EACH change that writes code, ask in one line: «¿Lo hago en
|
|
72
|
+
esta rama (`<current>`), en una nueva, o desbloqueo `<default branch>`?». Already on another branch
|
|
73
|
+
is no exception: an unrelated change does not go into it without asking. A new branch is named by
|
|
74
|
+
intent and closes with a pull request. Unlocking is `ai-hub main unlock`; never without that answer.
|
|
75
|
+
- **Docs, wiki or config only** → no question, no branch.
|
|
76
|
+
- **Another session working in this same folder** → a worktree in `.worktrees/<branch>/`, never a
|
|
77
|
+
branch switch under the other session. Not a question: ai-hub tells you when that is the case.
|
|
78
|
+
|
|
79
|
+
A worktree only when another session is there: alone, setting one up costs more than it protects.
|
|
80
|
+
|
|
81
|
+
`../worktrees/SKILL.md` owns the isolation mechanics if you need them. Once the branch lands, the
|
|
82
|
+
cleanup is automatic and you do not run anything.
|
|
83
|
+
|
|
84
|
+
## Growing out of the lane
|
|
85
|
+
|
|
86
|
+
A feature that turns out to need the chain is **promoted, not restarted**: the feature document
|
|
87
|
+
becomes the input to `../specify/SKILL.md`, and no completed work is discarded. Promotion happens for
|
|
88
|
+
the same reason the chain is ever entered — durable artifacts would remove a substantial ambiguity —
|
|
89
|
+
and never because the work turned out to be big.
|
|
90
|
+
|
|
91
|
+
## Anti-patterns → STOP
|
|
92
|
+
|
|
93
|
+
| If you're about to… | Reality / Fix |
|
|
94
|
+
| --- | --- |
|
|
95
|
+
| Skip the document because the change is small | The document is what survives an interruption. Write it, keep it short. |
|
|
96
|
+
| Check a task off because you believe it works | Observed proof or it is not done (P10). Record the check you could not run. |
|
|
97
|
+
| Write the document into the code repository | It belongs in `02-DOCS`. A clone should get code, not notes. |
|
|
98
|
+
| Open a worktree "to be safe" | That is the chain's ceremony arriving through the back door (P7). |
|
|
99
|
+
| Escalate to the chain because the change is large | Size never selects it. Only unresolved ambiguity that artifacts would settle. |
|
|
100
|
+
| Produce a spec, plan or task artifact here | Those are the chain's. This lane has one document. |
|
|
101
|
+
|
|
102
|
+
## See Also
|
|
103
|
+
|
|
104
|
+
- `../suggest/SKILL.md` — the decisor that routed here, and the other two lanes.
|
|
105
|
+
- `../sdd/SKILL.md` — the ten-phase chain, for when artifacts genuinely earn their cost.
|
|
106
|
+
- `../verify/SKILL.md` — the evidence gate, when this lane's checks need the full battery.
|
|
107
|
+
- `../debug/SKILL.md` — a failure to reproduce before fixing; comes back here afterwards.
|
|
108
|
+
|
|
109
|
+
## Orientación (siempre)
|
|
110
|
+
|
|
111
|
+
Habla con la voz de `orient`: frases cortas, una idea por frase, y cada respuesta se entiende sola. Registro técnico o con analogías según `technical_level` en `02-DOCS/wiki/harness/user-profile.md`. Cierra cada turno con el **bloque-brújula** (📍 dónde estás · ➡️ siguiente, terminando en pregunta; ✅ y 🧭 cuando hay algo hecho o decidido). **Nunca termines en seco.** Protocolo completo: skill `orient` → `skills/orient/references/orientation-contract.md`. (Defiere a `suggest` el "¿instalo la skill que falta?".)
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
skill: ftd
|
|
2
|
+
|
|
3
|
+
# Cases for FTD — Fast-Track Development, the lane ordinary authorised change takes.
|
|
4
|
+
# FTD keeps ONE feature document per feature in docs/ (intent, scope, checklist,
|
|
5
|
+
# evidence, next step), checks tasks off only against observed proof, and branches when
|
|
6
|
+
# the work writes code. It is NOT the ten-phase chain (sdd), NOT the classification
|
|
7
|
+
# itself (the decisor lives in the always-on suggest body), and NOT a request for
|
|
8
|
+
# information — those write nothing at all.
|
|
9
|
+
|
|
10
|
+
should_trigger:
|
|
11
|
+
- prompt: "Añade exportación a CSV usando los filtros del informe que ya existen."
|
|
12
|
+
why: "An outcome asked for plainly: the change is authorised, understood, and no durable spec would settle anything the code does not. This is the default lane, entered without ceremony."
|
|
13
|
+
|
|
14
|
+
- prompt: "Rename the users table across every call site that touches it — there are about forty."
|
|
15
|
+
why: "Large and mechanical. Size is exactly what must NOT escalate to the chain; forty call sites carry no unresolved design question, so it stays here with one feature document."
|
|
16
|
+
|
|
17
|
+
- prompt: "Bump the dependency and fix whatever breaks."
|
|
18
|
+
why: "Authorised, open-ended in effort but not in intent. The feature document exists so an interruption mid-way costs nothing, which is the whole reason this lane writes one."
|
|
19
|
+
|
|
20
|
+
- prompt: "Migra los tres endpoints al nuevo formato de respuesta y deja constancia de lo que has comprobado."
|
|
21
|
+
why: "Multiple coordinated steps plus an explicit ask for evidence — the checklist-with-observed-proof shape this skill owns, without any phase handoffs."
|
|
22
|
+
|
|
23
|
+
- prompt: "Arregla el typo del botón de guardar."
|
|
24
|
+
why: "Trivial and authorised. Still this lane: the document is short, but the lane is the same, and the boundary is authorisation rather than size."
|
|
25
|
+
|
|
26
|
+
should_not_trigger:
|
|
27
|
+
- prompt: "¿Por qué el login tarda tanto en producción?"
|
|
28
|
+
route_to: "debug"
|
|
29
|
+
why: "A question about a failure, with nothing authorising a change. Investigation writes nothing; if it becomes a fix, debug reproduces the cause first."
|
|
30
|
+
|
|
31
|
+
- prompt: "Compare Postgres and SQLite for this workload and recommend one."
|
|
32
|
+
route_to: "suggest"
|
|
33
|
+
why: "Information only. The decisor's read-only lane answers and creates no artifact — a recommendation is not permission to implement it."
|
|
34
|
+
|
|
35
|
+
- prompt: "No tengo claro si los permisos van por rol o por recurso, y afecta al esquema, a la API y a la UI."
|
|
36
|
+
route_to: "specify"
|
|
37
|
+
why: "A substantial unresolved ambiguity that durable spec/plan/tasks would settle. Several interlocking decisions: the agent enters the chain itself and says why (team-safe-default)."
|
|
38
|
+
|
|
39
|
+
- prompt: "Quiero especificar bien el sistema de permisos antes de tocar nada."
|
|
40
|
+
route_to: "specify"
|
|
41
|
+
why: "The chain requested by name. Explicit selection always wins over the decisor's default."
|
|
42
|
+
|
|
43
|
+
- prompt: "Revisa este diff y dime si tiene bugs."
|
|
44
|
+
route_to: "code-review"
|
|
45
|
+
why: "Reading a finished diff for defects is a review, not a change. Nothing here authorises writing, so no feature document is created."
|
|
46
|
+
|
|
47
|
+
capability:
|
|
48
|
+
- scenario: "A developer whose profile says the register: technical says: 'Añade exportación a CSV usando los filtros del informe que ya existen.' Show how the lane runs from the first word to delivery."
|
|
49
|
+
must_include:
|
|
50
|
+
- "Names the lane out loud in one line before acting, as the decisor requires — this is FTD, not a question and not the chain"
|
|
51
|
+
- "Creates one feature document at docs/ftd/<slug>.md BEFORE the first change, and says which document it created and how many tasks it holds"
|
|
52
|
+
- "Writes the document into the workspace wiki, never into the code repository, so whoever clones the repo gets code and not somebody's notes in progress"
|
|
53
|
+
- "Keeps the document to intent, scope, checklist, evidence and next step — no spec, no plan, no tasks artifact, no decision journal"
|
|
54
|
+
- "States for each checklist item what would prove it done, before doing it"
|
|
55
|
+
- "Opens a branch because the work writes code, and explicitly does NOT open a worktree"
|
|
56
|
+
- "Checks a task off only after observing its stated check, and records a check that failed, was skipped or could not run rather than omitting it (P10)"
|
|
57
|
+
- "Does not escalate to the ten-phase chain on the basis of size, file count or perceived risk"
|
|
58
|
+
- "Closes by reporting the verified outcome, every failed or pending check, and the single next step"
|
|
59
|
+
|
|
60
|
+
- scenario: "Mid-way through the same work, the developer says the requirement has changed: the export must also respect a date range that does not exist in the current filters. Show how the lane absorbs it."
|
|
61
|
+
must_include:
|
|
62
|
+
- "Revises the existing feature document rather than starting a second one, preserving completed work that is still valid"
|
|
63
|
+
- "Adds the genuinely new tasks, and reopens any invalidated task with the reason written next to it"
|
|
64
|
+
- "Distinguishes a change the user authorised from a finding the agent made — a finding alone never expands scope"
|
|
65
|
+
- "Considers promotion to the chain only if durable artifacts would settle a substantial ambiguity, and says so rather than escalating because the work grew"
|
|
66
|
+
- "If promoted, carries the feature document into specify as input instead of discarding the work already done"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"about": "Fixture corpus for the three-lane decisor. The decisor is prose and judgement — chosen deliberately over deterministic signals — so this corpus is the mechanism that makes it checkable (P2). Scored by the behaviour eval, not by npm test; what npm test checks is that the corpus stays honest: every lane represented, every case reasoned, and the cases this lane exists because of still present.",
|
|
3
|
+
"lanes": {
|
|
4
|
+
"answer": "information only; writes nothing, creates no artifact",
|
|
5
|
+
"ftd": "authorised change, ordinary; one feature document",
|
|
6
|
+
"sdd": "the ten-phase chain, entered by the agent for big or complex work"
|
|
7
|
+
},
|
|
8
|
+
"cases": [
|
|
9
|
+
{ "request": "¿Por qué el login tarda tanto en producción?", "expect": "answer", "why": "investigation; nothing authorises a change" },
|
|
10
|
+
{ "request": "Compare Postgres and SQLite for this workload and recommend one", "expect": "answer", "why": "comparison and a recommendation are information, not a mandate" },
|
|
11
|
+
{ "request": "Revisa este diff y dime si tiene bugs", "expect": "answer", "why": "review is read-only even though it is about code that changes" },
|
|
12
|
+
{ "request": "Audita la seguridad de la capa de autenticación", "expect": "answer", "why": "audit; a finding is not permission to fix it" },
|
|
13
|
+
{ "request": "¿Y si añadiéramos exportación a CSV?", "expect": "answer", "why": "thinking aloud about a feature is not a request to build it; ask before building" },
|
|
14
|
+
{ "request": "Propón cómo estructurarías el módulo de pagos", "expect": "answer", "why": "proposal-only; the old gate would have started the chain here" },
|
|
15
|
+
{ "request": "Añade exportación a CSV usando los filtros del informe que ya existen", "expect": "ftd", "why": "an outcome asked for plainly: authorised, understood, no ambiguity artifacts would settle" },
|
|
16
|
+
{ "request": "Arregla el typo del botón de guardar", "expect": "ftd", "why": "trivial and authorised; one document, no ceremony" },
|
|
17
|
+
{ "request": "Renombra la tabla de usuarios en las 40 llamadas que la usan", "expect": "ftd", "why": "large and mechanical: size alone must never select the chain" },
|
|
18
|
+
{ "request": "Sube la versión de la dependencia y arregla lo que rompa", "expect": "ftd", "why": "authorised change with no unresolved design question" },
|
|
19
|
+
{ "request": "Migra los tres endpoints al nuevo formato de respuesta", "expect": "ftd", "why": "many files, but nothing a spec would settle that the code does not" },
|
|
20
|
+
{ "request": "Quiero especificar bien el sistema de permisos antes de tocar nada", "expect": "sdd", "why": "explicit request for the chain" },
|
|
21
|
+
{ "request": "Vamos a hacer una spec de esto", "expect": "sdd", "why": "explicit request, stated in the user's own words" },
|
|
22
|
+
{ "request": "No tengo claro si los permisos van por rol o por recurso, y afecta al esquema, a la API y a la UI", "expect": "sdd", "why": "enter the chain: several interlocking decisions that durable artifacts would settle; the agent enters it and says why" }
|
|
23
|
+
]
|
|
24
|
+
}
|