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,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Classify IA shard, load skills, and read all source material for the write-be-spec workflow
|
|
3
|
+
parent: write-be-spec
|
|
4
|
+
shard: classify
|
|
5
|
+
standalone: true
|
|
6
|
+
position: 1
|
|
7
|
+
pipeline:
|
|
8
|
+
position: 5a.1
|
|
9
|
+
stage: specification
|
|
10
|
+
predecessors: [write-architecture-spec]
|
|
11
|
+
successors: [write-be-spec-write]
|
|
12
|
+
skills: [resolve-ambiguity, database-schema-design]
|
|
13
|
+
calls-bootstrap: false
|
|
14
|
+
requires_placeholders: [LANGUAGE_SKILL, DATABASE_SKILLS, AUTH_SKILL, BACKEND_FRAMEWORK_SKILL, ORM_SKILL, UNIT_TESTING_SKILL]
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
// turbo-all
|
|
18
|
+
|
|
19
|
+
# Write BE Spec — Classify & Read Sources
|
|
20
|
+
|
|
21
|
+
Identify the target IA shard, classify it, load skills, and read all source material including cross-references and deep dives.
|
|
22
|
+
|
|
23
|
+
**Prerequisite**: IA shard must be complete (status ✅ in `docs/plans/ia/index.md`). If not, tell the user to run `/write-architecture-spec` first.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 1. Verify IA layer is complete, then identify the target shard
|
|
28
|
+
|
|
29
|
+
Before identifying the target shard, verify the entire IA layer is ready:
|
|
30
|
+
|
|
31
|
+
1. Read `docs/plans/ia/index.md`
|
|
32
|
+
2. Check every shard's status column
|
|
33
|
+
3. **Hard stop** if any shard is not ✅:
|
|
34
|
+
|
|
35
|
+
> ❌ **Cannot write BE spec — IA layer is incomplete.**
|
|
36
|
+
> The following shards are not yet complete:
|
|
37
|
+
> - [shard-name]: [status]
|
|
38
|
+
>
|
|
39
|
+
> Run `/write-architecture-spec` for each incomplete shard before proceeding to `/write-be-spec`.
|
|
40
|
+
|
|
41
|
+
**Why**: BE specs resolve cross-shard IA references. If referenced shards are still skeletons, the BE spec will contain gaps or guesses that cascade into FE specs and implementation. The cost of waiting for IA completion is hours; the cost of writing BE specs against incomplete IA is days of rework.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
Determine which IA shard to process. Read it in full before proceeding.
|
|
46
|
+
|
|
47
|
+
## 2. Classify the shard
|
|
48
|
+
|
|
49
|
+
Not every IA shard produces the same output. Before writing anything, classify the shard:
|
|
50
|
+
|
|
51
|
+
| Classification | Description | BE Spec Output | How to Detect |
|
|
52
|
+
|---------------|-------------|----------------|---------------|
|
|
53
|
+
| **Feature domain** | Defines user interactions, data models, and API-facing behavior for a single cohesive domain | 1 BE spec | Has data model + user flows + access model that imply API endpoints |
|
|
54
|
+
| **Multi-domain** | Covers multiple distinct backend sub-systems that share a product surface but have independent APIs | N BE specs (split along sub-feature boundaries) | Section headers map to independent API surfaces; data models don't overlap between sections; could be developed by different teams |
|
|
55
|
+
| **Cross-cutting** | Defines shared patterns consumed by all feature specs (auth, API conventions, error handling) | 1 cross-cutting BE spec (`00-*`) | Content is about "how all endpoints work" not "what this feature does" |
|
|
56
|
+
| **Structural reference** | Maps structure, naming, or routing without defining API behavior | 0 BE specs | No data model, no user flows, no endpoints — just reference tables |
|
|
57
|
+
| **Composite** | Contains both a structural reference section AND feature behavior (e.g., URL mapping + vanity URL lifecycle) | Depends — feature portion may belong in another shard's BE spec | Look for cross-references pointing the feature content to its owning domain |
|
|
58
|
+
|
|
59
|
+
**Multi-domain split heuristic — sub-feature endpoint inventory:**
|
|
60
|
+
|
|
61
|
+
Before classifying a shard as multi-domain, build a **sub-feature endpoint inventory**:
|
|
62
|
+
|
|
63
|
+
| Sub-feature | Expected endpoints | Data model(s) | Independent? |
|
|
64
|
+
|-------------|-------------------|---------------|-------------|
|
|
65
|
+
| [sub-feature] | `POST /api/...`, `GET /api/...` | [table/collection names] | [Yes/No] |
|
|
66
|
+
| [sub-feature] | `PUT /api/...`, `DELETE /api/...` | [table/collection names] | [Yes/No] |
|
|
67
|
+
|
|
68
|
+
**Split criterion**: Two or more independent groups each have their own data model and could be assigned to a different developer without coordination → split into separate BE specs. Section header count alone is **NOT** the criterion — independence of data models and API surfaces is.
|
|
69
|
+
|
|
70
|
+
**Present the classification to the user before proceeding.** Include:
|
|
71
|
+
- The classification and reasoning
|
|
72
|
+
- How many BE specs will be produced
|
|
73
|
+
- For multi-domain: the proposed split boundaries
|
|
74
|
+
- For structural reference: confirmation that no BE spec is needed
|
|
75
|
+
|
|
76
|
+
## 2.5. Verify tech stack skills are provisioned
|
|
77
|
+
|
|
78
|
+
Before loading the skill bundle, scan the skill bundle list in Step 3 for any values still containing literal `{{` characters.
|
|
79
|
+
|
|
80
|
+
If `{{LANGUAGE_SKILL}}`, `{{DATABASE_SKILLS}}`, `{{AUTH_SKILL}}`, `{{BACKEND_FRAMEWORK_SKILL}}`, `{{ORM_SKILL}}`, or `{{UNIT_TESTING_SKILL}}` are still unfilled → **stop** and tell the user: *"Tech stack skills haven't been provisioned yet. The skill bundle placeholders are still unfilled. Run `/create-prd` first to make tech stack decisions and trigger bootstrap provisioning, then return to `/write-be-spec`."*
|
|
81
|
+
|
|
82
|
+
Only proceed to Step 3 when all skill bundle placeholders are filled with actual skill directory names.
|
|
83
|
+
|
|
84
|
+
## 3. Load skill bundle
|
|
85
|
+
|
|
86
|
+
Read .agent/skills/{{LANGUAGE_SKILL}}/SKILL.md and follow its language conventions.
|
|
87
|
+
Read each skill listed in `{{DATABASE_SKILLS}}` (comma-separated). For each skill directory name, read `.agent/skills/[skill]/SKILL.md` before proceeding.
|
|
88
|
+
Read .agent/skills/{{AUTH_SKILL}}/SKILL.md
|
|
89
|
+
Read .agent/skills/{{BACKEND_FRAMEWORK_SKILL}}/SKILL.md
|
|
90
|
+
Read .agent/skills/rest-api-design/SKILL.md
|
|
91
|
+
Read .agent/skills/api-design-principles/SKILL.md
|
|
92
|
+
Read .agent/skills/error-handling-patterns/SKILL.md
|
|
93
|
+
Read .agent/skills/database-schema-design/SKILL.md
|
|
94
|
+
Read .agent/skills/migration-management/SKILL.md
|
|
95
|
+
Read .agent/skills/{{ORM_SKILL}}/SKILL.md and follow its migration and schema conventions.
|
|
96
|
+
Read .agent/skills/{{UNIT_TESTING_SKILL}}/SKILL.md and follow its test writing conventions.
|
|
97
|
+
Read .agent/skills/testing-strategist/SKILL.md
|
|
98
|
+
Read .agent/skills/logging-best-practices/SKILL.md
|
|
99
|
+
|
|
100
|
+
**Missing skill fallback**: If any skill in the bundle above is not installed in `.agent/skills/` and is not in `.agent/skill-library/MANIFEST.md`, read `.agent/skills/find-skills/SKILL.md` and follow its discovery methodology to search for a community equivalent before proceeding without it.
|
|
101
|
+
|
|
102
|
+
### Ambiguity resolution
|
|
103
|
+
|
|
104
|
+
When writing the BE spec, if any requirement cannot be resolved from `vision.md`, `architecture-design.md`, `data-placement-strategy.md`, or upstream IA specs, **do not guess**. Instead, load and follow `.agent/skills/resolve-ambiguity/SKILL.md` to systematically resolve the ambiguity before proceeding.
|
|
105
|
+
|
|
106
|
+
## 4. Read reference documents
|
|
107
|
+
|
|
108
|
+
Read the file at `docs/plans/be/index.md` (conventions template) and the file at `docs/plans/index.md` (master index, tech stack).
|
|
109
|
+
|
|
110
|
+
Also read `docs/plans/data-placement-strategy.md` if it exists — this document specifies which entities live in which store and defines PII boundaries. Every BE spec must place data consistently with this strategy.
|
|
111
|
+
|
|
112
|
+
## 5. Read the IA source material
|
|
113
|
+
|
|
114
|
+
This is the most critical step. Read **all** of the following:
|
|
115
|
+
|
|
116
|
+
### 5a. Primary shard
|
|
117
|
+
Read the file at `docs/plans/ia/[NN-shard-name].md` (the full IA shard).
|
|
118
|
+
|
|
119
|
+
### 5b. Resolve cross-shard references
|
|
120
|
+
Scan the primary shard for all cross-references to other shards (look for `See [shard NN](...)`, `defined in [shard NN](...)`, or `Related shards:` headers). For each reference:
|
|
121
|
+
1. Read the referenced section (not the entire shard — just the relevant section)
|
|
122
|
+
2. Note what content is being borrowed (data model? access rules? edge cases?)
|
|
123
|
+
3. Record the reference as: `Source: [shard-file.md] § [section-name] (lines N–M)`
|
|
124
|
+
|
|
125
|
+
Build a **Referenced Material Inventory**:
|
|
126
|
+
```
|
|
127
|
+
Primary: 09-playground.md (full shard)
|
|
128
|
+
Cross-refs:
|
|
129
|
+
- 02-account-architecture.md § Junior Account Controls (lines 680–706)
|
|
130
|
+
- 03-rbac-policies.md § Permission Taxonomy: playground.* (lines 45–52)
|
|
131
|
+
- 12-resources-settings.md § Credentials Management (lines 93–174)
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### 5c. Read deep dives
|
|
135
|
+
List the files in `docs/plans/ia/deep-dives/`.
|
|
136
|
+
Identify which deep dives are referenced by the primary shard. **Read each referenced deep dive in full** — these contain architectural decisions (technology choices, protocol designs, phasing strategies) that the BE spec must implement. Extract and record:
|
|
137
|
+
- Key decisions (what was decided and why)
|
|
138
|
+
- Architectural constraints (what the BE spec must conform to)
|
|
139
|
+
- Data schemas or contracts defined in the deep dive
|
|
140
|
+
|
|
141
|
+
### 5d. Read the IA shard's testability section
|
|
142
|
+
If the shard has a testability/acceptance criteria section, read it — these become the BE spec's performance targets and test requirements.
|
|
143
|
+
|
|
144
|
+
## 6. Check cross-cutting specs
|
|
145
|
+
|
|
146
|
+
Read any completed cross-cutting specs — feature specs must follow their patterns. List the files matching `docs/plans/be/00-*.md` (cross-cutting specs).
|
|
147
|
+
|
|
148
|
+
## 7. Present classification and request approval
|
|
149
|
+
|
|
150
|
+
Include the expected endpoint inventory in the classification presentation. The user must verify split boundaries align with the actual API surface before approving.
|
|
151
|
+
|
|
152
|
+
Call `notify_user` presenting:
|
|
153
|
+
- The classification type and reasoning (from Step 2)
|
|
154
|
+
- The number of BE specs to be produced
|
|
155
|
+
- The Referenced Material Inventory (from Step 5)
|
|
156
|
+
- For multi-domain splits: the proposed split boundaries
|
|
157
|
+
|
|
158
|
+
> **Do NOT proceed to `/write-be-spec-write` until the user confirms the classification is correct. For multi-domain splits, the user must confirm the split boundaries.**
|
|
159
|
+
|
|
160
|
+
Once approved, run `/write-be-spec-write`.
|
|
161
|
+
|
|
162
|
+
> **Seed the spec file**: After classification is approved, read `.agent/skills/prd-templates/references/be-spec-template.md` for the **BE Spec Seed Stub** template. Create the spec file at `docs/plans/be/[NN-feature-name].md` using the stub, filling in the classification details and Referenced Material Inventory from above.
|
|
163
|
+
|
|
164
|
+
For structural reference classification (0 BE specs): confirm no write shard is needed and propose moving to the next IA shard instead.
|
|
165
|
+
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Write BE spec, update indexes, run ambiguity gate, and check for new dependencies for the write-be-spec workflow
|
|
3
|
+
parent: write-be-spec
|
|
4
|
+
shard: write
|
|
5
|
+
standalone: true
|
|
6
|
+
position: 2
|
|
7
|
+
pipeline:
|
|
8
|
+
position: 5a.2
|
|
9
|
+
stage: specification
|
|
10
|
+
predecessors: [write-be-spec-classify]
|
|
11
|
+
successors: [plan-phase]
|
|
12
|
+
skills: [technical-writer, testing-strategist, prd-templates]
|
|
13
|
+
calls-bootstrap: true
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
// turbo-all
|
|
17
|
+
|
|
18
|
+
# Write BE Spec — Write & Validate
|
|
19
|
+
|
|
20
|
+
Write the BE spec(s) to `docs/plans/be/`, update indexes, run quality checks, and present for review.
|
|
21
|
+
|
|
22
|
+
**Prerequisite**: Read the spec file at `docs/plans/be/[NN-feature-name].md`. The `## Classification` section and Referenced Material Inventory should be present from the classify shard. If the file does not exist or lacks a `## Classification` section, run `/write-be-spec-classify` first.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 7. Write the spec to `docs/plans/be/[NN-feature-name].md`
|
|
27
|
+
|
|
28
|
+
**Endpoint completeness reconciliation**: Before writing any section, build a reconciliation table from the sub-feature endpoint inventory (produced during `/write-be-spec-classify`):
|
|
29
|
+
|
|
30
|
+
| Sub-feature | Expected endpoints | Specced? | Notes |
|
|
31
|
+
|-------------|-------------------|----------|-------|
|
|
32
|
+
| [sub-feature] | `POST /api/...` | ✅ | — |
|
|
33
|
+
| [sub-feature] | `GET /api/...` | ❌ | [Deferred to Phase N — reason] |
|
|
34
|
+
| [sub-feature] | `PUT /api/...` | ❌ | — |
|
|
35
|
+
|
|
36
|
+
**Rule**: For every unspecced expected endpoint, either add it to the spec immediately or add an explicit `[Deferred to Phase N — reason]` note in the Notes column. An empty Notes column for an unspecced endpoint is a spec failure.
|
|
37
|
+
|
|
38
|
+
**Gate**: Do not write the spec sections until every expected endpoint is either specced or explicitly deferred. This reconciliation table becomes the first section of the spec file after `## Classification`.
|
|
39
|
+
|
|
40
|
+
Read .agent/skills/technical-writer/SKILL.md and follow its methodology.
|
|
41
|
+
Read .agent/skills/testing-strategist/SKILL.md and follow its methodology.
|
|
42
|
+
|
|
43
|
+
**Naming convention**: Use the same number prefix as the IA shard that sources it, followed by a kebab-case feature name. For multi-domain splits from the same shard, append a letter suffix (e.g., `09a-chat-api.md`, `09b-agent-flow-api.md`). For cross-cutting specs, use the `00-` prefix (e.g., `00-api-conventions.md`).
|
|
44
|
+
|
|
45
|
+
Read `.agent/skills/prd-templates/references/be-spec-template.md` for the document structure and quality gates checklist. Follow the conventions template from `be/index.md`.
|
|
46
|
+
|
|
47
|
+
## 8. Update the BE index
|
|
48
|
+
|
|
49
|
+
Add or update the spec entry in `docs/plans/be/index.md`. For multi-domain splits, add one row per BE spec with the shared IA source.
|
|
50
|
+
|
|
51
|
+
If a shard was classified as **structural reference** with 0 BE specs, add a row with `—` status and a note explaining why (e.g., "Structural reference — no API surface").
|
|
52
|
+
|
|
53
|
+
## 9. Update spec pipeline
|
|
54
|
+
|
|
55
|
+
Read `.agent/skills/session-continuity/protocols/08-spec-pipeline-update.md` and follow the **Spec Pipeline Update Protocol** to mark this shard's BE column as complete in `.agent/progress/spec-pipeline.md`.
|
|
56
|
+
|
|
57
|
+
## 10. Cross-reference check
|
|
58
|
+
|
|
59
|
+
Verify:
|
|
60
|
+
- [ ] New spec links back to its IA source shard
|
|
61
|
+
- [ ] Related BE specs are cross-referenced (especially for multi-domain splits from the same shard)
|
|
62
|
+
- [ ] Cross-shard referenced material is cited with file + section + line numbers
|
|
63
|
+
- [ ] IA source shard links forward to the new BE spec
|
|
64
|
+
|
|
65
|
+
## 11. Ambiguity gate
|
|
66
|
+
|
|
67
|
+
Read `.agent/skills/session-continuity/protocols/ambiguity-gates.md` and run:
|
|
68
|
+
|
|
69
|
+
- **Micro**: Walk each endpoint, request/response field, error code, schema constraint, and middleware rule. Would an implementer need to guess? Fix it now.
|
|
70
|
+
- **Macro**: Would the FE spec writer need to guess anything from this BE spec? Fix it now.
|
|
71
|
+
- **Two-implementer test**: Would two developers reading only this spec make the same decision? If not — fix it now.
|
|
72
|
+
- **Devil's advocate pass**: "What would a junior developer get wrong?" Fix any revealed gaps.
|
|
73
|
+
|
|
74
|
+
## 12. Full ambiguity audit (mandatory when last BE spec)
|
|
75
|
+
|
|
76
|
+
1. Read `docs/plans/be/index.md`
|
|
77
|
+
2. Check if all BE specs show ✅
|
|
78
|
+
|
|
79
|
+
**More specs remain**: Proceed to the next spec.
|
|
80
|
+
|
|
81
|
+
**This is the last BE spec**: Run `/audit-ambiguity be` now. **Hard gate**: Do NOT propose `/write-fe-spec` until `/audit-ambiguity be` scores 0%.
|
|
82
|
+
|
|
83
|
+
## 13. Check for new dependencies
|
|
84
|
+
|
|
85
|
+
If this BE spec introduces a technology not already in the project's tech stack:
|
|
86
|
+
1. Identify the stack category (e.g., QUEUE, CACHE, SEARCH, STORAGE)
|
|
87
|
+
2. Read `.agent/workflows/bootstrap-agents.md` and fire bootstrap with `PIPELINE_STAGE=write-be-spec` + the key-value pair
|
|
88
|
+
3. Confirm matching skill installed
|
|
89
|
+
|
|
90
|
+
## 14. Request review and propose next steps
|
|
91
|
+
|
|
92
|
+
Read .agent/skills/verification-before-completion/SKILL.md and follow its methodology.
|
|
93
|
+
|
|
94
|
+
Use `notify_user` presenting:
|
|
95
|
+
1. **Spec created** (link)
|
|
96
|
+
2. **Cross-reference verification**
|
|
97
|
+
3. **Ambiguity Gate confirmation**
|
|
98
|
+
4. **Pipeline State** — read `.agent/progress/spec-pipeline.md` and propose next step
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Write a backend specification — classifies IA shard, resolves cross-references, reads deep dives, produces BE spec(s)
|
|
3
|
+
pipeline:
|
|
4
|
+
position: 5a
|
|
5
|
+
stage: specification
|
|
6
|
+
predecessors: [write-architecture-spec]
|
|
7
|
+
successors: [plan-phase]
|
|
8
|
+
parallel-with: [write-fe-spec] # can run in parallel
|
|
9
|
+
skills: [resolve-ambiguity, error-handling-patterns, database-schema-design, migration-management, testing-strategist, logging-best-practices]
|
|
10
|
+
calls-bootstrap: true # may discover new backend dependencies
|
|
11
|
+
shards: [write-be-spec-classify, write-be-spec-write]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
// turbo-all
|
|
15
|
+
|
|
16
|
+
# Write Backend Specification
|
|
17
|
+
|
|
18
|
+
**Input**: A complete IA shard (or set of related shards)
|
|
19
|
+
**Output**: One or more BE specs with endpoints, contracts, schemas, middleware, error handling
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Skill Bootstrap
|
|
24
|
+
|
|
25
|
+
Check installed skills for stack-appropriate coverage:
|
|
26
|
+
- Database expert skill (schema design)
|
|
27
|
+
- Hosting/deployment skill (runtime/worker patterns)
|
|
28
|
+
- HTTP router/framework skill (middleware)
|
|
29
|
+
- REST API design skill (API conventions)
|
|
30
|
+
- Auth skill (JWT/session patterns)
|
|
31
|
+
|
|
32
|
+
Conditionally look for:
|
|
33
|
+
- Payment provider integration skill (if billing-related spec)
|
|
34
|
+
- Rate limiting / abuse protection skill
|
|
35
|
+
- TypeScript advanced patterns skill (for complex contract types)
|
|
36
|
+
- Security hardening skill (for auth/RBAC specs)
|
|
37
|
+
|
|
38
|
+
If a needed skill is missing, check if a matching entry exists in `.agent/skill-library/MANIFEST.md`. Read `.agent/workflows/bootstrap-agents.md` and execute its utility instructions immediately with the appropriate stack key to install it.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Shard Overview
|
|
43
|
+
|
|
44
|
+
| # | Shard | What It Does |
|
|
45
|
+
|---|-------|-------------|
|
|
46
|
+
| 1 | [`write-be-spec-classify`](.agent/workflows/write-be-spec-classify.md) | Classifies IA shard, loads skills, reads source material + cross-references + deep dives |
|
|
47
|
+
| 2 | [`write-be-spec-write`](.agent/workflows/write-be-spec-write.md) | Writes the BE spec, updates indexes, runs ambiguity gate, checks for new dependencies |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Orchestration
|
|
52
|
+
|
|
53
|
+
### Step A — Run `.agent/workflows/write-be-spec-classify.md`
|
|
54
|
+
|
|
55
|
+
Identifies the target IA shard, classifies it (feature domain / multi-domain / cross-cutting / structural reference / composite), loads the skill bundle, reads all source material (primary shard, cross-shard references, deep dives, testability section), and reads cross-cutting specs.
|
|
56
|
+
|
|
57
|
+
### Step B — Run `.agent/workflows/write-be-spec-write.md`
|
|
58
|
+
|
|
59
|
+
Writes the BE spec(s) to `docs/plans/be/`, updates the BE index, runs cross-reference checks and the ambiguity gate, checks for new dependencies (firing bootstrap if needed), and presents for review.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Quality Gate
|
|
64
|
+
|
|
65
|
+
Before presenting to the user, verify:
|
|
66
|
+
|
|
67
|
+
Read .agent/skills/code-review-pro/SKILL.md and apply its adversarial review discipline to each checklist item.
|
|
68
|
+
|
|
69
|
+
- [ ] Every endpoint has a Zod request AND response schema
|
|
70
|
+
- [ ] Every database table has defined fields, indexes, and permissions
|
|
71
|
+
- [ ] Security constraints from IA shard reflected in middleware section
|
|
72
|
+
- [ ] Error codes are specific (not generic 500s)
|
|
73
|
+
- [ ] Rate limits specified per endpoint
|
|
74
|
+
- [ ] Every deep dive key decision is reflected in the spec
|
|
75
|
+
- [ ] Every cross-shard reference has been resolved
|
|
76
|
+
- [ ] IA Source Map is complete — no BE spec section lacks a traceable IA source
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Classify FE target, load skills, and read all source material for the write-fe-spec workflow
|
|
3
|
+
parent: write-fe-spec
|
|
4
|
+
shard: classify
|
|
5
|
+
standalone: true
|
|
6
|
+
position: 1
|
|
7
|
+
pipeline:
|
|
8
|
+
position: 5b.1
|
|
9
|
+
stage: specification
|
|
10
|
+
predecessors: [write-architecture-spec]
|
|
11
|
+
successors: [write-fe-spec-write]
|
|
12
|
+
skills: [resolve-ambiguity, accessibility]
|
|
13
|
+
calls-bootstrap: false
|
|
14
|
+
requires_placeholders: [LANGUAGE_SKILL, FRONTEND_FRAMEWORK_SKILL, FRONTEND_DESIGN_SKILL, ACCESSIBILITY_SKILL, STATE_MANAGEMENT_SKILL]
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
// turbo-all
|
|
18
|
+
|
|
19
|
+
# Write FE Spec — Classify & Read Sources
|
|
20
|
+
|
|
21
|
+
Identify the target FE spec, classify it, load skills, and read all source material including BE spec, IA shard, cross-references, and deep dives.
|
|
22
|
+
|
|
23
|
+
**Prerequisite**: BE spec(s) for this feature must be complete (if applicable). Read `docs/plans/be/index.md` to verify.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 0. Placeholder guard
|
|
28
|
+
|
|
29
|
+
Before any skill reads, verify that the five placeholder values listed in `requires_placeholders` frontmatter 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 0.5.
|
|
30
|
+
|
|
31
|
+
For the hard stop message format and recovery instructions, see `.agent/skills/prd-templates/references/placeholder-guard-template.md`. For placeholder-to-recovery mappings specific to this workflow, see `.agent/skills/session-continuity/protocols/10-placeholder-verification-gate.md`.
|
|
32
|
+
|
|
33
|
+
Only proceed to Step 0.5 when all five placeholders report no literal `{{` characters.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 0.5. Brand-guidelines prerequisite check
|
|
38
|
+
|
|
39
|
+
1. Read `.agent/skills/brand-guidelines/SKILL.md`.
|
|
40
|
+
2. Scan for any `{{PLACEHOLDER}}` values that are still unfilled. If any exist → stop and tell the user: _"Design direction hasn't been confirmed yet. Run `/create-prd` first to establish the design direction before writing FE specs."_
|
|
41
|
+
3. If all placeholders are filled → extract and store for this session: confirmed design direction, color palette, typography choices, motion philosophy, and anti-patterns. These become requirements for every component spec written in this session.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 0.75. Design system prerequisite check
|
|
46
|
+
|
|
47
|
+
1. Check whether `docs/plans/design-system.md` exists.
|
|
48
|
+
2. If it does not exist → **stop** and tell the user: _"The design system has not been established yet. Run `/create-prd-design-system` to lock navigation paradigm, layout grid, page archetypes, and global state design language before writing FE specs."_
|
|
49
|
+
3. If it exists → read the file and extract all seven decision areas: Navigation Paradigm, Layout Grid, Page Archetypes, Global Component Inventory, Motion Language, Data Density Philosophy, and Global State Design Language.
|
|
50
|
+
4. The extracted decisions are **requirements** for this FE spec — any violation is a rubric failure under Dimension 11 (Design System Consistency).
|
|
51
|
+
5. **Fail-fast validation checks** — verify the following before proceeding. If any check fails, classification must **stop** and instruct the user to run `/create-prd-design-system` to resolve drift before continuing:
|
|
52
|
+
- **Page archetype match**: At least one page archetype from `design-system.md` applies to the feature being classified. If no archetype matches, the design system is incomplete for this feature.
|
|
53
|
+
- **Global component / navigation compliance**: The navigation paradigm and Global Component Inventory sections are populated (not empty or placeholder). Every navigation element the FE spec will use must exist in the inventory — re-inventing global components is a rubric failure.
|
|
54
|
+
- **Global state design language compliance**: The Loading States, Error States, and Empty States sub-sections are populated with confirmed approaches. The FE spec must use these confirmed patterns — inventing loading/error/empty state patterns outside the design language is a rubric failure.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 1. Identify the target spec
|
|
59
|
+
|
|
60
|
+
Determine which FE spec to write. Match it to its BE spec and IA shard sources (if applicable).
|
|
61
|
+
|
|
62
|
+
If the BE spec was a multi-domain split (multiple BE specs from one IA shard), determine
|
|
63
|
+
which BE spec(s) this FE spec covers. An FE spec may correspond to:
|
|
64
|
+
- 1 BE spec (most common)
|
|
65
|
+
- N BE specs that share a UI surface (e.g., a dashboard page consuming multiple APIs)
|
|
66
|
+
- 0 BE specs (pure client-side, static content — rare but valid)
|
|
67
|
+
|
|
68
|
+
## 2. Classify the target
|
|
69
|
+
|
|
70
|
+
Not every FE spec maps 1:1 to a BE feature spec. Before writing anything, classify the target spec:
|
|
71
|
+
|
|
72
|
+
| Classification | Description | Source Inputs | How to Detect |
|
|
73
|
+
|---------------|-------------|----------------|---------------|
|
|
74
|
+
| **Feature spec** | Defines UI components, routing, and state for a specific product feature. | 1+ BE specs + 1 IA shard | Maps to a specific IA feature shard; consumes specific API endpoints. |
|
|
75
|
+
| **Cross-cutting** | Defines shared UI patterns, design tokens, layouts, or routing guards. | Tech stack conventions + global IA principles | Numbered `00-*`; no specific BE spec; content is about "how all UI works" not a specific feature. |
|
|
76
|
+
|
|
77
|
+
**Present the classification and source mapping to the user before proceeding.** Include:
|
|
78
|
+
- The classification and reasoning
|
|
79
|
+
- For feature specs: the BE spec(s) and IA shard it maps to
|
|
80
|
+
- For cross-cutting specs: confirmation that BE spec/IA shard mapping is skipped
|
|
81
|
+
|
|
82
|
+
## 3. Load skill bundle
|
|
83
|
+
|
|
84
|
+
Read .agent/skills/{{LANGUAGE_SKILL}}/SKILL.md and follow its language conventions.
|
|
85
|
+
Read .agent/skills/{{FRONTEND_FRAMEWORK_SKILL}}/SKILL.md
|
|
86
|
+
Read .agent/skills/{{FRONTEND_DESIGN_SKILL}}/SKILL.md and follow its design methodology.
|
|
87
|
+
Read .agent/skills/{{ACCESSIBILITY_SKILL}}/SKILL.md
|
|
88
|
+
Read .agent/skills/{{STATE_MANAGEMENT_SKILL}}/SKILL.md and follow its state management conventions.
|
|
89
|
+
Read .agent/skills/error-handling-patterns/SKILL.md
|
|
90
|
+
Read .agent/skills/testing-strategist/SKILL.md
|
|
91
|
+
Read .agent/skills/technical-writer/SKILL.md
|
|
92
|
+
|
|
93
|
+
**Missing skill fallback**: If any skill in the bundle above is not installed in `.agent/skills/` and is not in `.agent/skill-library/MANIFEST.md`, read `.agent/skills/find-skills/SKILL.md` and follow its discovery methodology to search for a community equivalent before proceeding without it.
|
|
94
|
+
|
|
95
|
+
### Ambiguity resolution
|
|
96
|
+
|
|
97
|
+
When writing the FE spec, if any requirement cannot be resolved from `vision.md`, `architecture-design.md`, `data-placement-strategy.md`, or upstream IA/BE specs, **do not guess**. Instead, load and follow `.agent/skills/resolve-ambiguity/SKILL.md` to systematically resolve the ambiguity before proceeding.
|
|
98
|
+
|
|
99
|
+
## 4. Read source documents
|
|
100
|
+
|
|
101
|
+
Read **all** of the following:
|
|
102
|
+
|
|
103
|
+
### 4a. Conventions and tech stack
|
|
104
|
+
Read the file at `docs/plans/fe/index.md` (conventions template) and the file at `docs/plans/index.md` (master index, tech stack).
|
|
105
|
+
|
|
106
|
+
### 4b. BE source spec(s) (if Feature spec)
|
|
107
|
+
Read the file at `docs/plans/be/[NN-spec-name].md` (BE source spec(s)). Pay special attention to:
|
|
108
|
+
- Request/Response contracts — these define the data shapes your components will consume
|
|
109
|
+
- Error codes — these define the error states your UI must handle
|
|
110
|
+
- Rate limits — these affect loading/retry UX patterns
|
|
111
|
+
|
|
112
|
+
### 4c. IA source shard (if Feature spec)
|
|
113
|
+
Read the file at `docs/plans/ia/[NN-shard-name].md` (IA source shard). The FE spec needs the IA shard **in addition to** the BE spec because the IA shard contains:
|
|
114
|
+
- **User flows** — step-by-step interaction sequences the UI must implement
|
|
115
|
+
- **Access model** — which account tiers see which features (drives conditional rendering)
|
|
116
|
+
- **Responsive behavior** — device strategy, breakpoints, mobile-specific behavior
|
|
117
|
+
- **Accessibility specifications** — WCAG requirements, keyboard navigation, screen reader behavior
|
|
118
|
+
- **Edge cases** — UX for error states, empty states, concurrent access scenarios
|
|
119
|
+
- **Junior/age-restricted rules** — content that must be hidden or gated per account type
|
|
120
|
+
|
|
121
|
+
These are frontend concerns that the BE spec doesn't fully capture.
|
|
122
|
+
|
|
123
|
+
**Accessibility extraction**: From the IA shard's accessibility specifications, extract every WCAG requirement, keyboard navigation pattern, and screen reader behavior. These MUST appear in the FE spec's component definitions — not as a separate section, but woven into each component's specification. If the IA shard lacks accessibility detail for a given interaction, flag it as a gap and resolve before proceeding.
|
|
124
|
+
|
|
125
|
+
**Accessibility extraction gate** (Step 4c gate):
|
|
126
|
+
|
|
127
|
+
Read `.agent/skills/prd-templates/references/fe-classification-procedures.md` § **Accessibility Extraction Gate** and follow its procedure. Build the five-column accessibility inventory table, apply the thin a11y coverage flag (< 3 specs for an interactive feature triggers a user choice gate), and carry the inventory forward as inline annotations in `## Component Inventory` during `/write-fe-spec-write`.
|
|
128
|
+
|
|
129
|
+
### Step 4c.5 — Conditional rendering enumeration
|
|
130
|
+
|
|
131
|
+
Read `.agent/skills/prd-templates/references/fe-classification-procedures.md` § **Conditional Rendering Enumeration** and follow its procedure. Build the role × feature rendering matrix from the IA shard's `## Access Control`, map every non-trivial cell to a named component variant, and flag unspecified role × feature combinations with a "define or apply closest-tier default?" gate.
|
|
132
|
+
|
|
133
|
+
### 4d. Resolve cross-shard references
|
|
134
|
+
If the IA shard references other shards for UI-relevant content (e.g., "navigation behavior
|
|
135
|
+
defined in shard 04", "shared component patterns in shard 12"), read those sections. Build a
|
|
136
|
+
Referenced Material Inventory the same way the BE skill does:
|
|
137
|
+
```
|
|
138
|
+
Primary: 09-playground.md (full shard)
|
|
139
|
+
BE Source: 09a-chat-api.md, 09b-agent-flow-api.md
|
|
140
|
+
Cross-refs:
|
|
141
|
+
- 04-navigation.md § Dashboard Sidebar (lines 45–60)
|
|
142
|
+
- 12-resources-settings.md § Appearance & Accessibility (lines 332–347)
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### 4e. Read deep dives with FE implications
|
|
146
|
+
Some IA deep dives contain frontend architectural decisions (component phasing, performance
|
|
147
|
+
budgets, UX patterns). Check the BE spec's IA Source Map for referenced deep dives and read
|
|
148
|
+
any that contain FE-relevant decisions.
|
|
149
|
+
|
|
150
|
+
## 5. Check cross-cutting FE specs
|
|
151
|
+
|
|
152
|
+
Read any completed cross-cutting FE specs — feature specs must follow their patterns. List the files matching `docs/plans/fe/00-*.md` (cross-cutting specs).
|
|
153
|
+
|
|
154
|
+
## 6. Present classification and request approval
|
|
155
|
+
|
|
156
|
+
Call `notify_user` presenting:
|
|
157
|
+
- The classification type and reasoning (from Step 2)
|
|
158
|
+
- The source mapping (which BE spec(s) and IA shard this FE spec covers)
|
|
159
|
+
- The brand-guidelines extraction summary (design direction, colors, typography, anti-patterns extracted in Step 0)
|
|
160
|
+
- **Design System Compliance Check**:
|
|
161
|
+
- Which page archetype(s) from `design-system.md` this FE spec uses
|
|
162
|
+
- Confirmation that global components are consumed from the Global Component Inventory (not re-invented)
|
|
163
|
+
- Confirmation that loading/error/empty states follow the confirmed Global State Design Language
|
|
164
|
+
|
|
165
|
+
> **Do NOT proceed to `/write-fe-spec-write` until the user confirms the classification and source mapping.**
|
|
166
|
+
|
|
167
|
+
Once approved, run `/write-fe-spec-write`.
|
|
168
|
+
|
|
169
|
+
> **Seed the spec file**: After classification is approved, read `.agent/skills/prd-templates/references/fe-spec-template.md` for the **FE Spec Seed Stub** (under the `## FE Spec Seed Stub` heading at the bottom of the file). Also read `.agent/skills/prd-templates/references/be-spec-template.md` for the Referenced Material Inventory format. Create the spec file at `docs/plans/fe/[NN-feature-name].md` using the stub, filling in classification details, Referenced Material Inventory, and Design Requirements from above.
|
|
170
|
+
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Write FE spec, update indexes, run ambiguity gate, and check for new dependencies for the write-fe-spec workflow
|
|
3
|
+
parent: write-fe-spec
|
|
4
|
+
shard: write
|
|
5
|
+
standalone: true
|
|
6
|
+
position: 2
|
|
7
|
+
pipeline:
|
|
8
|
+
position: 5b.2
|
|
9
|
+
stage: specification
|
|
10
|
+
predecessors: [write-fe-spec-classify]
|
|
11
|
+
successors: [plan-phase]
|
|
12
|
+
skills: [technical-writer, accessibility, prd-templates, pipeline-rubrics]
|
|
13
|
+
calls-bootstrap: true
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
// turbo-all
|
|
17
|
+
|
|
18
|
+
# Write FE Spec — Write & Validate
|
|
19
|
+
|
|
20
|
+
Write the FE spec to `docs/plans/fe/`, update indexes, run quality checks, and present for review.
|
|
21
|
+
|
|
22
|
+
**Prerequisite**: Read the spec file at `docs/plans/fe/[NN-feature-name].md`. The `## Classification` section, Referenced Material Inventory, and Design Requirements should be present from the classify shard. If the file lacks a `## Classification` section, run `/write-fe-spec-classify` first.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 6. Write the spec to `docs/plans/fe/[NN-feature-name].md`
|
|
27
|
+
|
|
28
|
+
Read .agent/skills/technical-writer/SKILL.md and follow its methodology.
|
|
29
|
+
Read .agent/skills/accessibility/SKILL.md and follow its methodology.
|
|
30
|
+
Read .agent/skills/testing-strategist/SKILL.md and follow its methodology.
|
|
31
|
+
|
|
32
|
+
**Naming convention**: Numbered prefix matching feature position + kebab-case name (e.g., `01-auth-ui.md`). Cross-cutting: `00-` prefix.
|
|
33
|
+
|
|
34
|
+
Read `.agent/skills/prd-templates/references/fe-spec-template.md` for the document structure and quality gates checklist. Follow the conventions from `fe/index.md`.
|
|
35
|
+
|
|
36
|
+
## 7. Update the FE index
|
|
37
|
+
|
|
38
|
+
Change the spec's status from 🔲 to ✅ in `docs/plans/fe/index.md`.
|
|
39
|
+
|
|
40
|
+
## 8. Update spec pipeline
|
|
41
|
+
|
|
42
|
+
Read `.agent/skills/session-continuity/protocols/08-spec-pipeline-update.md` and follow the **Spec Pipeline Update Protocol** (skip for cross-cutting specs).
|
|
43
|
+
|
|
44
|
+
## 9. Cross-reference check
|
|
45
|
+
|
|
46
|
+
Verify:
|
|
47
|
+
- [ ] New spec links back to its BE source spec(s) (if applicable)
|
|
48
|
+
- [ ] New spec links back to its IA source shard (if applicable)
|
|
49
|
+
- [ ] Related FE specs are cross-referenced
|
|
50
|
+
- [ ] Cross-shard referenced material is cited with file + section + line numbers
|
|
51
|
+
|
|
52
|
+
## 10. Ambiguity gate
|
|
53
|
+
|
|
54
|
+
Read `.agent/skills/session-continuity/protocols/ambiguity-gates.md` and run:
|
|
55
|
+
|
|
56
|
+
- **Micro**: Walk each component, prop, interaction, state transition, responsive breakpoint, and a11y rule. Would an implementer need to guess? Fix it now.
|
|
57
|
+
- **Macro**: Would an implementer running `/implement-slice` need to guess anything from this spec? Fix it now.
|
|
58
|
+
- **Two-implementer test**: Would two developers reading only this spec make the same decision? If not — fix it now.
|
|
59
|
+
- **Devil's advocate pass**: "What would a junior developer get wrong?" Fix any revealed gaps.
|
|
60
|
+
|
|
61
|
+
## 11. Full ambiguity audit (mandatory when last FE spec)
|
|
62
|
+
|
|
63
|
+
1. Read `docs/plans/fe/index.md`
|
|
64
|
+
2. Check if all FE specs show ✅
|
|
65
|
+
|
|
66
|
+
**More specs remain**: Proceed to the next spec.
|
|
67
|
+
|
|
68
|
+
**This is the last FE spec**: Run `/audit-ambiguity fe` now. **Hard gate**: Do NOT propose `/plan-phase` until `/audit-ambiguity fe` scores 0%.
|
|
69
|
+
|
|
70
|
+
## 12. Check for new dependencies
|
|
71
|
+
|
|
72
|
+
If this FE spec introduces a new technology:
|
|
73
|
+
1. Identify the stack category (e.g., CHARTS, ANIMATION)
|
|
74
|
+
2. Read `.agent/workflows/bootstrap-agents.md` and fire bootstrap with `PIPELINE_STAGE=write-fe-spec` + the key-value pair
|
|
75
|
+
3. Confirm matching skill installed
|
|
76
|
+
|
|
77
|
+
## 13. Request review and propose next steps
|
|
78
|
+
|
|
79
|
+
Read .agent/skills/verification-before-completion/SKILL.md and follow its methodology.
|
|
80
|
+
|
|
81
|
+
Use `notify_user` presenting:
|
|
82
|
+
1. **Spec created** (link)
|
|
83
|
+
2. **Cross-reference verification**
|
|
84
|
+
3. **Ambiguity Gate confirmation**
|
|
85
|
+
4. **Pipeline State** — read `.agent/progress/spec-pipeline.md` and propose next step
|
|
86
|
+
|
|
87
|
+
## 14. Navigation Completeness Check
|
|
88
|
+
|
|
89
|
+
> Runs only when ALL FE shards for the current phase are complete (all ✅ in index).
|
|
90
|
+
|
|
91
|
+
1. Collect every route across all FE specs
|
|
92
|
+
2. Verify each is reachable from at least one navigation element
|
|
93
|
+
3. Verify navigation structure itself is specced
|
|
94
|
+
4. Flag orphan routes (specced but unreachable) — these block `/plan-phase`
|