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,196 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clean-code
|
|
3
|
+
description: "Applies battle-tested clean code principles to writing, reviewing, and refactoring code. Covers naming, functions, comments, error handling, class design, and the critical difference between clever code and clear code."
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Clean Code
|
|
8
|
+
|
|
9
|
+
Code is read 10x more than it's written. Every naming choice, every function boundary, every abstraction layer either helps or hurts the next person who reads it — including future you.
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- Writing any new code
|
|
14
|
+
- Reviewing pull requests
|
|
15
|
+
- Refactoring existing code
|
|
16
|
+
- When code "works but feels wrong"
|
|
17
|
+
|
|
18
|
+
## Stack-Specific References
|
|
19
|
+
|
|
20
|
+
The principles below are language-agnostic. For idiomatic patterns and syntax, read the reference matching your surface's Languages column:
|
|
21
|
+
|
|
22
|
+
| Language | Reference |
|
|
23
|
+
|----------|-----------|
|
|
24
|
+
| TypeScript / JavaScript | `references/typescript.md` |
|
|
25
|
+
| Python | `references/python.md` |
|
|
26
|
+
| Go | `references/go.md` |
|
|
27
|
+
| Rust | `references/rust.md` |
|
|
28
|
+
|
|
29
|
+
## Core Principles
|
|
30
|
+
|
|
31
|
+
### 1. Names Are Documentation
|
|
32
|
+
|
|
33
|
+
Names should reveal intent. If a name requires a comment to explain it, the name is wrong.
|
|
34
|
+
|
|
35
|
+
| Bad | Good | Why |
|
|
36
|
+
|-----|------|-----|
|
|
37
|
+
| `d` | `elapsedDays` | What is `d`? |
|
|
38
|
+
| `list` | `activeUsers` | What kind of list? |
|
|
39
|
+
| `processData()` | `validateAndSaveOrder()` | What processing? |
|
|
40
|
+
| `temp` | `filteredResults` | Temporary what? |
|
|
41
|
+
| `flag` | `isEligibleForDiscount` | What flag? |
|
|
42
|
+
| `doStuff()` | `sendWelcomeEmail()` | What stuff? |
|
|
43
|
+
| `Manager` | `OrderProcessor` | Manager of what? |
|
|
44
|
+
| `Utils` | `StringFormatter` | Util for what? |
|
|
45
|
+
|
|
46
|
+
**Rules:**
|
|
47
|
+
- Classes/types → nouns (`UserRepository`, `PaymentGateway`)
|
|
48
|
+
- Functions → verbs (`calculateTotal`, `sendNotification`)
|
|
49
|
+
- Booleans → questions (`isActive`, `hasPermission`, `canEdit`)
|
|
50
|
+
- Constants → screaming snake with context (`MAX_RETRY_ATTEMPTS`, not `MAX`)
|
|
51
|
+
- No abbreviations unless universally understood (`id`, `url`, `api` are fine; `usr`, `mgr`, `proc` are not)
|
|
52
|
+
|
|
53
|
+
### 2. Functions Should Do One Thing
|
|
54
|
+
|
|
55
|
+
A function that does one thing well is easy to name, test, and reuse. A function that does three things is hard to name, impossible to test independently, and couples three responsibilities.
|
|
56
|
+
|
|
57
|
+
**The test:** Can you describe the function without using "and"? If not, split it.
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
❌ processOrder(order)
|
|
61
|
+
— validates order
|
|
62
|
+
— calculates total with tax
|
|
63
|
+
— saves to database
|
|
64
|
+
— sends confirmation email
|
|
65
|
+
|
|
66
|
+
✅ validateOrder(order) → throws if invalid
|
|
67
|
+
calculateOrderTotal(items) → returns numeric total
|
|
68
|
+
submitOrder(order) → orchestrates the above
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Function size limits:**
|
|
72
|
+
- **Ideal**: 5-15 lines
|
|
73
|
+
- **Acceptable**: up to 30 lines
|
|
74
|
+
- **Needs splitting**: 30+ lines
|
|
75
|
+
- **Unacceptable**: 50+ lines (split immediately)
|
|
76
|
+
|
|
77
|
+
### 3. Parameters
|
|
78
|
+
|
|
79
|
+
- **0-2 parameters**: ideal
|
|
80
|
+
- **3 parameters**: acceptable with named/destructured args
|
|
81
|
+
- **4+ parameters**: use an options object/struct/dataclass
|
|
82
|
+
- **Boolean parameters**: almost always a code smell — split into two functions
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
❌ createUser(name, isAdmin)
|
|
86
|
+
✅ createUser(name) / createAdmin(name)
|
|
87
|
+
|
|
88
|
+
❌ sendEmail(to, from, subject, body, cc)
|
|
89
|
+
✅ sendEmail(options) ← options is a structured type
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 4. Comments: Why, Not What
|
|
93
|
+
|
|
94
|
+
Good code doesn't need comments to explain WHAT it does. Comments should explain WHY — the non-obvious reasoning, business rules, or constraints.
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
❌ // Increment counter by one
|
|
98
|
+
counter += 1
|
|
99
|
+
|
|
100
|
+
❌ // Check if user is admin
|
|
101
|
+
if user.role == "admin"
|
|
102
|
+
|
|
103
|
+
✅ // Stripe requires amount in cents, not dollars
|
|
104
|
+
amountInCents = round(price * 100)
|
|
105
|
+
|
|
106
|
+
✅ // FDA regulation 21 CFR Part 11 requires audit trail
|
|
107
|
+
auditLog.record(changeEvent)
|
|
108
|
+
|
|
109
|
+
✅ // WARNING: This query locks the orders table — avoid during peak hours
|
|
110
|
+
db.execute(batchUpdateQuery)
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Delete these comments immediately:**
|
|
114
|
+
- `// TODO: fix this later` — fix it now or create a tracked issue
|
|
115
|
+
- `// This is a hack` — then don't commit the hack
|
|
116
|
+
- `// I don't know why this works` — figure it out before shipping
|
|
117
|
+
- Commented-out code — delete it; version control has your history
|
|
118
|
+
|
|
119
|
+
### 5. Error Handling
|
|
120
|
+
|
|
121
|
+
Errors are not edge cases — they're expected behavior. Handle them explicitly.
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
❌ try { save(order) } catch { log("error") }
|
|
125
|
+
→ What error? What happens to the order?
|
|
126
|
+
|
|
127
|
+
❌ try { processPayment(order) } catch { throw Error("Something went wrong") }
|
|
128
|
+
→ Useless to the caller
|
|
129
|
+
|
|
130
|
+
✅ try {
|
|
131
|
+
processPayment(order)
|
|
132
|
+
} catch InsufficientFundsError:
|
|
133
|
+
return { success: false, code: "INSUFFICIENT_FUNDS", retry: false }
|
|
134
|
+
catch PaymentGatewayError:
|
|
135
|
+
logger.error("Payment gateway failure", { orderId: order.id })
|
|
136
|
+
return { success: false, code: "GATEWAY_ERROR", retry: true }
|
|
137
|
+
catch unknown:
|
|
138
|
+
rethrow → Unknown errors bubble up
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### 6. Don't Repeat Yourself (DRY) — But Don't Over-Abstract
|
|
142
|
+
|
|
143
|
+
**DRY violation** — same logic copy-pasted in 3+ places:
|
|
144
|
+
```
|
|
145
|
+
tax1 = price1 * 0.08
|
|
146
|
+
tax2 = price2 * 0.08
|
|
147
|
+
tax3 = price3 * 0.08
|
|
148
|
+
→ Extract: calculateTax(price)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Over-abstraction** — premature DRY that couples unrelated things:
|
|
152
|
+
```
|
|
153
|
+
❌ handleEntity(type, action, data) → "universal" handler for everything
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**Rule of Three**: Duplicate once is acceptable. Duplicate twice means extract.
|
|
157
|
+
|
|
158
|
+
### 7. Code Organization
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
High-level policy (business logic)
|
|
162
|
+
│
|
|
163
|
+
▼
|
|
164
|
+
┌─────────────────────┐
|
|
165
|
+
│ Domain Layer │ Pure logic, no I/O
|
|
166
|
+
│ (models, rules) │
|
|
167
|
+
└─────────────────────┘
|
|
168
|
+
│
|
|
169
|
+
┌─────────────────────┐
|
|
170
|
+
│ Application Layer │ Orchestrates domain objects
|
|
171
|
+
│ (use cases) │
|
|
172
|
+
└─────────────────────┘
|
|
173
|
+
│
|
|
174
|
+
┌─────────────────────┐
|
|
175
|
+
│ Infrastructure │ I/O, databases, APIs
|
|
176
|
+
│ (adapters) │
|
|
177
|
+
└─────────────────────┘
|
|
178
|
+
│
|
|
179
|
+
Low-level detail (frameworks, drivers)
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
- Dependencies point inward (infrastructure depends on domain, not reverse)
|
|
183
|
+
- Business logic never imports from infrastructure
|
|
184
|
+
- Test domain logic without databases, APIs, or frameworks
|
|
185
|
+
|
|
186
|
+
## Quick Refactoring Checklist
|
|
187
|
+
|
|
188
|
+
Before committing code, check:
|
|
189
|
+
|
|
190
|
+
- [ ] Can I understand every function in <10 seconds?
|
|
191
|
+
- [ ] Are there any functions >30 lines?
|
|
192
|
+
- [ ] Are there any files >200 lines (components) or >300 lines (utilities)?
|
|
193
|
+
- [ ] Do all names reveal intent without needing comments?
|
|
194
|
+
- [ ] Is there any copy-pasted logic (3+ occurrences)?
|
|
195
|
+
- [ ] Are errors handled specifically, not swallowed or genericized?
|
|
196
|
+
- [ ] Would a new team member understand this without asking me?
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# TypeScript Clean Code Patterns
|
|
2
|
+
|
|
3
|
+
Language-specific patterns for the `clean-code` skill. Read `SKILL.md` first for universal principles.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Single Responsibility
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
// ❌ Does three things
|
|
11
|
+
function processOrder(order: Order): void {
|
|
12
|
+
if (!order.items.length) throw new Error("Empty order");
|
|
13
|
+
if (!order.customer) throw new Error("No customer");
|
|
14
|
+
|
|
15
|
+
let total = 0;
|
|
16
|
+
for (const item of order.items) {
|
|
17
|
+
total += item.price * item.quantity;
|
|
18
|
+
if (item.taxable) total += item.price * 0.08;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
db.orders.insert({ ...order, total, status: "pending" });
|
|
22
|
+
emailService.send(order.customer.email, "Order confirmed");
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// ✅ Each function does one thing
|
|
26
|
+
function validateOrder(order: Order): void {
|
|
27
|
+
if (!order.items.length) throw new InvalidOrderError("Empty order");
|
|
28
|
+
if (!order.customer) throw new InvalidOrderError("No customer");
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function calculateOrderTotal(items: OrderItem[]): number {
|
|
32
|
+
return items.reduce((total, item) => {
|
|
33
|
+
const subtotal = item.price * item.quantity;
|
|
34
|
+
const tax = item.taxable ? item.price * TAX_RATE : 0;
|
|
35
|
+
return total + subtotal + tax;
|
|
36
|
+
}, 0);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function submitOrder(order: Order): OrderConfirmation {
|
|
40
|
+
validateOrder(order);
|
|
41
|
+
const total = calculateOrderTotal(order.items);
|
|
42
|
+
const saved = db.orders.insert({ ...order, total, status: "pending" });
|
|
43
|
+
emailService.send(order.customer.email, "Order confirmed");
|
|
44
|
+
return { orderId: saved.id, total };
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Options Objects Over Positional Args
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
// ❌ Boolean flag parameter
|
|
52
|
+
function createUser(name: string, isAdmin: boolean): User { ... }
|
|
53
|
+
|
|
54
|
+
// ✅ Two clear functions
|
|
55
|
+
function createUser(name: string): User { ... }
|
|
56
|
+
function createAdmin(name: string): User { ... }
|
|
57
|
+
|
|
58
|
+
// ❌ Too many positional args
|
|
59
|
+
function sendEmail(to: string, from: string, subject: string, body: string, cc?: string): void { ... }
|
|
60
|
+
|
|
61
|
+
// ✅ Options object
|
|
62
|
+
interface SendEmailOptions {
|
|
63
|
+
to: string;
|
|
64
|
+
from: string;
|
|
65
|
+
subject: string;
|
|
66
|
+
body: string;
|
|
67
|
+
cc?: string;
|
|
68
|
+
}
|
|
69
|
+
function sendEmail(options: SendEmailOptions): void { ... }
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Error Handling
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
// ❌ Swallowing errors
|
|
76
|
+
try {
|
|
77
|
+
await saveOrder(order);
|
|
78
|
+
} catch (e) {
|
|
79
|
+
console.log("error");
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// ❌ Generic catch-all
|
|
83
|
+
try {
|
|
84
|
+
await processPayment(order);
|
|
85
|
+
} catch (e) {
|
|
86
|
+
throw new Error("Something went wrong");
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// ✅ Specific, actionable error handling
|
|
90
|
+
try {
|
|
91
|
+
await processPayment(order);
|
|
92
|
+
} catch (error) {
|
|
93
|
+
if (error instanceof InsufficientFundsError) {
|
|
94
|
+
return { success: false, code: "INSUFFICIENT_FUNDS", retry: false };
|
|
95
|
+
}
|
|
96
|
+
if (error instanceof PaymentGatewayError) {
|
|
97
|
+
logger.error("Payment gateway failure", { orderId: order.id, error });
|
|
98
|
+
return { success: false, code: "GATEWAY_ERROR", retry: true };
|
|
99
|
+
}
|
|
100
|
+
throw error; // Unknown errors bubble up
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Comments
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
// ❌ Redundant
|
|
108
|
+
// Increment counter by one
|
|
109
|
+
counter += 1;
|
|
110
|
+
|
|
111
|
+
// ❌ Obvious
|
|
112
|
+
// Check if user is admin
|
|
113
|
+
if (user.role === "admin") { ... }
|
|
114
|
+
|
|
115
|
+
// ✅ Explains WHY
|
|
116
|
+
// Stripe requires amount in cents, not dollars
|
|
117
|
+
const amountInCents = Math.round(price * 100);
|
|
118
|
+
|
|
119
|
+
// ✅ Business rule
|
|
120
|
+
// FDA regulation 21 CFR Part 11 requires audit trail for all changes
|
|
121
|
+
await auditLog.record(changeEvent);
|
|
122
|
+
|
|
123
|
+
// ✅ Non-obvious consequence
|
|
124
|
+
// WARNING: This query locks the orders table — avoid running during peak hours
|
|
125
|
+
await db.execute(batchUpdateQuery);
|
|
126
|
+
```
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Code Review Pro
|
|
3
|
+
description: Deep code analysis covering security, performance, maintainability, and best practices
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Code Review Pro
|
|
7
|
+
|
|
8
|
+
Deep code analysis covering security, performance, maintainability, and best practices.
|
|
9
|
+
|
|
10
|
+
## When to Use This Skill
|
|
11
|
+
Activate when the user:
|
|
12
|
+
- Asks for a code review
|
|
13
|
+
- Wants security vulnerability scanning
|
|
14
|
+
- Needs performance analysis
|
|
15
|
+
- Asks to "review this code" or "audit this code"
|
|
16
|
+
- Mentions finding bugs or improvements
|
|
17
|
+
- Wants refactoring suggestions
|
|
18
|
+
- Requests best practice validation
|
|
19
|
+
|
|
20
|
+
## Instructions
|
|
21
|
+
1. **Security Analysis (Critical Priority)**
|
|
22
|
+
- SQL injection vulnerabilities
|
|
23
|
+
- XSS (cross-site scripting) risks
|
|
24
|
+
- Authentication/authorization issues
|
|
25
|
+
- Secrets or credentials in code
|
|
26
|
+
- Unsafe deserialization
|
|
27
|
+
- Path traversal vulnerabilities
|
|
28
|
+
- CSRF protection
|
|
29
|
+
- Input validation gaps
|
|
30
|
+
- Insecure cryptography
|
|
31
|
+
- Dependency vulnerabilities
|
|
32
|
+
|
|
33
|
+
2. **Performance Analysis**
|
|
34
|
+
- N+1 query problems
|
|
35
|
+
- Inefficient algorithms (check Big O complexity)
|
|
36
|
+
- Memory leaks
|
|
37
|
+
- Unnecessary re-renders (React/Vue)
|
|
38
|
+
- Missing indexes (database queries)
|
|
39
|
+
- Blocking operations
|
|
40
|
+
- Resource cleanup (file handles, connections)
|
|
41
|
+
- Caching opportunities
|
|
42
|
+
- Excessive network calls
|
|
43
|
+
- Large bundle sizes
|
|
44
|
+
|
|
45
|
+
3. **Code Quality & Maintainability**
|
|
46
|
+
- Code duplication (DRY violations)
|
|
47
|
+
- Function/method length (should be <50 lines)
|
|
48
|
+
- Cyclomatic complexity
|
|
49
|
+
- Unclear naming
|
|
50
|
+
- Missing error handling
|
|
51
|
+
- Inconsistent style
|
|
52
|
+
- Missing documentation
|
|
53
|
+
- Hard-coded values that should be constants
|
|
54
|
+
- God classes/functions
|
|
55
|
+
- Tight coupling
|
|
56
|
+
|
|
57
|
+
4. **Best Practices**
|
|
58
|
+
- Language-specific idioms
|
|
59
|
+
- Framework conventions
|
|
60
|
+
- SOLID principles
|
|
61
|
+
- Design patterns usage
|
|
62
|
+
- Testing approach
|
|
63
|
+
- Logging and monitoring
|
|
64
|
+
- Accessibility (for UI code)
|
|
65
|
+
- Type safety
|
|
66
|
+
- Null/undefined handling
|
|
67
|
+
|
|
68
|
+
5. **Bugs and Edge Cases**
|
|
69
|
+
- Logic errors
|
|
70
|
+
- Off-by-one errors
|
|
71
|
+
- Race conditions
|
|
72
|
+
- Null pointer exceptions
|
|
73
|
+
- Unhandled edge cases
|
|
74
|
+
- Timezone issues
|
|
75
|
+
- Encoding problems
|
|
76
|
+
- Floating point precision
|
|
77
|
+
|
|
78
|
+
6. **Provide Actionable Fixes**
|
|
79
|
+
- Show specific code changes
|
|
80
|
+
- Explain why change is needed
|
|
81
|
+
- Include before/after examples
|
|
82
|
+
- Prioritize by severity
|
|
83
|
+
|
|
84
|
+
## Output Format
|
|
85
|
+
```markdown
|
|
86
|
+
# Code Review Report
|
|
87
|
+
|
|
88
|
+
## 🚨 Critical Issues (Fix Immediately)
|
|
89
|
+
### 1. [Issue Title] (line X)
|
|
90
|
+
**Severity**: Critical
|
|
91
|
+
**Issue**: [Description]
|
|
92
|
+
**Impact**: [What could happen]
|
|
93
|
+
|
|
94
|
+
**Current Code:**
|
|
95
|
+
```
|
|
96
|
+
[problematic code]
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**Fixed Code:**
|
|
100
|
+
```
|
|
101
|
+
[corrected code]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Explanation**: [Why this matters]
|
|
105
|
+
|
|
106
|
+
## ⚠️ High Priority Issues
|
|
107
|
+
### 2. [Issue] (line Y)
|
|
108
|
+
[Details...]
|
|
109
|
+
|
|
110
|
+
## 💡 Medium Priority Issues
|
|
111
|
+
### 3. [Issue] (line Z)
|
|
112
|
+
[Details...]
|
|
113
|
+
|
|
114
|
+
## ✅ Low Priority / Nice to Have
|
|
115
|
+
### 4. [Issue]
|
|
116
|
+
[Details...]
|
|
117
|
+
|
|
118
|
+
## 📊 Summary
|
|
119
|
+
- **Total Issues**: N
|
|
120
|
+
- Critical: X
|
|
121
|
+
- High: Y
|
|
122
|
+
- Medium: Z
|
|
123
|
+
- Low: W
|
|
124
|
+
|
|
125
|
+
## 🎯 Quick Wins
|
|
126
|
+
Changes with high impact and low effort:
|
|
127
|
+
1. [Fix 1]
|
|
128
|
+
2. [Fix 2]
|
|
129
|
+
|
|
130
|
+
## 🏆 Strengths
|
|
131
|
+
- [Positive observation 1]
|
|
132
|
+
- [Positive observation 2]
|
|
133
|
+
|
|
134
|
+
## 🔄 Refactoring Opportunities
|
|
135
|
+
1. **Extract Method**: Lines X-Y could be extracted into `functionName()`
|
|
136
|
+
2. **Remove Duplication**: [specific code blocks]
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Best Practices
|
|
140
|
+
- Always prioritize security issues first
|
|
141
|
+
- Provide specific line numbers for issues
|
|
142
|
+
- Include before/after code examples
|
|
143
|
+
- Explain *why* something is a problem
|
|
144
|
+
- Consider the language/framework context
|
|
145
|
+
- Don't just criticize—acknowledge good code too
|
|
146
|
+
- Suggest gradual improvements for large refactors
|
|
147
|
+
- Link to documentation for recommendations
|
|
148
|
+
- Consider project constraints (legacy code, deadlines)
|
|
149
|
+
- Balance perfectionism with pragmatism
|
|
150
|
+
- Focus on impactful changes
|
|
151
|
+
- Group similar issues together
|
|
152
|
+
- Make recommendations actionable
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: concise-planning
|
|
3
|
+
description: "Use when a user asks for a plan for a coding task, to generate a clear, actionable, and atomic checklist."
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
source: self
|
|
6
|
+
date_added: "2026-02-27"
|
|
7
|
+
date_rewritten: "2026-03-14"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Concise Planning
|
|
11
|
+
|
|
12
|
+
Generate focused, actionable implementation plans that eliminate ambiguity and prevent scope creep.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- User asks "how should I approach this?" or "can you make a plan for X?"
|
|
17
|
+
- Task involves multiple files or components
|
|
18
|
+
- Work spans more than ~3 logical steps
|
|
19
|
+
- You need to communicate a proposed sequence before executing
|
|
20
|
+
|
|
21
|
+
## When NOT to Use
|
|
22
|
+
|
|
23
|
+
- Task is a single-step operation (just do it)
|
|
24
|
+
- User gave an explicit command with clear intent (just execute)
|
|
25
|
+
- During `/plan-phase` or `/implement-slice` (those have their own planning structure)
|
|
26
|
+
|
|
27
|
+
## Workflow
|
|
28
|
+
|
|
29
|
+
### 1. Scan Context (30 seconds, not 5 minutes)
|
|
30
|
+
|
|
31
|
+
Read only what's necessary:
|
|
32
|
+
- **Project structure** — `ls` the relevant directories
|
|
33
|
+
- **Existing patterns** — check one similar file for conventions
|
|
34
|
+
- **Constraints** — look for test frameworks, linters, type systems in use
|
|
35
|
+
|
|
36
|
+
Do NOT read every file in the project. Do NOT generate a 500-line analysis. Scan, not study.
|
|
37
|
+
|
|
38
|
+
### 2. Ask or Assume
|
|
39
|
+
|
|
40
|
+
- **0 questions** if the task is clear and you have enough context
|
|
41
|
+
- **1 question max** if there's a genuinely blocking ambiguity
|
|
42
|
+
- **Never more than 2** — if you need more, you don't understand the codebase well enough. Go read more code instead of asking.
|
|
43
|
+
|
|
44
|
+
For non-blocking unknowns, state your assumption:
|
|
45
|
+
> "Assuming we want this as a new utility in `lib/` rather than inline — will adjust if you prefer otherwise."
|
|
46
|
+
|
|
47
|
+
### 3. Generate Plan
|
|
48
|
+
|
|
49
|
+
Use this exact structure:
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
## Approach
|
|
53
|
+
|
|
54
|
+
[1-3 sentences: what you'll do and why this approach over alternatives]
|
|
55
|
+
|
|
56
|
+
## Scope
|
|
57
|
+
|
|
58
|
+
**In:**
|
|
59
|
+
- [Specific deliverable 1]
|
|
60
|
+
- [Specific deliverable 2]
|
|
61
|
+
|
|
62
|
+
**Out:**
|
|
63
|
+
- [Explicitly excluded item — prevents scope creep]
|
|
64
|
+
|
|
65
|
+
## Steps
|
|
66
|
+
|
|
67
|
+
1. [Verb] [specific target] — [why, if non-obvious]
|
|
68
|
+
2. [Verb] [specific target]
|
|
69
|
+
3. [Verb] [specific target]
|
|
70
|
+
4. [Verb] [specific target]
|
|
71
|
+
5. Validate: [specific validation command or check]
|
|
72
|
+
|
|
73
|
+
## Assumptions
|
|
74
|
+
|
|
75
|
+
- [Assumption 1 — what you decided without asking]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Plan Quality Rules
|
|
79
|
+
|
|
80
|
+
| Rule | Why |
|
|
81
|
+
|------|-----|
|
|
82
|
+
| **6-10 steps** | Fewer = too vague. More = over-planned. |
|
|
83
|
+
| **Verb-first steps** | "Add", "Create", "Refactor", "Test" — not "The component should..." |
|
|
84
|
+
| **Name files and functions** | "Add `validateEmail()` to `lib/validators.ts`" not "add validation" |
|
|
85
|
+
| **One validation step minimum** | Every plan ends with proof it works |
|
|
86
|
+
| **Explicit "Out" scope** | Prevents the plan from growing mid-execution |
|
|
87
|
+
| **No nested sub-plans** | If a step needs sub-steps, it's too big — split it |
|
|
88
|
+
|
|
89
|
+
### Anti-Patterns
|
|
90
|
+
|
|
91
|
+
| Don't | Do |
|
|
92
|
+
|-------|-----|
|
|
93
|
+
| "Research best practices for X" | Just apply the best practice directly in a step |
|
|
94
|
+
| "Consider whether to use A or B" | Pick one, state why, move on |
|
|
95
|
+
| "Set up the project structure" | "Create `src/validators/` with `index.ts` and `email.ts`" |
|
|
96
|
+
| "Write tests" | "Add tests for `validateEmail`: valid input, empty string, missing @, >254 chars" |
|
|
97
|
+
| 20-step plan | 8-step plan with clear scope boundaries |
|
|
98
|
+
| Plan that describes what might happen | Plan that describes what WILL happen |
|
|
99
|
+
|
|
100
|
+
## Output Format
|
|
101
|
+
|
|
102
|
+
Always present the plan in a markdown code block or as structured markdown. Never as prose paragraphs.
|
|
103
|
+
|
|
104
|
+
After presenting the plan, ask one question:
|
|
105
|
+
> "Ready to execute, or want to adjust anything?"
|
|
106
|
+
|
|
107
|
+
Then execute on confirmation — don't re-plan.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: create-prd
|
|
3
|
+
description: Orchestrate architecture design generation from ideation through stack, design-system, architecture, security, and compile shards
|
|
4
|
+
parameters:
|
|
5
|
+
- name: ideation_index
|
|
6
|
+
type: string
|
|
7
|
+
required: false
|
|
8
|
+
description: Optional override path to ideation-index.md
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Runs the create-prd stage in five shards and compiles final architecture outputs.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## Prerequisites
|
|
17
|
+
|
|
18
|
+
1. `.memory/wiki/specs/ideation/ideation-index.md` exists and is complete
|
|
19
|
+
2. Ideation approval already obtained
|
|
20
|
+
3. `.codex/instructions/tech-stack.md` exists and has resolved values for required map cells
|
|
21
|
+
|
|
22
|
+
## Step-by-Step
|
|
23
|
+
|
|
24
|
+
### Step 0 — Ideation readiness gate
|
|
25
|
+
|
|
26
|
+
1. Read ideation index and validate required sections:
|
|
27
|
+
- `## Structural Classification`
|
|
28
|
+
- `## Engagement Tier`
|
|
29
|
+
- `## MoSCoW Summary` (with at least one Must Have)
|
|
30
|
+
2. If missing required sections: stop and direct user to complete ideation.
|
|
31
|
+
3. For large ideation sets, run deep ideation loading protocol and write digest to architecture draft.
|
|
32
|
+
|
|
33
|
+
### Step 1 — Run stack shard
|
|
34
|
+
|
|
35
|
+
Call skill: `create-prd-stack`
|
|
36
|
+
|
|
37
|
+
Expected outputs:
|
|
38
|
+
- `.memory/wiki/specs/architecture/prd-working/ideation-relevance-index.md`
|
|
39
|
+
- `.memory/wiki/specs/architecture/prd-working/stack-synthesis.md`
|
|
40
|
+
- Stack decisions appended to `.memory/wiki/specs/architecture-draft.md`
|
|
41
|
+
|
|
42
|
+
### Step 2 — Run design-system shard
|
|
43
|
+
|
|
44
|
+
Call skill: `create-prd-design-system`
|
|
45
|
+
|
|
46
|
+
Expected outputs:
|
|
47
|
+
- `.memory/wiki/specs/design-system.md`
|
|
48
|
+
- `.memory/wiki/specs/architecture/prd-working/design-system-synthesis.md`
|
|
49
|
+
|
|
50
|
+
### Step 3 — Run architecture shard
|
|
51
|
+
|
|
52
|
+
Call skill: `create-prd-architecture`
|
|
53
|
+
|
|
54
|
+
Expected outputs:
|
|
55
|
+
- `## System Architecture` in `.memory/wiki/specs/architecture-draft.md`
|
|
56
|
+
- `## Error Architecture` in `.memory/wiki/specs/architecture-draft.md`
|
|
57
|
+
- `## Data Strategy` in `.memory/wiki/specs/architecture-draft.md`
|
|
58
|
+
- `.memory/wiki/specs/data-placement-strategy.md`
|
|
59
|
+
|
|
60
|
+
### Step 4 — Run security shard
|
|
61
|
+
|
|
62
|
+
Call skill: `create-prd-security`
|
|
63
|
+
|
|
64
|
+
Expected outputs:
|
|
65
|
+
- `## Security Model` in `.memory/wiki/specs/architecture-draft.md`
|
|
66
|
+
- `## Security — Attack Surface` in `.memory/wiki/specs/architecture-draft.md`
|
|
67
|
+
- `## Integration Points` in `.memory/wiki/specs/architecture-draft.md`
|
|
68
|
+
- `## Observability Architecture` in `.memory/wiki/specs/architecture-draft.md`
|
|
69
|
+
|
|
70
|
+
### Step 5 — Run compile shard
|
|
71
|
+
|
|
72
|
+
Call skill: `create-prd-compile`
|
|
73
|
+
|
|
74
|
+
Expected outputs:
|
|
75
|
+
- `.memory/wiki/specs/YYYY-MM-DD-architecture-design.md`
|
|
76
|
+
- `.memory/wiki/specs/ENGINEERING-STANDARDS.md`
|
|
77
|
+
- Checkpoint cleanup in `.memory/wiki/specs/architecture/prd-working/`
|
|
78
|
+
|
|
79
|
+
## Completion Checklist
|
|
80
|
+
|
|
81
|
+
- [ ] Ideation readiness and size-aware loading handled
|
|
82
|
+
- [ ] Stack shard complete
|
|
83
|
+
- [ ] Design-system shard complete
|
|
84
|
+
- [ ] Architecture shard complete
|
|
85
|
+
- [ ] Security shard complete
|
|
86
|
+
- [ ] Compile shard complete
|
|
87
|
+
- [ ] Architecture rubric self-check complete
|
|
88
|
+
- [ ] User review requested with both final documents
|
|
89
|
+
- [ ] Next command recommendation emitted
|
|
90
|
+
|
|
91
|
+
## Next Steps
|
|
92
|
+
|
|
93
|
+
After explicit user approval of compiled architecture outputs, the only valid next command is:
|
|
94
|
+
- `/audit-ambiguity architecture`
|