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,644 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: idea-extraction
|
|
3
|
+
description: "Exhaustive idea extraction through recursive breadth-before-depth exploration with Deep Think protocol and fractal structure. Use during /ideate to transform raw ideas into comprehensive, structured ideation output. Writes to a fractal folder hierarchy — every node has an index, CX file, and children."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Idea Extraction — Exhaustion Engine
|
|
7
|
+
|
|
8
|
+
## Philosophy
|
|
9
|
+
|
|
10
|
+
> This pipeline does not build MVPs. It does not produce shallow specs. It does not
|
|
11
|
+
> create technical debt by rushing past the ideation phase. The ideation phase is where
|
|
12
|
+
> the entire downstream pipeline gets its DNA — if the ideation is shallow, every spec,
|
|
13
|
+
> every architecture decision, every line of code downstream will be shallow too.
|
|
14
|
+
|
|
15
|
+
This skill is an **exhaustion engine** designed to extract every ounce of product vision
|
|
16
|
+
from the user. Your job is not to collect answers. Your job is to **generate new thinking**
|
|
17
|
+
in the user by asking questions they haven't considered, exploring edges they haven't
|
|
18
|
+
mapped, and helping them make decisions they haven't faced yet.
|
|
19
|
+
|
|
20
|
+
The **Deep Think Protocol** is the core mechanism: at every step, you actively reason
|
|
21
|
+
about what *should* exist based on domain knowledge, industry patterns, and cross-domain
|
|
22
|
+
interactions — then present hypotheses to the user for confirmation or rejection.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Fractal Structure Protocol
|
|
27
|
+
|
|
28
|
+
This skill writes directly to the `.memory/wiki/specs/ideation/` folder using a **fractal pattern** — every node in the tree (surface, domain, sub-domain) follows the same structure:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
{node}/
|
|
32
|
+
├── {node}-index.md ← what's in this node, child listing, Role Matrix
|
|
33
|
+
├── {node}-cx.md ← cross-cuts connecting this node's children
|
|
34
|
+
├── child-01/ ← same pattern repeats (if child is complex)
|
|
35
|
+
└── 01.01.01-feature.md ← leaf node = .md file, not a folder
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Key rules:**
|
|
39
|
+
|
|
40
|
+
1. **Always folders.** Every domain, sub-domain, and even single-surface projects use folders — no flat files. One universal pattern, no exceptions.
|
|
41
|
+
2. **Indexes at every level.** Template: `.codex/skills/prd-templates/references/fractal-node-index-template.md`
|
|
42
|
+
3. **CX files at every level.** Template: `.codex/skills/prd-templates/references/fractal-cx-template.md`
|
|
43
|
+
4. **Feature files are leaf nodes.** Template: `.codex/skills/prd-templates/references/fractal-feature-template.md`
|
|
44
|
+
5. **Depth is reactive.** The structure grows during exploration — never pre-scaffolded beyond what's discovered.
|
|
45
|
+
6. **Soft limit at 4 levels.** If creating a level 5+ node, pause and ask the user: "This is getting unusually deep — should I promote a parent to reduce nesting, or is this depth justified?"
|
|
46
|
+
|
|
47
|
+
### Super-Index
|
|
48
|
+
|
|
49
|
+
The top-level `ideation-index.md` uses a different template: `.codex/skills/prd-templates/references/ideation-index-template.md`
|
|
50
|
+
The top-level `ideation-cx.md` uses: `.codex/skills/prd-templates/references/ideation-crosscut-template.md`
|
|
51
|
+
|
|
52
|
+
### Numbering Convention
|
|
53
|
+
|
|
54
|
+
Numbers are hierarchical and dot-separated within a surface:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
{domain}.{sub-domain}.{sub-sub}.{feature}
|
|
58
|
+
01 . 01 . 02 . 03
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
- Folders use number prefix: `01.03.02-ai-assistant/`
|
|
62
|
+
- Feature files use full number: `01.03.02.03-parts-recommendation.md`
|
|
63
|
+
- Cross-surface references prefix with surface: `web/02.01.03`, `desktop/01.03.02`
|
|
64
|
+
- Numbers are stable once assigned — never renumber
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Structural Classification Protocol
|
|
69
|
+
|
|
70
|
+
> **This classification must happen BEFORE any domain files are written.**
|
|
71
|
+
> It determines the folder layout for the entire ideation phase. The classification
|
|
72
|
+
> is performed in `ideate-extract` (Step 1.3) and recorded in `ideation-index.md`.
|
|
73
|
+
|
|
74
|
+
### Four Project Shapes
|
|
75
|
+
|
|
76
|
+
| Shape | Signals | Folder Structure |
|
|
77
|
+
|---|---|---|
|
|
78
|
+
| **Single-surface** | One platform, one audience, "make me a website" | Domains are top-level children of `ideation/` (no `surfaces/` folder) |
|
|
79
|
+
| **Multi-surface-shared** | 2+ platforms, same stack, >80% shared logic | Domains at top level with surface annotations in feature files |
|
|
80
|
+
| **Multi-product (hub-and-spoke)** | 2+ platforms, one is clearly the central platform/API. Others consume from it. | `surfaces/` with hub surface owning shared domains. Spokes reference hub via CX. |
|
|
81
|
+
| **Multi-product (peer)** | 2+ platforms, no clear primary. Each is equally independent. | `surfaces/` with `shared/` folder as a peer for truly cross-surface domains. |
|
|
82
|
+
|
|
83
|
+
### Detection: When to Ask vs When to Detect
|
|
84
|
+
|
|
85
|
+
| Input Mode | How Structure Is Determined |
|
|
86
|
+
|---|---|
|
|
87
|
+
| **Interview** (verbal / no input) | Ask the user directly — see Interview Questions below |
|
|
88
|
+
| **Document** (rich / thin) | Scan for surface signals — see Detection Signals below |
|
|
89
|
+
| **One-liner** | Infer from the description — "make me a website" = single surface, skip the question |
|
|
90
|
+
|
|
91
|
+
### Interview Questions (asked early, before domain exploration)
|
|
92
|
+
|
|
93
|
+
When the input doesn't make the project shape obvious, ask these questions
|
|
94
|
+
**immediately after the opening problem statement question** — before any domain
|
|
95
|
+
exploration or file creation:
|
|
96
|
+
|
|
97
|
+
1. **"Who are the distinct user types or audiences?"**
|
|
98
|
+
- Single audience → likely single-surface
|
|
99
|
+
- Multiple distinct audiences → likely multi-product
|
|
100
|
+
|
|
101
|
+
2. **"What platforms or surfaces does this need to live on?"** (web, mobile, desktop, API, CLI)
|
|
102
|
+
- One platform → single-surface
|
|
103
|
+
- Multiple platforms, same stack → multi-surface-shared
|
|
104
|
+
- Multiple platforms, different stacks or exclusive features → multi-product
|
|
105
|
+
|
|
106
|
+
3. **"Is there a primary platform that the other surfaces depend on — like a central API or web platform? Or are all surfaces independent peers?"** _(only if multi-product)_
|
|
107
|
+
- Yes, one primary → hub-and-spoke
|
|
108
|
+
- No, all independent → peer
|
|
109
|
+
|
|
110
|
+
### Detection Signals (for document input)
|
|
111
|
+
|
|
112
|
+
When processing a document, scan for these signals before creating any domain files:
|
|
113
|
+
|
|
114
|
+
| Signal | Example | Classification |
|
|
115
|
+
|---|---|---|
|
|
116
|
+
| Distinct platform names in section headings | "Consumer Web Platform", "Shop Software (Tauri)" | Multi-product |
|
|
117
|
+
| Different tech stacks mentioned per surface | "Astro/React for web", "Rust/Tauri for desktop" | Multi-product |
|
|
118
|
+
| One surface described as "the platform" or "the API" | "Desktop app calls the platform API" | Hub-and-spoke |
|
|
119
|
+
| All surfaces access a central database through one API | "Everything goes through the web platform's proxy" | Hub-and-spoke |
|
|
120
|
+
| Surfaces described as equally independent | "Web and mobile are separate apps with separate backends" | Peer |
|
|
121
|
+
| Single platform implied | "The website will...", "Users visit the app and..." | Single-surface |
|
|
122
|
+
|
|
123
|
+
### Hub-and-Spoke Implications
|
|
124
|
+
|
|
125
|
+
When hub-and-spoke is identified:
|
|
126
|
+
|
|
127
|
+
- **The hub surface owns shared API/data domains.** Device History, Payments, Certification — these live INSIDE the hub surface's domain tree, not in a separate `shared/` folder.
|
|
128
|
+
- **Spoke surfaces reference hub domains via CX.** Desktop's CX files say "Feature X consumes web/domain/feature via API."
|
|
129
|
+
- **Spoke surfaces own their operational domains.** A domain belongs on the surface where it is **primarily experienced and operated**, not where the data lives. POS is a desktop domain even though it calls the hub's Stripe API. Inventory is a desktop domain even though it syncs to the hub's database.
|
|
130
|
+
- **Proportionality check**: The hub may have more domains than any single spoke, but spokes must reflect the FULL experience their users have. If a spoke user's daily workflow involves 10+ distinct capabilities, 2-3 domains is a red flag — re-examine whether concepts were incorrectly collapsed into the hub.
|
|
131
|
+
|
|
132
|
+
### Peer Mode Implications
|
|
133
|
+
|
|
134
|
+
When peer mode is identified:
|
|
135
|
+
|
|
136
|
+
- **Shared domains live in `shared/`.** `shared/` is treated as a peer node with the same fractal pattern.
|
|
137
|
+
- **Each surface owns only its exclusive features.**
|
|
138
|
+
- **Surface CX files reference `shared/` domains.** Both surfaces point to shared, rather than one owning it.
|
|
139
|
+
|
|
140
|
+
### Classification Persistence
|
|
141
|
+
|
|
142
|
+
The classification is recorded in `ideation-index.md` under `## Structural Classification`.
|
|
143
|
+
All downstream steps read this section to determine where to place new nodes.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Node Classification Gate
|
|
148
|
+
|
|
149
|
+
> **RUN THIS GATE before creating ANY new node** — domain, sub-domain, or feature.
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
"I discovered [thing]. What is it?"
|
|
153
|
+
│
|
|
154
|
+
▼
|
|
155
|
+
Does it belong to an EXISTING domain or sub-domain?
|
|
156
|
+
│
|
|
157
|
+
YES ──► Does it have 2+ distinct capabilities that interact with each other?
|
|
158
|
+
│ │
|
|
159
|
+
│ YES ──► It's a SUB-DOMAIN ──► create folder inside existing parent
|
|
160
|
+
│ │
|
|
161
|
+
│ NO ──► It's a FEATURE ──► create .md file inside existing parent
|
|
162
|
+
│
|
|
163
|
+
NO ──► (Surface Placement — three questions)
|
|
164
|
+
│
|
|
165
|
+
Q1: "Where is this PRIMARILY experienced/operated?"
|
|
166
|
+
│ (Which surface's user interacts with this most?)
|
|
167
|
+
│
|
|
168
|
+
Q1a: "Does this concept have a DIFFERENT primary surface
|
|
169
|
+
│ for initial setup vs. day-to-day operation?"
|
|
170
|
+
│ (e.g., discovered on web, used daily on mobile)
|
|
171
|
+
│ │
|
|
172
|
+
│ YES ──► SPLIT: setup surface owns data/API domain,
|
|
173
|
+
│ │ daily-operation surface gets its own operational domain
|
|
174
|
+
│ │ Both are real domains — connect via CX
|
|
175
|
+
│ NO ──► proceed with single primary surface from Q1
|
|
176
|
+
│
|
|
177
|
+
Q2: "Which hub APIs does it consume?"
|
|
178
|
+
│ (What data/services does it call from the hub?)
|
|
179
|
+
│
|
|
180
|
+
├── Primarily experienced on a SPOKE surface
|
|
181
|
+
│ ──► It's a SPOKE DOMAIN ──► create in that spoke surface
|
|
182
|
+
│ ──► Log hub API dependencies in CX (Q2 answer)
|
|
183
|
+
│
|
|
184
|
+
├── Primarily experienced on the HUB surface
|
|
185
|
+
│ ──► It's a HUB DOMAIN ──► create in hub surface
|
|
186
|
+
│
|
|
187
|
+
├── No primary surface (pure API/data layer, no direct user interaction)
|
|
188
|
+
│ ──► It's a HUB DOMAIN (infrastructure) ──► create in hub
|
|
189
|
+
│
|
|
190
|
+
├── Setup and daily-operation on DIFFERENT surfaces
|
|
191
|
+
│ ──► BOTH surfaces get domains ──► connect via CX
|
|
192
|
+
│ (e.g., Consumer Accounts: web owns signup/config,
|
|
193
|
+
│ mobile owns daily device management/messaging)
|
|
194
|
+
│
|
|
195
|
+
└── Equally used across multiple surfaces (rare)
|
|
196
|
+
──► It's a shared domain ──► create in shared/ (peer) or hub (hub-and-spoke)
|
|
197
|
+
|
|
198
|
+
**WHEN UNCERTAIN: Ask the user.** Never assume placement.
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
> **Key principle**: A domain belongs where it is PRIMARILY USED, not where the data lives.
|
|
202
|
+
> POS is a desktop domain even though payments go through the hub's Stripe API.
|
|
203
|
+
> Inventory is a desktop domain even though stock data is in the hub's database.
|
|
204
|
+
> The hub API dependency is logged as a CX reference, not as a classification signal.
|
|
205
|
+
|
|
206
|
+
### Sub-Domain vs Feature Test
|
|
207
|
+
|
|
208
|
+
The key question: **"Does this thing have its own internal features that interact with each other?"**
|
|
209
|
+
|
|
210
|
+
| Example | Internal Features? | Classification |
|
|
211
|
+
|---------|-------------------|----------------|
|
|
212
|
+
| AI Assistant | Yes: task generation, guided workflow, parts recommendation, test tracking — these interact | **Sub-domain** (folder) |
|
|
213
|
+
| Print Receipt | No: it does one thing | **Feature** (file) |
|
|
214
|
+
| Inventory Manager | Yes: stock tracking, reorder alerts, supplier integration | **Sub-domain** or **Domain** depending on scope |
|
|
215
|
+
| Password Reset | No: single flow with edge cases | **Feature** (file) |
|
|
216
|
+
|
|
217
|
+
### Anti-Patterns
|
|
218
|
+
|
|
219
|
+
| ❌ Wrong | ✅ Right |
|
|
220
|
+
|----------|---------|
|
|
221
|
+
| Creating "Print Receipt" as a new domain | Recognizing it's a feature within POS/Payments |
|
|
222
|
+
| Classifying POS as a hub domain because it calls Stripe | Classifying POS as a desktop domain because the shop tech primarily operates it there |
|
|
223
|
+
| Creating a domain for every feature mentioned | Grouping related features under their parent domain/sub-domain |
|
|
224
|
+
| Pre-creating 4 levels of empty folders | Creating depth reactively as complexity is discovered |
|
|
225
|
+
| Putting a shared domain in `shared/` when hub-and-spoke is active | Putting it inside the hub surface, with CX references from spokes |
|
|
226
|
+
| Using source document headings as the domain map | Extracting concepts from the content and classifying each through the gate |
|
|
227
|
+
| Creating a domain folder for every heading in the source | Only creating domain folders for concepts that pass the gate as true domains |
|
|
228
|
+
| Collapsing a rich multi-system area into a single domain | Recognizing 2+ interacting capabilities = sub-domain or promoted domain |
|
|
229
|
+
| Creating "Data Architecture" or "Tech Stack" as product domains | Noting architectural concerns for `/create-prd` — they are not product domains |
|
|
230
|
+
| Creating folders before presenting the classification to the user | Always presenting the classification table and getting user confirmation first |
|
|
231
|
+
| Classifying everything that touches the hub API as a hub domain | Using the "primarily experienced" test — hub API usage = CX, not classification |
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Reactive Depth Protocol
|
|
236
|
+
|
|
237
|
+
### Depth Grows from Exploration
|
|
238
|
+
|
|
239
|
+
The structure is NEVER pre-scaffolded. It grows as the agent explores:
|
|
240
|
+
|
|
241
|
+
| Discovery Event | Action |
|
|
242
|
+
|----------------|--------|
|
|
243
|
+
| New surface identified | Create surface folder + surface index + surface CX |
|
|
244
|
+
| New domain identified | Run Classification Gate. Create domain folder + index + CX inside correct parent |
|
|
245
|
+
| New sub-area with 2+ interacting capabilities | Promote to sub-domain: create folder + index + CX |
|
|
246
|
+
| New sub-area with single capability | Create as feature file (.md) inside current parent |
|
|
247
|
+
| Feature explored and found to have internal complexity | Promote: convert .md to folder (see below) |
|
|
248
|
+
|
|
249
|
+
### Promotion: Feature → Sub-Domain
|
|
250
|
+
|
|
251
|
+
During drilling, a feature might reveal internal complexity that warrants promotion:
|
|
252
|
+
|
|
253
|
+
1. Agent discovers the feature has 2+ interacting capabilities
|
|
254
|
+
2. Agent asks: "This feature has enough internal complexity to be its own sub-domain. Should I promote it?"
|
|
255
|
+
3. If confirmed:
|
|
256
|
+
- Create `{number}-{slug}/` folder
|
|
257
|
+
- Create index and CX files inside
|
|
258
|
+
- Split content from the old feature file into child feature files
|
|
259
|
+
- Update parent index
|
|
260
|
+
4. Numbering stays the same — the feature number becomes the sub-domain number
|
|
261
|
+
|
|
262
|
+
### Exhaustion Check (Leaf-Node Model)
|
|
263
|
+
|
|
264
|
+
Exhaustion is checked at the **leaves** — whatever the deepest items are in each branch:
|
|
265
|
+
|
|
266
|
+
- **Old model**: "All domains at DEEP"
|
|
267
|
+
- **New model**: "All LEAF NODES at DEEP or EXHAUSTED"
|
|
268
|
+
|
|
269
|
+
Status propagation rules:
|
|
270
|
+
- All children `[EXHAUSTED]` → node is `[EXHAUSTED]`
|
|
271
|
+
- All children `[DEEP]`+ → node is `[DEEP]`
|
|
272
|
+
- Any child below `[DEEP]` → node stays at its current status
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## Role Integration
|
|
277
|
+
|
|
278
|
+
### Global Persona Definitions
|
|
279
|
+
|
|
280
|
+
Personas are defined ONCE in `meta/personas.md`. This file is the single source of truth.
|
|
281
|
+
|
|
282
|
+
### Where Persona Info Appears
|
|
283
|
+
|
|
284
|
+
| Location | What's There | Template |
|
|
285
|
+
|----------|-------------|----------|
|
|
286
|
+
| `meta/personas.md` | Full persona definitions (6 fields each) | Single source of truth |
|
|
287
|
+
| Index files → Role Matrix | Grid of children × personas with access icons | `fractal-node-index-template.md` |
|
|
288
|
+
| Feature files → Role Lens | Per-feature access level + specific behavior | `fractal-feature-template.md` |
|
|
289
|
+
| CX files → Role scoping | Which roles are affected by each cross-cut | `fractal-cx-template.md` |
|
|
290
|
+
|
|
291
|
+
### Anti-Duplication Rule
|
|
292
|
+
|
|
293
|
+
- **NEVER** redefine a persona outside `meta/personas.md`
|
|
294
|
+
- **ALWAYS** reference personas by their short name
|
|
295
|
+
- If a new persona is discovered → add to `meta/personas.md` FIRST, then reference
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Input-Adaptive Modes
|
|
300
|
+
|
|
301
|
+
Before starting, classify what the user has provided and select the right mode.
|
|
302
|
+
|
|
303
|
+
### Extraction Mode — Rich Input
|
|
304
|
+
|
|
305
|
+
**Trigger:** User provides substantial existing material (>5KB, detailed docs, chat logs).
|
|
306
|
+
|
|
307
|
+
**The job:** Don't lose information. Organize, validate, and fill gaps.
|
|
308
|
+
|
|
309
|
+
> **CRITICAL**: Extraction mode uses the SAME interview question framework as Interview mode.
|
|
310
|
+
> The document is the interviewee. The only difference is that the document provides answers
|
|
311
|
+
> silently (the agent reads them) instead of interactively (the agent asks the user). Every
|
|
312
|
+
> answer extracted from the document must cite where in the document it came from. Every
|
|
313
|
+
> question the document doesn't answer becomes a real interview question for the user in Phase 2.
|
|
314
|
+
>
|
|
315
|
+
> **The source document's organization is a hint, not the truth.** Headings, section numbers,
|
|
316
|
+
> and document structure tell you where to LOOK for concepts. They do NOT tell you what those
|
|
317
|
+
> concepts ARE (domain, sub-domain, feature, cross-cut, or not-a-product-domain). The Node
|
|
318
|
+
> Classification Gate determines what each concept is. NEVER mirror source headings as domains.
|
|
319
|
+
>
|
|
320
|
+
> **Document surface signals ARE classification input.** When a concept appears WITHIN a
|
|
321
|
+
> surface-specific section of the document (e.g., "Shop Software", "Mobile App", "Desktop"),
|
|
322
|
+
> that is a strong signal for surface placement. The section heading doesn't dictate the
|
|
323
|
+
> domain NAME, but it DOES inform which surface the concept is primarily experienced on.
|
|
324
|
+
> Use this as input to the "primarily experienced" question in the classification gate.
|
|
325
|
+
|
|
326
|
+
**Process — Phase 1: Interview the Document** (silent — no user interaction)
|
|
327
|
+
|
|
328
|
+
1. Read/ingest every document provided
|
|
329
|
+
2. **Run Structural Classification** — determine project shape before creating any files
|
|
330
|
+
3. **BLOCKING GATE — Extract concepts, not headings.** Read the entire document and identify every concept — a capability, system, feature, workflow, cross-cutting concern, or architectural note. For each concept, record:
|
|
331
|
+
- Concept name (what it is, in your words — not the source heading)
|
|
332
|
+
- Source location (line numbers or section reference — this is the citation)
|
|
333
|
+
- What the document says about it (summary of the content)
|
|
334
|
+
- How many distinct interacting capabilities it contains (the sub-domain test)
|
|
335
|
+
- Which surface section of the document it appeared in (if any) — this is a surface placement signal
|
|
336
|
+
- Whether it is cross-cutting (affects multiple domains regardless of surface)
|
|
337
|
+
Do NOT use source document headings as concept names unless they happen to be accurate after classification. The concept name must reflect what the thing actually IS after gate analysis.
|
|
338
|
+
4. **BLOCKING GATE — Classify every concept.** Run the Node Classification Gate on EACH extracted concept individually. For each concept, answer the gate questions explicitly:
|
|
339
|
+
- "Does it belong to an EXISTING domain?" → if YES, it's a sub-domain or feature of that domain
|
|
340
|
+
- "Does it have 2+ distinct capabilities that interact with each other?" → if YES, it's a sub-domain (folder); if NO, it's a feature (file)
|
|
341
|
+
- "Where is this PRIMARILY experienced/operated?" → determines surface placement
|
|
342
|
+
- "Which hub APIs does it consume?" → logged as CX, NOT as classification signal
|
|
343
|
+
- "Is it an architectural concern, not a product domain?" → note for `/create-prd`, do NOT create a domain
|
|
344
|
+
- "Is it a cross-cutting concern?" → log in CX files, do NOT create a domain
|
|
345
|
+
Produce a **classification table**:
|
|
346
|
+
|
|
347
|
+
| Concept | Source Location | Gate Result | Primary Surface | Also Used On | Reasoning |
|
|
348
|
+
|---------|----------------|-------------|----------------|-------------|----------|
|
|
349
|
+
| Inventory System | lines 982–1017 (§Shop Software) | Sub-domain of Shop Operations | Desktop | Web (read-only dashboard) | 4+ interacting capabilities, primarily operated by shop tech at the counter |
|
|
350
|
+
| POS / Payments | lines 1018–1050 (§Shop Software) | Domain in Desktop | Desktop | Hub (Stripe API) | Shop tech runs transactions at register; hub provides payment processing API |
|
|
351
|
+
| In-Platform Messaging | lines 759–788 | Feature of Consumer Platform | Web | Mobile | Single capability with role-based routing, no internal sub-features |
|
|
352
|
+
| Data Architecture | lines 1261–1282 | NOT a product domain | — | — | Architectural concern — database selection, sync strategy → note for /create-prd |
|
|
353
|
+
| Analytics & Insights | lines 730–758 | Cross-cutting concern | — | All surfaces | Three tiers serving all domains, no exclusive features of its own |
|
|
354
|
+
|
|
355
|
+
5. **BLOCKING GATE — Build proposed domain map.** From the classification table, group concepts into a proposed domain hierarchy:
|
|
356
|
+
- Only concepts classified as **domain** become domain folders
|
|
357
|
+
- Concepts classified as **sub-domain** nest inside their parent domain
|
|
358
|
+
- Concepts classified as **feature** become leaf files inside their parent
|
|
359
|
+
- Concepts classified as **cross-cut** go in the appropriate CX files
|
|
360
|
+
- Concepts classified as **not-a-product-domain** are noted in `meta/constraints.md` for `/create-prd`
|
|
361
|
+
|
|
362
|
+
5.5. **BLOCKING GATE — Surface Distribution Audit.** Before presenting to the user, verify the classification didn't starve any spoke:
|
|
363
|
+
|
|
364
|
+
For each spoke surface:
|
|
365
|
+
1. List all concepts the document describes within that surface's sections
|
|
366
|
+
2. Count how many were classified as spoke domains vs. hub domains
|
|
367
|
+
3. For each hub-classified concept that appeared in a spoke section: **re-run the "primarily experienced" test** including Q1a (setup vs daily-operation). If the concept is primarily operated on the spoke — or daily-operated on the spoke even if set up elsewhere — reclassify it as a spoke domain with hub CX
|
|
368
|
+
4. **HARD GATE — not advisory**: If a spoke has fewer than 5 domains AND the document dedicates 100+ lines to that spoke → **STOP. The classification IS wrong.** You MUST re-run the daily-operation test (Q1 + Q1a) on EVERY hub-classified concept from that spoke's sections before proceeding. You may NOT write "PROPORTIONAL ✅" and continue — the gate condition is met, re-examination is mandatory. Only after re-examination may you proceed, and you must document which concepts were re-examined and why each retained or changed its classification
|
|
369
|
+
|
|
370
|
+
5.6. **Spoke Persona Walk-Through.** For each spoke surface, identify its primary persona(s) and mentally walk through their daily workflow:
|
|
371
|
+
- "If I'm a [persona] sitting at the [surface], what are ALL the things I do in a typical day?"
|
|
372
|
+
- Enumerate every distinct workflow: each workflow with 2+ interacting capabilities is a candidate spoke domain
|
|
373
|
+
- Cross-reference against the classification table: any daily workflow capability that was classified as hub is suspect
|
|
374
|
+
- Reclassify as needed — the walk-through is the final validation before presenting to user
|
|
375
|
+
|
|
376
|
+
6. **Identify gaps** — interview questions the document doesn't answer. These become Phase 2 interview questions.
|
|
377
|
+
|
|
378
|
+
**Process — Phase 2: Present and Interview the User**
|
|
379
|
+
|
|
380
|
+
7. **BLOCKING GATE — Present classification and get confirmation.** Show the user:
|
|
381
|
+
- The classification table (every concept, its source, its gate result, and reasoning)
|
|
382
|
+
- The proposed domain map (the folder hierarchy that would be created)
|
|
383
|
+
- The gap list (questions the document didn't answer)
|
|
384
|
+
Ask: "Here's how I classified your content. Does this look right?" **Wait for user confirmation or corrections. Do NOT create any folders until the user confirms.**
|
|
385
|
+
8. **Apply corrections** — if the user reclassifies any concept, update the table and domain map
|
|
386
|
+
9. **Create fractal folder structure** from the CONFIRMED domain map and seed with content from the source document
|
|
387
|
+
10. **Interview the user for gaps** — switch to Interview Mode for every gap identified in step 6. Use the same Deep Think questions, same exhaustion protocol, targeted at what the document didn't cover.
|
|
388
|
+
11. Run Deep Think: "Based on your content, I would also expect [X] and [Y]. Are those relevant?"
|
|
389
|
+
|
|
390
|
+
**Enforcement rules:**
|
|
391
|
+
- Do NOT create any domain folders before Step 9 (after user confirmation in Step 7)
|
|
392
|
+
- Do NOT mirror source document headings as domains — they are hints for finding concepts, not the classification itself
|
|
393
|
+
- Every concept in the classification table MUST show which gate questions were asked and how they were answered
|
|
394
|
+
- If a concept's classification is uncertain, present it to the user in Phase 2 with your best guess and reasoning — do not silently guess
|
|
395
|
+
|
|
396
|
+
### Expansion Mode — Thin Input
|
|
397
|
+
|
|
398
|
+
**Trigger:** Brief notes, rough sketch, short PRD (<5KB, structured but shallow).
|
|
399
|
+
|
|
400
|
+
**Process:**
|
|
401
|
+
1. Read input and identify domain boundaries
|
|
402
|
+
2. Create fractal folder structure per Classification Gate
|
|
403
|
+
3. For each domain, identify the depth level
|
|
404
|
+
4. Start with shallowest domains, ask targeted deepening questions
|
|
405
|
+
5. Run Deep Think at each level to identify gaps
|
|
406
|
+
6. Update domain indexes and feature files as you go
|
|
407
|
+
|
|
408
|
+
### Interview Mode — No Input / One-Liner
|
|
409
|
+
|
|
410
|
+
**Trigger:** No file input. User describes idea verbally.
|
|
411
|
+
|
|
412
|
+
**Process:**
|
|
413
|
+
1. Start: "In one sentence, what problem does this solve and for whom?"
|
|
414
|
+
2. **Run Structural Classification** — ask the 2-3 interview questions immediately
|
|
415
|
+
3. From the problem statement, identify key nouns → initial domains
|
|
416
|
+
4. Create fractal folder structure per Classification Gate
|
|
417
|
+
5. Run the Recursive Domain Exhaustion Protocol
|
|
418
|
+
6. Use decision classification rule to route questions
|
|
419
|
+
7. Don't stop until Deep Think generates zero new hypotheses
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
## Deep Think Protocol
|
|
424
|
+
|
|
425
|
+
> **This is the core behavioral change.** At every step of ideation, you actively reason
|
|
426
|
+
> about what should exist — you don't just record what the user says.
|
|
427
|
+
|
|
428
|
+
### The Protocol
|
|
429
|
+
|
|
430
|
+
At **every step** — domain discovery, breadth mapping, vertical drilling — pause and
|
|
431
|
+
ask yourself these four questions before moving on:
|
|
432
|
+
|
|
433
|
+
1. **What have I captured so far in this domain/sub-area?**
|
|
434
|
+
2. **What would a domain expert expect to see here that hasn't been surfaced?**
|
|
435
|
+
3. **What should exist here because of interactions with other domains?**
|
|
436
|
+
4. **What common failure modes or edge cases are missing?**
|
|
437
|
+
|
|
438
|
+
### Presenting Hypotheses
|
|
439
|
+
|
|
440
|
+
> "Based on [reasoning], I think [X] might be relevant here. For example, in similar
|
|
441
|
+
> systems, [concrete example]. Is this something your product needs?"
|
|
442
|
+
|
|
443
|
+
**Outcomes:**
|
|
444
|
+
- **CONFIRMED** → Add to the domain/feature file. Drill into it.
|
|
445
|
+
- **REJECTED** → Note the rejection with reason in the Deep Think table.
|
|
446
|
+
- **DEFERRED** → Note as an open question with owner and target stage.
|
|
447
|
+
|
|
448
|
+
### Tracking
|
|
449
|
+
|
|
450
|
+
Record all hypotheses in each feature file's Deep Think Annotations table (see `fractal-feature-template.md`).
|
|
451
|
+
|
|
452
|
+
### Exhaustion Signal
|
|
453
|
+
|
|
454
|
+
The ideation process is complete for a feature when:
|
|
455
|
+
1. Deep Think generates **zero new hypotheses** after a full pass
|
|
456
|
+
2. The user confirms "nothing else" for that feature
|
|
457
|
+
3. Both conditions must be true simultaneously → mark as `[EXHAUSTED]`
|
|
458
|
+
|
|
459
|
+
---
|
|
460
|
+
|
|
461
|
+
## Recursive Domain Exhaustion Protocol
|
|
462
|
+
|
|
463
|
+
### Level 0 — Global Domain Map
|
|
464
|
+
|
|
465
|
+
**Goal:** Identify ALL domains before exploring ANY of them.
|
|
466
|
+
|
|
467
|
+
1. List all domains from user input
|
|
468
|
+
2. **Deep Think:** "What domains would a domain expert expect?"
|
|
469
|
+
3. Run **Node Classification Gate** for each domain — determine placement
|
|
470
|
+
4. Create fractal folder for each: `{number}-{slug}/` + index + CX
|
|
471
|
+
5. Update `ideation-index.md` with the complete structure map
|
|
472
|
+
6. Note preliminary cross-cuts in global CX + relevant domain CX files
|
|
473
|
+
7. **Gate:** User confirms domain list before proceeding
|
|
474
|
+
|
|
475
|
+
### Level 1 — Domain Breadth Sweep
|
|
476
|
+
|
|
477
|
+
**Goal:** For each domain, map ALL children before drilling ANY.
|
|
478
|
+
|
|
479
|
+
For each domain (dependency order — foundational first):
|
|
480
|
+
1. List all sub-areas/capabilities
|
|
481
|
+
2. **Deep Think:** "What sub-areas would an expert expect in this domain?"
|
|
482
|
+
3. Run **Node Classification Gate** for each — sub-domain (folder) or feature (file)?
|
|
483
|
+
4. Create children: sub-domain folders or feature files as classified
|
|
484
|
+
5. Update domain index (Children table + Role Matrix)
|
|
485
|
+
6. Note cross-cuts in domain CX file
|
|
486
|
+
7. **NEW DOMAINS DISCOVERED?** → Loop to Level 0
|
|
487
|
+
8. **Gate:** User confirms breadth maps before drilling
|
|
488
|
+
9. Mark domain status as `[BREADTH]`
|
|
489
|
+
|
|
490
|
+
### Level 2+ — Vertical Drilling
|
|
491
|
+
|
|
492
|
+
**Goal:** Drill each child to implementation depth. Deep Think at every step.
|
|
493
|
+
|
|
494
|
+
For each feature file / sub-domain:
|
|
495
|
+
1. Apply the Exhaustion Questions
|
|
496
|
+
2. **Deep Think** per feature
|
|
497
|
+
3. Write results to feature files (behavior, edge cases, states, Role Lens)
|
|
498
|
+
4. Cross-cuts with evidence → add to parent's CX file
|
|
499
|
+
5. **Feature reveals 2+ interacting capabilities?** → Run Promotion protocol
|
|
500
|
+
6. **NEW DOMAINS DISCOVERED?** → Loop to Level 0
|
|
501
|
+
7. When Deep Think yields zero hypotheses AND user confirms → mark `[EXHAUSTED]`
|
|
502
|
+
|
|
503
|
+
---
|
|
504
|
+
|
|
505
|
+
## Exhaustion Questions
|
|
506
|
+
|
|
507
|
+
### For Every Entity
|
|
508
|
+
- What are its attributes/fields?
|
|
509
|
+
- What are its possible states?
|
|
510
|
+
- What triggers each state transition?
|
|
511
|
+
- What's the full lifecycle (creation → active use → archival/deletion)?
|
|
512
|
+
- Who can create, read, update, delete it?
|
|
513
|
+
- What happens when it's referenced by other entities and gets deleted?
|
|
514
|
+
|
|
515
|
+
### For Every Feature
|
|
516
|
+
- What does the user see when they first encounter this feature?
|
|
517
|
+
- What's the happy path interaction flow (step by step)?
|
|
518
|
+
- What happens when it fails? What error does the user see?
|
|
519
|
+
- What happens on partial failure?
|
|
520
|
+
- What permissions are required? What happens without them?
|
|
521
|
+
- Does it have different states (loading, empty, populated, error)?
|
|
522
|
+
- How does it interact with other features?
|
|
523
|
+
- What edge cases exist?
|
|
524
|
+
|
|
525
|
+
### For Every User Type
|
|
526
|
+
- What's their primary workflow?
|
|
527
|
+
- What's the worst thing they could intentionally do?
|
|
528
|
+
- What's the worst thing they could accidentally do?
|
|
529
|
+
- What do they see that other user types don't?
|
|
530
|
+
- What can they do that other user types can't?
|
|
531
|
+
- What's their tolerance for complexity?
|
|
532
|
+
|
|
533
|
+
### For Every Integration / External System
|
|
534
|
+
- What happens when it's unavailable?
|
|
535
|
+
- What's the expected latency? What if 10x slower?
|
|
536
|
+
- What data format does it use?
|
|
537
|
+
- What rate limits exist?
|
|
538
|
+
- What happens when the external system changes its API?
|
|
539
|
+
|
|
540
|
+
---
|
|
541
|
+
|
|
542
|
+
## Cross-Cut Watch Protocol
|
|
543
|
+
|
|
544
|
+
Cross-cut detection is **always-on** regardless of mode or level. During all active exploration:
|
|
545
|
+
|
|
546
|
+
- After each sub-feature: "Does this depend on or affect any other domain?"
|
|
547
|
+
- After each edge case: "Which other parts need to know about this failure mode?"
|
|
548
|
+
- After each state transition: "Does this trigger anything in another domain?"
|
|
549
|
+
|
|
550
|
+
When a cross-cut is identified, log it to the appropriate CX file:
|
|
551
|
+
|
|
552
|
+
| Discovery Level | Where to Log | Confidence |
|
|
553
|
+
|----------------|-------------|------------|
|
|
554
|
+
| During domain mapping | Parent node's CX file + global `ideation-cx.md` (if cross-surface) | Low |
|
|
555
|
+
| During breadth sweep | Domain CX file | Medium |
|
|
556
|
+
| During drilling | Sub-domain CX file or feature's cross-cut notes | High |
|
|
557
|
+
|
|
558
|
+
### CX Decision Gate (Mandatory — NOT skippable)
|
|
559
|
+
|
|
560
|
+
> **This is the enforcement mechanism for the Cross-Cut Watch Protocol.**
|
|
561
|
+
> "Always-on" means there is a hard gate, not a suggestion.
|
|
562
|
+
|
|
563
|
+
**After ANY of these trigger events, STOP and run this gate before moving to the next item:**
|
|
564
|
+
|
|
565
|
+
| Trigger Event | Example |
|
|
566
|
+
|---------------|---------|
|
|
567
|
+
| Open question (OQ) resolved | User decides hiring fee model = shop pays |
|
|
568
|
+
| Deep Think hypothesis confirmed | Agent proposed AI parts ordering, user confirmed |
|
|
569
|
+
| User makes any product decision | User chooses freemium over paid-only |
|
|
570
|
+
| Feature deepened reveals dependency | Certification tracking needs data from Training domain |
|
|
571
|
+
| Edge case identified with cross-domain impact | Payment failure in domain A must notify domain B |
|
|
572
|
+
|
|
573
|
+
**Gate questions** (answer all three):
|
|
574
|
+
|
|
575
|
+
1. **New dependency?** — Does this decision create a dependency on another domain?
|
|
576
|
+
2. **Modified cross-cut?** — Does it change an existing CX entry?
|
|
577
|
+
3. **Cross-domain state/permissions/triggers?** — Does it affect state, permissions, or trigger chains in another domain?
|
|
578
|
+
|
|
579
|
+
**If YES to any** → update the relevant CX file(s) **immediately**, before moving to the next item. Write the CX entry with:
|
|
580
|
+
- Source domain and feature
|
|
581
|
+
- Target domain(s) affected
|
|
582
|
+
- Nature of the cross-cut (data dependency, trigger chain, permission, state)
|
|
583
|
+
- Confidence level based on discovery context
|
|
584
|
+
|
|
585
|
+
**If NO to all** → proceed. No logging needed for clean passes.
|
|
586
|
+
|
|
587
|
+
> [!CAUTION]
|
|
588
|
+
> **The gate is the point.** The most common failure mode is resolving an OQ, writing the decision to the feature file, and moving on without checking CX. The hiring fee model affects Payments, Supplier Integration, Analytics, and Consumer Platform visibility — 6 cross-domain connections that would be silently lost without this gate.
|
|
589
|
+
|
|
590
|
+
### Cross-Cut Synthesis Questions
|
|
591
|
+
|
|
592
|
+
For each confirmed cross-cut (CX entry with High confidence), answer all five synthesis questions per the `fractal-cx-template.md`:
|
|
593
|
+
|
|
594
|
+
1. **Shared state conflict** — Who owns the entity? Merge strategy?
|
|
595
|
+
2. **Trigger chain** — Does A trigger B? Rollback if B fails? Sync/async?
|
|
596
|
+
3. **Permission intersection** — Does permission in A affect B?
|
|
597
|
+
4. **Notification fan-out** — Does an event in A notify actors in B?
|
|
598
|
+
5. **State transition conflict** — Can A and B race? Consistency impact?
|
|
599
|
+
|
|
600
|
+
---
|
|
601
|
+
|
|
602
|
+
## Decision Routing During Extraction
|
|
603
|
+
|
|
604
|
+
| Decision Type | During Ideation | Example |
|
|
605
|
+
|---|---|---|
|
|
606
|
+
| **Product** | Ask the user. It's their product. | "Should free users be able to...?" |
|
|
607
|
+
| **Architecture** | Note for `/create-prd`. Don't burden the user. | "Should we use SQL or NoSQL?" |
|
|
608
|
+
| **Implementation** | Note for later. Don't even mention it. | "How should we name the routes?" |
|
|
609
|
+
|
|
610
|
+
**Exception:** If the user brings up architecture or implementation, engage. Don't refuse — just don't initiate it.
|
|
611
|
+
|
|
612
|
+
---
|
|
613
|
+
|
|
614
|
+
## Breadth Before Depth
|
|
615
|
+
|
|
616
|
+
### No Premature Drilling
|
|
617
|
+
Complete the breadth map of all children within a node **before drilling any single child**.
|
|
618
|
+
|
|
619
|
+
### No Premature Compilation
|
|
620
|
+
Don't start writing the vision summary until:
|
|
621
|
+
- All leaf nodes are at least `[DEEP]`
|
|
622
|
+
- Every Must Have feature explored to ≥Level 2
|
|
623
|
+
- Deep Think yields zero new hypotheses across ALL domains
|
|
624
|
+
- User has confirmed the coverage map
|
|
625
|
+
|
|
626
|
+
### Challenge Weak Answers
|
|
627
|
+
When the user gives a one-sentence answer to a complex question, don't accept it. Probe.
|
|
628
|
+
|
|
629
|
+
### Summarize and Validate
|
|
630
|
+
After every 5-6 questions, pause and summarize to prevent drift.
|
|
631
|
+
|
|
632
|
+
### Progress Transparency
|
|
633
|
+
Be transparent: "We've explored [N] of [M] domains to DEEP level. [Domain X] is still at BREADTH."
|
|
634
|
+
|
|
635
|
+
---
|
|
636
|
+
|
|
637
|
+
## What This Skill Does NOT Do
|
|
638
|
+
|
|
639
|
+
- **Does not make product decisions** — It extracts them from the user
|
|
640
|
+
- **Does not explore architecture** — That's `/create-prd`'s job
|
|
641
|
+
- **Does not replace brainstorming** — Brainstorming is lightweight; this is heavyweight extraction
|
|
642
|
+
- **Does not produce the vision document** — `ideate-validate` compiles the summary
|
|
643
|
+
- **Does not rush** — The entire downstream pipeline depends on the depth produced here
|
|
644
|
+
- **Does not prescribe shard boundaries** — That's `/decompose-architecture`'s job
|