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,57 @@
|
|
|
1
|
+
# Write Verification Protocol
|
|
2
|
+
|
|
3
|
+
**Purpose**: Every file write MUST be verified by reading the file back. This protocol eliminates the ~18 instances of "write the completed section" without verification.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Procedure
|
|
8
|
+
|
|
9
|
+
### 1. Write
|
|
10
|
+
|
|
11
|
+
Write the content to the target file at the specified section.
|
|
12
|
+
|
|
13
|
+
### 2. Read Back
|
|
14
|
+
|
|
15
|
+
Immediately after writing, read the target file. Locate the section header that was just written.
|
|
16
|
+
|
|
17
|
+
### 3. Verify
|
|
18
|
+
|
|
19
|
+
Check ALL of these conditions:
|
|
20
|
+
|
|
21
|
+
- [ ] The section header exists in the file
|
|
22
|
+
- [ ] The section content is non-empty (not just a header with no body)
|
|
23
|
+
- [ ] The content matches what was intended (key fields present, no truncation)
|
|
24
|
+
|
|
25
|
+
### 4. Handle Failure
|
|
26
|
+
|
|
27
|
+
**If ANY check fails:**
|
|
28
|
+
|
|
29
|
+
1. Log: "Write verification failed for `[file]` section `[section]`."
|
|
30
|
+
2. Retry the write once.
|
|
31
|
+
3. Read back again and re-verify.
|
|
32
|
+
4. If second attempt fails → **STOP**: "Unable to write `[section]` to `[file]` after 2 attempts. Investigate before proceeding."
|
|
33
|
+
|
|
34
|
+
### 5. Confirm
|
|
35
|
+
|
|
36
|
+
After successful verification, log: `Write verified: [file] § [section]`
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## When to Use
|
|
41
|
+
|
|
42
|
+
Any workflow step that says:
|
|
43
|
+
- "Write the completed [section]"
|
|
44
|
+
- "Write [content] to [file]"
|
|
45
|
+
- "Update [file] with [content]"
|
|
46
|
+
- "Append [content] to [file]"
|
|
47
|
+
|
|
48
|
+
MUST follow this protocol. There are no exceptions. A write instruction without read-back verification is an enforcement failure.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Scope
|
|
53
|
+
|
|
54
|
+
This protocol applies to **spec and instruction file writes** — the documents that drive downstream pipeline behavior. It does NOT apply to:
|
|
55
|
+
- Progress tracking file writes (those have their own verification in the completion checklist)
|
|
56
|
+
- Temporary/scratch files
|
|
57
|
+
- Audit report writes (those are progressive and self-verifying)
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: prompt-engineer
|
|
3
|
+
description: "Transforms user prompts into optimized prompts using established frameworks (RTF, RISEN, Chain of Thought, RODES). Analyzes intent, selects framework, and produces structured, ready-to-use prompts."
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
source: self
|
|
6
|
+
date_added: "2026-02-27"
|
|
7
|
+
date_rewritten: "2026-03-14"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Prompt Engineering
|
|
11
|
+
|
|
12
|
+
Transform vague or unstructured prompts into highly effective, framework-backed prompts that maximize AI output quality.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- User provides a vague or generic prompt ("help me code Python")
|
|
17
|
+
- User has a complex idea but struggles to articulate it clearly
|
|
18
|
+
- User asks "create a prompt for..." or "how do I ask AI to..."
|
|
19
|
+
- Task requires step-by-step reasoning (debugging, analysis, design)
|
|
20
|
+
- User wants to improve an existing prompt's effectiveness
|
|
21
|
+
|
|
22
|
+
## When NOT to Use
|
|
23
|
+
|
|
24
|
+
- User's prompt is already clear and specific
|
|
25
|
+
- Simple factual questions ("what is X?")
|
|
26
|
+
- During pipeline workflows that have their own prompting structure
|
|
27
|
+
|
|
28
|
+
## Operating Mode
|
|
29
|
+
|
|
30
|
+
Work silently — no framework jargon in the output. The user gets a polished prompt, not a lecture on prompt engineering theory.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Workflow
|
|
35
|
+
|
|
36
|
+
### 1. Analyze Intent
|
|
37
|
+
|
|
38
|
+
Read the raw prompt and detect:
|
|
39
|
+
|
|
40
|
+
| Dimension | Options |
|
|
41
|
+
|-----------|---------|
|
|
42
|
+
| **Type** | Coding, writing, analysis, design, learning, planning, creative |
|
|
43
|
+
| **Complexity** | Simple (one-step), moderate (multi-step), complex (reasoning needed) |
|
|
44
|
+
| **Clarity** | Clear intent vs. ambiguous/vague |
|
|
45
|
+
| **Domain** | Technical, business, creative, academic |
|
|
46
|
+
|
|
47
|
+
Identify implicit requirements:
|
|
48
|
+
- Does the user need examples?
|
|
49
|
+
- Is the output format specified?
|
|
50
|
+
- Are there constraints (time, scope, resources)?
|
|
51
|
+
- Is this exploratory or execution-focused?
|
|
52
|
+
|
|
53
|
+
### 2. Clarify If Needed
|
|
54
|
+
|
|
55
|
+
- **0 questions** if intent is clear (most cases)
|
|
56
|
+
- **1-2 questions max** if critical information is ambiguous
|
|
57
|
+
- **Never ask** about framework selection — that's your job
|
|
58
|
+
|
|
59
|
+
### 3. Select Framework
|
|
60
|
+
|
|
61
|
+
| Task Type | Framework | Why |
|
|
62
|
+
|-----------|-----------|-----|
|
|
63
|
+
| Role-based tasks (act as expert) | **RTF** (Role-Task-Format) | Clear role + task + output format |
|
|
64
|
+
| Step-by-step reasoning (debugging, analysis) | **Chain of Thought** | Forces explicit reasoning steps |
|
|
65
|
+
| Multi-phase projects (systems, deliverables) | **RISEN** (Role, Instructions, Steps, End goal, Narrowing) | Comprehensive structure |
|
|
66
|
+
| Complex design/architecture | **RODES** (Role, Objective, Details, Examples, Sense check) | Balances detail with validation |
|
|
67
|
+
| Summarization/synthesis | **Chain of Density** | Iterative compression to essentials |
|
|
68
|
+
| Communication (reports, presentations) | **RACE** (Role, Audience, Context, Expectation) | Audience-aware messaging |
|
|
69
|
+
| Goal-setting (OKRs, planning) | **CLEAR** (Collaborative, Limited, Emotional, Appreciable, Refinable) | Actionable goals |
|
|
70
|
+
|
|
71
|
+
**Blending**: Combine 2 frameworks when a task spans types. Example: architecture design → RODES + Chain of Thought.
|
|
72
|
+
|
|
73
|
+
**Selection happens silently** — never explain framework choice to the user.
|
|
74
|
+
|
|
75
|
+
### 4. Generate Prompt
|
|
76
|
+
|
|
77
|
+
Build the optimized prompt using the selected framework(s):
|
|
78
|
+
|
|
79
|
+
**Structure rules:**
|
|
80
|
+
- Start with a clear role definition
|
|
81
|
+
- State the objective in one sentence
|
|
82
|
+
- Break complex tasks into numbered steps
|
|
83
|
+
- Include output format specification
|
|
84
|
+
- Add a validation/sense-check instruction for complex tasks
|
|
85
|
+
- Keep the prompt self-contained (no external context needed)
|
|
86
|
+
|
|
87
|
+
**Quality checks before presenting:**
|
|
88
|
+
- [ ] Prompt is self-contained
|
|
89
|
+
- [ ] Task is specific and measurable
|
|
90
|
+
- [ ] Output format is clear
|
|
91
|
+
- [ ] No ambiguous language
|
|
92
|
+
- [ ] Appropriate detail for task complexity
|
|
93
|
+
- [ ] Language matches user's language
|
|
94
|
+
|
|
95
|
+
### 5. Present
|
|
96
|
+
|
|
97
|
+
Present the optimized prompt in a clean markdown code block. No meta-commentary, no framework explanation.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Examples
|
|
102
|
+
|
|
103
|
+
### Vague Input → RTF
|
|
104
|
+
|
|
105
|
+
**User**: "help me write better code"
|
|
106
|
+
|
|
107
|
+
**Output**:
|
|
108
|
+
```
|
|
109
|
+
Role: You are a senior software engineer conducting a code review.
|
|
110
|
+
|
|
111
|
+
Task: Review the code I provide and identify issues across these dimensions:
|
|
112
|
+
1. Readability — naming, structure, comments
|
|
113
|
+
2. Correctness — logic errors, edge cases, off-by-one errors
|
|
114
|
+
3. Performance — unnecessary allocations, O(n²) where O(n) exists
|
|
115
|
+
4. Security — injection risks, data exposure, input validation
|
|
116
|
+
5. Maintainability — coupling, cohesion, testability
|
|
117
|
+
|
|
118
|
+
Format: For each issue found, provide:
|
|
119
|
+
- Location (file/line if applicable)
|
|
120
|
+
- Category (readability/correctness/performance/security/maintainability)
|
|
121
|
+
- Current code
|
|
122
|
+
- Suggested improvement with explanation
|
|
123
|
+
- Severity (critical/warning/suggestion)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Complex Input → RODES + Chain of Thought
|
|
127
|
+
|
|
128
|
+
**User**: "I need to build a recommendation system using purchase history and user preferences"
|
|
129
|
+
|
|
130
|
+
**Output**:
|
|
131
|
+
```
|
|
132
|
+
Role: You are a senior ML engineer specializing in recommendation systems.
|
|
133
|
+
|
|
134
|
+
Objective: Design a product recommendation system combining user purchase history, stated preferences, and behavioral signals.
|
|
135
|
+
|
|
136
|
+
Details:
|
|
137
|
+
- Input sources: transaction logs, preference surveys, browsing behavior
|
|
138
|
+
- Algorithm tradeoffs: collaborative filtering vs. content-based vs. hybrid
|
|
139
|
+
- Performance targets: recommendations served in <200ms, updated hourly
|
|
140
|
+
- Scale: handle 100K+ users with sparse interaction matrices
|
|
141
|
+
|
|
142
|
+
Approach this step-by-step:
|
|
143
|
+
1. Analyze data sources and their signal quality
|
|
144
|
+
2. Propose 2-3 algorithm approaches with tradeoff analysis
|
|
145
|
+
3. Design the data pipeline (ingestion → processing → serving)
|
|
146
|
+
4. Define evaluation metrics (precision, recall, diversity, novelty)
|
|
147
|
+
5. Outline a phased implementation roadmap
|
|
148
|
+
|
|
149
|
+
Examples: Include pseudocode for the core recommendation logic, a data flow diagram, and sample API response structure.
|
|
150
|
+
|
|
151
|
+
Sense check: Verify the solution balances personalization with discovery, handles cold-start problems for new users, and scales to production load.
|
|
152
|
+
|
|
153
|
+
Output: Technical design document with architecture diagrams, algorithm justification, and implementation roadmap.
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Debugging → Chain of Thought
|
|
157
|
+
|
|
158
|
+
**User**: "my code isn't working, needs debugging"
|
|
159
|
+
|
|
160
|
+
**Output**:
|
|
161
|
+
```
|
|
162
|
+
You are an expert debugger.
|
|
163
|
+
|
|
164
|
+
Task: Debug the code I provide using systematic analysis.
|
|
165
|
+
|
|
166
|
+
Step-by-step approach:
|
|
167
|
+
1. Read the code and identify its intended purpose
|
|
168
|
+
2. Identify the error or unexpected behavior
|
|
169
|
+
3. Trace variable states through execution
|
|
170
|
+
4. Locate the root cause
|
|
171
|
+
5. Propose a fix with explanation
|
|
172
|
+
6. Suggest preventive measures
|
|
173
|
+
|
|
174
|
+
For each step, show your reasoning:
|
|
175
|
+
- What you're checking
|
|
176
|
+
- What you found
|
|
177
|
+
- Why it matters
|
|
178
|
+
|
|
179
|
+
Output format:
|
|
180
|
+
- **Issue**: [Describe the bug]
|
|
181
|
+
- **Root cause**: [Why it's happening]
|
|
182
|
+
- **Fix**: [Corrected code with inline comments]
|
|
183
|
+
- **Prevention**: [How to avoid this in the future]
|
|
184
|
+
|
|
185
|
+
Include a minimal working example to verify the fix.
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Rules
|
|
191
|
+
|
|
192
|
+
**NEVER:**
|
|
193
|
+
- Explain which framework was selected or why
|
|
194
|
+
- Generate generic, one-size-fits-all prompts
|
|
195
|
+
- Ask more than 2 clarifying questions
|
|
196
|
+
- Include meta-commentary ("This prompt uses...", "Note that...")
|
|
197
|
+
|
|
198
|
+
**ALWAYS:**
|
|
199
|
+
- Analyze intent before generating
|
|
200
|
+
- Select framework based on task type and complexity
|
|
201
|
+
- Include output format specification
|
|
202
|
+
- Present in a clean code block
|
|
203
|
+
- Match the user's language (English → English, etc.)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: propagate-decision
|
|
3
|
+
description: Scan downstream specs for contradictions with locked decisions and apply approved fixes with consistency checks
|
|
4
|
+
parameters:
|
|
5
|
+
- name: decision_type
|
|
6
|
+
type: string
|
|
7
|
+
required: false
|
|
8
|
+
description: Optional direct type override (skips selection menu)
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Step-by-Step
|
|
15
|
+
|
|
16
|
+
1. Run `propagate-decision-scan`.
|
|
17
|
+
2. Run `propagate-decision-apply` after user confirmation.
|
|
18
|
+
3. Return completion summary and next-step guidance.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: propagate-decision-apply
|
|
3
|
+
description: Present and apply contradiction fixes one-by-one, flag assumptions, run consistency checks, and write propagation record
|
|
4
|
+
parameters:
|
|
5
|
+
- name: scan_report
|
|
6
|
+
type: string
|
|
7
|
+
required: false
|
|
8
|
+
description: Optional explicit propagation scan report path
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Step-by-Step
|
|
15
|
+
|
|
16
|
+
1. Load propagation scan report.
|
|
17
|
+
2. Walk explicit contradictions one at a time (apply/skip/edit/stop-and-save).
|
|
18
|
+
3. Walk implicit assumptions and flag for ambiguity handling where accepted.
|
|
19
|
+
4. Run consistency check on changed documents.
|
|
20
|
+
5. Write `.memory/wiki/specs/audits/propagation-[type]-[date].md`.
|
|
21
|
+
6. Call `memory_compile` to refresh the spec graph from the corrected spec set.
|
|
22
|
+
7. Present completion summary with graph refresh confirmation and next steps.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: propagate-decision-scan
|
|
3
|
+
description: Pre-scan decision types, collect downstream references, classify contradictions, and write propagation scan report
|
|
4
|
+
parameters:
|
|
5
|
+
- name: decision_type
|
|
6
|
+
type: string
|
|
7
|
+
required: false
|
|
8
|
+
description: Optional direct decision type to scan
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Step-by-Step
|
|
15
|
+
|
|
16
|
+
1. Pre-scan all supported decision types and count downstream references.
|
|
17
|
+
2. Present selection menu (or honor direct argument).
|
|
18
|
+
3. Run full scan on selected types; classify references as explicit contradiction / implicit assumption / consistent.
|
|
19
|
+
4. Write `.memory/wiki/specs/audits/propagation-scan-[date].md`.
|
|
20
|
+
5. Stop for user confirmation before apply shard.
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: regex-patterns
|
|
3
|
+
description: "Comprehensive regular expressions guide covering character classes, quantifiers, anchors, groups, lookahead/lookbehind, common patterns (email, URL, IP, phone, dates, semver), ReDoS prevention, Unicode support, flags, debugging, and when NOT to use regex."
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Regular Expressions Mastery
|
|
8
|
+
|
|
9
|
+
## Stack-Specific References
|
|
10
|
+
|
|
11
|
+
Regex syntax is mostly universal but API usage differs by language. After reading the patterns below, read the reference for your language:
|
|
12
|
+
|
|
13
|
+
| Language | Reference | Engine Notes |
|
|
14
|
+
|----------|-----------|-------------|
|
|
15
|
+
| JavaScript | `references/javascript.md` | V8/SpiderMonkey — full PCRE-like features |
|
|
16
|
+
| Python | `references/python.md` | `re` module — PCRE-like, supports verbose mode |
|
|
17
|
+
| Go | `references/go.md` | RE2 — no backreferences or lookaround |
|
|
18
|
+
| Rust | `references/rust.md` | regex crate — RE2-like; `fancy-regex` for lookaround |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. Fundamentals
|
|
23
|
+
|
|
24
|
+
### Character Classes
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
. Any character except newline (unless /s flag)
|
|
28
|
+
\d Digit [0-9]
|
|
29
|
+
\D Non-digit [^0-9]
|
|
30
|
+
\w Word character [a-zA-Z0-9_]
|
|
31
|
+
\W Non-word character [^a-zA-Z0-9_]
|
|
32
|
+
\s Whitespace [ \t\n\r\f\v]
|
|
33
|
+
\S Non-whitespace
|
|
34
|
+
[abc] Any of a, b, or c
|
|
35
|
+
[^abc] Not a, b, or c
|
|
36
|
+
[a-z] Range: a through z
|
|
37
|
+
[a-zA-Z] Any letter
|
|
38
|
+
[0-9a-fA-F] Hexadecimal digit
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Quantifiers
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
* Zero or more (greedy)
|
|
45
|
+
+ One or more (greedy)
|
|
46
|
+
? Zero or one (optional)
|
|
47
|
+
{3} Exactly 3
|
|
48
|
+
{2,5} Between 2 and 5
|
|
49
|
+
{3,} 3 or more
|
|
50
|
+
|
|
51
|
+
*? Zero or more (lazy)
|
|
52
|
+
+? One or more (lazy)
|
|
53
|
+
{2,5}? Between 2 and 5 (lazy)
|
|
54
|
+
|
|
55
|
+
*+ Zero or more (possessive — not in all engines)
|
|
56
|
+
++ One or more (possessive)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Greedy vs Lazy
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Input: <b>bold</b> and <b>more bold</b>
|
|
63
|
+
|
|
64
|
+
<b>.*</b> Greedy: matches entire string (one match)
|
|
65
|
+
<b>.*?</b> Lazy: matches "<b>bold</b>" and "<b>more bold</b>" (two matches)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 2. Anchors and Boundaries
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
^ Start of string (or line with multiline flag)
|
|
74
|
+
$ End of string (or line with multiline flag)
|
|
75
|
+
\b Word boundary (between \w and \W)
|
|
76
|
+
\B Non-word boundary
|
|
77
|
+
\A Start of string (never affected by multiline — Python, Ruby)
|
|
78
|
+
\z End of string (absolute — Python, Ruby)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Word Boundary Examples
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
\bcat\b Matches "cat" in "The cat sat" — not in "concatenate"
|
|
85
|
+
\bpre\w+ Matches "prefix", "preview" — not "compress"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 3. Groups
|
|
91
|
+
|
|
92
|
+
### Capturing Groups
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
(abc) Capture group — stores match for backreference
|
|
96
|
+
(\d{4}) Capture the year
|
|
97
|
+
(\w+)@(\w+) Two capture groups: username and domain
|
|
98
|
+
|
|
99
|
+
# Backreferences
|
|
100
|
+
(.)\1 Matches repeated character: "aa", "bb"
|
|
101
|
+
(\w+)\s+\1 Matches repeated word: "the the"
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Named Groups
|
|
105
|
+
|
|
106
|
+
Named group syntax varies by language:
|
|
107
|
+
- JavaScript: `(?<name>pattern)`
|
|
108
|
+
- Python: `(?P<name>pattern)`
|
|
109
|
+
- Go: `(?P<name>pattern)` (RE2 syntax)
|
|
110
|
+
|
|
111
|
+
### Non-Capturing Groups
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
(?:abc) Groups but does NOT capture (no backreference)
|
|
115
|
+
(?:com|org|net) Matches without storing
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Alternation
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
cat|dog Matches "cat" or "dog"
|
|
122
|
+
(cat|dog)s Matches "cats" or "dogs"
|
|
123
|
+
(?:Mr|Mrs|Ms) Matches title without capturing
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## 4. Lookahead and Lookbehind
|
|
129
|
+
|
|
130
|
+
### Lookahead
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
(?=pattern) Positive: followed by pattern
|
|
134
|
+
(?!pattern) Negative: NOT followed by pattern
|
|
135
|
+
|
|
136
|
+
# Password: at least one digit, one uppercase, one lowercase
|
|
137
|
+
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$
|
|
138
|
+
|
|
139
|
+
# Match "foo" only if followed by "bar"
|
|
140
|
+
foo(?=bar) Matches "foo" in "foobar", not in "foobaz"
|
|
141
|
+
|
|
142
|
+
# Match number NOT followed by percent
|
|
143
|
+
\d+(?!%) Matches "42" in "42 items", not in "42%"
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Lookbehind
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
(?<=pattern) Positive: preceded by pattern
|
|
150
|
+
(?<!pattern) Negative: NOT preceded by pattern
|
|
151
|
+
|
|
152
|
+
(?<=\$)\d+ Matches "50" in "$50", not in "50 items"
|
|
153
|
+
(?<!un)happy Matches "happy" but not "unhappy"
|
|
154
|
+
|
|
155
|
+
# Note: lookbehinds must be fixed-width in most engines
|
|
156
|
+
# Go RE2 does NOT support lookaround at all
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## 5. Common Patterns
|
|
162
|
+
|
|
163
|
+
### Email (Simplified)
|
|
164
|
+
```
|
|
165
|
+
^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$
|
|
166
|
+
# WARNING: For production, use a library. RFC 5322 regex is 6,300+ chars.
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### URL
|
|
170
|
+
```
|
|
171
|
+
https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)
|
|
172
|
+
# For strict validation, use the URL parser in your language instead.
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### IPv4
|
|
176
|
+
```
|
|
177
|
+
\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\b
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Phone (US)
|
|
181
|
+
```
|
|
182
|
+
^(?:\+1[-.\s]?)?(?:\(?\d{3}\)?[-.\s]?)?\d{3}[-.\s]?\d{4}$
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Date (YYYY-MM-DD)
|
|
186
|
+
```
|
|
187
|
+
^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$
|
|
188
|
+
# Validates format, NOT calendar correctness.
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Semantic Versioning
|
|
192
|
+
```
|
|
193
|
+
^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-(?:(?:0|[1-9]\d*|\d*[a-zA-Z\-][\da-zA-Z\-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z\-][\da-zA-Z\-]*))*))?(?:\+[\da-zA-Z\-]+(?:\.[\da-zA-Z\-]+)*)?$
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Hex Color
|
|
197
|
+
```
|
|
198
|
+
^#(?:[0-9a-fA-F]{3}){1,2}$
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Slug
|
|
202
|
+
```
|
|
203
|
+
^[a-z0-9]+(?:-[a-z0-9]+)*$
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## 6. ReDoS Prevention
|
|
209
|
+
|
|
210
|
+
### Dangerous Patterns — O(2^n)
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
(a+)+$ Nested quantifiers
|
|
214
|
+
(a|a)+$ Overlapping alternation
|
|
215
|
+
(\w+\s*)+$ Repeated group with optional separator
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Prevention Rules
|
|
219
|
+
|
|
220
|
+
1. NEVER nest quantifiers: `(a+)+` → flatten to `a+`
|
|
221
|
+
2. NEVER use overlapping alternation with quantifiers
|
|
222
|
+
3. NEVER use `.*` inside a repeated group — use `([^,]*,)+` instead
|
|
223
|
+
4. Use atomic groups or possessive quantifiers when available
|
|
224
|
+
5. Use negated character classes `[^"]*` over lazy `.*?`
|
|
225
|
+
6. Set regex timeouts in production
|
|
226
|
+
7. Consider RE2 (linear-time, no backtracking) for user inputs
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## 7. Unicode Support
|
|
231
|
+
|
|
232
|
+
### Unicode Categories (\p{})
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
\p{L} Letter (any script)
|
|
236
|
+
\p{Lu} Uppercase letter
|
|
237
|
+
\p{Ll} Lowercase letter
|
|
238
|
+
\p{N} Number
|
|
239
|
+
\p{Nd} Decimal digit
|
|
240
|
+
\p{P} Punctuation
|
|
241
|
+
\p{S} Symbol
|
|
242
|
+
\p{Z} Separator (spaces)
|
|
243
|
+
\p{M} Mark (combining characters)
|
|
244
|
+
|
|
245
|
+
# Script-specific
|
|
246
|
+
\p{Script=Greek}
|
|
247
|
+
\p{Script=Han}
|
|
248
|
+
\p{Script=Arabic}
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
> **Note:** Unicode property support varies by engine. JavaScript requires `/u` flag. Go RE2 supports `\p{L}` etc. Python `re` does NOT support `\p{}`—use the `regex` package.
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## 8. Flags
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
g Global: find all matches
|
|
259
|
+
i Case-insensitive
|
|
260
|
+
m Multiline: ^ and $ match line boundaries
|
|
261
|
+
s DotAll: . matches newline characters
|
|
262
|
+
u Unicode: enables \p{}, correct surrogate pair handling
|
|
263
|
+
x Extended/Verbose: ignore whitespace, allow comments (Python, Ruby, PCRE)
|
|
264
|
+
y Sticky: match at exact position (JavaScript)
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 9. Debugging
|
|
270
|
+
|
|
271
|
+
1. Use [regex101.com](https://regex101.com) — supports multiple engines
|
|
272
|
+
2. Break complex patterns into named pieces and compose them
|
|
273
|
+
3. Test incrementally — start simple, add one element at a time
|
|
274
|
+
4. Test edge cases: empty string, very long string, Unicode, newlines
|
|
275
|
+
5. Log intermediate results (capture groups)
|
|
276
|
+
|
|
277
|
+
### Common Mistakes
|
|
278
|
+
|
|
279
|
+
```
|
|
280
|
+
/file.txt/ # Dot matches anything — matches "file_txt"
|
|
281
|
+
/file\.txt/ # Correct: escaped dot
|
|
282
|
+
|
|
283
|
+
/\d{3}/ # Matches "123" inside "abc12345def"
|
|
284
|
+
/^\d{3}$/ # Correct: anchored to exact 3 digits
|
|
285
|
+
|
|
286
|
+
/<.*>/ # Greedy: matches entire "<a>text</a>"
|
|
287
|
+
/<[^>]*>/ # Correct: negated class
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## 10. When NOT to Use Regex
|
|
293
|
+
|
|
294
|
+
### Use a Parser Instead
|
|
295
|
+
- HTML/XML — use DOM parser (cheerio, BeautifulSoup, lxml)
|
|
296
|
+
- JSON, YAML, TOML — use a parser
|
|
297
|
+
- Nested structures — regex cannot handle arbitrary depth
|
|
298
|
+
- Programming language syntax — use tree-sitter, ANTLR
|
|
299
|
+
|
|
300
|
+
### Use String Methods Instead
|
|
301
|
+
```
|
|
302
|
+
# Prefer:
|
|
303
|
+
startsWith('prefix') over /^prefix/.test(str)
|
|
304
|
+
endsWith('suffix') over /suffix$/.test(str)
|
|
305
|
+
includes('text') over /text/.test(str)
|
|
306
|
+
split(',') over split(/,/)
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### When Regex IS Right
|
|
310
|
+
- Pattern matching in text (log parsing, data extraction)
|
|
311
|
+
- Input validation (format checks)
|
|
312
|
+
- Search and replace with pattern awareness
|
|
313
|
+
- Tokenizing simple grammars (CSV, log lines)
|
|
314
|
+
- Text cleanup (normalize whitespace, strip control characters)
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## 11. Critical Reminders
|
|
319
|
+
|
|
320
|
+
### ALWAYS
|
|
321
|
+
- Anchor with `^` and `$` when validating entire strings
|
|
322
|
+
- Use non-capturing groups `(?:...)` when you don't need the value
|
|
323
|
+
- Prefer negated character classes `[^"]*` over lazy `.*?`
|
|
324
|
+
- Test with adversarial inputs for ReDoS
|
|
325
|
+
- Escape user input before inserting into regex
|
|
326
|
+
- Use Unicode flag for international content
|
|
327
|
+
|
|
328
|
+
### NEVER
|
|
329
|
+
- Parse HTML/XML/JSON with regex
|
|
330
|
+
- Use nested quantifiers without understanding backtracking
|
|
331
|
+
- Trust regex for email validation beyond basic format
|
|
332
|
+
- Use `.` when you mean a specific character class
|
|
333
|
+
- Build regex from untrusted input without escaping
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Go Regex Patterns
|
|
2
|
+
|
|
3
|
+
Language-specific API for the `regex-patterns` skill. Read `SKILL.md` first for universal syntax.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Core API
|
|
8
|
+
|
|
9
|
+
```go
|
|
10
|
+
package main
|
|
11
|
+
|
|
12
|
+
import (
|
|
13
|
+
"fmt"
|
|
14
|
+
"regexp"
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
func main() {
|
|
18
|
+
// Compile (returns error)
|
|
19
|
+
re, err := regexp.Compile(`^hello\s+(\w+)$`)
|
|
20
|
+
if err != nil {
|
|
21
|
+
panic(err)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// MustCompile panics on invalid pattern (for constants)
|
|
25
|
+
re = regexp.MustCompile(`\d+`)
|
|
26
|
+
|
|
27
|
+
// Methods
|
|
28
|
+
matched := re.MatchString("hello world") // bool
|
|
29
|
+
result := re.FindString("abc 123 def") // "123"
|
|
30
|
+
allResults := re.FindAllString("a1 b2 c3", -1) // ["1", "2", "3"]
|
|
31
|
+
submatch := re.FindStringSubmatch("hello world") // ["hello world", "world"]
|
|
32
|
+
replaced := re.ReplaceAllString("foo 123", "NUM") // "foo NUM"
|
|
33
|
+
|
|
34
|
+
fmt.Println(matched, result, allResults, submatch, replaced)
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Important: RE2 Engine
|
|
39
|
+
|
|
40
|
+
Go uses the **RE2 engine** which guarantees linear-time execution (no ReDoS). Trade-off:
|
|
41
|
+
- ✅ No backtracking — immune to ReDoS
|
|
42
|
+
- ❌ No backreferences (`\1`)
|
|
43
|
+
- ❌ No lookahead/lookbehind
|
|
44
|
+
- ✅ Supports `\p{L}` Unicode properties
|