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,195 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: resolve-skill
|
|
3
|
+
description: Dynamic skill resolution using 4-tier chain (exact match → partial match → external discovery → human escalation)
|
|
4
|
+
parameters:
|
|
5
|
+
- name: surface
|
|
6
|
+
type: string
|
|
7
|
+
required: true
|
|
8
|
+
description: The surface to resolve skills for (e.g., "web", "api", "mobile")
|
|
9
|
+
- name: category
|
|
10
|
+
type: string
|
|
11
|
+
required: true
|
|
12
|
+
description: The skill category to resolve (e.g., "Languages", "Databases", "Unit Tests")
|
|
13
|
+
- name: cross_cutting
|
|
14
|
+
type: boolean
|
|
15
|
+
required: false
|
|
16
|
+
description: If true, resolve from Cross-Cutting Skills table instead of Per-Surface
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
The resolve-skill utility implements CFSA's 4-tier skill resolution chain, ensuring that workflows can dynamically load skills based on the Surface Stack Map while maintaining fallback options for missing or incomplete skill definitions.
|
|
22
|
+
|
|
23
|
+
## Prerequisites
|
|
24
|
+
|
|
25
|
+
1. `.codex/instructions/tech-stack.md` must exist and be populated
|
|
26
|
+
2. Surface Stack Map must have at least one row
|
|
27
|
+
3. For Per-Surface resolution: surface must exist in the table
|
|
28
|
+
4. For Cross-Cutting resolution: category must exist in the Cross-Cutting table
|
|
29
|
+
|
|
30
|
+
## Step-by-Step
|
|
31
|
+
|
|
32
|
+
### Step 1 — Read Surface Stack Map
|
|
33
|
+
|
|
34
|
+
1. Open `.codex/instructions/tech-stack.md`
|
|
35
|
+
2. Parse the Per-Surface Skills table OR Cross-Cutting Skills table based on `cross_cutting` parameter
|
|
36
|
+
3. Locate the row for the specified surface (Per-Surface) or category (Cross-Cutting)
|
|
37
|
+
4. Extract the comma-separated skill list from the specified column
|
|
38
|
+
|
|
39
|
+
**Example extraction:**
|
|
40
|
+
```markdown
|
|
41
|
+
Surface: web
|
|
42
|
+
Category: Databases
|
|
43
|
+
Result: "supabase, surrealdb, pglite"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Step 2 — 4-Tier Resolution Chain
|
|
47
|
+
|
|
48
|
+
For each skill in the comma-separated list, attempt resolution through each tier:
|
|
49
|
+
|
|
50
|
+
#### Tier 1: Exact Match
|
|
51
|
+
|
|
52
|
+
**Check**: Does `.codex/skills/{skill-name}/SKILL.md` exist?
|
|
53
|
+
|
|
54
|
+
- **Yes**: Load the skill, add to resolved list, proceed to next skill
|
|
55
|
+
- **No**: Proceed to Tier 2
|
|
56
|
+
|
|
57
|
+
#### Tier 2: Partial Match + Adequacy Check
|
|
58
|
+
|
|
59
|
+
**Check**: Does any skill in `.codex/skills/` partially match the name?
|
|
60
|
+
|
|
61
|
+
**Partial match criteria:**
|
|
62
|
+
- Name contains the skill name as a substring (case-insensitive)
|
|
63
|
+
- OR skill name tags/include the required category in its SKILL.md frontmatter
|
|
64
|
+
|
|
65
|
+
**Adequacy check:**
|
|
66
|
+
- Read the matched skill's SKILL.md
|
|
67
|
+
- Verify `category` field matches the requested category
|
|
68
|
+
- Verify `surface` field (if present) includes the requested surface
|
|
69
|
+
|
|
70
|
+
- **Pass**: Load the skill, add to resolved list with warning
|
|
71
|
+
- **Fail**: Proceed to Tier 3
|
|
72
|
+
|
|
73
|
+
#### Tier 3: External Discovery
|
|
74
|
+
|
|
75
|
+
**Check**: Can the skill be found in external sources?
|
|
76
|
+
|
|
77
|
+
**Discovery sources (in order):**
|
|
78
|
+
1. `.codex/skill-library/` — Check if skill template exists in library
|
|
79
|
+
2. Community skills — Search for skill in community repositories (if external search is enabled)
|
|
80
|
+
3. Framework documentation — Check if framework/docs provide skill definitions
|
|
81
|
+
|
|
82
|
+
**If found in skill-library:**
|
|
83
|
+
- Prompt user: "Found '{skill}' in skill library. Install and provision?"
|
|
84
|
+
- If yes: Call `setup-provision-skills` to install, then proceed to Tier 1
|
|
85
|
+
- If no: Proceed to Tier 4
|
|
86
|
+
|
|
87
|
+
#### Tier 4: Human Escalation
|
|
88
|
+
|
|
89
|
+
**All previous tiers failed — escalate to human with options.**
|
|
90
|
+
|
|
91
|
+
**Present to user:**
|
|
92
|
+
```
|
|
93
|
+
Skill '{skill}' for surface '{surface}', category '{category}' could not be resolved.
|
|
94
|
+
|
|
95
|
+
Options:
|
|
96
|
+
1. Provide a custom skill path — I'll use your skill file
|
|
97
|
+
2. Skip this skill — I'll proceed without it (may limit functionality)
|
|
98
|
+
3. Create a stub skill — I'll generate a basic skill template for you to customize
|
|
99
|
+
4. Choose an alternative — I'll show you available skills in this category
|
|
100
|
+
|
|
101
|
+
Which option would you like? (1-4)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Handle user choice:**
|
|
105
|
+
- **Option 1**: Accept path, verify SKILL.md exists, load skill
|
|
106
|
+
- **Option 2**: Add to `missing` list in output, continue
|
|
107
|
+
- **Option 3**: Generate stub skill at `.codex/skills/{skill}/SKILL.md`, load it
|
|
108
|
+
- **Option 4**: List available skills, let user choose, restart resolution
|
|
109
|
+
|
|
110
|
+
### Step 3 — Return Resolution Result
|
|
111
|
+
|
|
112
|
+
After processing all skills in the comma-separated list, return:
|
|
113
|
+
|
|
114
|
+
```json
|
|
115
|
+
{
|
|
116
|
+
"resolved": [
|
|
117
|
+
".codex/skills/supabase/SKILL.md",
|
|
118
|
+
".codex/skills/surrealdb/SKILL.md"
|
|
119
|
+
],
|
|
120
|
+
"missing": ["pglite"],
|
|
121
|
+
"warnings": [
|
|
122
|
+
"Partial match found for 'surrealdb' — using 'surrealdb-postgres' instead",
|
|
123
|
+
"Skill 'pglite' not found, skipped by user request"
|
|
124
|
+
],
|
|
125
|
+
"surface": "web",
|
|
126
|
+
"category": "Databases"
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Resolution Table
|
|
131
|
+
|
|
132
|
+
| Tier | Check | Success Action | Failure Action |
|
|
133
|
+
|------|-------|----------------|----------------|
|
|
134
|
+
| 1 | Exact path match exists | Load skill, continue | Proceed to Tier 2 |
|
|
135
|
+
| 2 | Partial match + adequate | Load with warning, continue | Proceed to Tier 3 |
|
|
136
|
+
| 3 | Found in skill-library | Offer to install | Proceed to Tier 4 |
|
|
137
|
+
| 4 | Human escalation | Present options, wait for choice | Block (requires user input) |
|
|
138
|
+
|
|
139
|
+
## Integration with Workflows
|
|
140
|
+
|
|
141
|
+
Workflows should call this utility via the Skill tool:
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
Call skill: `utilities/resolve-skill`
|
|
145
|
+
- Input: {surface: "web", category: "Databases"}
|
|
146
|
+
- Output: Use returned skill paths to load skills for current task
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Example workflow integration:**
|
|
150
|
+
```markdown
|
|
151
|
+
## workflow-write-be-spec.md
|
|
152
|
+
|
|
153
|
+
### Step 1 — Load Database Skills
|
|
154
|
+
|
|
155
|
+
Call skill: `utilities/resolve-skill`
|
|
156
|
+
- surface: web (from shard directory path)
|
|
157
|
+
- category: Databases
|
|
158
|
+
|
|
159
|
+
For each resolved skill:
|
|
160
|
+
1. Read SKILL.md
|
|
161
|
+
2. Extract database schema patterns
|
|
162
|
+
3. Apply to BE spec generation
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Error Handling
|
|
166
|
+
|
|
167
|
+
| Error Scenario | Handling |
|
|
168
|
+
|----------------|----------|
|
|
169
|
+
| Surface Stack Map missing | Fail with clear error — run setup-cfsa first |
|
|
170
|
+
| Surface not found in table | Fail with clear error — invalid surface |
|
|
171
|
+
| Category column empty | Return empty resolved list (not an error) |
|
|
172
|
+
| All tiers fail | Block on Tier 4 — human must decide |
|
|
173
|
+
| User cancels during Tier 4 | Add to missing list, continue with other skills |
|
|
174
|
+
|
|
175
|
+
## Completion Checklist
|
|
176
|
+
|
|
177
|
+
- [ ] Surface Stack Map read successfully
|
|
178
|
+
- [ ] All skills processed through 4-tier chain
|
|
179
|
+
- [ ] Resolution result returned with resolved/missing/warnings
|
|
180
|
+
- [ ] User informed of any warnings or missing skills
|
|
181
|
+
- [ ] Workflow can proceed with resolved skills
|
|
182
|
+
|
|
183
|
+
## Next Steps
|
|
184
|
+
|
|
185
|
+
After resolving skills:
|
|
186
|
+
- Load each resolved skill's SKILL.md
|
|
187
|
+
- Extract relevant patterns and commands
|
|
188
|
+
- Apply to current workflow task
|
|
189
|
+
- If critical skills are missing, prompt user to complete setup
|
|
190
|
+
|
|
191
|
+
## See Also
|
|
192
|
+
|
|
193
|
+
- `.codex/instructions/tech-stack.md` — Surface Stack Map source
|
|
194
|
+
- `.codex/skills/setup/setup-provision-skills.md` — Skill installation
|
|
195
|
+
- `.codex/skills/setup/setup-cfsa.md` — Initial setup workflow
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: validate-phase
|
|
3
|
+
description: Orchestrate phase validation across code-quality and production-readiness gates with mandatory reporting and verdicting
|
|
4
|
+
parameters:
|
|
5
|
+
- name: phase
|
|
6
|
+
type: string
|
|
7
|
+
required: false
|
|
8
|
+
description: Optional explicit phase identifier override
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Runs validation in two shards: quality → readiness.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## Prerequisites
|
|
17
|
+
|
|
18
|
+
1. Phase slices are complete
|
|
19
|
+
2. Required progress and standards documents exist
|
|
20
|
+
3. Validation environment/tooling is available
|
|
21
|
+
|
|
22
|
+
## Step-by-Step
|
|
23
|
+
|
|
24
|
+
### Step 1 — Run quality shard
|
|
25
|
+
|
|
26
|
+
Call skill: `validate-phase-quality`
|
|
27
|
+
|
|
28
|
+
Expected outputs:
|
|
29
|
+
- test/lint/type/build validation results
|
|
30
|
+
- CI/CD, staging deploy, deployment strategy, migration checks
|
|
31
|
+
- spec coverage sweep results
|
|
32
|
+
|
|
33
|
+
### Step 2 — Run readiness shard
|
|
34
|
+
|
|
35
|
+
Call skill: `validate-phase-readiness`
|
|
36
|
+
|
|
37
|
+
Expected outputs:
|
|
38
|
+
- gate applicability matrix
|
|
39
|
+
- readiness gate results (API docs/a11y/perf/security/dependencies)
|
|
40
|
+
- consolidated report in `.memory/wiki/specs/audits/phase-N-validation.md`
|
|
41
|
+
- final pass/fail verdict + constrained next step recommendation
|
|
42
|
+
|
|
43
|
+
## Quality Gate
|
|
44
|
+
|
|
45
|
+
Do not close workflow unless all pass:
|
|
46
|
+
- quality shard checks complete and passing
|
|
47
|
+
- readiness shard checks complete and passing (or appropriately deferred per policy)
|
|
48
|
+
- validation report written
|
|
49
|
+
- explicit verdict determined
|
|
50
|
+
|
|
51
|
+
## Completion Checklist
|
|
52
|
+
|
|
53
|
+
- [ ] quality shard completed
|
|
54
|
+
- [ ] readiness shard completed
|
|
55
|
+
- [ ] validation report produced
|
|
56
|
+
- [ ] verdict (pass/fail) captured
|
|
57
|
+
- [ ] next-step recommendation emitted
|
|
58
|
+
|
|
59
|
+
## Next Steps
|
|
60
|
+
|
|
61
|
+
- if pass: `/update-architecture-map`
|
|
62
|
+
- if fail: resolve findings and re-run `/validate-phase`
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: validate-phase-quality
|
|
3
|
+
description: Execute code-quality gates for a completed phase including tests, coverage, lint, types, build, CI/CD, staging, migrations, and spec coverage
|
|
4
|
+
parameters:
|
|
5
|
+
- name: phase
|
|
6
|
+
type: string
|
|
7
|
+
required: false
|
|
8
|
+
description: Optional explicit phase identifier override
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
1. All slices in target phase are marked complete
|
|
17
|
+
|
|
18
|
+
## Step-by-Step
|
|
19
|
+
|
|
20
|
+
### Step 0 — Validation skill loading and optional parallelism
|
|
21
|
+
|
|
22
|
+
1. Load testing-strategist, code-review-pro, deployment-procedures skills.
|
|
23
|
+
2. Optionally parallelize independent-slice validation checks where safe.
|
|
24
|
+
|
|
25
|
+
### Step 1 — Test suite gate
|
|
26
|
+
|
|
27
|
+
1. Run test command.
|
|
28
|
+
2. If tests fail, stop with failing-slice report.
|
|
29
|
+
|
|
30
|
+
### Step 2 — Coverage and mutation gates
|
|
31
|
+
|
|
32
|
+
1. Run coverage command and enforce thresholds from engineering standards (or defaults).
|
|
33
|
+
2. Run mutation testing for critical paths when supported.
|
|
34
|
+
3. Enforce blocking/non-blocking outcomes per policy.
|
|
35
|
+
|
|
36
|
+
### Step 3 — Static quality gates
|
|
37
|
+
|
|
38
|
+
1. Run lint command (zero errors requirement).
|
|
39
|
+
2. Run type-check command (zero errors requirement).
|
|
40
|
+
3. Run build command (must succeed).
|
|
41
|
+
|
|
42
|
+
### Step 4 — Delivery and deployment gates
|
|
43
|
+
|
|
44
|
+
1. Verify CI/CD pipeline is green for latest phase commit.
|
|
45
|
+
2. Deploy to staging and run smoke checks.
|
|
46
|
+
3. Verify deployment strategy alignment with architecture doc when documented.
|
|
47
|
+
4. Verify migrations are clean and rollback scripts exist.
|
|
48
|
+
|
|
49
|
+
### Step 5 — Spec coverage sweep
|
|
50
|
+
|
|
51
|
+
1. Run full spec coverage sweep across IA/BE/FE layers.
|
|
52
|
+
2. Apply hard-stop behavior for uncovered mandatory scope.
|
|
53
|
+
|
|
54
|
+
## Completion Checklist
|
|
55
|
+
|
|
56
|
+
- [ ] tests pass
|
|
57
|
+
- [ ] coverage thresholds pass
|
|
58
|
+
- [ ] lint/type/build pass
|
|
59
|
+
- [ ] CI/CD green
|
|
60
|
+
- [ ] staging deployment + smoke checks pass
|
|
61
|
+
- [ ] deployment strategy verification complete
|
|
62
|
+
- [ ] migration verification complete
|
|
63
|
+
- [ ] spec coverage sweep complete
|
|
64
|
+
|
|
65
|
+
## Next Steps
|
|
66
|
+
|
|
67
|
+
- Run `validate-phase-readiness`
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: validate-phase-readiness
|
|
3
|
+
description: Execute production-readiness gates with applicability control, consolidate validation report, and issue final readiness verdict
|
|
4
|
+
parameters:
|
|
5
|
+
- name: phase
|
|
6
|
+
type: string
|
|
7
|
+
required: false
|
|
8
|
+
description: Optional explicit phase identifier override
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
1. Quality shard has completed successfully
|
|
17
|
+
2. Quality-shard report section (`## Spec Coverage`) exists in phase validation audit file
|
|
18
|
+
|
|
19
|
+
## Step-by-Step
|
|
20
|
+
|
|
21
|
+
### Step 0 — Gate applicability matrix (mandatory first)
|
|
22
|
+
|
|
23
|
+
1. Classify phase content against gate applicability rules.
|
|
24
|
+
2. Build gate applicability table with always-on/content-triggered/deferred statuses.
|
|
25
|
+
3. Apply single-deferral/deadline constraints.
|
|
26
|
+
|
|
27
|
+
### Step 1 — API documentation sync gate (conditional)
|
|
28
|
+
|
|
29
|
+
1. Run when applicability matrix marks as required.
|
|
30
|
+
2. Verify OpenAPI/docs synchronization with implemented contracts and errors.
|
|
31
|
+
|
|
32
|
+
### Step 2 — Accessibility gate (conditional)
|
|
33
|
+
|
|
34
|
+
1. Run accessibility audit for changed UI components when applicable.
|
|
35
|
+
|
|
36
|
+
### Step 3 — Performance gates
|
|
37
|
+
|
|
38
|
+
1. Run budget verification against engineering standards when budgets exist.
|
|
39
|
+
2. Enforce fail/warn behavior by classification.
|
|
40
|
+
3. Run optional deep performance audit when tooling/skill is available.
|
|
41
|
+
|
|
42
|
+
### Step 4 — Security and dependency gates
|
|
43
|
+
|
|
44
|
+
1. Run adversarial and security-hardening reviews.
|
|
45
|
+
2. Run DAST when configured/applicable.
|
|
46
|
+
3. Run package manager vulnerability audit and enforce high/critical blocking rule.
|
|
47
|
+
4. Run supplemental dependency-audit protocol when installed.
|
|
48
|
+
|
|
49
|
+
### Step 5 — Feature ledger and boundary stub audits
|
|
50
|
+
|
|
51
|
+
1. Verify must-have features assigned to phase are implemented.
|
|
52
|
+
2. Audit active `BOUNDARY:` stubs for tracking/test/spec-status validity.
|
|
53
|
+
|
|
54
|
+
### Step 6 — Report append and completion gating
|
|
55
|
+
|
|
56
|
+
1. Verify quality shard already wrote spec coverage section.
|
|
57
|
+
2. Append readiness sections to existing phase validation report.
|
|
58
|
+
3. Update progress/memory/session artifacts.
|
|
59
|
+
4. Present report with pass/fail verdict and constrained next steps.
|
|
60
|
+
|
|
61
|
+
## Completion Checklist
|
|
62
|
+
|
|
63
|
+
- [ ] applicability matrix completed
|
|
64
|
+
- [ ] conditional gates executed or validly deferred
|
|
65
|
+
- [ ] security/dependency gates passed
|
|
66
|
+
- [ ] feature-ledger reconciliation passed
|
|
67
|
+
- [ ] boundary stub audit passed
|
|
68
|
+
- [ ] readiness sections appended to report
|
|
69
|
+
- [ ] verdict presented with next-step guidance
|
|
70
|
+
|
|
71
|
+
## Next Steps
|
|
72
|
+
|
|
73
|
+
- if pass: `/update-architecture-map`
|
|
74
|
+
- if fail: resolve findings and re-run `/validate-phase`
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verification-before-completion
|
|
3
|
+
description: "Use when about to claim work is complete, fixed, or passing — requires running verification commands and confirming output before making any success claims. Evidence before claims, always."
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
source: self
|
|
6
|
+
date_added: "2026-02-27"
|
|
7
|
+
date_rewritten: "2026-03-14"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Verification Before Completion
|
|
11
|
+
|
|
12
|
+
## The Iron Law
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
If you haven't run the verification command in this response, you cannot claim it passes. Period.
|
|
19
|
+
|
|
20
|
+
## When to Apply
|
|
21
|
+
|
|
22
|
+
**Before ANY of these:**
|
|
23
|
+
- Claiming tests pass, build succeeds, or linter is clean
|
|
24
|
+
- Expressing satisfaction ("Great!", "Done!", "All good!")
|
|
25
|
+
- Committing, pushing, or creating a PR
|
|
26
|
+
- Moving to the next task or slice
|
|
27
|
+
- Reporting completion to the user
|
|
28
|
+
|
|
29
|
+
## The Gate
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
1. IDENTIFY → What command proves this claim?
|
|
33
|
+
2. RUN → Execute it. Fresh. Complete. Not a cached result.
|
|
34
|
+
3. READ → Full output. Check exit code. Count failures.
|
|
35
|
+
4. VERIFY → Does the output support the claim?
|
|
36
|
+
5. CLAIM → Only now may you state the result.
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Skip any step = the claim is unverified.
|
|
40
|
+
|
|
41
|
+
## Evidence Standards
|
|
42
|
+
|
|
43
|
+
| Claim | Required Evidence | Not Sufficient |
|
|
44
|
+
|-------|-------------------|----------------|
|
|
45
|
+
| "Tests pass" | Full test output showing 0 failures | Previous run, "should pass", partial suite |
|
|
46
|
+
| "Build succeeds" | Build command output, exit code 0 | Linter passing (linter ≠ compiler) |
|
|
47
|
+
| "Lint clean" | Linter output showing 0 errors/warnings | Build passing (build ≠ lint) |
|
|
48
|
+
| "Bug fixed" | Reproduce original symptom → now passes | "I changed the code" |
|
|
49
|
+
| "Regression test works" | Red-green cycle: fail → fix → pass | Test passes once without verifying it can fail |
|
|
50
|
+
| "Requirements met" | Line-by-line checklist against acceptance criteria | "Tests pass" (tests may not cover requirements) |
|
|
51
|
+
| "Migration works" | Run migration up AND down successfully | "Schema looks correct" |
|
|
52
|
+
|
|
53
|
+
## Red-Green Verification (TDD)
|
|
54
|
+
|
|
55
|
+
When claiming a regression test is valid:
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
1. Write test
|
|
59
|
+
2. Run test → MUST FAIL (Red)
|
|
60
|
+
3. Implement fix
|
|
61
|
+
4. Run test → MUST PASS (Green)
|
|
62
|
+
5. Revert fix temporarily
|
|
63
|
+
6. Run test → MUST FAIL AGAIN (proves test is meaningful)
|
|
64
|
+
7. Restore fix
|
|
65
|
+
8. Run test → Passes (final confirmation)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
If the test never fails, it proves nothing.
|
|
69
|
+
|
|
70
|
+
## Red Flags — Stop and Verify
|
|
71
|
+
|
|
72
|
+
Catch yourself if you're about to say:
|
|
73
|
+
|
|
74
|
+
| Phrase | What to Do Instead |
|
|
75
|
+
|--------|-------------------|
|
|
76
|
+
| "Should work now" | Run the command |
|
|
77
|
+
| "I'm confident this is correct" | Confidence ≠ evidence |
|
|
78
|
+
| "Looks like it should pass" | Looks ≠ verified |
|
|
79
|
+
| "Just this once I'll skip" | No exceptions |
|
|
80
|
+
| "The linter passed so the build should too" | They check different things |
|
|
81
|
+
| "I changed the right file" | Run the test |
|
|
82
|
+
| "The agent said it succeeded" | Verify independently |
|
|
83
|
+
|
|
84
|
+
## Integration with Pipeline
|
|
85
|
+
|
|
86
|
+
This skill reinforces the pipeline's `completion-checklist` rule:
|
|
87
|
+
|
|
88
|
+
1. **Code** — implementation meets the contract ← verified by tests
|
|
89
|
+
2. **Tests** — all pass ← verified by running them RIGHT NOW
|
|
90
|
+
3. **Tracking** — progress files updated ← verified by reading them
|
|
91
|
+
4. **Locks** — claims removed ← verified by checking
|
|
92
|
+
|
|
93
|
+
## The Bottom Line
|
|
94
|
+
|
|
95
|
+
**Run the command. Read the output. Count the failures. THEN make the claim.**
|
|
96
|
+
|
|
97
|
+
This is non-negotiable. The cost of verification is 30 seconds. The cost of a false claim is broken trust, shipped bugs, and wasted debugging time downstream.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verify-infrastructure
|
|
3
|
+
description: Run operational infrastructure verification gates for workspace/infrastructure/auth checkpoints and emit pass/fail audit report
|
|
4
|
+
parameters:
|
|
5
|
+
- name: trigger
|
|
6
|
+
type: string
|
|
7
|
+
required: false
|
|
8
|
+
description: Optional trigger override (workspace|infrastructure|auth)
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Step-by-Step
|
|
15
|
+
|
|
16
|
+
1. Run placeholder/map completeness audit.
|
|
17
|
+
2. Determine trigger and initialize report filename.
|
|
18
|
+
3. Verify CI/CD config and latest pipeline green status.
|
|
19
|
+
4. Run environment/secrets audit.
|
|
20
|
+
5. Verify migrations and rollback readiness.
|
|
21
|
+
6. Verify staging deployment + health checks.
|
|
22
|
+
7. Run conditional auth smoke test.
|
|
23
|
+
8. Run logging and error-tracking gates.
|
|
24
|
+
9. Run spec-pipeline integrity check.
|
|
25
|
+
10. Finalize report with verdict and next-step guidance.
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workflow-automation
|
|
3
|
+
description: "Architect durable, event-driven workflows using step functions, retry strategies, idempotency, fan-out patterns, and the critical differences between orchestration approaches."
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Workflow Automation
|
|
8
|
+
|
|
9
|
+
You are a workflow architect who understands the fundamental tradeoff: **simplicity vs. correctness**. Every workflow platform sits somewhere on that spectrum. Your job is to pick the right point for the user's situation and implement it correctly.
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- Background jobs that must complete even if the server restarts
|
|
14
|
+
- Multi-step processes where partial completion is worse than failure (payments, onboarding)
|
|
15
|
+
- Event-driven architectures where one event triggers multiple independent reactions
|
|
16
|
+
- Scheduled/recurring tasks that need observability and retry guarantees
|
|
17
|
+
- Any process where "it probably ran" is not acceptable
|
|
18
|
+
|
|
19
|
+
## When NOT to Use
|
|
20
|
+
|
|
21
|
+
- Simple fire-and-forget tasks (use a queue or a delay)
|
|
22
|
+
- Synchronous request-response flows
|
|
23
|
+
- Tasks under 100ms that don't involve external services
|
|
24
|
+
|
|
25
|
+
## Ecosystem-Specific References
|
|
26
|
+
|
|
27
|
+
After reading the methodology below, read the reference matching your orchestration platform:
|
|
28
|
+
|
|
29
|
+
| Platform | Reference | Best For |
|
|
30
|
+
|----------|-----------|----------|
|
|
31
|
+
| Inngest | `references/inngest.md` | Serverless, event-driven, fast shipping |
|
|
32
|
+
| Temporal | `references/temporal.md` | Complex orchestration, human-in-the-loop |
|
|
33
|
+
| BullMQ | `references/bullmq.md` | Simple job queues, rate limiting, Redis stack |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Core Concept: Durable Execution
|
|
38
|
+
|
|
39
|
+
**Wrap each unit of work in a step, so the system can retry, resume, and checkpoint independently.**
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
Without durable execution:
|
|
43
|
+
fetch data → process → save → send email
|
|
44
|
+
↑ server crashes here
|
|
45
|
+
↓ entire pipeline reruns from scratch
|
|
46
|
+
↓ customer gets duplicate email
|
|
47
|
+
|
|
48
|
+
With durable execution:
|
|
49
|
+
step("fetch") ✓ saved
|
|
50
|
+
step("process") ✓ saved
|
|
51
|
+
step("save") ← server crashes here
|
|
52
|
+
step("save") ← retries ONLY this step
|
|
53
|
+
step("email") ✓ runs once
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Platform Decision Matrix
|
|
59
|
+
|
|
60
|
+
| Factor | Inngest | Temporal | BullMQ |
|
|
61
|
+
|--------|---------|----------|--------|
|
|
62
|
+
| **Complexity** | Low (serverless functions) | High (workers + server) | Medium (Redis-backed) |
|
|
63
|
+
| **Durability** | Steps checkpointed | Full workflow replay | Job-level retry |
|
|
64
|
+
| **Infrastructure** | Managed or self-hosted | Requires Temporal Server | Requires Redis |
|
|
65
|
+
| **Best for** | Serverless, event-driven | Complex orchestration | Simple job queues |
|
|
66
|
+
| **Learning curve** | 1-2 days | 1-2 weeks | 1-2 days |
|
|
67
|
+
| **Language support** | TS, Python, Go | TS, Go, Java, Python, .NET | TS/JS only |
|
|
68
|
+
|
|
69
|
+
### Decision Rules
|
|
70
|
+
|
|
71
|
+
1. **Serverless + event-driven?** → Inngest
|
|
72
|
+
2. **Complex orchestration, human-in-the-loop, multi-day?** → Temporal
|
|
73
|
+
3. **Simple job queue, Redis already in stack?** → BullMQ
|
|
74
|
+
4. **Team of 1-3, shipping fast?** → Inngest
|
|
75
|
+
5. **Enterprise, compliance-heavy, Java/.NET stack?** → Temporal
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Pattern 1: Sequential Steps
|
|
80
|
+
|
|
81
|
+
Each step depends on the previous result. Steps checkpoint independently.
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
step("create-db-record") → returns user
|
|
85
|
+
step("create-stripe-customer") → uses user.email
|
|
86
|
+
step("send-welcome-email") → uses user.email
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
If step 2 fails, only step 2 retries. Steps 1 and 3 are not re-executed.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Pattern 2: Fan-Out (Parallel Execution)
|
|
94
|
+
|
|
95
|
+
One event triggers multiple independent workflows. Each runs and retries independently.
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
Event: user/signup.completed
|
|
99
|
+
→ Workflow A: send-welcome-email (independent)
|
|
100
|
+
→ Workflow B: create-stripe-trial (independent)
|
|
101
|
+
→ Workflow C: provision-workspace (independent)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
If Workflow B fails, Workflows A and C are unaffected.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Pattern 3: Idempotency
|
|
109
|
+
|
|
110
|
+
Prevent duplicate execution when the same event fires twice.
|
|
111
|
+
|
|
112
|
+
**Rule:** Idempotency at the workflow level AND the external call level. Belt and suspenders.
|
|
113
|
+
|
|
114
|
+
- **Workflow level:** Deduplicate by event ID or business key (e.g., order ID)
|
|
115
|
+
- **External call level:** Use idempotency keys on payment APIs, email sends, etc.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Pattern 4: Scheduled/Recurring
|
|
120
|
+
|
|
121
|
+
Cron-triggered workflows with observability:
|
|
122
|
+
- Scheduled trigger (e.g., daily at 9am)
|
|
123
|
+
- Steps checkpoint independently
|
|
124
|
+
- Failed runs are visible, retriable, and alertable
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Pattern 5: Human-in-the-Loop
|
|
129
|
+
|
|
130
|
+
Workflows that pause and wait for external input — approval flows, multi-day processes.
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
workflow: purchaseWorkflow(amount)
|
|
134
|
+
if amount > threshold:
|
|
135
|
+
pause and wait for approval signal (up to 72h)
|
|
136
|
+
if no approval → deny
|
|
137
|
+
continue with purchase
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Sharp Edges
|
|
143
|
+
|
|
144
|
+
| Issue | Severity | Rule |
|
|
145
|
+
|-------|----------|------|
|
|
146
|
+
| No idempotency keys on external calls | Critical | ALWAYS use idempotency keys for payments, emails, mutations |
|
|
147
|
+
| Side effects in workflow code (Temporal) | Critical | Workflows must be deterministic — no I/O, no random, no clock |
|
|
148
|
+
| Giant payloads in step results | High | Steps serialize data — keep under 256KB |
|
|
149
|
+
| No timeouts on activities | High | ALWAYS set timeouts — default infinite hangs forever |
|
|
150
|
+
| Linear retry without backoff | Medium | ALWAYS use exponential backoff |
|
|
151
|
+
| Missing dead letter handling | High | Failed-after-all-retries jobs need a destination |
|
|
152
|
+
| Monolithic workflows | Medium | Break workflows >10 steps into child workflows |
|
|
153
|
+
|
|
154
|
+
## Anti-Patterns
|
|
155
|
+
|
|
156
|
+
| Don't | Do |
|
|
157
|
+
|-------|-----|
|
|
158
|
+
| `setTimeout(fn, 3600000)` for delays | Platform sleep — survives restarts |
|
|
159
|
+
| Global variables for workflow state | Step results and explicit state passing |
|
|
160
|
+
| Retry loops in application code | Platform-level retry policies |
|
|
161
|
+
| Polling in a loop for completion | Event-driven triggers or workflow signals |
|
|
162
|
+
| One giant function with all logic | Decompose into steps/activities |
|
|
163
|
+
|
|
164
|
+
## Related Skills
|
|
165
|
+
|
|
166
|
+
Works with: `error-handling-patterns`, `deployment-procedures`
|