cfsa-antigravity 3.0.2 → 3.1.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/README.md +27 -10
- package/bin/cli.mjs +7 -6
- package/package.json +1 -1
- package/template/.agent/PRDS/codex-runtime-support.md +2 -2
- package/template/.agent/TASKS/codex-runtime-support.md +2 -2
- package/template/.agent/instructions/workflow.md +3 -3
- package/template/.agent/kit-sync.md +3 -3
- package/template/.agent/rules/completion-checklist.md +3 -3
- package/template/.agent/skills/parallel-agents/SKILL.md +1 -1
- package/template/.agent/skills/session-continuity/SKILL.md +6 -6
- package/template/.agent/skills/session-continuity/protocols/01-session-resumption.md +1 -1
- package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +3 -3
- package/template/.agent/skills/session-continuity/protocols/03-progress-update.md +4 -4
- package/template/.agent/skills/session-continuity/protocols/07-spec-pipeline-generation.md +1 -1
- package/template/.agent/skills/session-continuity/protocols/08-spec-pipeline-update.md +2 -2
- package/template/.agent/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
- package/template/.agent/workflows/create-prd-architecture.md +2 -2
- package/template/.agent/workflows/create-prd-design-system.md +2 -2
- package/template/.agent/workflows/create-prd-security.md +2 -2
- package/template/.agent/workflows/create-prd-stack.md +2 -2
- package/template/.agent/workflows/create-prd.md +2 -2
- package/template/.agent/workflows/decompose-architecture-validate.md +1 -1
- package/template/.agent/workflows/decompose-architecture.md +2 -2
- package/template/.agent/workflows/ideate.md +2 -2
- package/template/.agent/workflows/implement-slice-setup.md +1 -1
- package/template/.agent/workflows/implement-slice-tdd.md +3 -3
- package/template/.agent/workflows/implement-slice.md +2 -2
- package/template/.agent/workflows/plan-phase-preflight.md +2 -2
- package/template/.agent/workflows/plan-phase-write.md +2 -2
- package/template/.agent/workflows/plan-phase.md +2 -2
- package/template/.agent/workflows/setup-workspace.md +2 -2
- package/template/.agent/workflows/update-architecture-map.md +1 -1
- package/template/.agent/workflows/validate-phase-quality.md +1 -1
- package/template/.agent/workflows/validate-phase-readiness.md +2 -2
- package/template/.agent/workflows/validate-phase.md +2 -2
- package/template/.agent/workflows/verify-infrastructure.md +1 -1
- package/template/.agent/workflows/write-architecture-spec-deepen.md +3 -3
- package/template/.agent/workflows/write-architecture-spec-design.md +1 -1
- package/template/.agent/workflows/write-architecture-spec.md +3 -3
- package/template/.agent/workflows/write-be-spec-classify.md +1 -1
- package/template/.agent/workflows/write-be-spec-write.md +3 -3
- package/template/.agent/workflows/write-be-spec.md +3 -3
- package/template/.agent/workflows/write-fe-spec-classify.md +1 -1
- package/template/.agent/workflows/write-fe-spec-write.md +2 -2
- package/template/.agent/workflows/write-fe-spec.md +3 -3
- package/template/.claude/README.md +3 -1
- package/template/.claude/instructions/workflow.md +3 -3
- package/template/.claude/kit-sync.md +3 -3
- package/template/.claude/rules/completion-checklist.md +3 -3
- package/template/.claude/skills/parallel-agents/SKILL.md +1 -1
- package/template/.claude/skills/plan-phase/SKILL.md +2 -2
- package/template/.claude/skills/plan-phase-preflight/SKILL.md +2 -2
- package/template/.claude/skills/session-continuity/SKILL.md +6 -6
- package/template/.claude/skills/session-continuity/protocols/01-session-resumption.md +1 -1
- package/template/.claude/skills/session-continuity/protocols/02-progress-generation.md +3 -3
- package/template/.claude/skills/session-continuity/protocols/03-progress-update.md +4 -4
- package/template/.claude/skills/session-continuity/protocols/07-spec-pipeline-generation.md +1 -1
- package/template/.claude/skills/session-continuity/protocols/08-spec-pipeline-update.md +2 -2
- package/template/.claude/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
- package/template/.claude/skills/setup/setup-cfsa.md +1 -1
- package/template/.claude/skills/write-architecture-spec/SKILL.md +2 -2
- package/template/.claude/skills/write-architecture-spec-deepen/SKILL.md +1 -1
- package/template/.claude/skills/write-architecture-spec-design/SKILL.md +1 -1
- package/template/.claude/skills/write-be-spec/SKILL.md +3 -3
- package/template/.claude/skills/write-be-spec-classify/SKILL.md +1 -1
- package/template/.claude/skills/write-be-spec-write/SKILL.md +1 -1
- package/template/.claude/skills/write-fe-spec/SKILL.md +3 -3
- package/template/.claude/skills/write-fe-spec-write/SKILL.md +1 -1
- package/template/.codex/README.md +99 -0
- package/template/.codex/instructions/commands.md +24 -0
- package/template/.codex/instructions/example.md +21 -0
- package/template/.codex/instructions/patterns.md +61 -0
- package/template/.codex/instructions/structure.md +29 -0
- package/template/.codex/instructions/tech-stack.md +93 -0
- package/template/.codex/instructions/workflow.md +64 -0
- package/template/.codex/kit-sync.md +6 -0
- package/template/.codex/rules/boundary-not-placeholder.md +146 -0
- package/template/.codex/rules/completion-checklist.md +60 -0
- package/template/.codex/rules/debug-by-test.md +49 -0
- package/template/.codex/rules/decision-classification.md +113 -0
- package/template/.codex/rules/extensibility.md +52 -0
- package/template/.codex/rules/memory-capture.md +84 -0
- package/template/.codex/rules/question-vs-command.md +91 -0
- package/template/.codex/rules/security-first.md +54 -0
- package/template/.codex/rules/single-question.md +59 -0
- package/template/.codex/rules/skill-mcp-first.md +45 -0
- package/template/.codex/rules/source-before-ask.md +93 -0
- package/template/.codex/rules/specificity-standards.md +64 -0
- package/template/.codex/rules/tdd-contract-first.md +67 -0
- package/template/.codex/rules/vertical-slices.md +83 -0
- package/template/.codex/skill-library/MANIFEST.md +498 -0
- package/template/.codex/skill-library/README.md +38 -0
- package/template/.codex/skill-library/meta/claude-code/README.md +9 -0
- package/template/.codex/skill-library/meta/claude-code/agent-development/SKILL.md +415 -0
- package/template/.codex/skill-library/meta/claude-code/hook-development/SKILL.md +712 -0
- package/template/.codex/skill-library/meta/claude-code/plugin-structure/SKILL.md +476 -0
- package/template/.codex/skill-library/meta/mcp-builder/SKILL.md +236 -0
- package/template/.codex/skill-library/meta/product-marketing-context/SKILL.md +241 -0
- package/template/.codex/skill-library/meta/tmux-processes/SKILL.md +210 -0
- package/template/.codex/skill-library/meta/using-tmux-for-interactive-commands/SKILL.md +178 -0
- package/template/.codex/skill-library/stack/3d/threejs-pro/SKILL.md +300 -0
- package/template/.codex/skill-library/stack/ai/ai-sdk/SKILL.md +77 -0
- package/template/.codex/skill-library/stack/ai/langchain/SKILL.md +530 -0
- package/template/.codex/skill-library/stack/ai/ollama/SKILL.md +321 -0
- package/template/.codex/skill-library/stack/ai/openai-sdk/SKILL.md +549 -0
- package/template/.codex/skill-library/stack/analytics/google-analytics/SKILL.md +153 -0
- package/template/.codex/skill-library/stack/api/graphql/SKILL.md +1061 -0
- package/template/.codex/skill-library/stack/api/trpc/SKILL.md +576 -0
- package/template/.codex/skill-library/stack/auth/authjs/SKILL.md +569 -0
- package/template/.codex/skill-library/stack/auth/clerk/SKILL.md +590 -0
- package/template/.codex/skill-library/stack/auth/firebase-auth/SKILL.md +734 -0
- package/template/.codex/skill-library/stack/auth/lucia/SKILL.md +230 -0
- package/template/.codex/skill-library/stack/auth/supabase-auth/SKILL.md +293 -0
- package/template/.codex/skill-library/stack/cms/payload-cms/SKILL.md +573 -0
- package/template/.codex/skill-library/stack/cms/shopify/SKILL.md +1193 -0
- package/template/.codex/skill-library/stack/cms/wordpress/SKILL.md +1104 -0
- package/template/.codex/skill-library/stack/css/sass-scss/SKILL.md +1121 -0
- package/template/.codex/skill-library/stack/css/tailwind-css-patterns/SKILL.md +863 -0
- package/template/.codex/skill-library/stack/css/tailwind-design-system/SKILL.md +490 -0
- package/template/.codex/skill-library/stack/css/vanilla-css/SKILL.md +1078 -0
- package/template/.codex/skill-library/stack/databases/clickhouse/SKILL.md +311 -0
- package/template/.codex/skill-library/stack/databases/influxdb/SKILL.md +280 -0
- package/template/.codex/skill-library/stack/databases/lancedb/SKILL.md +415 -0
- package/template/.codex/skill-library/stack/databases/mongodb/SKILL.md +1169 -0
- package/template/.codex/skill-library/stack/databases/neo4j/SKILL.md +839 -0
- package/template/.codex/skill-library/stack/databases/pgvector/SKILL.md +241 -0
- package/template/.codex/skill-library/stack/databases/pinecone/SKILL.md +212 -0
- package/template/.codex/skill-library/stack/databases/postgresql/SKILL.md +658 -0
- package/template/.codex/skill-library/stack/databases/qdrant/SKILL.md +312 -0
- package/template/.codex/skill-library/stack/databases/redis/SKILL.md +1079 -0
- package/template/.codex/skill-library/stack/databases/spacetimedb/SKILL.md +532 -0
- package/template/.codex/skill-library/stack/databases/sqlite/SKILL.md +1132 -0
- package/template/.codex/skill-library/stack/databases/supabase/SKILL.md +640 -0
- package/template/.codex/skill-library/stack/databases/surrealdb-expert/SKILL.md +945 -0
- package/template/.codex/skill-library/stack/databases/timescaledb/SKILL.md +745 -0
- package/template/.codex/skill-library/stack/databases/weaviate/SKILL.md +218 -0
- package/template/.codex/skill-library/stack/devops/git-advanced/SKILL.md +972 -0
- package/template/.codex/skill-library/stack/devops/git-workflow/SKILL.md +420 -0
- package/template/.codex/skill-library/stack/devops/github-actions/SKILL.md +554 -0
- package/template/.codex/skill-library/stack/devops/kubernetes/SKILL.md +950 -0
- package/template/.codex/skill-library/stack/devops/nginx/SKILL.md +841 -0
- package/template/.codex/skill-library/stack/devops/terraform/SKILL.md +860 -0
- package/template/.codex/skill-library/stack/email/resend/SKILL.md +391 -0
- package/template/.codex/skill-library/stack/extensions/chrome-extension/SKILL.md +375 -0
- package/template/.codex/skill-library/stack/extensions/plasmo/SKILL.md +195 -0
- package/template/.codex/skill-library/stack/extensions/vscode-extension/SKILL.md +453 -0
- package/template/.codex/skill-library/stack/extensions/wxt/SKILL.md +216 -0
- package/template/.codex/skill-library/stack/feature-flags/flagsmith/SKILL.md +187 -0
- package/template/.codex/skill-library/stack/feature-flags/launchdarkly/SKILL.md +183 -0
- package/template/.codex/skill-library/stack/feature-flags/posthog-flags/SKILL.md +189 -0
- package/template/.codex/skill-library/stack/frameworks/astro-framework/SKILL.md +162 -0
- package/template/.codex/skill-library/stack/frameworks/electron/SKILL.md +1286 -0
- package/template/.codex/skill-library/stack/frameworks/fastapi/SKILL.md +650 -0
- package/template/.codex/skill-library/stack/frameworks/hono/SKILL.md +90 -0
- package/template/.codex/skill-library/stack/frameworks/nestjs/SKILL.md +878 -0
- package/template/.codex/skill-library/stack/frameworks/nextjs/SKILL.md +635 -0
- package/template/.codex/skill-library/stack/frameworks/nuxt/SKILL.md +564 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/SKILL.md +81 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/events.md +353 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/migration.md +339 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/performance.md +443 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/runes.md +394 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/snippets.md +291 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/sveltekit.md +401 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/typescript.md +305 -0
- package/template/.codex/skill-library/stack/frameworks/sveltekit/SKILL.md +614 -0
- package/template/.codex/skill-library/stack/frameworks/tauri/SKILL.md +920 -0
- package/template/.codex/skill-library/stack/gamedev/godot/SKILL.md +1032 -0
- package/template/.codex/skill-library/stack/gamedev/unity/SKILL.md +1175 -0
- package/template/.codex/skill-library/stack/hosting/aws/SKILL.md +467 -0
- package/template/.codex/skill-library/stack/hosting/cloudflare/SKILL.md +201 -0
- package/template/.codex/skill-library/stack/hosting/docker-expert/SKILL.md +409 -0
- package/template/.codex/skill-library/stack/hosting/vercel/SKILL.md +484 -0
- package/template/.codex/skill-library/stack/languages/bash-scripting/SKILL.md +773 -0
- package/template/.codex/skill-library/stack/languages/c-cpp/SKILL.md +712 -0
- package/template/.codex/skill-library/stack/languages/gdscript/SKILL.md +789 -0
- package/template/.codex/skill-library/stack/languages/go/SKILL.md +664 -0
- package/template/.codex/skill-library/stack/languages/java/SKILL.md +778 -0
- package/template/.codex/skill-library/stack/languages/kotlin/SKILL.md +665 -0
- package/template/.codex/skill-library/stack/languages/python/SKILL.md +678 -0
- package/template/.codex/skill-library/stack/languages/rust/SKILL.md +673 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/SKILL.md +141 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/advanced-generics.md +90 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/branded-types.md +57 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/builder-pattern.md +71 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/common-pitfalls.md +135 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/conditional-types.md +27 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/decorators.md +98 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/discriminated-unions.md +62 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/mapped-types.md +53 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/performance-best-practices.md +104 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/template-literal-types.md +49 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/testing-types.md +112 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/type-guards.md +70 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/type-inference.md +101 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/utility-types.md +98 -0
- package/template/.codex/skill-library/stack/languages/vanilla-javascript/SKILL.md +803 -0
- package/template/.codex/skill-library/stack/messaging/kafka/SKILL.md +235 -0
- package/template/.codex/skill-library/stack/messaging/nats/SKILL.md +147 -0
- package/template/.codex/skill-library/stack/messaging/rabbitmq/SKILL.md +178 -0
- package/template/.codex/skill-library/stack/messaging/sqs/SKILL.md +187 -0
- package/template/.codex/skill-library/stack/mobile/expo-react-native/SKILL.md +665 -0
- package/template/.codex/skill-library/stack/mobile/flutter/SKILL.md +316 -0
- package/template/.codex/skill-library/stack/mobile/kotlin-compose/SKILL.md +215 -0
- package/template/.codex/skill-library/stack/mobile/react-native/SKILL.md +337 -0
- package/template/.codex/skill-library/stack/mobile/swiftui/SKILL.md +261 -0
- package/template/.codex/skill-library/stack/monitoring/posthog/SKILL.md +396 -0
- package/template/.codex/skill-library/stack/monitoring/sentry/SKILL.md +509 -0
- package/template/.codex/skill-library/stack/notifications/fcm/SKILL.md +229 -0
- package/template/.codex/skill-library/stack/notifications/sendgrid/SKILL.md +220 -0
- package/template/.codex/skill-library/stack/notifications/twilio/SKILL.md +204 -0
- package/template/.codex/skill-library/stack/observability/datadog/SKILL.md +179 -0
- package/template/.codex/skill-library/stack/observability/distributed-tracing/SKILL.md +140 -0
- package/template/.codex/skill-library/stack/observability/opentelemetry/SKILL.md +164 -0
- package/template/.codex/skill-library/stack/observability/prometheus-grafana/SKILL.md +246 -0
- package/template/.codex/skill-library/stack/observability/python-observability/SKILL.md +158 -0
- package/template/.codex/skill-library/stack/orm/drizzle-orm/SKILL.md +613 -0
- package/template/.codex/skill-library/stack/orm/prisma/SKILL.md +744 -0
- package/template/.codex/skill-library/stack/payments/lemonsqueezy/SKILL.md +393 -0
- package/template/.codex/skill-library/stack/payments/stripe-integration/SKILL.md +457 -0
- package/template/.codex/skill-library/stack/queue/bullmq/SKILL.md +385 -0
- package/template/.codex/skill-library/stack/queue/inngest/SKILL.md +438 -0
- package/template/.codex/skill-library/stack/realtime/socketio/SKILL.md +595 -0
- package/template/.codex/skill-library/stack/search/algolia/SKILL.md +206 -0
- package/template/.codex/skill-library/stack/search/elasticsearch/SKILL.md +248 -0
- package/template/.codex/skill-library/stack/search/meilisearch/SKILL.md +385 -0
- package/template/.codex/skill-library/stack/search/typesense/SKILL.md +189 -0
- package/template/.codex/skill-library/stack/security/crypto-patterns/SKILL.md +437 -0
- package/template/.codex/skill-library/stack/security/csp-cors-headers/SKILL.md +588 -0
- package/template/.codex/skill-library/stack/security/dependency-auditing/SKILL.md +560 -0
- package/template/.codex/skill-library/stack/security/input-sanitization/SKILL.md +430 -0
- package/template/.codex/skill-library/stack/security/owasp-web-security/SKILL.md +421 -0
- package/template/.codex/skill-library/stack/state/tanstack-query/SKILL.md +637 -0
- package/template/.codex/skill-library/stack/state/zustand/SKILL.md +483 -0
- package/template/.codex/skill-library/stack/storage/aws-s3/SKILL.md +415 -0
- package/template/.codex/skill-library/stack/storage/cloudflare-r2/SKILL.md +252 -0
- package/template/.codex/skill-library/stack/storage/gcs/SKILL.md +229 -0
- package/template/.codex/skill-library/stack/testing/playwright/SKILL.md +641 -0
- package/template/.codex/skill-library/stack/testing/storybook/SKILL.md +923 -0
- package/template/.codex/skill-library/stack/testing/testing-library/SKILL.md +872 -0
- package/template/.codex/skill-library/stack/testing/vitest/SKILL.md +714 -0
- package/template/.codex/skill-library/stack/ui/react-best-practices/SKILL.md +877 -0
- package/template/.codex/skill-library/stack/ui/react-composition-patterns/SKILL.md +1107 -0
- package/template/.codex/skill-library/stack/ui/react-flow/SKILL.md +425 -0
- package/template/.codex/skill-library/stack/ui/shadcn-ui/SKILL.md +703 -0
- package/template/.codex/skill-library/stack/ui/svelte-flow/SKILL.md +390 -0
- package/template/.codex/skill-library/surface/api/api-caching/SKILL.md +458 -0
- package/template/.codex/skill-library/surface/api/api-documentation-openapi/SKILL.md +697 -0
- package/template/.codex/skill-library/surface/api/api-error-handling/SKILL.md +478 -0
- package/template/.codex/skill-library/surface/api/api-security-checklist/SKILL.md +147 -0
- package/template/.codex/skill-library/surface/api/email-best-practices/SKILL.md +59 -0
- package/template/.codex/skill-library/surface/api/rate-limiting-abuse-protection/SKILL.md +147 -0
- package/template/.codex/skill-library/surface/api/webhook-design/SKILL.md +752 -0
- package/template/.codex/skill-library/surface/cli/cli-configuration-management/SKILL.md +445 -0
- package/template/.codex/skill-library/surface/cli/cli-error-diagnostics/SKILL.md +515 -0
- package/template/.codex/skill-library/surface/cli/cli-shell-integration/SKILL.md +479 -0
- package/template/.codex/skill-library/surface/cli/cli-ux-design/SKILL.md +477 -0
- package/template/.codex/skill-library/surface/desktop/desktop-app-distribution/SKILL.md +416 -0
- package/template/.codex/skill-library/surface/desktop/desktop-security-sandboxing/SKILL.md +407 -0
- package/template/.codex/skill-library/surface/desktop/desktop-ux-conventions/SKILL.md +361 -0
- package/template/.codex/skill-library/surface/desktop/native-os-integration/SKILL.md +563 -0
- package/template/.codex/skill-library/surface/extension/browser-extension-patterns/SKILL.md +482 -0
- package/template/.codex/skill-library/surface/extension/plugin-architecture-design/SKILL.md +632 -0
- package/template/.codex/skill-library/surface/extension/vscode-extension-development/SKILL.md +728 -0
- package/template/.codex/skill-library/surface/mobile/app-store-submission/SKILL.md +304 -0
- package/template/.codex/skill-library/surface/mobile/mobile-offline-sync/SKILL.md +443 -0
- package/template/.codex/skill-library/surface/mobile/mobile-responsive-patterns/SKILL.md +432 -0
- package/template/.codex/skill-library/surface/mobile/push-notifications/SKILL.md +495 -0
- package/template/.codex/skill-library/surface/web/accessibility-compliance/SKILL.md +827 -0
- package/template/.codex/skill-library/surface/web/ai-seo/SKILL.md +398 -0
- package/template/.codex/skill-library/surface/web/ai-seo/references/content-patterns.md +285 -0
- package/template/.codex/skill-library/surface/web/ai-seo/references/platform-ranking-factors.md +152 -0
- package/template/.codex/skill-library/surface/web/analytics-tracking/SKILL.md +309 -0
- package/template/.codex/skill-library/surface/web/analytics-tracking/references/event-library.md +260 -0
- package/template/.codex/skill-library/surface/web/analytics-tracking/references/ga4-implementation.md +300 -0
- package/template/.codex/skill-library/surface/web/analytics-tracking/references/gtm-implementation.md +390 -0
- package/template/.codex/skill-library/surface/web/authentication-ui-flows/SKILL.md +530 -0
- package/template/.codex/skill-library/surface/web/dark-mode-theming/SKILL.md +516 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/SKILL.md +105 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/charts.csv +26 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/colors.csv +97 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/landing.csv +31 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/styles.csv +59 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/typography.csv +58 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/ux-guidelines.csv +100 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/scripts/core.py +258 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/scripts/design_system.py +1067 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/scripts/search.py +106 -0
- package/template/.codex/skill-library/surface/web/form-handling-validation/SKILL.md +675 -0
- package/template/.codex/skill-library/surface/web/frontend-design/SKILL.md +1393 -0
- package/template/.codex/skill-library/surface/web/frontend-design/templates/cppn-hero.tsx +299 -0
- package/template/.codex/skill-library/surface/web/frontend-design/templates/wave-hero.tsx +875 -0
- package/template/.codex/skill-library/surface/web/frontend-verification/SKILL.md +111 -0
- package/template/.codex/skill-library/surface/web/frontend-verification/scripts/ux_audit.py +739 -0
- package/template/.codex/skill-library/surface/web/i18n-localization/SKILL.md +332 -0
- package/template/.codex/skill-library/surface/web/i18n-localization/references/icu-message-format.md +223 -0
- package/template/.codex/skill-library/surface/web/i18n-localization/references/intl-api-patterns.md +326 -0
- package/template/.codex/skill-library/surface/web/i18n-localization/references/rtl-support.md +298 -0
- package/template/.codex/skill-library/surface/web/offline-first-pwa/SKILL.md +657 -0
- package/template/.codex/skill-library/surface/web/page-cro/SKILL.md +182 -0
- package/template/.codex/skill-library/surface/web/page-cro/references/experiments.md +248 -0
- package/template/.codex/skill-library/surface/web/programmatic-seo/SKILL.md +238 -0
- package/template/.codex/skill-library/surface/web/programmatic-seo/references/playbooks.md +308 -0
- package/template/.codex/skill-library/surface/web/schema-markup/SKILL.md +179 -0
- package/template/.codex/skill-library/surface/web/schema-markup/references/schema-examples.md +398 -0
- package/template/.codex/skill-library/surface/web/seo-audit/SKILL.md +394 -0
- package/template/.codex/skill-library/surface/web/seo-audit/references/ai-writing-detection.md +200 -0
- package/template/.codex/skill-library/surface/web/web-performance-optimization/SKILL.md +646 -0
- package/template/.codex/skill-library/surface/web/web-scraping/SKILL.md +58 -0
- package/template/.codex/skills/README.md +78 -0
- package/template/.codex/skills/accessibility/SKILL.md +522 -0
- package/template/.codex/skills/accessibility/references/WCAG.md +162 -0
- package/template/.codex/skills/accessibility/references/ia-spec-checklist.md +35 -0
- package/template/.codex/skills/adversarial-review/SKILL.md +90 -0
- package/template/.codex/skills/antigravity-workflows/SKILL.md +81 -0
- package/template/.codex/skills/antigravity-workflows/resources/implementation-playbook.md +36 -0
- package/template/.codex/skills/api-design-principles/SKILL.md +169 -0
- package/template/.codex/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/template/.codex/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/template/.codex/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/template/.codex/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/template/.codex/skills/api-design-principles/resources/implementation-playbook.md +513 -0
- package/template/.codex/skills/api-versioning/SKILL.md +166 -0
- package/template/.codex/skills/api-versioning/references/typescript.md +157 -0
- package/template/.codex/skills/architecture-mapping/SKILL.md +219 -0
- package/template/.codex/skills/audit-ambiguity/SKILL.md +54 -0
- package/template/.codex/skills/audit-ambiguity-execute/SKILL.md +86 -0
- package/template/.codex/skills/audit-ambiguity-rubrics/SKILL.md +58 -0
- package/template/.codex/skills/bootstrap-agents/SKILL.md +258 -0
- package/template/.codex/skills/bootstrap-agents-fill/SKILL.md +25 -0
- package/template/.codex/skills/bootstrap-agents-provision/SKILL.md +22 -0
- package/template/.codex/skills/brainstorming/SKILL.md +177 -0
- package/template/.codex/skills/brand-guidelines/SKILL.md +44 -0
- package/template/.codex/skills/clean-code/SKILL.md +196 -0
- package/template/.codex/skills/clean-code/references/typescript.md +126 -0
- package/template/.codex/skills/code-review-pro/SKILL.md +152 -0
- package/template/.codex/skills/concise-planning/SKILL.md +107 -0
- package/template/.codex/skills/create-prd/SKILL.md +94 -0
- package/template/.codex/skills/create-prd-architecture/SKILL.md +72 -0
- package/template/.codex/skills/create-prd-compile/SKILL.md +85 -0
- package/template/.codex/skills/create-prd-design-system/SKILL.md +69 -0
- package/template/.codex/skills/create-prd-security/SKILL.md +66 -0
- package/template/.codex/skills/create-prd-stack/SKILL.md +84 -0
- package/template/.codex/skills/cross-layer-consistency/SKILL.md +117 -0
- package/template/.codex/skills/database-schema-design/SKILL.md +205 -0
- package/template/.codex/skills/database-schema-design/references/relational.md +228 -0
- package/template/.codex/skills/decompose-architecture/SKILL.md +72 -0
- package/template/.codex/skills/decompose-architecture-structure/SKILL.md +62 -0
- package/template/.codex/skills/decompose-architecture-validate/SKILL.md +72 -0
- package/template/.codex/skills/deployment-procedures/SKILL.md +241 -0
- package/template/.codex/skills/design-anti-cliche/SKILL.md +159 -0
- package/template/.codex/skills/design-direction/SKILL.md +45 -0
- package/template/.codex/skills/error-handling-patterns/SKILL.md +226 -0
- package/template/.codex/skills/error-handling-patterns/references/go.md +162 -0
- package/template/.codex/skills/error-handling-patterns/references/python.md +262 -0
- package/template/.codex/skills/error-handling-patterns/references/rust.md +112 -0
- package/template/.codex/skills/error-handling-patterns/references/typescript.md +178 -0
- package/template/.codex/skills/evolve-contract/SKILL.md +24 -0
- package/template/.codex/skills/evolve-feature/SKILL.md +18 -0
- package/template/.codex/skills/evolve-feature-cascade/SKILL.md +24 -0
- package/template/.codex/skills/evolve-feature-classify/SKILL.md +21 -0
- package/template/.codex/skills/find-skills/SKILL.md +145 -0
- package/template/.codex/skills/git-advanced/SKILL.md +972 -0
- package/template/.codex/skills/git-workflow/SKILL.md +420 -0
- package/template/.codex/skills/idea-extraction/SKILL.md +644 -0
- package/template/.codex/skills/ideate/SKILL.md +77 -0
- package/template/.codex/skills/ideate-discover/SKILL.md +89 -0
- package/template/.codex/skills/ideate-extract/SKILL.md +77 -0
- package/template/.codex/skills/ideate-validate/SKILL.md +75 -0
- package/template/.codex/skills/implement-slice/SKILL.md +64 -0
- package/template/.codex/skills/implement-slice-setup/SKILL.md +70 -0
- package/template/.codex/skills/implement-slice-tdd/SKILL.md +78 -0
- package/template/.codex/skills/logging-best-practices/SKILL.md +192 -0
- package/template/.codex/skills/logging-best-practices/references/go.md +49 -0
- package/template/.codex/skills/logging-best-practices/references/python.md +52 -0
- package/template/.codex/skills/logging-best-practices/references/typescript.md +215 -0
- package/template/.codex/skills/migration-management/SKILL.md +200 -0
- package/template/.codex/skills/migration-management/references/relational.md +214 -0
- package/template/.codex/skills/minimalist-surgical-development/SKILL.md +135 -0
- package/template/.codex/skills/parallel-agents/SKILL.md +165 -0
- package/template/.codex/skills/parallel-debugging/SKILL.md +135 -0
- package/template/.codex/skills/parallel-feature-development/SKILL.md +157 -0
- package/template/.codex/skills/performance-budgeting/SKILL.md +144 -0
- package/template/.codex/skills/pipeline-rubrics/SKILL.md +51 -0
- package/template/.codex/skills/pipeline-rubrics/references/architecture-rubric.md +19 -0
- package/template/.codex/skills/pipeline-rubrics/references/be-rubric.md +21 -0
- package/template/.codex/skills/pipeline-rubrics/references/fe-rubric.md +20 -0
- package/template/.codex/skills/pipeline-rubrics/references/ia-rubric.md +19 -0
- package/template/.codex/skills/pipeline-rubrics/references/scoring.md +32 -0
- package/template/.codex/skills/pipeline-rubrics/references/vision-rubric.md +12 -0
- package/template/.codex/skills/plan-phase/SKILL.md +62 -0
- package/template/.codex/skills/plan-phase-preflight/SKILL.md +75 -0
- package/template/.codex/skills/plan-phase-write/SKILL.md +85 -0
- package/template/.codex/skills/prd-templates/SKILL.md +107 -0
- package/template/.codex/skills/prd-templates/references/architecture-completeness-checklist.md +28 -0
- package/template/.codex/skills/prd-templates/references/architecture-design-template.md +88 -0
- package/template/.codex/skills/prd-templates/references/be-spec-classification.md +41 -0
- package/template/.codex/skills/prd-templates/references/be-spec-template.md +107 -0
- package/template/.codex/skills/prd-templates/references/bootstrap-verification-protocol.md +50 -0
- package/template/.codex/skills/prd-templates/references/constraint-exploration.md +41 -0
- package/template/.codex/skills/prd-templates/references/data-placement-template.md +74 -0
- package/template/.codex/skills/prd-templates/references/decision-confirmation-protocol.md +68 -0
- package/template/.codex/skills/prd-templates/references/decision-propagation.md +121 -0
- package/template/.codex/skills/prd-templates/references/decomposition-templates.md +226 -0
- package/template/.codex/skills/prd-templates/references/deep-ideation-loading-protocol.md +114 -0
- package/template/.codex/skills/prd-templates/references/design-system-decisions.md +198 -0
- package/template/.codex/skills/prd-templates/references/design-system-prerequisite-check.md +18 -0
- package/template/.codex/skills/prd-templates/references/domain-exhaustion-criteria.md +37 -0
- package/template/.codex/skills/prd-templates/references/engagement-tier-protocol.md +58 -0
- package/template/.codex/skills/prd-templates/references/engineering-standards-template.md +126 -0
- package/template/.codex/skills/prd-templates/references/evolution-layer-guidance.md +91 -0
- package/template/.codex/skills/prd-templates/references/expansion-modes.md +27 -0
- package/template/.codex/skills/prd-templates/references/fe-classification-procedures.md +47 -0
- package/template/.codex/skills/prd-templates/references/fe-spec-template.md +90 -0
- package/template/.codex/skills/prd-templates/references/feature-ledger-protocol.md +149 -0
- package/template/.codex/skills/prd-templates/references/folder-seeding-protocol.md +77 -0
- package/template/.codex/skills/prd-templates/references/fractal-cx-template.md +58 -0
- package/template/.codex/skills/prd-templates/references/fractal-feature-template.md +93 -0
- package/template/.codex/skills/prd-templates/references/fractal-node-index-template.md +55 -0
- package/template/.codex/skills/prd-templates/references/gate-applicability.md +92 -0
- package/template/.codex/skills/prd-templates/references/ideation-crosscut-template.md +36 -0
- package/template/.codex/skills/prd-templates/references/ideation-index-template.md +111 -0
- package/template/.codex/skills/prd-templates/references/ideation-meta-template.md +126 -0
- package/template/.codex/skills/prd-templates/references/infrastructure-report-template.md +71 -0
- package/template/.codex/skills/prd-templates/references/input-classification.md +23 -0
- package/template/.codex/skills/prd-templates/references/map-guard-protocol.md +65 -0
- package/template/.codex/skills/prd-templates/references/operational-templates.md +116 -0
- package/template/.codex/skills/prd-templates/references/persona-completeness-gate.md +20 -0
- package/template/.codex/skills/prd-templates/references/placeholder-guard-template.md +21 -0
- package/template/.codex/skills/prd-templates/references/placeholder-workflow-mapping.md +50 -0
- package/template/.codex/skills/prd-templates/references/shard-boundary-analysis.md +103 -0
- package/template/.codex/skills/prd-templates/references/shard-split-remediation.md +157 -0
- package/template/.codex/skills/prd-templates/references/skill-loading-protocol.md +36 -0
- package/template/.codex/skills/prd-templates/references/slice-completion-gates.md +29 -0
- package/template/.codex/skills/prd-templates/references/spec-coverage-sweep.md +44 -0
- package/template/.codex/skills/prd-templates/references/surface-model.md +61 -0
- package/template/.codex/skills/prd-templates/references/tdd-testing-policy.md +39 -0
- package/template/.codex/skills/prd-templates/references/vision-template.md +57 -0
- package/template/.codex/skills/prd-templates/references/workflow-checkpoint-protocol.md +112 -0
- package/template/.codex/skills/prd-templates/references/write-verification-protocol.md +57 -0
- package/template/.codex/skills/prompt-engineer/SKILL.md +203 -0
- package/template/.codex/skills/propagate-decision/SKILL.md +18 -0
- package/template/.codex/skills/propagate-decision-apply/SKILL.md +22 -0
- package/template/.codex/skills/propagate-decision-scan/SKILL.md +20 -0
- package/template/.codex/skills/regex-patterns/SKILL.md +333 -0
- package/template/.codex/skills/regex-patterns/references/go.md +44 -0
- package/template/.codex/skills/regex-patterns/references/javascript.md +63 -0
- package/template/.codex/skills/regex-patterns/references/python.md +77 -0
- package/template/.codex/skills/regex-patterns/references/rust.md +43 -0
- package/template/.codex/skills/remediate-pipeline/SKILL.md +18 -0
- package/template/.codex/skills/remediate-pipeline-assess/SKILL.md +21 -0
- package/template/.codex/skills/remediate-pipeline-execute/SKILL.md +23 -0
- package/template/.codex/skills/remediate-shard-split/SKILL.md +21 -0
- package/template/.codex/skills/resolve-ambiguity/SKILL.md +278 -0
- package/template/.codex/skills/security-scanning-security-hardening/SKILL.md +231 -0
- package/template/.codex/skills/session-continuity/SKILL.md +732 -0
- package/template/.codex/skills/session-continuity/protocols/01-session-resumption.md +38 -0
- package/template/.codex/skills/session-continuity/protocols/02-progress-generation.md +85 -0
- package/template/.codex/skills/session-continuity/protocols/03-progress-update.md +70 -0
- package/template/.codex/skills/session-continuity/protocols/04-pattern-extraction.md +60 -0
- package/template/.codex/skills/session-continuity/protocols/05-session-close.md +37 -0
- package/template/.codex/skills/session-continuity/protocols/06-decision-analysis.md +84 -0
- package/template/.codex/skills/session-continuity/protocols/07-spec-pipeline-generation.md +48 -0
- package/template/.codex/skills/session-continuity/protocols/08-spec-pipeline-update.md +65 -0
- package/template/.codex/skills/session-continuity/protocols/09-parallel-claim.md +122 -0
- package/template/.codex/skills/session-continuity/protocols/10-placeholder-verification-gate.md +83 -0
- package/template/.codex/skills/session-continuity/protocols/11-parallel-synthesis.md +21 -0
- package/template/.codex/skills/session-continuity/protocols/ambiguity-gates.md +48 -0
- package/template/.codex/skills/setup/README.md +24 -0
- package/template/.codex/skills/setup/setup-cfsa.md +200 -0
- package/template/.codex/skills/setup/setup-fill-placeholders.md +192 -0
- package/template/.codex/skills/setup/setup-provision-skills.md +82 -0
- package/template/.codex/skills/setup/setup-verify.md +89 -0
- package/template/.codex/skills/setup-workspace/SKILL.md +83 -0
- package/template/.codex/skills/setup-workspace-cicd/SKILL.md +56 -0
- package/template/.codex/skills/setup-workspace-data/SKILL.md +69 -0
- package/template/.codex/skills/setup-workspace-hosting/SKILL.md +59 -0
- package/template/.codex/skills/setup-workspace-scaffold/SKILL.md +72 -0
- package/template/.codex/skills/skill-creator/SKILL.md +203 -0
- package/template/.codex/skills/spec-writing/SKILL.md +110 -0
- package/template/.codex/skills/sync-kit/SKILL.md +23 -0
- package/template/.codex/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/template/.codex/skills/systematic-debugging/SKILL.md +297 -0
- package/template/.codex/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/template/.codex/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/template/.codex/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/template/.codex/skills/systematic-debugging/find-polluter.sh +63 -0
- package/template/.codex/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/template/.codex/skills/systematic-debugging/test-academic.md +14 -0
- package/template/.codex/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/template/.codex/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/template/.codex/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/template/.codex/skills/tdd-workflow/SKILL.md +186 -0
- package/template/.codex/skills/tdd-workflow/references/typescript.md +231 -0
- package/template/.codex/skills/tech-stack-catalog/SKILL.md +49 -0
- package/template/.codex/skills/tech-stack-catalog/references/constraint-questions.md +237 -0
- package/template/.codex/skills/tech-stack-catalog/references/dev-tooling-decisions.md +37 -0
- package/template/.codex/skills/tech-stack-catalog/references/surface-decision-tables.md +69 -0
- package/template/.codex/skills/technical-writer/SKILL.md +242 -0
- package/template/.codex/skills/testing-strategist/SKILL.md +319 -0
- package/template/.codex/skills/testing-strategist/references/typescript.md +328 -0
- package/template/.codex/skills/update-architecture-map/SKILL.md +21 -0
- package/template/.codex/skills/utilities/resolve-skill.md +195 -0
- package/template/.codex/skills/validate-phase/SKILL.md +62 -0
- package/template/.codex/skills/validate-phase-quality/SKILL.md +67 -0
- package/template/.codex/skills/validate-phase-readiness/SKILL.md +74 -0
- package/template/.codex/skills/verification-before-completion/SKILL.md +97 -0
- package/template/.codex/skills/verify-infrastructure/SKILL.md +25 -0
- package/template/.codex/skills/workflow-automation/SKILL.md +166 -0
- package/template/.codex/skills/workflow-automation/references/inngest.md +88 -0
- package/template/.codex/skills/workflow-automation/references/temporal.md +64 -0
- package/template/.codex/skills/write-architecture-spec/SKILL.md +78 -0
- package/template/.codex/skills/write-architecture-spec-deepen/SKILL.md +82 -0
- package/template/.codex/skills/write-architecture-spec-design/SKILL.md +80 -0
- package/template/.codex/skills/write-be-spec/SKILL.md +75 -0
- package/template/.codex/skills/write-be-spec-classify/SKILL.md +80 -0
- package/template/.codex/skills/write-be-spec-write/SKILL.md +99 -0
- package/template/.codex/skills/write-fe-spec/SKILL.md +79 -0
- package/template/.codex/skills/write-fe-spec-classify/SKILL.md +77 -0
- package/template/.codex/skills/write-fe-spec-write/SKILL.md +88 -0
- package/template/.factory/README.md +2 -3
- package/template/.factory/instructions/workflow.md +3 -3
- package/template/.factory/kit-sync.md +3 -3
- package/template/.factory/skills/completion-checklist/SKILL.md +3 -3
- package/template/.factory/skills/parallel-agents/SKILL.md +1 -1
- package/template/.factory/skills/plan-phase/SKILL.md +2 -2
- package/template/.factory/skills/plan-phase-preflight/SKILL.md +2 -2
- package/template/.factory/skills/session-continuity/SKILL.md +6 -6
- package/template/.factory/skills/session-continuity/protocols/01-session-resumption.md +1 -1
- package/template/.factory/skills/session-continuity/protocols/02-progress-generation.md +3 -3
- package/template/.factory/skills/session-continuity/protocols/03-progress-update.md +4 -4
- package/template/.factory/skills/session-continuity/protocols/07-spec-pipeline-generation.md +1 -1
- package/template/.factory/skills/session-continuity/protocols/08-spec-pipeline-update.md +2 -2
- package/template/.factory/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
- package/template/.factory/skills/setup-cfsa/SKILL.md +1 -1
- package/template/.factory/skills/write-architecture-spec/SKILL.md +2 -2
- package/template/.factory/skills/write-architecture-spec-deepen/SKILL.md +1 -1
- package/template/.factory/skills/write-architecture-spec-design/SKILL.md +1 -1
- package/template/.factory/skills/write-be-spec/SKILL.md +3 -3
- package/template/.factory/skills/write-be-spec-classify/SKILL.md +1 -1
- package/template/.factory/skills/write-be-spec-write/SKILL.md +1 -1
- package/template/.factory/skills/write-fe-spec/SKILL.md +3 -3
- package/template/.factory/skills/write-fe-spec-write/SKILL.md +1 -1
- package/template/.memory/README.md +1 -0
- package/template/.memory/mcp-server/README.md +10 -2
- package/template/.memory/mcp-server/client.mjs +61 -18
- package/template/.memory/mcp-server/daemon.mjs +8 -3
- package/template/.memory/mcp-server/runtime.mjs +51 -14
- package/template/.memory/mcp-server/start.mjs +4 -2
- package/template/.memory/migrate/migrate-legacy.mjs +1 -0
- package/template/.memory/pipeline/README.md +1 -0
- package/template/CLAUDE.md +4 -4
- package/template/CODEX.md +6 -53
- package/template/GEMINI.md +2 -2
- package/template/docs/README.md +5 -2
- package/template/docs/kit-architecture.md +36 -19
- package/template/docs/progress-state-catalog.md +48 -0
- package/template/.factory/progress/memory/.gitkeep +0 -0
- /package/template/{.agent/progress → .codex/skills/skill-creator/references}/.gitkeep +0 -0
- /package/template/{.agent/progress/memory → .codex/skills/skill-creator/scripts}/.gitkeep +0 -0
- /package/template/{.agent/progress/sessions → .memory/pipeline/progress}/.gitkeep +0 -0
- /package/template/{.claude/progress → .memory/pipeline/progress/memory}/.gitkeep +0 -0
- /package/template/{.claude/progress/memory → .memory/pipeline/progress/phases}/.gitkeep +0 -0
- /package/template/{.claude → .memory/pipeline}/progress/sessions/.gitkeep +0 -0
- /package/template/{.factory/progress → .memory/pipeline/progress/slices}/.gitkeep +0 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Product decisions belong to the user, architecture gets options, implementation belongs to the agent
|
|
3
|
+
trigger: always_on
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Decision Classification
|
|
7
|
+
|
|
8
|
+
> Product decisions belong to the user. Implementation decisions belong to the agent.
|
|
9
|
+
> Architecture decisions get options. Never cross these lines.
|
|
10
|
+
|
|
11
|
+
## The Problem
|
|
12
|
+
|
|
13
|
+
AI agents either ask too many questions (overwhelming users with decisions a senior developer
|
|
14
|
+
would just make) or make too many decisions silently (overriding user intent on their own product).
|
|
15
|
+
Neither extreme is acceptable.
|
|
16
|
+
|
|
17
|
+
## Three Categories
|
|
18
|
+
|
|
19
|
+
### 1. Product Decisions — User Always Decides
|
|
20
|
+
|
|
21
|
+
These define *what* gets built and *for whom*. The agent presents options, analysis, and
|
|
22
|
+
trade-offs but **never decides**. It's the user's product — even if the "right" answer
|
|
23
|
+
seems obvious to you.
|
|
24
|
+
|
|
25
|
+
**Examples:**
|
|
26
|
+
- What problem to solve, who the users are
|
|
27
|
+
- Which features to include or exclude
|
|
28
|
+
- Pricing model, monetization strategy
|
|
29
|
+
- Brand, tone, target market
|
|
30
|
+
- UX philosophy and interaction patterns
|
|
31
|
+
- Feature prioritization (MoSCoW placement)
|
|
32
|
+
- Business rules and domain logic
|
|
33
|
+
- What "success" looks like
|
|
34
|
+
|
|
35
|
+
**Agent behavior:**
|
|
36
|
+
- Present options with trade-offs when you have insight
|
|
37
|
+
- Share your recommendation with clear reasoning
|
|
38
|
+
- Ask for their decision — don't assume it
|
|
39
|
+
- Accept their choice even if you'd choose differently
|
|
40
|
+
|
|
41
|
+
### 2. Architecture Decisions — Present Options, User Picks
|
|
42
|
+
|
|
43
|
+
These define *how* the system is structured at a high level. The agent presents 2-3 options
|
|
44
|
+
with trade-offs and a recommendation. The user chooses.
|
|
45
|
+
|
|
46
|
+
**Examples:**
|
|
47
|
+
- Database technology (PostgreSQL vs MongoDB vs SurrealDB)
|
|
48
|
+
- Frontend framework (React vs Svelte vs Astro)
|
|
49
|
+
- Hosting provider and deployment model
|
|
50
|
+
- API style (REST vs GraphQL vs tRPC)
|
|
51
|
+
- Auth provider and strategy
|
|
52
|
+
- Caching layer and strategy
|
|
53
|
+
- Real-time communication approach (WebSocket vs SSE vs polling)
|
|
54
|
+
- Monolith vs microservices
|
|
55
|
+
|
|
56
|
+
**Agent behavior:**
|
|
57
|
+
- Present 2-3 options (not more — decision fatigue is real)
|
|
58
|
+
- Lead with your recommendation and explain why
|
|
59
|
+
- Include trade-offs for each option (cost, complexity, scalability, team fit)
|
|
60
|
+
- Let the user choose — they may have context you don't
|
|
61
|
+
|
|
62
|
+
### 3. Implementation Decisions — Agent Decides, User Can Override
|
|
63
|
+
|
|
64
|
+
These are the decisions a senior developer makes without asking. The user shouldn't need
|
|
65
|
+
to think about these — that's what the pipeline is for. Make the call, state what you
|
|
66
|
+
chose and why, and move on. The user overrides if they disagree.
|
|
67
|
+
|
|
68
|
+
**Examples:**
|
|
69
|
+
- File naming conventions
|
|
70
|
+
- Folder structure within established patterns
|
|
71
|
+
- Variable and function naming
|
|
72
|
+
- Error message formatting
|
|
73
|
+
- Test file organization
|
|
74
|
+
- Linting and formatting config
|
|
75
|
+
- Import ordering
|
|
76
|
+
- Code comment style
|
|
77
|
+
- Git commit message format
|
|
78
|
+
- Internal API response envelope structure
|
|
79
|
+
|
|
80
|
+
**Agent behavior:**
|
|
81
|
+
- Make the senior-dev call based on established patterns and best practices
|
|
82
|
+
- State briefly what you chose and why (one sentence is fine)
|
|
83
|
+
- Don't ask permission — but don't hide it either
|
|
84
|
+
- If the user expresses a preference, adopt it immediately and apply it consistently
|
|
85
|
+
|
|
86
|
+
## Escalation Principle
|
|
87
|
+
|
|
88
|
+
**When uncertain about category, escalate upward:**
|
|
89
|
+
|
|
90
|
+
- Could be implementation OR architecture? → Treat as architecture (present options)
|
|
91
|
+
- Could be architecture OR product? → Treat as product (ask the user)
|
|
92
|
+
- Any decision that affects the user's brand, revenue, users, or competitive position? → Always product
|
|
93
|
+
|
|
94
|
+
## During Ideation Specifically
|
|
95
|
+
|
|
96
|
+
The ideation phase is almost entirely product decisions. The agent should be asking far more
|
|
97
|
+
questions than it answers. The ratio should feel like an interview, not a lecture.
|
|
98
|
+
|
|
99
|
+
- Every feature choice → product decision → ask
|
|
100
|
+
- Every user experience choice → product decision → ask
|
|
101
|
+
- "How should we implement X?" → defer to `/create-prd` → note it and move on
|
|
102
|
+
- "What technology for X?" → defer to `/create-prd` → note it and move on
|
|
103
|
+
- Don't burden the user with implementation or architecture during ideation unless they bring it up
|
|
104
|
+
|
|
105
|
+
## What Gets Flagged
|
|
106
|
+
|
|
107
|
+
| Pattern | Verdict |
|
|
108
|
+
|---------|---------|
|
|
109
|
+
| Choosing a database without presenting options | ❌ Rejected. Architecture decision — present 2-3 options. |
|
|
110
|
+
| Asking user what to name a variable | ❌ Rejected. Implementation decision — just decide. |
|
|
111
|
+
| Deciding product pricing without asking user | ❌ Rejected. Product decision — user decides. |
|
|
112
|
+
| Unsure if product or architecture? → treating as product | ✅ Correct. Escalate upward. |
|
|
113
|
+
| Making file-naming call, stating choice briefly | ✅ Correct. Implementation decision. |
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: A mid-level developer must be able to add a feature by reading READMEs alone
|
|
3
|
+
trigger: always_on
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Extensibility
|
|
7
|
+
|
|
8
|
+
## The Rule
|
|
9
|
+
|
|
10
|
+
**A mid-level developer must be able to onboard, understand, and extend any part of the codebase without the AI that generated it.** If they can't add a feature by reading the READMEs in the relevant directories, we've failed.
|
|
11
|
+
|
|
12
|
+
## File Size Limits
|
|
13
|
+
|
|
14
|
+
| File Type | Max Lines | Reasoning |
|
|
15
|
+
|-----------|-----------|-----------|
|
|
16
|
+
| Components | 200 | Extract sub-components if larger |
|
|
17
|
+
| Utilities / lib | 300 | Split into focused modules |
|
|
18
|
+
| Schema files | 150 | One domain per schema file |
|
|
19
|
+
| Test files | 400 | Group by feature, split if needed |
|
|
20
|
+
| Config files | 100 | Keep flat and readable |
|
|
21
|
+
|
|
22
|
+
## Directory Documentation
|
|
23
|
+
|
|
24
|
+
**Every directory that contains more than 2 files MUST have a `README.md`** explaining:
|
|
25
|
+
|
|
26
|
+
1. What this directory contains
|
|
27
|
+
2. How to add more of the same (the extension pattern)
|
|
28
|
+
3. What conventions to follow
|
|
29
|
+
4. Links to related directories
|
|
30
|
+
|
|
31
|
+
## Naming Conventions
|
|
32
|
+
|
|
33
|
+
Follow the project's established conventions in `.codex/instructions/patterns.md`. When no convention exists yet, use the stack's community standard.
|
|
34
|
+
|
|
35
|
+
## Anti-Spaghetti Rules
|
|
36
|
+
|
|
37
|
+
- No `any` types — use `unknown` and narrow with type guards
|
|
38
|
+
- No circular imports — dependency graph must be a DAG
|
|
39
|
+
- No business logic in components — components render, lib/ computes
|
|
40
|
+
- No copy-paste patterns — if you wrote it twice, extract it
|
|
41
|
+
- Same pattern everywhere — if existing code does X one way, new code does X the same way
|
|
42
|
+
|
|
43
|
+
## What Gets Flagged
|
|
44
|
+
|
|
45
|
+
| Pattern | Verdict |
|
|
46
|
+
|---------|---------|
|
|
47
|
+
| Component file over 200 lines | ❌ Rejected. Extract sub-components. |
|
|
48
|
+
| Directory with 3+ files and no README.md | ❌ Rejected. Add one. |
|
|
49
|
+
| Circular import detected | ❌ Rejected. Restructure dependencies. |
|
|
50
|
+
| Copy-pasted logic in two files | ❌ Rejected. Extract to shared module. |
|
|
51
|
+
| New code uses different pattern than existing code for same thing | ❌ Rejected. Match existing conventions. |
|
|
52
|
+
| Clean, focused modules with README documentation | ✅ Correct. |
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Patterns, decisions, and blockers written to memory every conversation — empty memory files mean the pipeline never learns
|
|
3
|
+
trigger: always_on
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Memory Capture
|
|
7
|
+
|
|
8
|
+
> Every conversation that involves a decision, correction, surprise, or blocker MUST record it before the conversation ends. Empty memory files mean the pipeline never learns.
|
|
9
|
+
|
|
10
|
+
## The Problem
|
|
11
|
+
|
|
12
|
+
The pipeline needs shared memory that survives across runtimes. The canonical project memory lives in `.memory/`, with `.memory/wiki/patterns.md`, `.memory/wiki/decisions.md`, and `.memory/wiki/blockers.md` as the human-readable compiled files. This rule enforces writing to that shared memory instead of letting learning fragment across runtime-local silos.
|
|
13
|
+
|
|
14
|
+
## When to Write
|
|
15
|
+
|
|
16
|
+
| Trigger | What Happened | Target File | Format |
|
|
17
|
+
|---------|---------------|-------------|--------|
|
|
18
|
+
| User corrects me | "No, that's wrong" / "Don't do that" / "I told you to..." | `.memory/wiki/patterns.md` | Anti-pattern (PAT-NNN) |
|
|
19
|
+
| User says "remember this" | Explicit instruction to retain information | `.memory/wiki/decisions.md` | Decision (DEC-NNN) |
|
|
20
|
+
| Non-trivial decision made | Choice with ripple effects (see Protocol 06 triage) | `.memory/wiki/decisions.md` | Decision (DEC-NNN) |
|
|
21
|
+
| Something blocks progress | External dependency, missing spec, tooling failure | `.memory/wiki/blockers.md` | Blocker (BLOCKER-NNN) |
|
|
22
|
+
| Pattern emerges | Something works well or fails repeatedly | `.memory/wiki/patterns.md` | Pattern (PAT-NNN) |
|
|
23
|
+
|
|
24
|
+
## How to Write
|
|
25
|
+
|
|
26
|
+
### Patterns (`.memory/wiki/patterns.md`)
|
|
27
|
+
|
|
28
|
+
```markdown
|
|
29
|
+
### PAT-NNN: [Short description] (YYYY-MM-DD)
|
|
30
|
+
- **Type**: best-practice | anti-pattern
|
|
31
|
+
- **Confidence**: 0.5 (first occurrence) — increment by 0.1 on reuse, max 0.95
|
|
32
|
+
- **Context**: When/where this applies
|
|
33
|
+
- **Pattern**: What to do (or avoid)
|
|
34
|
+
- **Source**: What triggered this entry
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Decisions (`.memory/wiki/decisions.md`)
|
|
38
|
+
|
|
39
|
+
```markdown
|
|
40
|
+
### DEC-NNN: [Decision summary] (YYYY-MM-DD)
|
|
41
|
+
- **Problem**: What needed deciding
|
|
42
|
+
- **Options considered**: At least 2
|
|
43
|
+
- **Decision**: What was chosen and why
|
|
44
|
+
- **Downstream**: What this affects
|
|
45
|
+
- **Reversibility**: High | Medium | Low
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Blockers (`.memory/wiki/blockers.md`)
|
|
49
|
+
|
|
50
|
+
```markdown
|
|
51
|
+
### BLOCKER-NNN: [Description] (YYYY-MM-DD)
|
|
52
|
+
- **Status**: active | resolved
|
|
53
|
+
- **Impact**: What this blocks
|
|
54
|
+
- **Resolution**: How it was resolved (if resolved)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## When NOT to Write
|
|
58
|
+
|
|
59
|
+
- Routine/trivial tasks with nothing new learned — skip
|
|
60
|
+
- Isolated implementation decisions (variable names, file paths) — skip
|
|
61
|
+
- Repeating an existing pattern already logged — update confidence instead
|
|
62
|
+
|
|
63
|
+
## Native Memory Sync (Codex)
|
|
64
|
+
|
|
65
|
+
When running in Codex, memory capture is dual-write:
|
|
66
|
+
|
|
67
|
+
1. Write the CFSA entry to the unified project memory at `.memory/wiki/{patterns|decisions|blockers}.md` (or through the shared memory MCP tools when available)
|
|
68
|
+
2. Evaluate native-memory relevance and sync to Codex native memory store:
|
|
69
|
+
- User correction/preference → `feedback`
|
|
70
|
+
- User-specific preference/profile signal → `user`
|
|
71
|
+
- Project decision/blocker context with downstream impact → `project`
|
|
72
|
+
- External system pointer/where-to-look info → `reference`
|
|
73
|
+
|
|
74
|
+
If a trigger requires CFSA logging and native-memory relevance, both writes are required in the same conversation.
|
|
75
|
+
|
|
76
|
+
## Pre-Completion Check
|
|
77
|
+
|
|
78
|
+
Before calling `notify_user` to report completion of ANY workflow or substantial task:
|
|
79
|
+
|
|
80
|
+
1. **Scan this conversation** for triggers in the table above
|
|
81
|
+
2. **If triggers found** → write entries to `.memory/wiki/*` and sync relevant items to native memory
|
|
82
|
+
3. **If no triggers** → explicitly confirm: "No new patterns, decisions, or blockers to log"
|
|
83
|
+
|
|
84
|
+
This check is **not skippable**. It applies to every pipeline stage, every conversation, every session.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Questions trigger discussion, commands trigger action — never act on a question
|
|
3
|
+
trigger: always_on
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Question vs Command Discrimination
|
|
7
|
+
|
|
8
|
+
> Questions trigger discussion. Commands trigger action. When in doubt, discuss.
|
|
9
|
+
|
|
10
|
+
## The Problem
|
|
11
|
+
|
|
12
|
+
AI agents are too agreeable. When a user asks "is that the right approach?" the agent
|
|
13
|
+
treats it as an instruction to change something. This destroys user trust, derails
|
|
14
|
+
collaborative decision-making, and produces work the user never asked for.
|
|
15
|
+
|
|
16
|
+
**The rule is simple: never act on a question.**
|
|
17
|
+
|
|
18
|
+
## Classification
|
|
19
|
+
|
|
20
|
+
### Questions — Discuss, Don't Act
|
|
21
|
+
|
|
22
|
+
The user is thinking out loud, seeking your analysis, or testing an idea. Your job is to
|
|
23
|
+
**engage in discussion** — present trade-offs, share your reasoning, offer your recommendation,
|
|
24
|
+
and let the user decide.
|
|
25
|
+
|
|
26
|
+
**Signal words:** "is this right?", "should we?", "what do you think?", "would it be better?",
|
|
27
|
+
"does it make sense to?", "couldn't we?", "what if we?", "I wonder if", "how about"
|
|
28
|
+
|
|
29
|
+
**Any message ending with "?"** — even without signal words — defaults to question.
|
|
30
|
+
|
|
31
|
+
**Agent response:**
|
|
32
|
+
1. Acknowledge the question
|
|
33
|
+
2. Present your analysis with trade-offs
|
|
34
|
+
3. State your recommendation and why
|
|
35
|
+
4. Wait for the user to decide
|
|
36
|
+
|
|
37
|
+
**Never:** Modify code, change specs, restructure files, or take any action in response to a question.
|
|
38
|
+
|
|
39
|
+
### Commands — Act, Then Explain
|
|
40
|
+
|
|
41
|
+
The user is telling you to do something specific. Execute it, then explain what you did.
|
|
42
|
+
|
|
43
|
+
**Signal words:** "do X", "change this to", "make it", "add a", "remove the", "update",
|
|
44
|
+
"fix", "implement", "create", "delete", "move", "rename"
|
|
45
|
+
|
|
46
|
+
**Agent response:**
|
|
47
|
+
1. Execute the requested action
|
|
48
|
+
2. Explain what you changed and why (briefly)
|
|
49
|
+
3. Note any side effects or considerations
|
|
50
|
+
|
|
51
|
+
### Ambiguous — Default to Discussion
|
|
52
|
+
|
|
53
|
+
The user's intent is unclear. They might be questioning, venting, or requesting.
|
|
54
|
+
|
|
55
|
+
**Signal words:** "this doesn't look right", "I'm not sure about X", "hmm", "that's
|
|
56
|
+
interesting", hedging language ("maybe", "possibly", "sort of")
|
|
57
|
+
|
|
58
|
+
**Agent response:** Ask for clarification.
|
|
59
|
+
- "Would you like me to change this, or are you thinking through options?"
|
|
60
|
+
- "I have some thoughts on this — want to discuss, or should I go ahead and make a change?"
|
|
61
|
+
|
|
62
|
+
## Reinforcement Rules
|
|
63
|
+
|
|
64
|
+
1. **Rhetorical questions are still questions.** "Shouldn't we use Redis here?" means
|
|
65
|
+
"let's discuss Redis." It does NOT mean "switch to Redis."
|
|
66
|
+
|
|
67
|
+
2. **Questioning your work is not a change request.** "Is this the best structure for
|
|
68
|
+
this component?" means "explain your reasoning." It does NOT mean "restructure the
|
|
69
|
+
component."
|
|
70
|
+
|
|
71
|
+
3. **Validate before destructive action.** Even for clear commands, if the action
|
|
72
|
+
modifies existing work (code, specs, design decisions), confirm before executing:
|
|
73
|
+
"I'll [specific change]. Want me to go ahead?"
|
|
74
|
+
|
|
75
|
+
4. **Self-correction questions are especially dangerous.** When a user asks "wait, should
|
|
76
|
+
this actually be X instead?" — they are exploring, not commanding. Discuss the
|
|
77
|
+
trade-offs. The worst outcome is an agent that flip-flops between approaches because
|
|
78
|
+
the user was thinking out loud.
|
|
79
|
+
|
|
80
|
+
5. **Never mistake frustration for instruction.** "This API is a mess" is not an
|
|
81
|
+
instruction to refactor the API. It might be — but ask first.
|
|
82
|
+
|
|
83
|
+
## What Gets Flagged
|
|
84
|
+
|
|
85
|
+
| Pattern | Verdict |
|
|
86
|
+
|---------|---------|
|
|
87
|
+
| Editing code because user asked "is this right?" | ❌ Rejected. That's a question — discuss. |
|
|
88
|
+
| Refactoring because user said "this is messy" | ❌ Rejected. Frustration ≠ instruction — ask first. |
|
|
89
|
+
| Switching approach because user asked "what about X?" | ❌ Rejected. They're exploring — discuss trade-offs. |
|
|
90
|
+
| Question → discussion → user commands → action | ✅ Correct. |
|
|
91
|
+
| Ambiguous input → clarification request | ✅ Correct. |
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Security-first — PII isolation, input validation, secret handling, no secrets in client
|
|
3
|
+
trigger: always_on
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Security First
|
|
7
|
+
|
|
8
|
+
## The Rule
|
|
9
|
+
|
|
10
|
+
**Security is not a feature — it is the foundation.** Every line of code is written with the assumption that it will be attacked. PII must never leak. Secrets must never reach the client. Inputs must always be validated.
|
|
11
|
+
|
|
12
|
+
## PII Isolation
|
|
13
|
+
|
|
14
|
+
| Rule | Implementation |
|
|
15
|
+
|------|---------------|
|
|
16
|
+
| **No PII in AI payloads** | User data (email, name, DOB, payment info) is NEVER included in AI model requests |
|
|
17
|
+
| **PII fields tagged in schemas** | {{CONTRACT_LIBRARY}} schemas mark sensitive fields for automated auditing |
|
|
18
|
+
| **No PII in logs** | Structured logging with automatic PII redaction |
|
|
19
|
+
| **No PII in error messages** | Error responses never include user data — use IDs and codes only |
|
|
20
|
+
| **Encrypted at rest** | All PII fields encrypted in database |
|
|
21
|
+
|
|
22
|
+
## Input Validation
|
|
23
|
+
|
|
24
|
+
- **Every** API endpoint validates input with {{CONTRACT_LIBRARY}} — no exceptions
|
|
25
|
+
- **Every** form validates client-side with {{CONTRACT_LIBRARY}} AND server-side with the same schema
|
|
26
|
+
- **No** raw user input reaches a database query — always parameterized
|
|
27
|
+
- **No** user input is rendered as HTML — always escaped
|
|
28
|
+
- **Rate limiting** — Every public-facing endpoint must have rate limiting configured. No exceptions. Use the project's configured rate limiting utility (see `patterns.md` for the approach). Unauthenticated endpoints must have stricter limits than authenticated ones.
|
|
29
|
+
|
|
30
|
+
## Secrets Management
|
|
31
|
+
|
|
32
|
+
- **NEVER** hardcode secrets in source code
|
|
33
|
+
- **NEVER** expose API keys in client-side bundles
|
|
34
|
+
- All secrets via environment variables, accessed only in server-side code
|
|
35
|
+
- API keys stored encrypted, decrypted only at request time
|
|
36
|
+
|
|
37
|
+
## CSP & Headers
|
|
38
|
+
|
|
39
|
+
Every response includes:
|
|
40
|
+
- `Content-Security-Policy` — strict, no inline scripts
|
|
41
|
+
- `X-Content-Type-Options: nosniff`
|
|
42
|
+
- `X-Frame-Options: DENY`
|
|
43
|
+
- `Strict-Transport-Security` — HSTS with long max-age
|
|
44
|
+
|
|
45
|
+
## What Gets Flagged
|
|
46
|
+
|
|
47
|
+
| Pattern | Verdict |
|
|
48
|
+
|---------|---------|
|
|
49
|
+
| PII field in AI model request payload | ❌ Rejected. Strip before sending. |
|
|
50
|
+
| API key hardcoded in source file | ❌ Rejected. Use environment variable. |
|
|
51
|
+
| User input rendered as raw HTML | ❌ Rejected. Always escape. |
|
|
52
|
+
| Public endpoint without rate limiting | ❌ Rejected. Add rate limiter. |
|
|
53
|
+
| API endpoint without input validation | ❌ Rejected. Add {{CONTRACT_LIBRARY}} schema. |
|
|
54
|
+
| Encrypted PII, parameterized queries, server-side secrets | ✅ Correct. |
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: One question at a time with options, pros and cons, and a recommendation — never batch questions
|
|
3
|
+
trigger: always_on
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Single-Question Flow
|
|
7
|
+
|
|
8
|
+
> Never batch questions. One question at a time. Options, pros and cons, recommendation.
|
|
9
|
+
|
|
10
|
+
## The Rule
|
|
11
|
+
|
|
12
|
+
**Every question — to the user OR to yourself — follows the same structure:**
|
|
13
|
+
|
|
14
|
+
1. **One question only.** Never ask multiple questions in a single message. If you have 5 things to ask, ask the first one. Wait for the answer. Then ask the second.
|
|
15
|
+
|
|
16
|
+
2. **Present options.** List 2–4 concrete options (not open-ended "what do you want?").
|
|
17
|
+
|
|
18
|
+
3. **Pros and cons.** Each option gets specific trade-offs — not vague qualities.
|
|
19
|
+
|
|
20
|
+
4. **Recommend one.** State which option you'd choose and why. The user can override.
|
|
21
|
+
|
|
22
|
+
## Applies to EVERYTHING
|
|
23
|
+
|
|
24
|
+
This is not just for user-facing questions. It applies to:
|
|
25
|
+
|
|
26
|
+
| Scenario | What This Means |
|
|
27
|
+
|----------|----------------|
|
|
28
|
+
| Asking the user a product decision | One decision at a time, options + recommendation |
|
|
29
|
+
| Asking the user a preference | One preference at a time, options + recommendation |
|
|
30
|
+
| Internal reasoning ("how should I structure this?") | Enumerate options, weigh trade-offs, pick one |
|
|
31
|
+
| Ideation interviews | One domain/feature question at a time |
|
|
32
|
+
| PRD stack decisions | One technology choice at a time |
|
|
33
|
+
| Ambiguity resolution | One gap at a time |
|
|
34
|
+
|
|
35
|
+
## Format
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
**[Question in plain language]**
|
|
39
|
+
|
|
40
|
+
| Option | Pros | Cons |
|
|
41
|
+
|--------|------|------|
|
|
42
|
+
| A | ... | ... |
|
|
43
|
+
| B | ... | ... |
|
|
44
|
+
| C | ... | ... |
|
|
45
|
+
|
|
46
|
+
**Recommendation:** Option B — [specific reason why].
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
For internal reasoning, use the same structure but don't present it to the user — just apply the discipline internally and state your decision with brief reasoning.
|
|
50
|
+
|
|
51
|
+
## What Gets Flagged
|
|
52
|
+
|
|
53
|
+
| Pattern | Verdict |
|
|
54
|
+
|---------|---------|
|
|
55
|
+
| "Here are 5 questions for you:" | ❌ Rejected. Ask one. |
|
|
56
|
+
| "What do you think?" (open-ended, no options) | ❌ Rejected. Provide options. |
|
|
57
|
+
| "Should we use X?" (no alternatives shown) | ❌ Rejected. Show at least 2 options with trade-offs. |
|
|
58
|
+
| One question + 3 options + pros/cons + recommendation | ✅ Correct. |
|
|
59
|
+
| "I chose X because [reason]" (internal, stated briefly) | ✅ Correct. |
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Check skills and MCPs before reasoning on your own — leverage existing knowledge first
|
|
3
|
+
trigger: always_on
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill and MCP First
|
|
7
|
+
|
|
8
|
+
> Before doing anything yourself, check if a skill or MCP already knows how to do it.
|
|
9
|
+
|
|
10
|
+
## The Rule
|
|
11
|
+
|
|
12
|
+
**When you receive any task, BEFORE reasoning about how to do it:**
|
|
13
|
+
|
|
14
|
+
1. **Scan skills.** Read through the skill names and descriptions already loaded in your context. If a skill matches the task or a sub-task, read its `SKILL.md` and follow it.
|
|
15
|
+
|
|
16
|
+
2. **Scan MCPs.** Check if any connected MCP server provides tools relevant to the task. If so, use the MCP tool instead of inventing your own approach.
|
|
17
|
+
|
|
18
|
+
3. **Only then think.** If no skill or MCP covers the task, proceed with your own reasoning.
|
|
19
|
+
|
|
20
|
+
## Why
|
|
21
|
+
|
|
22
|
+
| Without this rule | With this rule |
|
|
23
|
+
|---|---|
|
|
24
|
+
| You reinvent patterns already documented in skills | You leverage tested, refined procedures |
|
|
25
|
+
| You ignore MCP tools and use workarounds | You use the right tool for the job |
|
|
26
|
+
| Every session starts from scratch | Skills accumulate institutional knowledge |
|
|
27
|
+
| Quality varies by conversation | Skills enforce consistent quality |
|
|
28
|
+
|
|
29
|
+
## What Counts as a Match
|
|
30
|
+
|
|
31
|
+
- **Exact match**: Skill name/description directly describes the task → read and follow it
|
|
32
|
+
- **Partial match**: Skill covers a sub-task or related concern → read it for relevant sections
|
|
33
|
+
- **MCP match**: An MCP server has tools that handle part of the task → use them
|
|
34
|
+
- **No match**: No skill or MCP is relevant → proceed with your own reasoning and note it
|
|
35
|
+
|
|
36
|
+
## What Gets Flagged
|
|
37
|
+
|
|
38
|
+
| Pattern | Verdict |
|
|
39
|
+
|---------|---------|
|
|
40
|
+
| Writing a test strategy without checking `Testing Strategist` skill | ❌ Rejected. |
|
|
41
|
+
| Debugging without checking `systematic-debugging` skill | ❌ Rejected. |
|
|
42
|
+
| Designing an API without checking `api-design-principles` skill | ❌ Rejected. |
|
|
43
|
+
| Reading skill → following its methodology → executing | ✅ Correct. |
|
|
44
|
+
| No relevant skill found → proceeding with own reasoning | ✅ Correct. |
|
|
45
|
+
| Using MCP tool instead of manual workaround | ✅ Correct. |
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Before any question or decision, reason about what source documents are relevant, read them, then speak — never ask from summaries alone
|
|
3
|
+
trigger: always_on
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Source Before Ask
|
|
7
|
+
|
|
8
|
+
> Never present a question, decision, or recommendation to the user without first reading the source documents that inform it. Feature names are not features. Summaries are not specs.
|
|
9
|
+
|
|
10
|
+
## The Rule
|
|
11
|
+
|
|
12
|
+
**Before presenting ANY question, decision, option table, or recommendation to the user:**
|
|
13
|
+
|
|
14
|
+
1. **Reason about relevance.** Ask yourself: "What domains, features, deep dives, CX files, or specs contain detail that affects THIS specific decision?" Think about second-order connections — a database decision doesn't just touch the "data" domain; it touches every domain that has complex query patterns, real-time sync, or graph relationships.
|
|
15
|
+
|
|
16
|
+
2. **Read those documents.** Not the summary. Not the index line. The actual source files that contain the architectural detail. If a domain has deep dives (`[DEEP]` or `[EXHAUSTED]` status), read the deep dive files — they contain the information that changes the answer.
|
|
17
|
+
|
|
18
|
+
3. **Cite what you found.** When presenting the question or decision, reference what you learned: "Based on the diagnostics deep dive, your multi-agent repair flow requires X, which means option A fits better than B because..."
|
|
19
|
+
|
|
20
|
+
4. **Only then ask.** Now you're asking an informed question that the user can answer without doing your research for you.
|
|
21
|
+
|
|
22
|
+
## The Per-Decision Research Loop
|
|
23
|
+
|
|
24
|
+
This loop fires for EVERY decision point, not once per workflow:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
For each question/decision/recommendation:
|
|
28
|
+
1. STOP — do not type anything to the user yet
|
|
29
|
+
2. THINK — what ideation/spec/CX content is relevant to THIS decision?
|
|
30
|
+
- Which domains does this decision affect?
|
|
31
|
+
- Which features have architectural constraints that change the answer?
|
|
32
|
+
- Which cross-cuts create dependencies?
|
|
33
|
+
- Which deep dives contain the detail I need?
|
|
34
|
+
3. READ — open and read those specific files now
|
|
35
|
+
4. SYNTHESIZE — what did I learn that affects this decision?
|
|
36
|
+
5. PRESENT — now ask the question, citing what you found
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Common Relevance Patterns
|
|
40
|
+
|
|
41
|
+
| Decision Type | What to Read Before Asking |
|
|
42
|
+
|--------------|---------------------------|
|
|
43
|
+
| Frontend framework | Every domain with UI complexity, responsive requirements, offline-first features, real-time updates |
|
|
44
|
+
| Database / persistence | Every domain with complex data relationships, sync requirements, search patterns, graph traversals |
|
|
45
|
+
| AI/ML framework | Every domain that mentions AI, ML, diagnostics, recommendations, automation, agents |
|
|
46
|
+
| Auth / security | Every domain's role matrix, CX files for cross-domain permission boundaries |
|
|
47
|
+
| API design | Every domain's CX files for cross-domain data flow, every deep dive with integration points |
|
|
48
|
+
| Deployment / hosting | Constraints file, every surface's performance requirements, offline capabilities |
|
|
49
|
+
| State management | Every domain with real-time features, collaborative editing, optimistic updates |
|
|
50
|
+
| Caching strategy | Every domain's query patterns, hot paths, data freshness requirements |
|
|
51
|
+
|
|
52
|
+
## Why
|
|
53
|
+
|
|
54
|
+
| Without this rule | With this rule |
|
|
55
|
+
|---|---|
|
|
56
|
+
| Agent asks "which database?" based on a MoSCoW bullet | Agent reads the graph traversal deep dive and knows you need a graph-capable store |
|
|
57
|
+
| User has to say "go read the docs" 15 times per session | Agent arrives at each question already informed |
|
|
58
|
+
| Decisions feel generic — could apply to any project | Decisions are grounded in YOUR project's specific architecture |
|
|
59
|
+
| Context evaporates after Step 0.5's bulk loading | Context is refreshed per-decision, exactly when it matters |
|
|
60
|
+
| Agent asks questions the ideation already answered | Agent knows what's been decided and asks only what's open |
|
|
61
|
+
|
|
62
|
+
## Applies To
|
|
63
|
+
|
|
64
|
+
**Every pipeline stage.** This is not limited to `/create-prd`:
|
|
65
|
+
|
|
66
|
+
| Stage | What This Means |
|
|
67
|
+
|-------|----------------|
|
|
68
|
+
| `/create-prd-stack` | Before each axis question, read the domains that axis touches |
|
|
69
|
+
| `/create-prd-architecture` | Before each component design, read the domains that component serves |
|
|
70
|
+
| `/create-prd-security` | Before each security item, read the role matrices and CX trust boundaries |
|
|
71
|
+
| `/write-architecture-spec` | Before each interaction design, read the relevant domain deep dives |
|
|
72
|
+
| `/write-be-spec` | Before each endpoint design, read the IA shard interactions that endpoint serves |
|
|
73
|
+
| `/write-fe-spec` | Before each component spec, read the BE endpoints and IA interactions it consumes |
|
|
74
|
+
| `/implement-slice` | Before each implementation decision, read the relevant specs |
|
|
75
|
+
|
|
76
|
+
## What Gets Flagged
|
|
77
|
+
|
|
78
|
+
| Pattern | Verdict |
|
|
79
|
+
|---------|---------|
|
|
80
|
+
| "Which database do you prefer?" without reading any domain files | ❌ Rejected. Read the domains first — the answer might be obvious. |
|
|
81
|
+
| Presenting 3 framework options with generic pros/cons | ❌ Rejected. Pros/cons must reference THIS project's specific needs. |
|
|
82
|
+
| Asking a question the ideation deep dives already answered | ❌ Rejected. Read before asking. |
|
|
83
|
+
| "Based on your diagnostics domain's multi-agent flow, you need X" | ✅ Correct. Informed by source material. |
|
|
84
|
+
| Citing specific CX dependencies when recommending architecture | ✅ Correct. Research before recommendation. |
|
|
85
|
+
| Re-reading a deep dive mid-workflow because THIS question needs it | ✅ Correct. Per-decision freshness. |
|
|
86
|
+
|
|
87
|
+
## The Litmus Test
|
|
88
|
+
|
|
89
|
+
Before sending any question to the user, ask yourself:
|
|
90
|
+
|
|
91
|
+
> **"Could a user reasonably respond: 'Did you even read my ideation docs?'"**
|
|
92
|
+
|
|
93
|
+
If the answer is yes — you didn't do this rule. Stop. Read. Then ask.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Every spec item must have testable acceptance criteria — no ambiguity, no adjectives, only numbers and types
|
|
3
|
+
trigger: always_on
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Specificity & Depth Standards
|
|
7
|
+
|
|
8
|
+
> No ambiguity downstream. No surface-level specs. Every element must be testable.
|
|
9
|
+
|
|
10
|
+
## No Ambiguity: Testable Acceptance Criteria
|
|
11
|
+
|
|
12
|
+
Every spec item, feature description, and requirement MUST have **testable acceptance criteria**.
|
|
13
|
+
|
|
14
|
+
### Ambiguous vs. Concrete
|
|
15
|
+
|
|
16
|
+
| ❌ Ambiguous | ✅ Concrete |
|
|
17
|
+
|-------------|------------|
|
|
18
|
+
| "Fast response times" | "P95 latency < 200ms for API responses" |
|
|
19
|
+
| "Secure authentication" | "JWT with RS256, 15-min access token, 7-day refresh, httpOnly cookie" |
|
|
20
|
+
| "User-friendly interface" | "Form validates on blur, shows inline errors, submits on Enter" |
|
|
21
|
+
| "Handle errors gracefully" | "4xx returns `{ error: string, code: string }`, 5xx logs to Sentry" |
|
|
22
|
+
|
|
23
|
+
### When Writing Specs
|
|
24
|
+
|
|
25
|
+
- Numbers, not adjectives ("3 retries", not "retry several times")
|
|
26
|
+
- Specific types ("string[]", not "a list")
|
|
27
|
+
- Exact error behavior ("returns 409 with existing email", not "handles duplicates")
|
|
28
|
+
- Concrete state transitions ("pending → processing → complete | failed")
|
|
29
|
+
|
|
30
|
+
### When Writing Code
|
|
31
|
+
|
|
32
|
+
- Explicit return types, not inferred
|
|
33
|
+
- Named constants, not magic numbers
|
|
34
|
+
- Error messages that identify the problem and suggest the fix
|
|
35
|
+
|
|
36
|
+
## Depth Standards: Exhaustive Specifications
|
|
37
|
+
|
|
38
|
+
Specs must go **deep enough** that an implementer needs zero clarification.
|
|
39
|
+
|
|
40
|
+
### Architecture Spec Depth
|
|
41
|
+
|
|
42
|
+
1. Every entity has all fields typed with constraints
|
|
43
|
+
2. Every relationship has cardinality and cascade behavior
|
|
44
|
+
3. Every endpoint has request/response schema, error codes, auth rules
|
|
45
|
+
4. Every state machine has all transitions and guard conditions
|
|
46
|
+
5. Every integration has retry policy, timeout, fallback behavior
|
|
47
|
+
|
|
48
|
+
### Feature Spec Depth
|
|
49
|
+
|
|
50
|
+
1. Every UI component has props typed, states enumerated, events listed
|
|
51
|
+
2. Every form has validation rules per field with error messages
|
|
52
|
+
3. Every API call has loading, success, and error UI states
|
|
53
|
+
4. Every responsive breakpoint has layout behavior specified
|
|
54
|
+
5. Every interaction has keyboard, mouse, and touch behavior defined
|
|
55
|
+
|
|
56
|
+
## What Gets Flagged
|
|
57
|
+
|
|
58
|
+
| Pattern | Verdict |
|
|
59
|
+
|---------|---------|
|
|
60
|
+
| "Fast response times" in a spec | ❌ Rejected. Specify P95 latency threshold. |
|
|
61
|
+
| "Handle errors gracefully" | ❌ Rejected. Specify error codes and response shapes. |
|
|
62
|
+
| Endpoint without typed request/response schema | ❌ Rejected. Add full schema. |
|
|
63
|
+
| Form spec without per-field validation rules | ❌ Rejected. Specify each field. |
|
|
64
|
+
| "P95 < 200ms", "returns 409 with `{error, code}`" | ✅ Correct. Testable and specific. |
|