cfsa-antigravity 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.mjs +324 -0
- package/package.json +34 -0
- package/template/.agent/instructions/commands.md +48 -0
- package/template/.agent/instructions/patterns.md +61 -0
- package/template/.agent/instructions/structure.md +29 -0
- package/template/.agent/instructions/tech-stack.md +43 -0
- package/template/.agent/instructions/workflow.md +41 -0
- package/template/.agent/kit-sync.md +15 -0
- package/template/.agent/rules/boundary-not-placeholder.md +146 -0
- package/template/.agent/rules/completion-checklist.md +48 -0
- package/template/.agent/rules/decision-classification.md +103 -0
- package/template/.agent/rules/extensibility.md +47 -0
- package/template/.agent/rules/question-vs-command.md +81 -0
- package/template/.agent/rules/security-first.md +43 -0
- package/template/.agent/rules/specificity-standards.md +54 -0
- package/template/.agent/rules/tdd-contract-first.md +57 -0
- package/template/.agent/rules/vertical-slices.md +42 -0
- package/template/.agent/skill-library/MANIFEST.md +480 -0
- package/template/.agent/skill-library/README.md +38 -0
- package/template/.agent/skill-library/meta/brand-guidelines/SKILL.md +73 -0
- package/template/.agent/skill-library/meta/claude-code/README.md +9 -0
- package/template/.agent/skill-library/meta/claude-code/agent-development/SKILL.md +415 -0
- package/template/.agent/skill-library/meta/claude-code/hook-development/SKILL.md +712 -0
- package/template/.agent/skill-library/meta/claude-code/plugin-structure/SKILL.md +476 -0
- package/template/.agent/skill-library/meta/git-advanced/SKILL.md +972 -0
- package/template/.agent/skill-library/meta/mcp-builder/SKILL.md +236 -0
- package/template/.agent/skill-library/meta/product-marketing-context/SKILL.md +241 -0
- package/template/.agent/skill-library/meta/regex-patterns/SKILL.md +751 -0
- package/template/.agent/skill-library/meta/tmux-processes/SKILL.md +210 -0
- package/template/.agent/skill-library/meta/using-tmux-for-interactive-commands/SKILL.md +178 -0
- package/template/.agent/skill-library/stack/3d/threejs-pro/SKILL.md +300 -0
- package/template/.agent/skill-library/stack/ai/ai-sdk/SKILL.md +77 -0
- package/template/.agent/skill-library/stack/ai/langchain/SKILL.md +530 -0
- package/template/.agent/skill-library/stack/ai/ollama/SKILL.md +321 -0
- package/template/.agent/skill-library/stack/ai/openai-sdk/SKILL.md +549 -0
- package/template/.agent/skill-library/stack/analytics/google-analytics/SKILL.md +153 -0
- package/template/.agent/skill-library/stack/api/graphql/SKILL.md +1061 -0
- package/template/.agent/skill-library/stack/api/trpc/SKILL.md +576 -0
- package/template/.agent/skill-library/stack/auth/authjs/SKILL.md +569 -0
- package/template/.agent/skill-library/stack/auth/clerk/SKILL.md +590 -0
- package/template/.agent/skill-library/stack/auth/firebase-auth/SKILL.md +734 -0
- package/template/.agent/skill-library/stack/cms/payload-cms/SKILL.md +573 -0
- package/template/.agent/skill-library/stack/cms/shopify/SKILL.md +1193 -0
- package/template/.agent/skill-library/stack/cms/wordpress/SKILL.md +1104 -0
- package/template/.agent/skill-library/stack/css/sass-scss/SKILL.md +1121 -0
- package/template/.agent/skill-library/stack/css/tailwind-css-patterns/SKILL.md +863 -0
- package/template/.agent/skill-library/stack/css/tailwind-design-system/SKILL.md +490 -0
- package/template/.agent/skill-library/stack/css/vanilla-css/SKILL.md +1078 -0
- package/template/.agent/skill-library/stack/databases/clickhouse/SKILL.md +311 -0
- package/template/.agent/skill-library/stack/databases/influxdb/SKILL.md +280 -0
- package/template/.agent/skill-library/stack/databases/lancedb/SKILL.md +415 -0
- package/template/.agent/skill-library/stack/databases/mongodb/SKILL.md +1169 -0
- package/template/.agent/skill-library/stack/databases/neo4j/SKILL.md +839 -0
- package/template/.agent/skill-library/stack/databases/pgvector/SKILL.md +241 -0
- package/template/.agent/skill-library/stack/databases/pinecone/SKILL.md +212 -0
- package/template/.agent/skill-library/stack/databases/postgresql/SKILL.md +658 -0
- package/template/.agent/skill-library/stack/databases/qdrant/SKILL.md +312 -0
- package/template/.agent/skill-library/stack/databases/redis/SKILL.md +1079 -0
- package/template/.agent/skill-library/stack/databases/spacetimedb/SKILL.md +532 -0
- package/template/.agent/skill-library/stack/databases/sqlite/SKILL.md +1132 -0
- package/template/.agent/skill-library/stack/databases/supabase/SKILL.md +640 -0
- package/template/.agent/skill-library/stack/databases/surrealdb-expert/SKILL.md +945 -0
- package/template/.agent/skill-library/stack/databases/timescaledb/SKILL.md +745 -0
- package/template/.agent/skill-library/stack/databases/weaviate/SKILL.md +218 -0
- package/template/.agent/skill-library/stack/devops/github-actions/SKILL.md +554 -0
- package/template/.agent/skill-library/stack/devops/kubernetes/SKILL.md +950 -0
- package/template/.agent/skill-library/stack/devops/nginx/SKILL.md +841 -0
- package/template/.agent/skill-library/stack/devops/terraform/SKILL.md +860 -0
- package/template/.agent/skill-library/stack/email/resend/SKILL.md +391 -0
- package/template/.agent/skill-library/stack/engines/godot/SKILL.md +488 -0
- package/template/.agent/skill-library/stack/extensions/chrome-extension/SKILL.md +375 -0
- package/template/.agent/skill-library/stack/extensions/vscode-extension/SKILL.md +453 -0
- package/template/.agent/skill-library/stack/frameworks/astro-framework/SKILL.md +162 -0
- package/template/.agent/skill-library/stack/frameworks/electron/SKILL.md +1286 -0
- package/template/.agent/skill-library/stack/frameworks/fastapi/SKILL.md +650 -0
- package/template/.agent/skill-library/stack/frameworks/hono/SKILL.md +90 -0
- package/template/.agent/skill-library/stack/frameworks/nestjs/SKILL.md +878 -0
- package/template/.agent/skill-library/stack/frameworks/nextjs/SKILL.md +635 -0
- package/template/.agent/skill-library/stack/frameworks/nuxt/SKILL.md +564 -0
- package/template/.agent/skill-library/stack/frameworks/sveltekit/SKILL.md +614 -0
- package/template/.agent/skill-library/stack/frameworks/tauri/SKILL.md +920 -0
- package/template/.agent/skill-library/stack/gamedev/godot/SKILL.md +1032 -0
- package/template/.agent/skill-library/stack/gamedev/unity/SKILL.md +1175 -0
- package/template/.agent/skill-library/stack/hosting/aws/SKILL.md +467 -0
- package/template/.agent/skill-library/stack/hosting/cloudflare/SKILL.md +201 -0
- package/template/.agent/skill-library/stack/hosting/docker-expert/SKILL.md +409 -0
- package/template/.agent/skill-library/stack/hosting/vercel/SKILL.md +484 -0
- package/template/.agent/skill-library/stack/languages/bash-scripting/SKILL.md +773 -0
- package/template/.agent/skill-library/stack/languages/c-cpp/SKILL.md +712 -0
- package/template/.agent/skill-library/stack/languages/gdscript/SKILL.md +789 -0
- package/template/.agent/skill-library/stack/languages/go/SKILL.md +664 -0
- package/template/.agent/skill-library/stack/languages/java/SKILL.md +778 -0
- package/template/.agent/skill-library/stack/languages/kotlin/SKILL.md +665 -0
- package/template/.agent/skill-library/stack/languages/python/SKILL.md +678 -0
- package/template/.agent/skill-library/stack/languages/rust/SKILL.md +673 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/SKILL.md +141 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/advanced-generics.md +90 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/branded-types.md +57 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/builder-pattern.md +71 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/common-pitfalls.md +135 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/conditional-types.md +27 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/decorators.md +98 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/discriminated-unions.md +62 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/mapped-types.md +53 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/performance-best-practices.md +104 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/template-literal-types.md +49 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/testing-types.md +112 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/type-guards.md +70 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/type-inference.md +101 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/utility-types.md +98 -0
- package/template/.agent/skill-library/stack/languages/vanilla-javascript/SKILL.md +803 -0
- package/template/.agent/skill-library/stack/messaging/kafka/SKILL.md +235 -0
- package/template/.agent/skill-library/stack/mobile/expo-react-native/SKILL.md +665 -0
- package/template/.agent/skill-library/stack/mobile/flutter/SKILL.md +316 -0
- package/template/.agent/skill-library/stack/mobile/react-native/SKILL.md +337 -0
- package/template/.agent/skill-library/stack/monitoring/posthog/SKILL.md +396 -0
- package/template/.agent/skill-library/stack/monitoring/sentry/SKILL.md +509 -0
- package/template/.agent/skill-library/stack/observability/datadog/SKILL.md +179 -0
- package/template/.agent/skill-library/stack/observability/distributed-tracing/SKILL.md +140 -0
- package/template/.agent/skill-library/stack/observability/logging-best-practices/SKILL.md +168 -0
- package/template/.agent/skill-library/stack/observability/opentelemetry/SKILL.md +164 -0
- package/template/.agent/skill-library/stack/observability/prometheus-grafana/SKILL.md +246 -0
- package/template/.agent/skill-library/stack/observability/python-observability/SKILL.md +158 -0
- package/template/.agent/skill-library/stack/orm/drizzle-orm/SKILL.md +613 -0
- package/template/.agent/skill-library/stack/orm/prisma/SKILL.md +744 -0
- package/template/.agent/skill-library/stack/payments/lemonsqueezy/SKILL.md +393 -0
- package/template/.agent/skill-library/stack/payments/stripe-integration/SKILL.md +457 -0
- package/template/.agent/skill-library/stack/queue/bullmq/SKILL.md +385 -0
- package/template/.agent/skill-library/stack/queue/inngest/SKILL.md +438 -0
- package/template/.agent/skill-library/stack/realtime/socketio/SKILL.md +595 -0
- package/template/.agent/skill-library/stack/search/elasticsearch/SKILL.md +248 -0
- package/template/.agent/skill-library/stack/search/meilisearch/SKILL.md +385 -0
- package/template/.agent/skill-library/stack/security/crypto-patterns/SKILL.md +437 -0
- package/template/.agent/skill-library/stack/security/csp-cors-headers/SKILL.md +588 -0
- package/template/.agent/skill-library/stack/security/dependency-auditing/SKILL.md +560 -0
- package/template/.agent/skill-library/stack/security/input-sanitization/SKILL.md +430 -0
- package/template/.agent/skill-library/stack/security/owasp-web-security/SKILL.md +421 -0
- package/template/.agent/skill-library/stack/state/tanstack-query/SKILL.md +637 -0
- package/template/.agent/skill-library/stack/state/zustand/SKILL.md +483 -0
- package/template/.agent/skill-library/stack/storage/aws-s3/SKILL.md +415 -0
- package/template/.agent/skill-library/stack/testing/playwright/SKILL.md +641 -0
- package/template/.agent/skill-library/stack/testing/storybook/SKILL.md +923 -0
- package/template/.agent/skill-library/stack/testing/testing-library/SKILL.md +872 -0
- package/template/.agent/skill-library/stack/testing/vitest/SKILL.md +714 -0
- package/template/.agent/skill-library/stack/ui/react-best-practices/SKILL.md +877 -0
- package/template/.agent/skill-library/stack/ui/react-composition-patterns/SKILL.md +1107 -0
- package/template/.agent/skill-library/stack/ui/react-flow/SKILL.md +425 -0
- package/template/.agent/skill-library/stack/ui/shadcn-ui/SKILL.md +703 -0
- package/template/.agent/skill-library/surface/api/api-caching/SKILL.md +458 -0
- package/template/.agent/skill-library/surface/api/api-documentation-openapi/SKILL.md +697 -0
- package/template/.agent/skill-library/surface/api/api-error-handling/SKILL.md +478 -0
- package/template/.agent/skill-library/surface/api/api-security-checklist/SKILL.md +147 -0
- package/template/.agent/skill-library/surface/api/api-versioning/SKILL.md +420 -0
- package/template/.agent/skill-library/surface/api/email-best-practices/SKILL.md +59 -0
- package/template/.agent/skill-library/surface/api/rate-limiting-abuse-protection/SKILL.md +147 -0
- package/template/.agent/skill-library/surface/api/rest-api-design/SKILL.md +478 -0
- package/template/.agent/skill-library/surface/api/webhook-design/SKILL.md +752 -0
- package/template/.agent/skill-library/surface/cli/cli-configuration-management/SKILL.md +445 -0
- package/template/.agent/skill-library/surface/cli/cli-error-diagnostics/SKILL.md +515 -0
- package/template/.agent/skill-library/surface/cli/cli-shell-integration/SKILL.md +479 -0
- package/template/.agent/skill-library/surface/cli/cli-ux-design/SKILL.md +477 -0
- package/template/.agent/skill-library/surface/desktop/desktop-app-distribution/SKILL.md +416 -0
- package/template/.agent/skill-library/surface/desktop/desktop-security-sandboxing/SKILL.md +407 -0
- package/template/.agent/skill-library/surface/desktop/desktop-ux-conventions/SKILL.md +361 -0
- package/template/.agent/skill-library/surface/desktop/native-os-integration/SKILL.md +563 -0
- package/template/.agent/skill-library/surface/extension/browser-extension-patterns/SKILL.md +482 -0
- package/template/.agent/skill-library/surface/extension/plugin-architecture-design/SKILL.md +632 -0
- package/template/.agent/skill-library/surface/extension/vscode-extension-development/SKILL.md +728 -0
- package/template/.agent/skill-library/surface/mobile/app-store-submission/SKILL.md +304 -0
- package/template/.agent/skill-library/surface/mobile/mobile-offline-sync/SKILL.md +443 -0
- package/template/.agent/skill-library/surface/mobile/mobile-responsive-patterns/SKILL.md +432 -0
- package/template/.agent/skill-library/surface/mobile/push-notifications/SKILL.md +495 -0
- package/template/.agent/skill-library/surface/web/accessibility-compliance/SKILL.md +827 -0
- package/template/.agent/skill-library/surface/web/ai-seo/SKILL.md +398 -0
- package/template/.agent/skill-library/surface/web/ai-seo/references/content-patterns.md +285 -0
- package/template/.agent/skill-library/surface/web/ai-seo/references/platform-ranking-factors.md +152 -0
- package/template/.agent/skill-library/surface/web/analytics-tracking/SKILL.md +309 -0
- package/template/.agent/skill-library/surface/web/analytics-tracking/references/event-library.md +260 -0
- package/template/.agent/skill-library/surface/web/analytics-tracking/references/ga4-implementation.md +300 -0
- package/template/.agent/skill-library/surface/web/analytics-tracking/references/gtm-implementation.md +390 -0
- package/template/.agent/skill-library/surface/web/authentication-ui-flows/SKILL.md +530 -0
- package/template/.agent/skill-library/surface/web/dark-mode-theming/SKILL.md +516 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/SKILL.md +105 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/data/charts.csv +26 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/data/colors.csv +97 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/data/landing.csv +31 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/data/styles.csv +59 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/data/typography.csv +58 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/data/ux-guidelines.csv +100 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/scripts/core.py +258 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/scripts/design_system.py +1067 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/scripts/search.py +106 -0
- package/template/.agent/skill-library/surface/web/form-handling-validation/SKILL.md +675 -0
- package/template/.agent/skill-library/surface/web/frontend-design/SKILL.md +1393 -0
- package/template/.agent/skill-library/surface/web/frontend-design/templates/cppn-hero.tsx +299 -0
- package/template/.agent/skill-library/surface/web/frontend-design/templates/wave-hero.tsx +875 -0
- package/template/.agent/skill-library/surface/web/frontend-verification/SKILL.md +111 -0
- package/template/.agent/skill-library/surface/web/frontend-verification/scripts/ux_audit.py +739 -0
- package/template/.agent/skill-library/surface/web/i18n-localization/SKILL.md +154 -0
- package/template/.agent/skill-library/surface/web/offline-first-pwa/SKILL.md +657 -0
- package/template/.agent/skill-library/surface/web/page-cro/SKILL.md +182 -0
- package/template/.agent/skill-library/surface/web/page-cro/references/experiments.md +248 -0
- package/template/.agent/skill-library/surface/web/programmatic-seo/SKILL.md +238 -0
- package/template/.agent/skill-library/surface/web/programmatic-seo/references/playbooks.md +308 -0
- package/template/.agent/skill-library/surface/web/schema-markup/SKILL.md +179 -0
- package/template/.agent/skill-library/surface/web/schema-markup/references/schema-examples.md +398 -0
- package/template/.agent/skill-library/surface/web/seo-audit/SKILL.md +394 -0
- package/template/.agent/skill-library/surface/web/seo-audit/references/ai-writing-detection.md +200 -0
- package/template/.agent/skill-library/surface/web/web-performance-optimization/SKILL.md +646 -0
- package/template/.agent/skill-library/surface/web/web-scraping/SKILL.md +58 -0
- package/template/.agent/skills/accessibility/SKILL.md +522 -0
- package/template/.agent/skills/accessibility/references/WCAG.md +162 -0
- package/template/.agent/skills/adversarial-review/SKILL.md +90 -0
- package/template/.agent/skills/antigravity-workflows/SKILL.md +81 -0
- package/template/.agent/skills/antigravity-workflows/resources/implementation-playbook.md +36 -0
- package/template/.agent/skills/api-design-principles/SKILL.md +37 -0
- package/template/.agent/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/template/.agent/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/template/.agent/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/template/.agent/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/template/.agent/skills/api-design-principles/resources/implementation-playbook.md +513 -0
- package/template/.agent/skills/api-versioning/SKILL.md +420 -0
- package/template/.agent/skills/architecture-mapping/SKILL.md +219 -0
- package/template/.agent/skills/bootstrap-agents/SKILL.md +259 -0
- package/template/.agent/skills/brainstorming/SKILL.md +236 -0
- package/template/.agent/skills/brand-guidelines/SKILL.md +44 -0
- package/template/.agent/skills/clean-code/SKILL.md +94 -0
- package/template/.agent/skills/code-review-pro/SKILL.md +152 -0
- package/template/.agent/skills/concise-planning/SKILL.md +68 -0
- package/template/.agent/skills/cross-layer-consistency/SKILL.md +117 -0
- package/template/.agent/skills/database-schema-design/SKILL.md +429 -0
- package/template/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/template/.agent/skills/design-anti-cliche/SKILL.md +159 -0
- package/template/.agent/skills/design-direction/SKILL.md +45 -0
- package/template/.agent/skills/error-handling-patterns/SKILL.md +721 -0
- package/template/.agent/skills/find-skills/SKILL.md +145 -0
- package/template/.agent/skills/git-advanced/SKILL.md +972 -0
- package/template/.agent/skills/git-workflow/SKILL.md +420 -0
- package/template/.agent/skills/idea-extraction/SKILL.md +271 -0
- package/template/.agent/skills/logging-best-practices/SKILL.md +851 -0
- package/template/.agent/skills/migration-management/SKILL.md +384 -0
- package/template/.agent/skills/minimalist-surgical-development/SKILL.md +69 -0
- package/template/.agent/skills/parallel-agents/SKILL.md +165 -0
- package/template/.agent/skills/parallel-debugging/SKILL.md +135 -0
- package/template/.agent/skills/parallel-feature-development/SKILL.md +166 -0
- package/template/.agent/skills/performance-budgeting/SKILL.md +144 -0
- package/template/.agent/skills/pipeline-rubrics/SKILL.md +51 -0
- package/template/.agent/skills/pipeline-rubrics/references/architecture-rubric.md +19 -0
- package/template/.agent/skills/pipeline-rubrics/references/be-rubric.md +21 -0
- package/template/.agent/skills/pipeline-rubrics/references/fe-rubric.md +20 -0
- package/template/.agent/skills/pipeline-rubrics/references/ia-rubric.md +19 -0
- package/template/.agent/skills/pipeline-rubrics/references/scoring.md +28 -0
- package/template/.agent/skills/pipeline-rubrics/references/vision-rubric.md +11 -0
- package/template/.agent/skills/prd-templates/SKILL.md +88 -0
- package/template/.agent/skills/prd-templates/references/architecture-design-template.md +88 -0
- package/template/.agent/skills/prd-templates/references/be-spec-template.md +101 -0
- package/template/.agent/skills/prd-templates/references/data-placement-template.md +74 -0
- package/template/.agent/skills/prd-templates/references/decomposition-templates.md +211 -0
- package/template/.agent/skills/prd-templates/references/design-system-decisions.md +198 -0
- package/template/.agent/skills/prd-templates/references/engineering-standards-template.md +124 -0
- package/template/.agent/skills/prd-templates/references/fe-classification-procedures.md +47 -0
- package/template/.agent/skills/prd-templates/references/fe-spec-template.md +84 -0
- package/template/.agent/skills/prd-templates/references/infrastructure-report-template.md +71 -0
- package/template/.agent/skills/prd-templates/references/operational-templates.md +116 -0
- package/template/.agent/skills/prd-templates/references/placeholder-guard-template.md +21 -0
- package/template/.agent/skills/prd-templates/references/surface-model.md +61 -0
- package/template/.agent/skills/prd-templates/references/vision-template.md +66 -0
- package/template/.agent/skills/prompt-engineer/README.md +659 -0
- package/template/.agent/skills/prompt-engineer/SKILL.md +249 -0
- package/template/.agent/skills/regex-patterns/SKILL.md +751 -0
- package/template/.agent/skills/resolve-ambiguity/SKILL.md +278 -0
- package/template/.agent/skills/rest-api-design/SKILL.md +478 -0
- package/template/.agent/skills/security-scanning-security-hardening/SKILL.md +231 -0
- package/template/.agent/skills/session-continuity/SKILL.md +730 -0
- package/template/.agent/skills/session-continuity/protocols/01-session-resumption.md +38 -0
- package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +85 -0
- package/template/.agent/skills/session-continuity/protocols/03-progress-update.md +70 -0
- package/template/.agent/skills/session-continuity/protocols/04-pattern-extraction.md +60 -0
- package/template/.agent/skills/session-continuity/protocols/05-session-close.md +37 -0
- package/template/.agent/skills/session-continuity/protocols/06-decision-analysis.md +84 -0
- package/template/.agent/skills/session-continuity/protocols/07-spec-pipeline-generation.md +48 -0
- package/template/.agent/skills/session-continuity/protocols/08-spec-pipeline-update.md +43 -0
- package/template/.agent/skills/session-continuity/protocols/09-parallel-claim.md +122 -0
- package/template/.agent/skills/session-continuity/protocols/10-placeholder-verification-gate.md +104 -0
- package/template/.agent/skills/session-continuity/protocols/ambiguity-gates.md +48 -0
- package/template/.agent/skills/skill-creator/LICENSE.txt +202 -0
- package/template/.agent/skills/skill-creator/README.md +270 -0
- package/template/.agent/skills/skill-creator/SKILL.md +590 -0
- package/template/.agent/skills/skill-creator/references/output-patterns.md +82 -0
- package/template/.agent/skills/skill-creator/references/workflows.md +28 -0
- package/template/.agent/skills/skill-creator/scripts/init_skill.py +303 -0
- package/template/.agent/skills/skill-creator/scripts/package_skill.py +110 -0
- package/template/.agent/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/template/.agent/skills/spec-writing/SKILL.md +110 -0
- package/template/.agent/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/template/.agent/skills/systematic-debugging/SKILL.md +297 -0
- package/template/.agent/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/template/.agent/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/template/.agent/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/template/.agent/skills/systematic-debugging/find-polluter.sh +63 -0
- package/template/.agent/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/template/.agent/skills/systematic-debugging/test-academic.md +14 -0
- package/template/.agent/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/template/.agent/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/template/.agent/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/template/.agent/skills/tdd-workflow/SKILL.md +409 -0
- package/template/.agent/skills/tech-stack-catalog/SKILL.md +49 -0
- package/template/.agent/skills/tech-stack-catalog/references/constraint-questions.md +21 -0
- package/template/.agent/skills/tech-stack-catalog/references/dev-tooling-decisions.md +37 -0
- package/template/.agent/skills/tech-stack-catalog/references/surface-decision-tables.md +69 -0
- package/template/.agent/skills/technical-writer/SKILL.md +242 -0
- package/template/.agent/skills/testing-strategist/SKILL.md +932 -0
- package/template/.agent/skills/verification-before-completion/SKILL.md +145 -0
- package/template/.agent/skills/workflow-automation/SKILL.md +73 -0
- package/template/.agent/workflows/audit-ambiguity-execute.md +165 -0
- package/template/.agent/workflows/audit-ambiguity-rubrics.md +83 -0
- package/template/.agent/workflows/audit-ambiguity.md +64 -0
- package/template/.agent/workflows/bootstrap-agents-fill.md +201 -0
- package/template/.agent/workflows/bootstrap-agents-provision.md +197 -0
- package/template/.agent/workflows/bootstrap-agents.md +66 -0
- package/template/.agent/workflows/create-prd-architecture.md +119 -0
- package/template/.agent/workflows/create-prd-compile.md +138 -0
- package/template/.agent/workflows/create-prd-design-system.md +135 -0
- package/template/.agent/workflows/create-prd-security.md +113 -0
- package/template/.agent/workflows/create-prd-stack.md +91 -0
- package/template/.agent/workflows/create-prd.md +168 -0
- package/template/.agent/workflows/decompose-architecture-structure.md +82 -0
- package/template/.agent/workflows/decompose-architecture-validate.md +119 -0
- package/template/.agent/workflows/decompose-architecture.md +111 -0
- package/template/.agent/workflows/evolve-contract.md +98 -0
- package/template/.agent/workflows/evolve-feature-cascade.md +140 -0
- package/template/.agent/workflows/evolve-feature-classify.md +116 -0
- package/template/.agent/workflows/evolve-feature.md +56 -0
- package/template/.agent/workflows/ideate-discover.md +144 -0
- package/template/.agent/workflows/ideate-extract.md +129 -0
- package/template/.agent/workflows/ideate-validate.md +117 -0
- package/template/.agent/workflows/ideate.md +113 -0
- package/template/.agent/workflows/implement-slice-setup.md +113 -0
- package/template/.agent/workflows/implement-slice-tdd.md +198 -0
- package/template/.agent/workflows/implement-slice.md +50 -0
- package/template/.agent/workflows/plan-phase.md +202 -0
- package/template/.agent/workflows/propagate-decision-apply.md +135 -0
- package/template/.agent/workflows/propagate-decision-scan.md +147 -0
- package/template/.agent/workflows/propagate-decision.md +56 -0
- package/template/.agent/workflows/remediate-pipeline-assess.md +138 -0
- package/template/.agent/workflows/remediate-pipeline-execute.md +135 -0
- package/template/.agent/workflows/remediate-pipeline.md +55 -0
- package/template/.agent/workflows/resolve-ambiguity.md +82 -0
- package/template/.agent/workflows/sync-kit.md +209 -0
- package/template/.agent/workflows/update-architecture-map.md +74 -0
- package/template/.agent/workflows/validate-phase.md +219 -0
- package/template/.agent/workflows/verify-infrastructure.md +207 -0
- package/template/.agent/workflows/write-architecture-spec-deepen.md +139 -0
- package/template/.agent/workflows/write-architecture-spec-design.md +202 -0
- package/template/.agent/workflows/write-architecture-spec.md +63 -0
- package/template/.agent/workflows/write-be-spec-classify.md +165 -0
- package/template/.agent/workflows/write-be-spec-write.md +98 -0
- package/template/.agent/workflows/write-be-spec.md +76 -0
- package/template/.agent/workflows/write-fe-spec-classify.md +170 -0
- package/template/.agent/workflows/write-fe-spec-write.md +94 -0
- package/template/.agent/workflows/write-fe-spec.md +71 -0
- package/template/AGENTS.md +176 -0
- package/template/GEMINI.md +177 -0
- package/template/docs/README.md +187 -0
- package/template/docs/audits/.gitkeep +0 -0
- package/template/docs/audits/README.md +10 -0
- package/template/docs/plans/.gitkeep +0 -0
- package/template/docs/plans/README.md +21 -0
- package/template/docs/plans/be/.gitkeep +0 -0
- package/template/docs/plans/be/README.md +11 -0
- package/template/docs/plans/fe/.gitkeep +0 -0
- package/template/docs/plans/fe/README.md +11 -0
- package/template/docs/plans/ia/.gitkeep +0 -0
- package/template/docs/plans/ia/README.md +17 -0
- package/template/docs/plans/ia/deep-dives/.gitkeep +0 -0
- package/template/docs/plans/ia/deep-dives/README.md +5 -0
- package/template/docs/plans/phases/.gitkeep +0 -0
- package/template/docs/plans/phases/README.md +11 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Receive template values and fill instruction/rule/AGENTS.md templates for the bootstrap-agents workflow
|
|
3
|
+
parent: bootstrap-agents
|
|
4
|
+
shard: fill
|
|
5
|
+
standalone: true
|
|
6
|
+
position: 1
|
|
7
|
+
pipeline:
|
|
8
|
+
position: infrastructure
|
|
9
|
+
stage: provisioning
|
|
10
|
+
predecessors: []
|
|
11
|
+
successors: [bootstrap-agents-provision]
|
|
12
|
+
skills: []
|
|
13
|
+
calls-bootstrap: false
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
// turbo-all
|
|
17
|
+
|
|
18
|
+
# Bootstrap Agents — Fill Templates
|
|
19
|
+
|
|
20
|
+
Receive template values from the calling workflow and fill `{{PLACEHOLDER}}` values across all instruction, rule, skill, and root-level templates.
|
|
21
|
+
|
|
22
|
+
**Prerequisite**: If invoked standalone, the caller must provide at least one template key-value pair. If no values are provided, there is nothing to fill — report and exit.
|
|
23
|
+
|
|
24
|
+
> [!IMPORTANT]
|
|
25
|
+
> This workflow fills template-level placeholders (project name, description, tech stack summary, architecture doc path). It does **NOT** fill workflow command placeholders (`{{VALIDATION_COMMAND}}`, `{{TEST_COMMAND}}`, `{{LINT_COMMAND}}`, etc.) or skill path placeholders (`{{DATABASE_SKILLS}}`, `{{AUTH_SKILL}}`, etc.). Those are filled exclusively by `.agent/workflows/bootstrap-agents-provision.md` during the `/create-prd` stage. Running this workflow standalone will leave those placeholders unfilled with no indication — they require the provision step.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 1. Receive template values
|
|
30
|
+
|
|
31
|
+
The calling workflow provides these values (all optional — fill only what's provided, leave others as `{{PLACEHOLDER}}`):
|
|
32
|
+
|
|
33
|
+
### Command & Tool Values
|
|
34
|
+
|
|
35
|
+
| Key | Example |
|
|
36
|
+
|-----|---------|
|
|
37
|
+
| `PACKAGE_MANAGER` | pnpm |
|
|
38
|
+
| `DEV_COMMAND` | pnpm dev |
|
|
39
|
+
| `TEST_COMMAND` | pnpm test |
|
|
40
|
+
| `TEST_WATCH_COMMAND` | pnpm test:watch |
|
|
41
|
+
| `TEST_COVERAGE_COMMAND` | pnpm test:coverage |
|
|
42
|
+
| `LINT_COMMAND` | pnpm lint |
|
|
43
|
+
| `LINT_FIX_COMMAND` | pnpm lint:fix |
|
|
44
|
+
| `FORMAT_COMMAND` | pnpm format |
|
|
45
|
+
| `TYPE_CHECK_COMMAND` | pnpm type-check |
|
|
46
|
+
| `BUILD_COMMAND` | pnpm build |
|
|
47
|
+
| `PREVIEW_COMMAND` | pnpm preview |
|
|
48
|
+
| `VALIDATION_COMMAND` | pnpm test && pnpm lint && pnpm type-check && pnpm build |
|
|
49
|
+
|
|
50
|
+
### Project Identity
|
|
51
|
+
|
|
52
|
+
| Key | Example |
|
|
53
|
+
|-----|---------|
|
|
54
|
+
| `PROJECT_NAME` | My Project |
|
|
55
|
+
| `DESCRIPTION` | One-line description |
|
|
56
|
+
| `TECH_STACK_SUMMARY` | Astro + React + SurrealDB + Firebase Auth |
|
|
57
|
+
|
|
58
|
+
### Architecture & Structure
|
|
59
|
+
|
|
60
|
+
| Key | Example |
|
|
61
|
+
|-----|---------|
|
|
62
|
+
| `FRAMEWORK_PATTERNS` | Framework-specific patterns block |
|
|
63
|
+
| `PROJECT_STRUCTURE` | Directory layout block |
|
|
64
|
+
| `ARCHITECTURE_TABLE` | Concern/Location/Runtime table rows |
|
|
65
|
+
| `ARCHITECTURE_DOC` | docs/plans/2026-02-10-architecture-design.md |
|
|
66
|
+
| `CONTRACTS_DIR` | src/contracts/ |
|
|
67
|
+
| `BUILD_OUTPUT_DIR` | dist/ |
|
|
68
|
+
|
|
69
|
+
### Stack Values (trigger skill provisioning)
|
|
70
|
+
|
|
71
|
+
| Key | Example |
|
|
72
|
+
|-----|---------|
|
|
73
|
+
| `DATABASE` | SurrealDB (self-hosted) |
|
|
74
|
+
| `DATABASE_PRIMARY` | PostgreSQL |
|
|
75
|
+
| `DATABASE_VECTOR` | Qdrant |
|
|
76
|
+
| `DATABASE_GRAPH` | Neo4j |
|
|
77
|
+
| `DATABASE_CACHE` | Redis |
|
|
78
|
+
| `DATABASE_TIMESERIES` | TimescaleDB |
|
|
79
|
+
| `FRONTEND_FRAMEWORK` | Astro + React Islands |
|
|
80
|
+
| `BACKEND_FRAMEWORK` | Hono |
|
|
81
|
+
| `API_LAYER` | tRPC |
|
|
82
|
+
| `BACKEND_RUNTIME` | Cloudflare Workers |
|
|
83
|
+
| `ORM` | Drizzle |
|
|
84
|
+
| `CSS_FRAMEWORK` | Tailwind CSS v4 |
|
|
85
|
+
| `UI_LIBRARY` | shadcn/ui |
|
|
86
|
+
| `AUTH_PROVIDER` | Firebase Auth |
|
|
87
|
+
| `PAYMENTS` | Stripe |
|
|
88
|
+
| `AI_SDK` | Vercel AI SDK |
|
|
89
|
+
| `STATE_MANAGEMENT` | TanStack Query |
|
|
90
|
+
| `E2E_TESTING` | Playwright |
|
|
91
|
+
| `UNIT_TESTING` | Vitest |
|
|
92
|
+
| `HOSTING` | Cloudflare Pages + Workers |
|
|
93
|
+
| `CDN_ASSETS` | Cloudflare R2 |
|
|
94
|
+
| `MONITORING` | Sentry |
|
|
95
|
+
| `OBSERVABILITY` | OpenTelemetry |
|
|
96
|
+
| `ANALYTICS` | Google Analytics |
|
|
97
|
+
| `EMAIL` | Resend |
|
|
98
|
+
| `QUEUE` | Inngest |
|
|
99
|
+
| `REALTIME` | Socket.io |
|
|
100
|
+
| `SEARCH` | Meilisearch |
|
|
101
|
+
| `CMS` | Payload CMS |
|
|
102
|
+
| `STORAGE` | AWS S3 |
|
|
103
|
+
| `CI_CD` | GitHub Actions |
|
|
104
|
+
| `MOBILE_FRAMEWORK` | Expo |
|
|
105
|
+
| `LANGUAGE` | TypeScript |
|
|
106
|
+
| `3D_FRAMEWORK` | Three.js / R3F |
|
|
107
|
+
| `DESKTOP_FRAMEWORK` | Tauri |
|
|
108
|
+
| `GAME_ENGINE` | Godot |
|
|
109
|
+
| `SECURITY` | OWASP |
|
|
110
|
+
| `TEST_RUNNER` | Vitest |
|
|
111
|
+
| `LINTER` | ESLint |
|
|
112
|
+
| `TYPE_CHECKER` | TypeScript (tsc) |
|
|
113
|
+
| `CONTRACT_LIBRARY` | Zod |
|
|
114
|
+
|
|
115
|
+
> **Note**: `DATABASE` is an alias for `DATABASE_PRIMARY` — it triggers the same MANIFEST match. When multiple `DATABASE_*` sub-keys are present, the `DATABASE` row in `tech-stack.md` should expand to show sub-rows (`DATABASE_PRIMARY`, `DATABASE_VECTOR`, etc.) rather than a single combined string. Bootstrap fills each sub-row individually as the user confirms each store.
|
|
116
|
+
|
|
117
|
+
### Infrastructure Values
|
|
118
|
+
|
|
119
|
+
| Key | Example |
|
|
120
|
+
|-----|---------|
|
|
121
|
+
| `SSH_HOST` | my-vps |
|
|
122
|
+
| `DB_PORT` | 19000 |
|
|
123
|
+
| `CREDENTIAL_TOOL` | agent-auth ssh-add |
|
|
124
|
+
| `SECRET_MANAGEMENT` | wrangler secret |
|
|
125
|
+
| `DEPLOY_COMMAND` | wrangler deploy |
|
|
126
|
+
|
|
127
|
+
### Surface Types
|
|
128
|
+
|
|
129
|
+
| Key | Example |
|
|
130
|
+
|-----|---------|
|
|
131
|
+
| `SURFACES` | web, api |
|
|
132
|
+
|
|
133
|
+
**Pipeline Context**
|
|
134
|
+
|
|
135
|
+
| Key | Example | Purpose |
|
|
136
|
+
|-----|---------|---------|
|
|
137
|
+
| `PIPELINE_STAGE` | `create-prd`, `write-be-spec`, `write-fe-spec`, `implement-slice` | Context of this invocation — used to validate correct keys are being passed |
|
|
138
|
+
| `SKILL_BUNDLE` | `database-schema-design,migration-management,error-handling-patterns` | When provided, bootstrap loads all listed skills in one invocation |
|
|
139
|
+
|
|
140
|
+
If any values are missing, leave those `{{PLACEHOLDER}}`s in place — they'll be filled on a future invocation.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 2. Fill instruction templates
|
|
145
|
+
|
|
146
|
+
### `.agent/instructions/commands.md`
|
|
147
|
+
Replace: `{{PACKAGE_MANAGER}}`, `{{DEV_COMMAND}}`, `{{TEST_COMMAND}}`, `{{TEST_WATCH_COMMAND}}`, `{{TEST_COVERAGE_COMMAND}}`, `{{LINT_COMMAND}}`, `{{LINT_FIX_COMMAND}}`, `{{FORMAT_COMMAND}}`, `{{TYPE_CHECK_COMMAND}}`, `{{BUILD_COMMAND}}`, `{{PREVIEW_COMMAND}}`, `{{VALIDATION_COMMAND}}`
|
|
148
|
+
|
|
149
|
+
### `.agent/instructions/workflow.md`
|
|
150
|
+
Replace: `{{VALIDATION_COMMAND}}`
|
|
151
|
+
|
|
152
|
+
### `.agent/instructions/patterns.md`
|
|
153
|
+
Replace: `{{FRAMEWORK_PATTERNS}}` if provided
|
|
154
|
+
|
|
155
|
+
### `.agent/instructions/structure.md`
|
|
156
|
+
Replace: `{{PROJECT_STRUCTURE}}`, `{{ARCHITECTURE_TABLE}}` if provided
|
|
157
|
+
|
|
158
|
+
### `.agent/instructions/tech-stack.md`
|
|
159
|
+
Replace: `{{TECH_STACK_SUMMARY}}`, `{{FRONTEND_FRAMEWORK}}`, `{{BACKEND_RUNTIME}}`, `{{DATABASE}}`, `{{AUTH_PROVIDER}}`, `{{HOSTING}}`, `{{CDN_ASSETS}}`, `{{CICD}}`, `{{MONITORING}}`, `{{PACKAGE_MANAGER}}`, `{{TEST_RUNNER}}`, `{{LINTER}}`, `{{TYPE_CHECKER}}`, `{{INSTALLED_SKILLS}}`, `{{ARCHITECTURE_DOC}}`
|
|
160
|
+
Replace: `{{ARCHITECTURE_DOC}}` with the dated architecture design filename (e.g., `docs/plans/YYYY-MM-DD-architecture-design.md`)
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 3. Fill default operational skill templates
|
|
165
|
+
|
|
166
|
+
Scan all `.agent/skills/*/SKILL.md` files for `{{PLACEHOLDER}}` values and fill any that match the provided template values:
|
|
167
|
+
|
|
168
|
+
- `{{VALIDATION_COMMAND}}` — in `fix-bug`, `main-workflow`, `deploy`, `refactor`
|
|
169
|
+
- `{{PACKAGE_MANAGER}}` — in `refactor`, `security-audit`
|
|
170
|
+
- `{{TEST_COVERAGE_COMMAND}}` — in `refactor`
|
|
171
|
+
- `{{BUILD_COMMAND}}` — in `deploy`
|
|
172
|
+
- `{{DEPLOY_COMMAND}}` — in `deploy`
|
|
173
|
+
- `{{BUILD_OUTPUT_DIR}}` — in `deploy`
|
|
174
|
+
- `{{SSH_HOST}}` — in `setup-session`
|
|
175
|
+
- `{{DB_PORT}}` — in `setup-session`
|
|
176
|
+
- `{{CREDENTIAL_TOOL}}` — in `setup-session`
|
|
177
|
+
|
|
178
|
+
Also scan all `.agent/rules/*.md` files for `{{PLACEHOLDER}}` values and fill any that match the provided template values. Currently applicable: `{{CONTRACT_LIBRARY}}` in `tdd-contract-first.md`.
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## 4. Fill root agent config files (AGENTS.md and GEMINI.md)
|
|
183
|
+
|
|
184
|
+
Replace in **both** `AGENTS.md` and `GEMINI.md`:
|
|
185
|
+
- `{{PROJECT_NAME}}`
|
|
186
|
+
- `{{DESCRIPTION}}`
|
|
187
|
+
- `{{TECH_STACK_SUMMARY}}`
|
|
188
|
+
- `{{VALIDATION_COMMAND}}`
|
|
189
|
+
- `{{ARCHITECTURE_DOC}}`
|
|
190
|
+
- `{{INSTALLED_SKILLS}}` (if provided at this invocation; otherwise leave for `bootstrap-agents-provision` Step 8 to fill after skill provisioning)
|
|
191
|
+
|
|
192
|
+
> **Note**: Both files serve as root agent config for their respective agents (`AGENTS.md` for Claude Code / Antigravity, `GEMINI.md` for Gemini CLI). Both must be kept in sync — any placeholder filled in one must be filled in the other.
|
|
193
|
+
|
|
194
|
+
### Report and proceed
|
|
195
|
+
|
|
196
|
+
Report which `{{PLACEHOLDER}}`s were filled and their values, which remain unfilled, and any errors encountered.
|
|
197
|
+
|
|
198
|
+
If invoked standalone, the next step is `/bootstrap-agents-provision` to provision skills from the library based on the stack values just filled.
|
|
199
|
+
|
|
200
|
+
If invoked by another workflow (e.g., `/create-prd`), return this report to the calling workflow — the caller will invoke `/bootstrap-agents-provision` automatically.
|
|
201
|
+
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Skill library provisioning, workflow placeholder filling, and result reporting for the bootstrap-agents workflow
|
|
3
|
+
parent: bootstrap-agents
|
|
4
|
+
shard: provision
|
|
5
|
+
standalone: true
|
|
6
|
+
position: 2
|
|
7
|
+
pipeline:
|
|
8
|
+
position: infrastructure
|
|
9
|
+
stage: provisioning
|
|
10
|
+
predecessors: [bootstrap-agents-fill]
|
|
11
|
+
successors: []
|
|
12
|
+
skills: []
|
|
13
|
+
calls-bootstrap: false
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
// turbo-all
|
|
17
|
+
|
|
18
|
+
# Bootstrap Agents — Provision Skills
|
|
19
|
+
|
|
20
|
+
Read the skill library manifest, provision matching skills, fill workflow placeholders, and report results.
|
|
21
|
+
|
|
22
|
+
**Prerequisite**: If invoked standalone, the caller must have template values available (from a previous `/bootstrap-agents-fill` run or direct invocation with stack/surface keys).
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 6. Read skill library manifest
|
|
27
|
+
|
|
28
|
+
Read `.agent/skill-library/MANIFEST.md` to load the trigger tables.
|
|
29
|
+
|
|
30
|
+
If `.agent/skill-library/MANIFEST.md` does not exist (e.g., user deleted it or is using a minimal kit), skip steps 7-8 and go to step 9.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 7. Provision skills from library
|
|
35
|
+
|
|
36
|
+
For each stack key provided in the template values, check the **Stack Triggers** table in the manifest:
|
|
37
|
+
|
|
38
|
+
1. Match the provided value against the manifest's `Value Pattern` (case-insensitive)
|
|
39
|
+
2. If a match is found AND the skill is NOT already in `.agent/skills/[installed-as]/`:
|
|
40
|
+
- Copy the entire directory from `.agent/skill-library/[library-path]/` → `.agent/skills/[installed-as]/`
|
|
41
|
+
- Fill any `{{PLACEHOLDER}}`s in the newly-copied `SKILL.md` with current template values
|
|
42
|
+
3. If the skill already exists in `.agent/skills/`, skip it (idempotent)
|
|
43
|
+
|
|
44
|
+
For each surface type provided in `SURFACES`, check the **Surface Triggers** table:
|
|
45
|
+
|
|
46
|
+
1. Match the surface type against the manifest's `Surface Type` column
|
|
47
|
+
2. Copy matching skills that don't already exist, same as above
|
|
48
|
+
|
|
49
|
+
### Matching rules
|
|
50
|
+
|
|
51
|
+
| Manifest Pattern | Matches |
|
|
52
|
+
|-----------------|---------|
|
|
53
|
+
| `*surrealdb*` | "SurrealDB", "surrealdb (self-hosted)", "SurrealDB Cloud" |
|
|
54
|
+
| `*cloudflare*` | "Cloudflare Workers", "Cloudflare Pages + Workers" |
|
|
55
|
+
| `*tailwind*` | "Tailwind CSS v4", "Tailwind CSS" |
|
|
56
|
+
| `*vercel*` OR `*ai-sdk*` | "Vercel AI SDK", "AI SDK" |
|
|
57
|
+
| `*three*` OR `*r3f*` | "Three.js", "React Three Fiber", "R3F" |
|
|
58
|
+
|
|
59
|
+
Pattern matching is glob-style with `*` as wildcard, case-insensitive.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 8. Update installed skills list
|
|
64
|
+
|
|
65
|
+
After provisioning, build a markdown list of all installed skills (both defaults and library-provisioned) and update `{{INSTALLED_SKILLS}}` in the tech stack instruction.
|
|
66
|
+
|
|
67
|
+
Also update `{{INSTALLED_SKILLS}}` in `AGENTS.md` and `GEMINI.md` with the same installed skills list. These root agent config files must reflect the full skill inventory so agents reading them have complete context.
|
|
68
|
+
|
|
69
|
+
Read `.agent/skills/prd-templates/references/operational-templates.md` for the **Installed Skills List** template. Use the template structure, filling in actual installed skill names and descriptions.
|
|
70
|
+
|
|
71
|
+
### 8.5. Compose and fill FRAMEWORK_PATTERNS
|
|
72
|
+
|
|
73
|
+
Identify any frontend-capable framework skill provisioned or matched during this invocation by checking across all relevant stack axes:
|
|
74
|
+
|
|
75
|
+
| Stack Axis | Example Skills |
|
|
76
|
+
|------------|---------------|
|
|
77
|
+
| `FRONTEND_FRAMEWORK` | `nextjs`, `astro-framework`, `sveltekit`, `nuxt`, `react-best-practices` |
|
|
78
|
+
| `MOBILE_FRAMEWORK` | `expo-react-native` |
|
|
79
|
+
|
|
80
|
+
If any of these axes resolved to a provisioned skill in Step 7, use that skill for composition.
|
|
81
|
+
|
|
82
|
+
**If a frontend-capable framework skill is present:**
|
|
83
|
+
1. Read the installed skill's `SKILL.md` from `.agent/skills/[installed-as]/SKILL.md`
|
|
84
|
+
2. Extract the component patterns section (file structure, naming conventions, composition patterns, what to avoid)
|
|
85
|
+
3. Compose a `FRAMEWORK_PATTERNS` markdown block summarising these component conventions
|
|
86
|
+
4. Fire `bootstrap-agents-fill` with `FRAMEWORK_PATTERNS=[composed value]` to fill the `## Components` section of `.agent/instructions/patterns.md`
|
|
87
|
+
5. If multiple frontend-capable skills are present (e.g., `FRONTEND_FRAMEWORK` + `MOBILE_FRAMEWORK`), merge their patterns into a single `FRAMEWORK_PATTERNS` block with clearly labelled sections per surface
|
|
88
|
+
|
|
89
|
+
This step is idempotent — it can be re-run on existing projects to fill `patterns.md` without re-provisioning the skill. For remediation flows, provide the relevant stack axis value(s) so this step resolves the correct skill(s).
|
|
90
|
+
|
|
91
|
+
**If no frontend-capable framework skill is present:** Skip — `patterns.md` already has a sensible fallback for non-visual projects.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 9. Fill workflow skill placeholders
|
|
96
|
+
|
|
97
|
+
In the generic workflows, replace the following placeholders with the **directory name** of the installed skill (e.g., `surrealdb-expert`, `typescript-advanced-patterns`). The surrounding path `.agent/skills/.../SKILL.md` is hardcoded in each workflow. If no skill was installed for a given category, instruct the agent to skip it or provide a reasonable default.
|
|
98
|
+
|
|
99
|
+
### DATABASE_SKILLS accumulation logic
|
|
100
|
+
|
|
101
|
+
`{{DATABASE_SKILLS}}` is a comma-separated list of installed skill directory names (one per confirmed database store, e.g., `postgresql,qdrant,redis`). Bootstrap appends the new skill name to the existing list value rather than overwriting it. If the list is empty, set it to the single name. If the name is already present, skip (idempotent).
|
|
102
|
+
|
|
103
|
+
The following sub-keys all trigger the `{{DATABASE_SKILLS}}` accumulation logic:
|
|
104
|
+
- `DATABASE_PRIMARY` — Main relational/document/multi-model store
|
|
105
|
+
- `DATABASE_VECTOR` — Semantic search, embeddings, similarity
|
|
106
|
+
- `DATABASE_GRAPH` — Graph traversal, relationship queries
|
|
107
|
+
- `DATABASE_CACHE` — Caching layer
|
|
108
|
+
- `DATABASE_TIMESERIES` — Time-ordered data, metrics, IoT
|
|
109
|
+
|
|
110
|
+
> **Backward compatibility**: If the incoming key is `DATABASE`, treat it as `DATABASE_PRIMARY` and proceed identically.
|
|
111
|
+
|
|
112
|
+
### SECURITY_SKILLS accumulation logic
|
|
113
|
+
|
|
114
|
+
`{{SECURITY_SKILLS}}` is a comma-separated list of all security skill directory names provisioned for this project. Bootstrap appends the new skill name to the existing list value rather than overwriting it. If the list is empty, set it to the single name. If the name is already present, skip (idempotent).
|
|
115
|
+
|
|
116
|
+
The following keys all contribute to `{{SECURITY_SKILLS}}` accumulation:
|
|
117
|
+
- `SECURITY` — Explicit user-named security skill (e.g., `SECURITY=owasp-web-security`)
|
|
118
|
+
- Surface trigger: web → appends `owasp-web-security`, `csp-cors-headers`, `input-sanitization`
|
|
119
|
+
- Surface trigger: api → appends `input-sanitization` (if not already present)
|
|
120
|
+
- Surface trigger: desktop → appends `desktop-security-sandboxing`
|
|
121
|
+
- Surface trigger: any → appends `dependency-auditing`
|
|
122
|
+
|
|
123
|
+
`{{SECURITY_SKILLS}}` is used in `create-prd-security.md` Step 6 to load all relevant security skills before designing the security model.
|
|
124
|
+
|
|
125
|
+
### Placeholder → Workflow mapping
|
|
126
|
+
|
|
127
|
+
| Placeholder | Source Key | Workflows |
|
|
128
|
+
|---|---|---|
|
|
129
|
+
| `{{DATABASE_SKILLS}}` | `DATABASE_*` (accumulated) | create-prd, write-architecture-spec, write-be-spec-classify |
|
|
130
|
+
| `{{AUTH_SKILL}}` | `AUTH_PROVIDER` | create-prd, write-be-spec-classify |
|
|
131
|
+
| `{{BACKEND_FRAMEWORK_SKILL}}` | `BACKEND_FRAMEWORK` / `API_LAYER` | write-be-spec-classify |
|
|
132
|
+
| `{{FRONTEND_FRAMEWORK_SKILL}}` | `FRONTEND_FRAMEWORK` | write-fe-spec-classify |
|
|
133
|
+
| `{{FRONTEND_DESIGN_SKILL}}` | `CSS_FRAMEWORK` / `UI_LIBRARY` | write-fe-spec-classify |
|
|
134
|
+
| `{{ACCESSIBILITY_SKILL}}` | surface: `accessibility-compliance` | write-fe-spec-classify |
|
|
135
|
+
| `{{LANGUAGE_SKILL}}` | `LANGUAGE` | implement-slice-setup, implement-slice-tdd, write-be-spec-classify, write-fe-spec-classify, evolve-contract |
|
|
136
|
+
| `{{CI_CD_SKILL}}` | `CI_CD` | create-prd-compile, decompose-architecture-structure, plan-phase, verify-infrastructure, validate-phase |
|
|
137
|
+
| `{{HOSTING_SKILL}}` | `HOSTING` | create-prd-architecture, decompose-architecture-structure, plan-phase, verify-infrastructure, validate-phase |
|
|
138
|
+
| `{{ORM_SKILL}}` | `ORM` | create-prd-architecture, write-be-spec-classify, implement-slice-setup, verify-infrastructure, validate-phase |
|
|
139
|
+
| `{{UNIT_TESTING_SKILL}}` | `UNIT_TESTING` | create-prd-compile, implement-slice-setup, implement-slice-tdd, write-be-spec-classify, evolve-contract |
|
|
140
|
+
| `{{E2E_TESTING_SKILL}}` | `E2E_TESTING` | create-prd-compile, implement-slice-tdd, validate-phase |
|
|
141
|
+
| `{{STATE_MANAGEMENT_SKILL}}` | `STATE_MANAGEMENT` | write-fe-spec-classify, implement-slice-setup |
|
|
142
|
+
| `{{SECURITY_SKILLS}}` | `SECURITY` + surface triggers (accumulated) | create-prd-security, write-architecture-spec-design |
|
|
143
|
+
|
|
144
|
+
### 9.1. CONTRACT_LIBRARY resolution
|
|
145
|
+
|
|
146
|
+
This step fires when the `LANGUAGE` key is confirmed (either from the current invocation or from an already-filled `tech-stack.md`).
|
|
147
|
+
|
|
148
|
+
Derive `CONTRACT_LIBRARY` using the following mapping table:
|
|
149
|
+
|
|
150
|
+
| `LANGUAGE` value | `CONTRACT_LIBRARY` value |
|
|
151
|
+
|---|---|
|
|
152
|
+
| TypeScript / JavaScript | Zod |
|
|
153
|
+
| Python | Pydantic |
|
|
154
|
+
| Go | ozzo-validation |
|
|
155
|
+
| Rust | Serde |
|
|
156
|
+
| Java | Jakarta Bean Validation |
|
|
157
|
+
| Kotlin | kotlinx.serialization |
|
|
158
|
+
| C / C++ | (prompt user — no dominant standard) |
|
|
159
|
+
| Bash / Shell | (none — validate inline with functions) |
|
|
160
|
+
|
|
161
|
+
For any language **not in this table**: prompt the user — "What is your preferred schema validation / contract library for [LANGUAGE]?" — and use their confirmed answer as the `CONTRACT_LIBRARY` value.
|
|
162
|
+
|
|
163
|
+
Once the value is confirmed, invoke `bootstrap-agents-fill` with `CONTRACT_LIBRARY=[value]` so that `tdd-contract-first.md` is filled at the same time as the language skill is provisioned (the fill workflow's extended Step 3 scan will now reach `.agent/rules/`).
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## 9.5. Fill workflow command placeholders
|
|
168
|
+
|
|
169
|
+
Workflows use `{{COMMAND}}` placeholders for test, lint, build, and validation commands. Replace them with the values gathered during tech stack decisions (step 1).
|
|
170
|
+
|
|
171
|
+
In `.agent/workflows/implement-slice-tdd.md`:
|
|
172
|
+
- `{{TEST_COMMAND}}` → the project's test runner command
|
|
173
|
+
- `{{VALIDATION_COMMAND}}` → the full validation pipeline command
|
|
174
|
+
|
|
175
|
+
In `.agent/workflows/validate-phase.md`:
|
|
176
|
+
- `{{TEST_COMMAND}}` → the project's test runner command
|
|
177
|
+
- `{{TEST_COVERAGE_COMMAND}}` → the test runner with coverage enabled
|
|
178
|
+
- `{{LINT_COMMAND}}` → the linter command
|
|
179
|
+
- `{{TYPE_CHECK_COMMAND}}` → the type checker command
|
|
180
|
+
- `{{BUILD_COMMAND}}` → the production build command
|
|
181
|
+
|
|
182
|
+
In `.agent/workflows/evolve-contract.md`:
|
|
183
|
+
- `{{TEST_COMMAND}}` → the project's test runner command
|
|
184
|
+
- `{{VALIDATION_COMMAND}}` → the full validation pipeline command
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 10. Report results
|
|
190
|
+
|
|
191
|
+
Return to the calling workflow a summary:
|
|
192
|
+
|
|
193
|
+
- Which `{{PLACEHOLDER}}`s were filled (and their values)
|
|
194
|
+
- Which `{{PLACEHOLDER}}`s remain unfilled
|
|
195
|
+
- Which skills were provisioned from the library (if any)
|
|
196
|
+
- Which skills were already installed and skipped
|
|
197
|
+
- Any errors (missing files, missing library paths)
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Utility — fill {{PLACEHOLDER}} values and provision skills from `.agent/skill-library/`. Called by pipeline workflows when tech stack info changes.
|
|
3
|
+
pipeline:
|
|
4
|
+
position: infrastructure
|
|
5
|
+
stage: provisioning
|
|
6
|
+
predecessors: [] # called inline by other workflows
|
|
7
|
+
successors: [] # returns to caller
|
|
8
|
+
skills: [] # this IS the skill provisioner
|
|
9
|
+
calls-bootstrap: false # is bootstrap
|
|
10
|
+
shards: [bootstrap-agents-fill, bootstrap-agents-provision]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Bootstrap Agents
|
|
14
|
+
|
|
15
|
+
**This is a utility workflow, not an entry point.** It gets called by other pipeline workflows (like `/create-prd`, `/iterate-plan`, `/write-be-spec`, `/write-fe-spec`, `/add-feature`, `/implement-slice`) whenever they make tech stack decisions or introduce new dependencies.
|
|
16
|
+
|
|
17
|
+
> Bootstrap is a **surgical, additive, idempotent provisioner**. Each invocation fills ONLY the placeholders for the decisions just confirmed and provisions ONLY the skills triggered by those decisions. It never touches placeholders that haven't been decided yet and never re-fills placeholders that are already filled.
|
|
18
|
+
|
|
19
|
+
Bootstrap does two things:
|
|
20
|
+
1. **Fill `{{PLACEHOLDER}}` values** in kit instruction templates
|
|
21
|
+
2. **Provision skills** from `.agent/skill-library/` based on stack and surface triggers
|
|
22
|
+
|
|
23
|
+
## Invocation Points
|
|
24
|
+
|
|
25
|
+
| Workflow | When Bootstrap Fires | Keys Passed |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| `/create-prd` Step 3 | After each confirmed tech decision | The specific key just decided (e.g., `DATABASE=SurrealDB`) |
|
|
28
|
+
| `/create-prd` Step 10 | After architecture doc is written | `ARCHITECTURE_DOC` (the dated filename) |
|
|
29
|
+
| `/write-be-spec` | If spec introduces new backend dependency | New key only (e.g., `QUEUE=BullMQ`) |
|
|
30
|
+
| `/write-fe-spec` | If spec introduces new frontend dependency | New key only (e.g., `CHARTS=Chart.js`) |
|
|
31
|
+
| `/implement-slice` | If implementation adds significant new dependency | New key only |
|
|
32
|
+
|
|
33
|
+
**Input**: Template values (package manager, framework, database, etc.) + optional stack/surface triggers
|
|
34
|
+
**Output**: Filled templates + newly installed skills in `.agent/skills/`
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Shard Overview
|
|
39
|
+
|
|
40
|
+
| # | Shard | What It Does |
|
|
41
|
+
|---|-------|-------------|
|
|
42
|
+
| 1 | [`bootstrap-agents-fill`](.agent/workflows/bootstrap-agents-fill.md) | Receives template values, fills instruction/rule/AGENTS.md templates |
|
|
43
|
+
| 2 | [`bootstrap-agents-provision`](.agent/workflows/bootstrap-agents-provision.md) | Reads skill library manifest, provisions skills, fills workflow placeholders, reports results |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Orchestration
|
|
48
|
+
|
|
49
|
+
### Step A — Run `.agent/workflows/bootstrap-agents-fill.md`
|
|
50
|
+
|
|
51
|
+
Receives template values from the calling workflow and fills `{{PLACEHOLDER}}` values across instruction templates, rule templates, skill templates, and `AGENTS.md`.
|
|
52
|
+
|
|
53
|
+
### Step B — Run `.agent/workflows/bootstrap-agents-provision.md`
|
|
54
|
+
|
|
55
|
+
Reads the skill library manifest, provisions matching skills based on stack/surface triggers, updates the installed skills list, fills workflow command/skill placeholders, and reports results.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Idempotency
|
|
60
|
+
|
|
61
|
+
Bootstrap is safe to call multiple times:
|
|
62
|
+
|
|
63
|
+
- **Already-filled placeholders**: If a `{{PLACEHOLDER}}` has already been replaced with a value, it is NOT re-filled unless the calling workflow explicitly provides a new value for that key
|
|
64
|
+
- **Already-installed skills**: Skills that already exist in `.agent/skills/` are not re-copied from the library
|
|
65
|
+
- **New values**: New stack/surface values trigger new skill installations without affecting existing ones
|
|
66
|
+
- **Partial invocation**: Bootstrap can be called with just one or two new values — it only fills what's provided
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: System architecture and data strategy for the create-prd workflow
|
|
3
|
+
parent: create-prd
|
|
4
|
+
shard: architecture
|
|
5
|
+
standalone: true
|
|
6
|
+
position: 2
|
|
7
|
+
pipeline:
|
|
8
|
+
position: 2.2
|
|
9
|
+
stage: architecture
|
|
10
|
+
predecessors: [create-prd-stack]
|
|
11
|
+
successors: [create-prd-security]
|
|
12
|
+
skills: [database-schema-design, technical-writer, prd-templates, error-handling-patterns]
|
|
13
|
+
calls-bootstrap: false
|
|
14
|
+
requires_placeholders: [HOSTING_SKILL, ORM_SKILL, DATABASE_SKILLS]
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
// turbo-all
|
|
18
|
+
|
|
19
|
+
# Create PRD — Architecture & Data Strategy
|
|
20
|
+
|
|
21
|
+
Design the high-level system architecture and data strategy. Create the data placement strategy document.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 0. Placeholder guard
|
|
26
|
+
|
|
27
|
+
Before any skill reads, verify that the following placeholder values have been filled by `/bootstrap-agents`. For each placeholder, check whether the literal characters `{{` still appear in the value. If **any** are unfilled, emit a **HARD STOP** and do not proceed to Step 4.
|
|
28
|
+
|
|
29
|
+
| Placeholder | Filled by | Recovery | Why this matters |
|
|
30
|
+
|---|---|---|---|
|
|
31
|
+
| `{{HOSTING_SKILL}}` | `/create-prd-stack` when hosting provider is confirmed | If `docs/plans/*-architecture-design.md` exists, read it and extract the confirmed hosting provider, then run `/bootstrap-agents HOSTING=<confirmed-provider>`. Otherwise run `/create-prd-stack` first. | Data strategy and schema design steps (Steps 4 and 5) cannot run without the hosting skill — deployment topology decisions will lack provider-specific conventions. |
|
|
32
|
+
| `{{ORM_SKILL}}` | `/create-prd-stack` when ORM is confirmed | If `docs/plans/*-architecture-design.md` exists, read it and extract the confirmed ORM, then run `/bootstrap-agents ORM=<confirmed-orm>`. Otherwise run `/create-prd-stack` first. | Migration strategy (Step 5.4) cannot run without the ORM skill — schema conventions and migration patterns will be generic instead of stack-specific. |
|
|
33
|
+
| `{{DATABASE_SKILLS}}` | `/create-prd-stack` when database technology is confirmed | If `docs/plans/*-architecture-design.md` exists, read it and extract the confirmed database, then run `/bootstrap-agents DATABASE=<confirmed-db>`. Otherwise run `/create-prd-stack` first. | Data strategy (Step 5) cannot run without the database skill — schema design patterns will be incompatible with the chosen database. |
|
|
34
|
+
|
|
35
|
+
For the hard stop message format and recovery instructions, see `.agent/skills/prd-templates/references/placeholder-guard-template.md`.
|
|
36
|
+
|
|
37
|
+
Only proceed to Step 4 when all three placeholders report no literal `{{` characters.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 4. System architecture
|
|
42
|
+
|
|
43
|
+
Read .agent/skills/rest-api-design/SKILL.md and .agent/skills/api-design-principles/SKILL.md for API surface design.
|
|
44
|
+
|
|
45
|
+
Design the high-level system. Each sub-item requires full exploration, not a summary sentence:
|
|
46
|
+
|
|
47
|
+
1. **Component diagram** — What services exist? How do they communicate? What protocols? What happens if one is down?
|
|
48
|
+
2. **Data flow** — Request lifecycle from client to database and back. Every hop, every transformation, every auth check along the way. Draw the full sequence.
|
|
49
|
+
3. **Deployment topology** — What runs where? Edge? Origin? External? Local machine? App Store? What are the latency implications? What are the cost implications?
|
|
50
|
+
Read .agent/skills/{{HOSTING_SKILL}}/SKILL.md and follow its deployment conventions.
|
|
51
|
+
Read .agent/skills/technical-writer/SKILL.md and follow its methodology.
|
|
52
|
+
4. **API surface** — REST? GraphQL? RPC? Versioning strategy? Error format? Pagination? Rate limit headers?
|
|
53
|
+
|
|
54
|
+
For multi-surface projects, additionally define:
|
|
55
|
+
5. **Surface interconnection** — How do surfaces communicate? What is the source of truth for shared data? What happens when a surface is offline?
|
|
56
|
+
6. **Shared domain boundary** — Which entities/models are shared across surfaces vs surface-specific?
|
|
57
|
+
|
|
58
|
+
For each component, also define:
|
|
59
|
+
- What it owns (data, logic, auth decisions)
|
|
60
|
+
- What it delegates (to other components or external services)
|
|
61
|
+
- What happens when it fails (graceful degradation, circuit breakers, fallbacks)
|
|
62
|
+
|
|
63
|
+
**Present to user**: Show the system architecture section and walk through each component. Ask:
|
|
64
|
+
- "Does this component diagram capture every service in the system?"
|
|
65
|
+
- "Are there failure modes I haven't accounted for?"
|
|
66
|
+
- For multi-surface: "What happens if the sync layer goes down? Can each surface degrade gracefully?"
|
|
67
|
+
|
|
68
|
+
Refine based on discussion before proceeding.
|
|
69
|
+
|
|
70
|
+
Write the completed `## System Architecture` section to `docs/plans/architecture-draft.md` (create the file if it does not exist). Do not wait until the end — write this section as soon as it is completed and confirmed by the user.
|
|
71
|
+
|
|
72
|
+
## 4.5. Error architecture
|
|
73
|
+
|
|
74
|
+
> **Hard gate.** This step is mandatory for every project. All five decisions below must be confirmed by the user before `## 5. Data strategy` begins. Do not proceed to Data Strategy until every decision is explicitly approved.
|
|
75
|
+
|
|
76
|
+
Read `.agent/skills/error-handling-patterns/SKILL.md` and follow its Error Architecture Interview methodology. All 5 decisions must receive explicit user confirmation before proceeding to Data Strategy. This step is a hard gate — do not proceed until all five decisions are confirmed.
|
|
77
|
+
|
|
78
|
+
Write the completed decisions to `docs/plans/architecture-draft.md` under a new top-level `## Error Architecture` section (between `## System Architecture` and `## Data Strategy`). The section must contain five sub-sections matching the five decisions above (`### Global Error Envelope`, `### Error Propagation Chain`, `### Unhandled Exception Strategy`, `### Client Fallback Contract`, `### Error Boundary Strategy`), with the locked canonical JSON example included verbatim under `### Global Error Envelope`.
|
|
79
|
+
|
|
80
|
+
## 5. Data strategy
|
|
81
|
+
|
|
82
|
+
Read .agent/skills/database-schema-design/SKILL.md and follow its schema design methodology.
|
|
83
|
+
|
|
84
|
+
Read each skill listed in `{{DATABASE_SKILLS}}` (comma-separated). For each skill directory name, read `.agent/skills/[skill]/SKILL.md` before proceeding. Each sub-item must be explored to field-level depth:
|
|
85
|
+
|
|
86
|
+
1. **Data placement** — What lives in the database vs cache vs object storage vs external service vs local device storage? For each entity: which service owns it and why
|
|
87
|
+
2. **Schema approach** — Strict schema vs schemaless vs hybrid? Field types, constraints, indexes, relations with cardinality
|
|
88
|
+
3. **Query patterns** — Read-heavy? Write-heavy? What are the hot paths? What needs caching? What are the N+1 risks?
|
|
89
|
+
4. **Migration strategy** — How will schema evolve? Backward compatibility approach? Zero-downtime migration plan?
|
|
90
|
+
Read .agent/skills/{{ORM_SKILL}}/SKILL.md and follow its migration and schema conventions.
|
|
91
|
+
5. **PII boundaries** — Which fields contain PII? Where is PII stored vs where is it NOT stored? How is PII isolated from AI/analytics pipelines?
|
|
92
|
+
|
|
93
|
+
For multi-surface projects, additionally define:
|
|
94
|
+
6. **Data ownership** — Which surface is the source of truth for each entity? How are conflicts resolved?
|
|
95
|
+
7. **Sync protocol** — What data syncs between surfaces? How frequently? What happens during network partition?
|
|
96
|
+
|
|
97
|
+
**Present to user**: Show the data strategy section and walk through placement decisions. Ask:
|
|
98
|
+
- "Does every entity have a clear owner?"
|
|
99
|
+
- "Are there query patterns I'm missing that could become hot paths?"
|
|
100
|
+
|
|
101
|
+
Refine based on discussion before proceeding.
|
|
102
|
+
|
|
103
|
+
Write the completed `## Data Strategy` section to `docs/plans/architecture-draft.md`.
|
|
104
|
+
|
|
105
|
+
### 5.5. Cross-Store Entity Consistency
|
|
106
|
+
|
|
107
|
+
Read .agent/skills/database-schema-design/SKILL.md and follow its Cross-Store Entity Consistency Protocol for every entity that spans more than one store.
|
|
108
|
+
|
|
109
|
+
Write the completed cross-store consistency table to `docs/plans/architecture-draft.md` as part of the `## Data Strategy` section.
|
|
110
|
+
|
|
111
|
+
### Data placement strategy document
|
|
112
|
+
|
|
113
|
+
Read `.agent/skills/prd-templates/references/data-placement-template.md` for the template structure. Create `docs/plans/data-placement-strategy.md` using the template, filling each section with the data decisions confirmed above.
|
|
114
|
+
|
|
115
|
+
### Propose next step
|
|
116
|
+
|
|
117
|
+
System architecture and data placement strategy are complete. Next: Run `/create-prd-security` to define the security model, compliance escalation, and integration points.
|
|
118
|
+
|
|
119
|
+
> If this shard was invoked standalone (not from `/create-prd`), surface this via `notify_user`.
|