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,214 @@
|
|
|
1
|
+
# Relational Database Migration Patterns
|
|
2
|
+
|
|
3
|
+
Paradigm-specific patterns for the `migration-management` skill. Read `SKILL.md` first for universal methodology.
|
|
4
|
+
|
|
5
|
+
Covers: **PostgreSQL**, **MySQL**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Migration Tracking Tables
|
|
10
|
+
|
|
11
|
+
### PostgreSQL
|
|
12
|
+
|
|
13
|
+
```sql
|
|
14
|
+
CREATE TABLE schema_migrations (
|
|
15
|
+
version BIGINT PRIMARY KEY,
|
|
16
|
+
name VARCHAR(255) NOT NULL,
|
|
17
|
+
executed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
18
|
+
duration_ms INTEGER,
|
|
19
|
+
checksum VARCHAR(64)
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
CREATE TABLE migration_logs (
|
|
23
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
24
|
+
version BIGINT NOT NULL,
|
|
25
|
+
status VARCHAR(20) NOT NULL,
|
|
26
|
+
error_message TEXT,
|
|
27
|
+
rolled_back_at TIMESTAMP,
|
|
28
|
+
executed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
CREATE OR REPLACE FUNCTION record_migration(
|
|
32
|
+
p_version BIGINT, p_name VARCHAR, p_duration_ms INTEGER
|
|
33
|
+
) RETURNS void AS $$
|
|
34
|
+
BEGIN
|
|
35
|
+
INSERT INTO schema_migrations (version, name, duration_ms)
|
|
36
|
+
VALUES (p_version, p_name, p_duration_ms)
|
|
37
|
+
ON CONFLICT (version) DO UPDATE SET executed_at = CURRENT_TIMESTAMP;
|
|
38
|
+
END;
|
|
39
|
+
$$ LANGUAGE plpgsql;
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### MySQL
|
|
43
|
+
|
|
44
|
+
```sql
|
|
45
|
+
CREATE TABLE schema_migrations (
|
|
46
|
+
version BIGINT PRIMARY KEY,
|
|
47
|
+
name VARCHAR(255) NOT NULL,
|
|
48
|
+
executed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
49
|
+
duration_ms INT,
|
|
50
|
+
checksum VARCHAR(64)
|
|
51
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
52
|
+
|
|
53
|
+
CREATE TABLE migration_status (
|
|
54
|
+
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
55
|
+
version BIGINT NOT NULL,
|
|
56
|
+
status ENUM('pending', 'completed', 'failed', 'rolled_back'),
|
|
57
|
+
error_message TEXT,
|
|
58
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
59
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Adding Columns
|
|
65
|
+
|
|
66
|
+
### PostgreSQL
|
|
67
|
+
|
|
68
|
+
```sql
|
|
69
|
+
-- Non-blocking column addition
|
|
70
|
+
ALTER TABLE users ADD COLUMN phone VARCHAR(20) DEFAULT '';
|
|
71
|
+
ALTER TABLE users ADD CONSTRAINT phone_format
|
|
72
|
+
CHECK (phone = '' OR phone ~ '^\+?[0-9\-\(\)]{10,}$');
|
|
73
|
+
CREATE INDEX CONCURRENTLY idx_users_phone ON users(phone);
|
|
74
|
+
|
|
75
|
+
-- Rollback:
|
|
76
|
+
-- DROP INDEX CONCURRENTLY idx_users_phone;
|
|
77
|
+
-- ALTER TABLE users DROP COLUMN phone;
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### MySQL
|
|
81
|
+
|
|
82
|
+
```sql
|
|
83
|
+
ALTER TABLE users
|
|
84
|
+
ADD COLUMN phone VARCHAR(20) DEFAULT '',
|
|
85
|
+
ADD INDEX idx_phone (phone);
|
|
86
|
+
|
|
87
|
+
-- Rollback:
|
|
88
|
+
-- ALTER TABLE users DROP COLUMN phone;
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Renaming Columns
|
|
94
|
+
|
|
95
|
+
```sql
|
|
96
|
+
-- PostgreSQL
|
|
97
|
+
ALTER TABLE users RENAME COLUMN user_name TO full_name;
|
|
98
|
+
REINDEX TABLE users;
|
|
99
|
+
|
|
100
|
+
-- Rollback:
|
|
101
|
+
-- ALTER TABLE users RENAME COLUMN full_name TO user_name;
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Creating Indexes Non-Blocking
|
|
107
|
+
|
|
108
|
+
### PostgreSQL (CONCURRENTLY)
|
|
109
|
+
|
|
110
|
+
```sql
|
|
111
|
+
CREATE INDEX CONCURRENTLY idx_orders_user_created
|
|
112
|
+
ON orders(user_id, created_at DESC);
|
|
113
|
+
|
|
114
|
+
CREATE INDEX CONCURRENTLY idx_products_category_active
|
|
115
|
+
ON products(category_id) WHERE active = true;
|
|
116
|
+
|
|
117
|
+
-- Verify
|
|
118
|
+
SELECT schemaname, tablename, indexname, idx_scan
|
|
119
|
+
FROM pg_stat_user_indexes WHERE indexname LIKE 'idx_%';
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### MySQL (INPLACE)
|
|
123
|
+
|
|
124
|
+
```sql
|
|
125
|
+
ALTER TABLE orders
|
|
126
|
+
ADD INDEX idx_user_created (user_id, created_at),
|
|
127
|
+
ALGORITHM=INPLACE, LOCK=NONE;
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Data Transformations
|
|
133
|
+
|
|
134
|
+
### PostgreSQL
|
|
135
|
+
|
|
136
|
+
```sql
|
|
137
|
+
-- Normalize emails
|
|
138
|
+
UPDATE users SET email = LOWER(TRIM(email))
|
|
139
|
+
WHERE email != LOWER(TRIM(email));
|
|
140
|
+
|
|
141
|
+
-- Deduplicate (keep latest)
|
|
142
|
+
DELETE FROM users WHERE id NOT IN (
|
|
143
|
+
SELECT DISTINCT ON (LOWER(email)) id
|
|
144
|
+
FROM users ORDER BY LOWER(email), created_at DESC
|
|
145
|
+
);
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### MySQL
|
|
149
|
+
|
|
150
|
+
```sql
|
|
151
|
+
UPDATE products p
|
|
152
|
+
JOIN category_mapping cm ON p.old_category = cm.old_name
|
|
153
|
+
SET p.category_id = cm.new_category_id
|
|
154
|
+
WHERE p.old_category IS NOT NULL;
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Testing in Transaction
|
|
160
|
+
|
|
161
|
+
```sql
|
|
162
|
+
BEGIN;
|
|
163
|
+
ALTER TABLE users ADD COLUMN test_column VARCHAR(255);
|
|
164
|
+
SELECT COUNT(*) FROM users;
|
|
165
|
+
-- ROLLBACK if issues, COMMIT if good
|
|
166
|
+
ROLLBACK;
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Bidirectional Migration Example
|
|
172
|
+
|
|
173
|
+
```sql
|
|
174
|
+
-- ===== UP =====
|
|
175
|
+
CREATE TYPE user_status AS ENUM ('active', 'suspended', 'deleted');
|
|
176
|
+
ALTER TABLE users ADD COLUMN status user_status DEFAULT 'active';
|
|
177
|
+
|
|
178
|
+
-- ===== DOWN =====
|
|
179
|
+
-- ALTER TABLE users DROP COLUMN status;
|
|
180
|
+
-- DROP TYPE user_status;
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Production Safety
|
|
186
|
+
|
|
187
|
+
```sql
|
|
188
|
+
-- PostgreSQL: Prevent hanging migrations
|
|
189
|
+
SET statement_timeout = '30min';
|
|
190
|
+
SET lock_timeout = '5min';
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Combined Migration Example
|
|
196
|
+
|
|
197
|
+
```sql
|
|
198
|
+
BEGIN;
|
|
199
|
+
ALTER TABLE users ADD COLUMN full_name VARCHAR(255);
|
|
200
|
+
UPDATE users SET full_name = first_name || ' ' || last_name;
|
|
201
|
+
CREATE INDEX idx_users_full_name ON users(full_name);
|
|
202
|
+
ALTER TABLE users ADD CONSTRAINT email_unique UNIQUE(email);
|
|
203
|
+
COMMIT;
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Tools
|
|
209
|
+
|
|
210
|
+
- [PostgreSQL ALTER TABLE](https://www.postgresql.org/docs/current/sql-altertable.html)
|
|
211
|
+
- [MySQL ALTER TABLE](https://dev.mysql.com/doc/refman/8.0/en/alter-table.html)
|
|
212
|
+
- [Flyway](https://flywaydb.org/) — Java
|
|
213
|
+
- [Alembic](https://alembic.sqlalchemy.org/) — Python
|
|
214
|
+
- [Knex.js](https://knexjs.org/) — Node.js
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: minimalist-surgical-development
|
|
3
|
+
description: "Use when editing an existing codebase and the goal is minimal, standard, and non-invasive changes — prioritizes simplest solution, standard libraries first, and surgical modification without unsolicited refactors"
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
source: self
|
|
6
|
+
date_added: "2026-02-27"
|
|
7
|
+
date_rewritten: "2026-03-14"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Minimalist & Surgical Development
|
|
11
|
+
|
|
12
|
+
**Code like Kent Beck.** Solve the stated problem with the least code and the least disruption to the existing structure.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- Task emphasizes "minimal changes", "surgical fix", "preserve structure", "don't refactor"
|
|
17
|
+
- Modifying existing code rather than building from scratch
|
|
18
|
+
- Temptation exists to introduce new abstractions, frameworks, or large rewrites
|
|
19
|
+
- Bug fixes where scope creep is the real risk
|
|
20
|
+
|
|
21
|
+
## When NOT to Use
|
|
22
|
+
|
|
23
|
+
- Greenfield development (building from scratch)
|
|
24
|
+
- Explicit refactoring requests ("restructure this module")
|
|
25
|
+
- Performance work that requires architectural change
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Minimalist Code Generation
|
|
30
|
+
|
|
31
|
+
### Simplicity First
|
|
32
|
+
|
|
33
|
+
Always provide the most straightforward solution possible. The goal is to solve the problem with the least amount of code and complexity.
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
// ❌ Over-engineered
|
|
37
|
+
class ConfigurableRetryStrategy {
|
|
38
|
+
constructor(private config: RetryConfig) {}
|
|
39
|
+
async execute<T>(fn: () => Promise<T>): Promise<T> {
|
|
40
|
+
// 40 lines of retry logic with exponential backoff...
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// ✅ Minimalist (if you only retry once)
|
|
45
|
+
try {
|
|
46
|
+
result = await fetchData();
|
|
47
|
+
} catch {
|
|
48
|
+
result = await fetchData(); // One retry
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Standard Library First
|
|
53
|
+
|
|
54
|
+
Heavily favor standard library functions and widely accepted common patterns. Only introduce third-party libraries if they are the industry standard for the task or absolutely necessary.
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
// ❌ Adding lodash for one function
|
|
58
|
+
import { groupBy } from "lodash";
|
|
59
|
+
const grouped = groupBy(items, "category");
|
|
60
|
+
|
|
61
|
+
// ✅ Standard library
|
|
62
|
+
const grouped = Object.groupBy(items, (item) => item.category);
|
|
63
|
+
// Or if targeting older runtimes:
|
|
64
|
+
const grouped = items.reduce((acc, item) => {
|
|
65
|
+
(acc[item.category] ??= []).push(item);
|
|
66
|
+
return acc;
|
|
67
|
+
}, {} as Record<string, typeof items>);
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Focus on the Core Request
|
|
71
|
+
|
|
72
|
+
Generate code that directly addresses the user's request. Do not add extra features or handle edge cases that were not mentioned.
|
|
73
|
+
|
|
74
|
+
## Surgical Code Modification
|
|
75
|
+
|
|
76
|
+
### Preserve Existing Code
|
|
77
|
+
|
|
78
|
+
The current codebase is the source of truth. Respect its structure, style, and logic.
|
|
79
|
+
|
|
80
|
+
### Minimal Necessary Changes
|
|
81
|
+
|
|
82
|
+
When adding a feature or fixing a bug, alter the absolute minimum amount of existing code required.
|
|
83
|
+
|
|
84
|
+
```diff
|
|
85
|
+
// The user asked: "add a createdAt timestamp to new users"
|
|
86
|
+
function createUser(data: UserInput): User {
|
|
87
|
+
return db.users.insert({
|
|
88
|
+
...data,
|
|
89
|
+
+ createdAt: new Date(),
|
|
90
|
+
status: "active",
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
// That's it. Don't refactor the function, rename variables,
|
|
94
|
+
// add types, or "improve" unrelated code.
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Explicit Instructions Only
|
|
98
|
+
|
|
99
|
+
Only modify, refactor, or delete code that has been explicitly targeted by the user's request. Do not perform unsolicited refactoring, cleanup, or style changes on untouched code.
|
|
100
|
+
|
|
101
|
+
### Integrate, Don't Replace
|
|
102
|
+
|
|
103
|
+
Whenever feasible, integrate new logic into the existing structure rather than replacing entire functions or blocks.
|
|
104
|
+
|
|
105
|
+
## Navigation Before Modification
|
|
106
|
+
|
|
107
|
+
Before making any change, understand what you're modifying:
|
|
108
|
+
|
|
109
|
+
1. **Read the target** — view the specific function/class being changed
|
|
110
|
+
2. **Check call sites** — grep for usages to understand impact
|
|
111
|
+
3. **Respect patterns** — if the codebase does X one way, continue that way
|
|
112
|
+
4. **Verify after** — run the relevant tests, not the whole suite unless needed
|
|
113
|
+
|
|
114
|
+
## Quick Checklist
|
|
115
|
+
|
|
116
|
+
Before submitting a change:
|
|
117
|
+
|
|
118
|
+
- [ ] Is this the smallest diff that satisfies the requirement?
|
|
119
|
+
- [ ] Did I avoid modifying unrelated code?
|
|
120
|
+
- [ ] Did I use existing utilities/abstractions instead of adding new ones?
|
|
121
|
+
- [ ] Did I avoid adding new dependencies?
|
|
122
|
+
- [ ] Does the change follow existing code style and patterns?
|
|
123
|
+
- [ ] If I added an abstraction — was it explicitly requested?
|
|
124
|
+
|
|
125
|
+
## Anti-Patterns
|
|
126
|
+
|
|
127
|
+
| Don't | Do |
|
|
128
|
+
|-------|-----|
|
|
129
|
+
| "While I'm here, let me also..." | Only change what was requested |
|
|
130
|
+
| Introduce new abstractions unprompted | Use existing patterns |
|
|
131
|
+
| Add a library for one utility function | Use standard library |
|
|
132
|
+
| Replace an entire function for a one-line fix | Surgical single-line edit |
|
|
133
|
+
| "Improve" naming in unrelated code | Respect existing conventions |
|
|
134
|
+
| Handle edge cases not mentioned | Solve the stated problem |
|
|
135
|
+
| Add types/docs to untouched functions | Leave existing code alone |
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: parallel-agents
|
|
3
|
+
description: Orchestrate concurrent analysis or implementation across independent domains. Use when a task can be decomposed into independent workstreams (e.g., via simultaneous tool calls or background processes) — spec writing, code review, security audit, feature implementation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Parallel Agents & Concurrent Tool Execution
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Some tasks are naturally parallelizable — they have independent domains that don't share state. As a highly-capable agent, you can drastically cut wall-clock time by leveraging **concurrent tool execution** (e.g., running multiple `view_file` calls, `grep_search` calls, or background terminal commands simultaneously) instead of investigating sequentially.
|
|
11
|
+
|
|
12
|
+
**Core principle:** Parallelism is a scheduling optimization, not a quality shortcut. Every concurrent workstream follows the same quality standards as a sequential task.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- **Multi-surface implementation** — A slice has independent surfaces (DB, API, UI, admin) that don't share implementation logic
|
|
17
|
+
- **Multi-domain analysis** — Security audit + performance review + accessibility audit on the same codebase
|
|
18
|
+
- **Spec writing** — Multiple IA shards need specs written from the same architecture doc
|
|
19
|
+
- **Code review** — Large PR touches independent subsystems
|
|
20
|
+
- **Debugging** — Multiple independent failures (see `parallel-debugging` skill for the full protocol)
|
|
21
|
+
|
|
22
|
+
## When NOT to Use
|
|
23
|
+
|
|
24
|
+
- Tasks share mutable state or edit the same files
|
|
25
|
+
- Later tasks depend on output of earlier tasks (use sequential pipeline instead)
|
|
26
|
+
- You don't fully understand the task decomposition yet (investigate first)
|
|
27
|
+
- Simple task that one agent handles in < 5 minutes
|
|
28
|
+
|
|
29
|
+
## The Protocol
|
|
30
|
+
|
|
31
|
+
### 1. Decompose
|
|
32
|
+
|
|
33
|
+
Break the task into independent domains. Each domain must satisfy ALL of:
|
|
34
|
+
|
|
35
|
+
| Requirement | Why |
|
|
36
|
+
|-------------|-----|
|
|
37
|
+
| **Independent files** — workstreams do not mutate the same file | Prevents race conditions and tool call hash mismatches |
|
|
38
|
+
| **Independent state** — no shared mutable resources (DB tables, caches) | Prevents race conditions |
|
|
39
|
+
| **Self-contained context** — stream can run without waiting on another's output | Prevents blocking |
|
|
40
|
+
| **Clear deliverable** — you can verify the stream's work in isolation | Prevents integration surprises |
|
|
41
|
+
|
|
42
|
+
If any requirement fails → that domain can't be parallelized. Run it sequentially.
|
|
43
|
+
|
|
44
|
+
### 2. Define Workstream Profiles
|
|
45
|
+
|
|
46
|
+
Instead of giving yourself a single massive objective, explicitly define the scope for each concurrent stream conceptually:
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
## Workstream: [Domain Name]
|
|
50
|
+
### Scope
|
|
51
|
+
[Exactly what this stream owns — files, features, concerns]
|
|
52
|
+
|
|
53
|
+
### Context
|
|
54
|
+
[Everything needed — paste relevant code, specs, error messages]
|
|
55
|
+
|
|
56
|
+
### Constraints
|
|
57
|
+
- Do NOT mutate files outside the defined scope
|
|
58
|
+
- Follow rule: boundary-not-placeholder for cross-stream dependencies
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Scope quality rules:**
|
|
62
|
+
- ✅ **Focused** — one clear problem domain
|
|
63
|
+
- ✅ **Constrained** — explicit file/scope boundaries
|
|
64
|
+
- ❌ **Shared Mutable State** — running `replace_file_content` on the same file concurrently will fail or corrupt data.
|
|
65
|
+
|
|
66
|
+
### 3. Concurrent Execution
|
|
67
|
+
|
|
68
|
+
Launch the workstreams simultaneously using your concurrent tool execution capabilities.
|
|
69
|
+
For example, if testing and formatting code, you might run `npm run test` in one background terminal and `npx prettier --write` in another, checking the statuses of both instead of waiting for one to finish before starting the other.
|
|
70
|
+
When making file edits, batch disjoint `replace_file_content` tool calls in the same turn.
|
|
71
|
+
|
|
72
|
+
### 4. Synthesize
|
|
73
|
+
|
|
74
|
+
After ALL concurrent streams yield results, synthesize them into a single coherent picture before proceeding:
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
## Concurrent Synthesis
|
|
78
|
+
|
|
79
|
+
### Task Summary
|
|
80
|
+
[What was accomplished across all workstreams]
|
|
81
|
+
|
|
82
|
+
### Findings by Domain
|
|
83
|
+
| Domain | Finding/Result |
|
|
84
|
+
|--------|----------------|
|
|
85
|
+
| Stream 1 | [what was found] |
|
|
86
|
+
| Stream 2 | [what was found] |
|
|
87
|
+
|
|
88
|
+
### Consolidated Actions
|
|
89
|
+
1. **Critical**: [From Stream X]
|
|
90
|
+
2. **Important**: [From Stream Y]
|
|
91
|
+
|
|
92
|
+
### Integration Verification
|
|
93
|
+
- [ ] No file conflicts during concurrent editing
|
|
94
|
+
- [ ] Full test suite passes
|
|
95
|
+
- [ ] Changes reviewed for consistency
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 5. Verify Integration
|
|
99
|
+
|
|
100
|
+
**Non-negotiable:** After merging all agent outputs:
|
|
101
|
+
1. Run the full validation suite (not just individual agent tests)
|
|
102
|
+
2. Check for contradictions between agent recommendations
|
|
103
|
+
3. Verify no files were modified by multiple agents
|
|
104
|
+
4. Spot-check agent work — agents can make systematic errors
|
|
105
|
+
|
|
106
|
+
## Task Decomposition Archetypes
|
|
107
|
+
|
|
108
|
+
These are suggested ways to slice concurrent workstreams:
|
|
109
|
+
|
|
110
|
+
| Archetype | Domain Focus | Typical Sub-Skills |
|
|
111
|
+
|-----------|--------------|-------------------|
|
|
112
|
+
| **Security Review** | Vulnerabilities, RBAC, input validation | security-scanning, code-review |
|
|
113
|
+
| **Test Quality** | Test coverage, edge cases | tdd-workflow |
|
|
114
|
+
| **Backend Implementation** | API design, data layer | rest-api-design, surrealdb-expert |
|
|
115
|
+
| **Frontend Implementation** | UI components, accessibility | frontend-design, accessibility |
|
|
116
|
+
| **Performance Audit** | Bottlenecks, bundle size | web-performance-optimization |
|
|
117
|
+
| **Documentation** | API docs, architecture docs | — |
|
|
118
|
+
| **ACH Debugging** | Root cause investigation | systematic-debugging, parallel-debugging |
|
|
119
|
+
|
|
120
|
+
## Integration with Kit
|
|
121
|
+
|
|
122
|
+
- **With `parallel-feature-development`:** When making concurrent file edits, use the strict file ownership protocol to prevent tool call conflicts (e.g. failing `replace_file_content` because the file hash changed).
|
|
123
|
+
- **With `session-continuity` Protocol 9:** When you claim both a `BE` and `FE` task concurrently, the `files:` blocks are your guarantee that you can execute edits simultaneously safely.
|
|
124
|
+
- **With `boundary-not-placeholder`:** If a concurrent stream hits a missing dependency, use `// BOUNDARY:` stubs. Don't block the stream indefinitely.
|
|
125
|
+
|
|
126
|
+
## Common Mistakes
|
|
127
|
+
|
|
128
|
+
| Mistake | Consequence | Fix |
|
|
129
|
+
|---------|-------------|-----|
|
|
130
|
+
| Concurrent edits to same file | Overwrites, hash mismatches | One stream per file strictly |
|
|
131
|
+
| No synthesis step | Contradictory logic | Always synthesize before committing changes |
|
|
132
|
+
| Shared dependencies not frozen | Build breaks unexpectedly | Use interface contracts first |
|
|
133
|
+
|
|
134
|
+
## TDD-Order Dispatch (Slice Implementation)
|
|
135
|
+
|
|
136
|
+
### Triggering Condition
|
|
137
|
+
|
|
138
|
+
Enter parallel mode when the slice's tasks contain surface tags (`BE`, `FE`, `QA`). Proceed sequentially when no tags are found.
|
|
139
|
+
|
|
140
|
+
### Core Principle
|
|
141
|
+
|
|
142
|
+
> **Tests are the rock. Code is malleable.** Tests encode the acceptance criteria and must be comprehensive. Code adapts to pass tests, never the reverse.
|
|
143
|
+
|
|
144
|
+
### 5-Phase Dispatch Table
|
|
145
|
+
|
|
146
|
+
| Phase | Agent | Responsibility | Depends On |
|
|
147
|
+
|-------|-------|----------------|------------|
|
|
148
|
+
| 0 | Orchestrator | Contracts/schemas (untagged tasks) | — |
|
|
149
|
+
| 1 | QA (RED) | Write comprehensive failing tests | Phase 0 |
|
|
150
|
+
| 2 | BE + FE (parallel) | Write code to make tests pass | Phase 1 |
|
|
151
|
+
| 3 | QA (GREEN) | Verify all tests pass, anti-cheat audit | Phase 2 |
|
|
152
|
+
| 4 | Orchestrator | Iterative correction loop if needed | Phase 3 |
|
|
153
|
+
|
|
154
|
+
### Dispatch Instructions
|
|
155
|
+
|
|
156
|
+
1. **Untagged tasks first** — Contract/schema work runs sequentially by orchestrator (Phase 0) before any tagged dispatch.
|
|
157
|
+
2. **QA-RED** — QA agent writes comprehensive failing tests for ALL acceptance criteria. Tests MUST fail. Read `.codex/skills/session-continuity/protocols/09-parallel-claim.md`. Every contract field and error type covered.
|
|
158
|
+
3. **BE + FE parallel** — Code against tests and contracts simultaneously. Annotate spec-gap decisions with `// DECISION: [what and why]`.
|
|
159
|
+
4. **QA-GREEN** — Re-verify all tests pass, anti-cheat check, add integration tests.
|
|
160
|
+
5. **Iterative loop rule** — If QA-GREEN fails → re-dispatch BE/FE → QA-GREEN again → repeat until all pass.
|
|
161
|
+
6. **File independence check** — Verify no two tagged tasks touch the same files before dispatching (prevents tool call hash mismatches).
|
|
162
|
+
|
|
163
|
+
### Progress Logging
|
|
164
|
+
|
|
165
|
+
Log each dispatch phase to `.memory/pipeline/progress/slices/phase-NN-slice-NN.md` under `## Dispatch Log`.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: parallel-debugging
|
|
3
|
+
description: Leverage concurrent terminal background processes to debug multiple independent failures simultaneously using ACH methodology. Use when you have 2+ failures across different subsystems.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Parallel Debugging via Concurrent Streams
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
When a test suite or system has multiple independent failures, investigating them sequentially in a single terminal is slow. This skill teaches you to spawn multiple concurrent workstreams (e.g. background bash processes) per failure domain, investigating them simultaneously.
|
|
11
|
+
|
|
12
|
+
**Core principle:** This is a concurrency layer on top of `systematic-debugging`, not a replacement. You must still follow the full four-phase debugging process for each stream.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- 2+ test failures across **different files or subsystems**
|
|
17
|
+
- Multiple error types in logs from **independent components**
|
|
18
|
+
- Post-refactor breakage across **unrelated modules**
|
|
19
|
+
- Production incidents affecting **separate services**
|
|
20
|
+
|
|
21
|
+
## When NOT to Use
|
|
22
|
+
|
|
23
|
+
- **Related failures** — fixing one might fix others (investigate together first)
|
|
24
|
+
- **Shared state** — concurrent terminal commands might interfere (e.g. mutating the same database table)
|
|
25
|
+
- **Unknown scope** — you don't know what's broken yet (explore first, then go concurrent)
|
|
26
|
+
- **Single root cause suspected** — one investigation is faster
|
|
27
|
+
|
|
28
|
+
**Decision test:** If fixing Bug A could possibly affect Bug B, they are NOT independent. Investigate sequentially to avoid tool tool conflict.
|
|
29
|
+
|
|
30
|
+
## The Protocol
|
|
31
|
+
|
|
32
|
+
### Phase 1: Hypothesis Generation (ACH)
|
|
33
|
+
|
|
34
|
+
Before dispatching agents, generate competing hypotheses:
|
|
35
|
+
|
|
36
|
+
1. **List all failures** with their error messages, stack traces, and last-known-good state
|
|
37
|
+
2. **Group by domain** — which failures share files, state, or call paths?
|
|
38
|
+
3. **Independence test** — for each group, ask: "Could fixing group A change group B's behavior?"
|
|
39
|
+
- **Yes** → merge into one investigation
|
|
40
|
+
- **No** → independent, can parallelize
|
|
41
|
+
|
|
42
|
+
```markdown
|
|
43
|
+
## Failure Analysis
|
|
44
|
+
|
|
45
|
+
| # | Failure | Domain | Files | Independent? |
|
|
46
|
+
|---|---------|--------|-------|-------------|
|
|
47
|
+
| 1 | `auth.test.ts` — token expired | Auth | `src/auth/*` | ✅ |
|
|
48
|
+
| 2 | `api.test.ts` — 500 on /users | API handler | `src/api/users.ts` | ✅ |
|
|
49
|
+
| 3 | `api.test.ts` — 500 on /users/me | API handler | `src/api/users.ts` | ❌ shares files with #2 |
|
|
50
|
+
| 4 | `db.test.ts` — connection refused | Database | `src/db/*` | ✅ |
|
|
51
|
+
|
|
52
|
+
→ Dispatch: 3 agents (merge #2 + #3)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Phase 2: Concurrent Investigation
|
|
56
|
+
|
|
57
|
+
For each independent failure domain, start a concurrent investigation stream:
|
|
58
|
+
|
|
59
|
+
1. **Background Terminals**: Use your `WaitMsBeforeAsync` flag to run `npm run test -- path/to/failing.test.ts` in the background. Do this simultaneously for each independent domain.
|
|
60
|
+
2. **Concurrent Analysis**: Check the status of all background commands concurrently. Read the logs side-by-side.
|
|
61
|
+
|
|
62
|
+
**Constraint per stream:**
|
|
63
|
+
- Mentally partition your execution space: Workstream 1 only looks at Files A and B. Workstream 2 only looks at Files C and D.
|
|
64
|
+
- Do NOT try to `replace_file_content` without strict certainty that the files don't overlap.
|
|
65
|
+
- Every stream still requires the full `systematic-debugging` methodology: gather evidence, find patterns, form hypothesis, test minimally.
|
|
66
|
+
|
|
67
|
+
### Phase 3: Result Synthesis
|
|
68
|
+
|
|
69
|
+
After all agents complete:
|
|
70
|
+
|
|
71
|
+
```markdown
|
|
72
|
+
## Debug Synthesis
|
|
73
|
+
|
|
74
|
+
### Results
|
|
75
|
+
| Agent | Domain | Root Cause | Fix | Confidence | Cross-Domain? |
|
|
76
|
+
|-------|--------|-----------|-----|------------|---------------|
|
|
77
|
+
| 1 | Auth | Expired token TTL config | Updated config | HIGH | No |
|
|
78
|
+
| 2+3 | API | Missing null check on user.email | Added guard | HIGH | No |
|
|
79
|
+
| 4 | Database | Connection pool exhausted | Increased pool size | MEDIUM | Possible |
|
|
80
|
+
|
|
81
|
+
### Cross-Domain Discoveries
|
|
82
|
+
[Agent 4 noted: connection pool exhaustion could cause API timeouts under load.
|
|
83
|
+
This may be related to #2+3 under different conditions. Monitor after fix.]
|
|
84
|
+
|
|
85
|
+
### Integration Verification
|
|
86
|
+
- [ ] All agent fixes applied
|
|
87
|
+
- [ ] No file conflicts between agents
|
|
88
|
+
- [ ] Full test suite passes (not just fixed tests)
|
|
89
|
+
- [ ] Cross-domain discoveries documented as issues
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Synthesis rules:**
|
|
93
|
+
1. **HIGH confidence + no cross-stream overlap** → apply fixes concurrently using batched `replace_file_content` calls.
|
|
94
|
+
2. **MEDIUM confidence** → apply sequentially and test between each.
|
|
95
|
+
3. **Cross-stream discovery** → stop concurrent execution, investigate sequentially.
|
|
96
|
+
|
|
97
|
+
### Phase 4: Integration Verification
|
|
98
|
+
|
|
99
|
+
**Non-negotiable after merging all fixes:**
|
|
100
|
+
|
|
101
|
+
1. Run full test suite (not just the tests each agent fixed)
|
|
102
|
+
2. Check for new failures introduced by fixes
|
|
103
|
+
3. Verify no files were modified by multiple agents
|
|
104
|
+
4. Document cross-domain discoveries as issues for future investigation
|
|
105
|
+
|
|
106
|
+
## Example: Real Session
|
|
107
|
+
|
|
108
|
+
**Scenario:** 6 failures across 3 files after refactoring
|
|
109
|
+
|
|
110
|
+
| File | Failures | Domain |
|
|
111
|
+
|------|----------|--------|
|
|
112
|
+
| `agent-tool-abort.test.ts` | 3 (timing issues) | Abort logic |
|
|
113
|
+
| `batch-completion.test.ts` | 2 (tools not executing) | Batch processing |
|
|
114
|
+
| `race-conditions.test.ts` | 1 (execution count = 0) | Race condition handling |
|
|
115
|
+
|
|
116
|
+
**Independence test:** Abort logic, batch processing, and race conditions are separate subsystems. ✅
|
|
117
|
+
|
|
118
|
+
**Dispatch:** Start 3 concurrent `run_command` tests in the background using `WaitMsBeforeAsync`, each tracing their subsystem. Check `command_status` concurrently for all 3.
|
|
119
|
+
|
|
120
|
+
**Results:**
|
|
121
|
+
- Stream 1: Replaced arbitrary timeouts with event-based waiting
|
|
122
|
+
- Stream 2: Fixed event structure bug (`threadId` in wrong place)
|
|
123
|
+
- Stream 3: Added wait for async tool execution to complete
|
|
124
|
+
|
|
125
|
+
**Integration:** All fixes independent, applied via batched `multi_replace_file_content` calls, full suite tested and green.
|
|
126
|
+
|
|
127
|
+
## Common Mistakes
|
|
128
|
+
|
|
129
|
+
| Mistake | Consequence | Fix |
|
|
130
|
+
|---------|-------------|-----|
|
|
131
|
+
| Parallelizing related failures | One fix breaks another stream's assumptions | Independence test FIRST |
|
|
132
|
+
| Mismatched file edits | `replace_file_content` fails with hash mismatched | Ensure file scopes are 100% independent |
|
|
133
|
+
| Skipping systematic-debugging phases | Guessing instead of investigating | Run the actual tests concurrently |
|
|
134
|
+
| Running tests on shared DB | State leaks between background tests | Mock DB or run sequentially |
|
|
135
|
+
| Skipping integration verification | Silent regressions from fix interactions | Full suite after merge |
|