cfsa-antigravity 1.0.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/bin/cli.mjs +324 -0
- package/package.json +34 -0
- package/template/.agent/instructions/commands.md +48 -0
- package/template/.agent/instructions/patterns.md +61 -0
- package/template/.agent/instructions/structure.md +29 -0
- package/template/.agent/instructions/tech-stack.md +43 -0
- package/template/.agent/instructions/workflow.md +41 -0
- package/template/.agent/kit-sync.md +15 -0
- package/template/.agent/rules/boundary-not-placeholder.md +146 -0
- package/template/.agent/rules/completion-checklist.md +48 -0
- package/template/.agent/rules/decision-classification.md +103 -0
- package/template/.agent/rules/extensibility.md +47 -0
- package/template/.agent/rules/question-vs-command.md +81 -0
- package/template/.agent/rules/security-first.md +43 -0
- package/template/.agent/rules/specificity-standards.md +54 -0
- package/template/.agent/rules/tdd-contract-first.md +57 -0
- package/template/.agent/rules/vertical-slices.md +42 -0
- package/template/.agent/skill-library/MANIFEST.md +480 -0
- package/template/.agent/skill-library/README.md +38 -0
- package/template/.agent/skill-library/meta/brand-guidelines/SKILL.md +73 -0
- package/template/.agent/skill-library/meta/claude-code/README.md +9 -0
- package/template/.agent/skill-library/meta/claude-code/agent-development/SKILL.md +415 -0
- package/template/.agent/skill-library/meta/claude-code/hook-development/SKILL.md +712 -0
- package/template/.agent/skill-library/meta/claude-code/plugin-structure/SKILL.md +476 -0
- package/template/.agent/skill-library/meta/git-advanced/SKILL.md +972 -0
- package/template/.agent/skill-library/meta/mcp-builder/SKILL.md +236 -0
- package/template/.agent/skill-library/meta/product-marketing-context/SKILL.md +241 -0
- package/template/.agent/skill-library/meta/regex-patterns/SKILL.md +751 -0
- package/template/.agent/skill-library/meta/tmux-processes/SKILL.md +210 -0
- package/template/.agent/skill-library/meta/using-tmux-for-interactive-commands/SKILL.md +178 -0
- package/template/.agent/skill-library/stack/3d/threejs-pro/SKILL.md +300 -0
- package/template/.agent/skill-library/stack/ai/ai-sdk/SKILL.md +77 -0
- package/template/.agent/skill-library/stack/ai/langchain/SKILL.md +530 -0
- package/template/.agent/skill-library/stack/ai/ollama/SKILL.md +321 -0
- package/template/.agent/skill-library/stack/ai/openai-sdk/SKILL.md +549 -0
- package/template/.agent/skill-library/stack/analytics/google-analytics/SKILL.md +153 -0
- package/template/.agent/skill-library/stack/api/graphql/SKILL.md +1061 -0
- package/template/.agent/skill-library/stack/api/trpc/SKILL.md +576 -0
- package/template/.agent/skill-library/stack/auth/authjs/SKILL.md +569 -0
- package/template/.agent/skill-library/stack/auth/clerk/SKILL.md +590 -0
- package/template/.agent/skill-library/stack/auth/firebase-auth/SKILL.md +734 -0
- package/template/.agent/skill-library/stack/cms/payload-cms/SKILL.md +573 -0
- package/template/.agent/skill-library/stack/cms/shopify/SKILL.md +1193 -0
- package/template/.agent/skill-library/stack/cms/wordpress/SKILL.md +1104 -0
- package/template/.agent/skill-library/stack/css/sass-scss/SKILL.md +1121 -0
- package/template/.agent/skill-library/stack/css/tailwind-css-patterns/SKILL.md +863 -0
- package/template/.agent/skill-library/stack/css/tailwind-design-system/SKILL.md +490 -0
- package/template/.agent/skill-library/stack/css/vanilla-css/SKILL.md +1078 -0
- package/template/.agent/skill-library/stack/databases/clickhouse/SKILL.md +311 -0
- package/template/.agent/skill-library/stack/databases/influxdb/SKILL.md +280 -0
- package/template/.agent/skill-library/stack/databases/lancedb/SKILL.md +415 -0
- package/template/.agent/skill-library/stack/databases/mongodb/SKILL.md +1169 -0
- package/template/.agent/skill-library/stack/databases/neo4j/SKILL.md +839 -0
- package/template/.agent/skill-library/stack/databases/pgvector/SKILL.md +241 -0
- package/template/.agent/skill-library/stack/databases/pinecone/SKILL.md +212 -0
- package/template/.agent/skill-library/stack/databases/postgresql/SKILL.md +658 -0
- package/template/.agent/skill-library/stack/databases/qdrant/SKILL.md +312 -0
- package/template/.agent/skill-library/stack/databases/redis/SKILL.md +1079 -0
- package/template/.agent/skill-library/stack/databases/spacetimedb/SKILL.md +532 -0
- package/template/.agent/skill-library/stack/databases/sqlite/SKILL.md +1132 -0
- package/template/.agent/skill-library/stack/databases/supabase/SKILL.md +640 -0
- package/template/.agent/skill-library/stack/databases/surrealdb-expert/SKILL.md +945 -0
- package/template/.agent/skill-library/stack/databases/timescaledb/SKILL.md +745 -0
- package/template/.agent/skill-library/stack/databases/weaviate/SKILL.md +218 -0
- package/template/.agent/skill-library/stack/devops/github-actions/SKILL.md +554 -0
- package/template/.agent/skill-library/stack/devops/kubernetes/SKILL.md +950 -0
- package/template/.agent/skill-library/stack/devops/nginx/SKILL.md +841 -0
- package/template/.agent/skill-library/stack/devops/terraform/SKILL.md +860 -0
- package/template/.agent/skill-library/stack/email/resend/SKILL.md +391 -0
- package/template/.agent/skill-library/stack/engines/godot/SKILL.md +488 -0
- package/template/.agent/skill-library/stack/extensions/chrome-extension/SKILL.md +375 -0
- package/template/.agent/skill-library/stack/extensions/vscode-extension/SKILL.md +453 -0
- package/template/.agent/skill-library/stack/frameworks/astro-framework/SKILL.md +162 -0
- package/template/.agent/skill-library/stack/frameworks/electron/SKILL.md +1286 -0
- package/template/.agent/skill-library/stack/frameworks/fastapi/SKILL.md +650 -0
- package/template/.agent/skill-library/stack/frameworks/hono/SKILL.md +90 -0
- package/template/.agent/skill-library/stack/frameworks/nestjs/SKILL.md +878 -0
- package/template/.agent/skill-library/stack/frameworks/nextjs/SKILL.md +635 -0
- package/template/.agent/skill-library/stack/frameworks/nuxt/SKILL.md +564 -0
- package/template/.agent/skill-library/stack/frameworks/sveltekit/SKILL.md +614 -0
- package/template/.agent/skill-library/stack/frameworks/tauri/SKILL.md +920 -0
- package/template/.agent/skill-library/stack/gamedev/godot/SKILL.md +1032 -0
- package/template/.agent/skill-library/stack/gamedev/unity/SKILL.md +1175 -0
- package/template/.agent/skill-library/stack/hosting/aws/SKILL.md +467 -0
- package/template/.agent/skill-library/stack/hosting/cloudflare/SKILL.md +201 -0
- package/template/.agent/skill-library/stack/hosting/docker-expert/SKILL.md +409 -0
- package/template/.agent/skill-library/stack/hosting/vercel/SKILL.md +484 -0
- package/template/.agent/skill-library/stack/languages/bash-scripting/SKILL.md +773 -0
- package/template/.agent/skill-library/stack/languages/c-cpp/SKILL.md +712 -0
- package/template/.agent/skill-library/stack/languages/gdscript/SKILL.md +789 -0
- package/template/.agent/skill-library/stack/languages/go/SKILL.md +664 -0
- package/template/.agent/skill-library/stack/languages/java/SKILL.md +778 -0
- package/template/.agent/skill-library/stack/languages/kotlin/SKILL.md +665 -0
- package/template/.agent/skill-library/stack/languages/python/SKILL.md +678 -0
- package/template/.agent/skill-library/stack/languages/rust/SKILL.md +673 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/SKILL.md +141 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/advanced-generics.md +90 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/branded-types.md +57 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/builder-pattern.md +71 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/common-pitfalls.md +135 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/conditional-types.md +27 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/decorators.md +98 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/discriminated-unions.md +62 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/mapped-types.md +53 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/performance-best-practices.md +104 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/template-literal-types.md +49 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/testing-types.md +112 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/type-guards.md +70 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/type-inference.md +101 -0
- package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/utility-types.md +98 -0
- package/template/.agent/skill-library/stack/languages/vanilla-javascript/SKILL.md +803 -0
- package/template/.agent/skill-library/stack/messaging/kafka/SKILL.md +235 -0
- package/template/.agent/skill-library/stack/mobile/expo-react-native/SKILL.md +665 -0
- package/template/.agent/skill-library/stack/mobile/flutter/SKILL.md +316 -0
- package/template/.agent/skill-library/stack/mobile/react-native/SKILL.md +337 -0
- package/template/.agent/skill-library/stack/monitoring/posthog/SKILL.md +396 -0
- package/template/.agent/skill-library/stack/monitoring/sentry/SKILL.md +509 -0
- package/template/.agent/skill-library/stack/observability/datadog/SKILL.md +179 -0
- package/template/.agent/skill-library/stack/observability/distributed-tracing/SKILL.md +140 -0
- package/template/.agent/skill-library/stack/observability/logging-best-practices/SKILL.md +168 -0
- package/template/.agent/skill-library/stack/observability/opentelemetry/SKILL.md +164 -0
- package/template/.agent/skill-library/stack/observability/prometheus-grafana/SKILL.md +246 -0
- package/template/.agent/skill-library/stack/observability/python-observability/SKILL.md +158 -0
- package/template/.agent/skill-library/stack/orm/drizzle-orm/SKILL.md +613 -0
- package/template/.agent/skill-library/stack/orm/prisma/SKILL.md +744 -0
- package/template/.agent/skill-library/stack/payments/lemonsqueezy/SKILL.md +393 -0
- package/template/.agent/skill-library/stack/payments/stripe-integration/SKILL.md +457 -0
- package/template/.agent/skill-library/stack/queue/bullmq/SKILL.md +385 -0
- package/template/.agent/skill-library/stack/queue/inngest/SKILL.md +438 -0
- package/template/.agent/skill-library/stack/realtime/socketio/SKILL.md +595 -0
- package/template/.agent/skill-library/stack/search/elasticsearch/SKILL.md +248 -0
- package/template/.agent/skill-library/stack/search/meilisearch/SKILL.md +385 -0
- package/template/.agent/skill-library/stack/security/crypto-patterns/SKILL.md +437 -0
- package/template/.agent/skill-library/stack/security/csp-cors-headers/SKILL.md +588 -0
- package/template/.agent/skill-library/stack/security/dependency-auditing/SKILL.md +560 -0
- package/template/.agent/skill-library/stack/security/input-sanitization/SKILL.md +430 -0
- package/template/.agent/skill-library/stack/security/owasp-web-security/SKILL.md +421 -0
- package/template/.agent/skill-library/stack/state/tanstack-query/SKILL.md +637 -0
- package/template/.agent/skill-library/stack/state/zustand/SKILL.md +483 -0
- package/template/.agent/skill-library/stack/storage/aws-s3/SKILL.md +415 -0
- package/template/.agent/skill-library/stack/testing/playwright/SKILL.md +641 -0
- package/template/.agent/skill-library/stack/testing/storybook/SKILL.md +923 -0
- package/template/.agent/skill-library/stack/testing/testing-library/SKILL.md +872 -0
- package/template/.agent/skill-library/stack/testing/vitest/SKILL.md +714 -0
- package/template/.agent/skill-library/stack/ui/react-best-practices/SKILL.md +877 -0
- package/template/.agent/skill-library/stack/ui/react-composition-patterns/SKILL.md +1107 -0
- package/template/.agent/skill-library/stack/ui/react-flow/SKILL.md +425 -0
- package/template/.agent/skill-library/stack/ui/shadcn-ui/SKILL.md +703 -0
- package/template/.agent/skill-library/surface/api/api-caching/SKILL.md +458 -0
- package/template/.agent/skill-library/surface/api/api-documentation-openapi/SKILL.md +697 -0
- package/template/.agent/skill-library/surface/api/api-error-handling/SKILL.md +478 -0
- package/template/.agent/skill-library/surface/api/api-security-checklist/SKILL.md +147 -0
- package/template/.agent/skill-library/surface/api/api-versioning/SKILL.md +420 -0
- package/template/.agent/skill-library/surface/api/email-best-practices/SKILL.md +59 -0
- package/template/.agent/skill-library/surface/api/rate-limiting-abuse-protection/SKILL.md +147 -0
- package/template/.agent/skill-library/surface/api/rest-api-design/SKILL.md +478 -0
- package/template/.agent/skill-library/surface/api/webhook-design/SKILL.md +752 -0
- package/template/.agent/skill-library/surface/cli/cli-configuration-management/SKILL.md +445 -0
- package/template/.agent/skill-library/surface/cli/cli-error-diagnostics/SKILL.md +515 -0
- package/template/.agent/skill-library/surface/cli/cli-shell-integration/SKILL.md +479 -0
- package/template/.agent/skill-library/surface/cli/cli-ux-design/SKILL.md +477 -0
- package/template/.agent/skill-library/surface/desktop/desktop-app-distribution/SKILL.md +416 -0
- package/template/.agent/skill-library/surface/desktop/desktop-security-sandboxing/SKILL.md +407 -0
- package/template/.agent/skill-library/surface/desktop/desktop-ux-conventions/SKILL.md +361 -0
- package/template/.agent/skill-library/surface/desktop/native-os-integration/SKILL.md +563 -0
- package/template/.agent/skill-library/surface/extension/browser-extension-patterns/SKILL.md +482 -0
- package/template/.agent/skill-library/surface/extension/plugin-architecture-design/SKILL.md +632 -0
- package/template/.agent/skill-library/surface/extension/vscode-extension-development/SKILL.md +728 -0
- package/template/.agent/skill-library/surface/mobile/app-store-submission/SKILL.md +304 -0
- package/template/.agent/skill-library/surface/mobile/mobile-offline-sync/SKILL.md +443 -0
- package/template/.agent/skill-library/surface/mobile/mobile-responsive-patterns/SKILL.md +432 -0
- package/template/.agent/skill-library/surface/mobile/push-notifications/SKILL.md +495 -0
- package/template/.agent/skill-library/surface/web/accessibility-compliance/SKILL.md +827 -0
- package/template/.agent/skill-library/surface/web/ai-seo/SKILL.md +398 -0
- package/template/.agent/skill-library/surface/web/ai-seo/references/content-patterns.md +285 -0
- package/template/.agent/skill-library/surface/web/ai-seo/references/platform-ranking-factors.md +152 -0
- package/template/.agent/skill-library/surface/web/analytics-tracking/SKILL.md +309 -0
- package/template/.agent/skill-library/surface/web/analytics-tracking/references/event-library.md +260 -0
- package/template/.agent/skill-library/surface/web/analytics-tracking/references/ga4-implementation.md +300 -0
- package/template/.agent/skill-library/surface/web/analytics-tracking/references/gtm-implementation.md +390 -0
- package/template/.agent/skill-library/surface/web/authentication-ui-flows/SKILL.md +530 -0
- package/template/.agent/skill-library/surface/web/dark-mode-theming/SKILL.md +516 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/SKILL.md +105 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/data/charts.csv +26 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/data/colors.csv +97 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/data/landing.csv +31 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/data/styles.csv +59 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/data/typography.csv +58 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/data/ux-guidelines.csv +100 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/scripts/core.py +258 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/scripts/design_system.py +1067 -0
- package/template/.agent/skill-library/surface/web/design-reference-data/scripts/search.py +106 -0
- package/template/.agent/skill-library/surface/web/form-handling-validation/SKILL.md +675 -0
- package/template/.agent/skill-library/surface/web/frontend-design/SKILL.md +1393 -0
- package/template/.agent/skill-library/surface/web/frontend-design/templates/cppn-hero.tsx +299 -0
- package/template/.agent/skill-library/surface/web/frontend-design/templates/wave-hero.tsx +875 -0
- package/template/.agent/skill-library/surface/web/frontend-verification/SKILL.md +111 -0
- package/template/.agent/skill-library/surface/web/frontend-verification/scripts/ux_audit.py +739 -0
- package/template/.agent/skill-library/surface/web/i18n-localization/SKILL.md +154 -0
- package/template/.agent/skill-library/surface/web/offline-first-pwa/SKILL.md +657 -0
- package/template/.agent/skill-library/surface/web/page-cro/SKILL.md +182 -0
- package/template/.agent/skill-library/surface/web/page-cro/references/experiments.md +248 -0
- package/template/.agent/skill-library/surface/web/programmatic-seo/SKILL.md +238 -0
- package/template/.agent/skill-library/surface/web/programmatic-seo/references/playbooks.md +308 -0
- package/template/.agent/skill-library/surface/web/schema-markup/SKILL.md +179 -0
- package/template/.agent/skill-library/surface/web/schema-markup/references/schema-examples.md +398 -0
- package/template/.agent/skill-library/surface/web/seo-audit/SKILL.md +394 -0
- package/template/.agent/skill-library/surface/web/seo-audit/references/ai-writing-detection.md +200 -0
- package/template/.agent/skill-library/surface/web/web-performance-optimization/SKILL.md +646 -0
- package/template/.agent/skill-library/surface/web/web-scraping/SKILL.md +58 -0
- package/template/.agent/skills/accessibility/SKILL.md +522 -0
- package/template/.agent/skills/accessibility/references/WCAG.md +162 -0
- package/template/.agent/skills/adversarial-review/SKILL.md +90 -0
- package/template/.agent/skills/antigravity-workflows/SKILL.md +81 -0
- package/template/.agent/skills/antigravity-workflows/resources/implementation-playbook.md +36 -0
- package/template/.agent/skills/api-design-principles/SKILL.md +37 -0
- package/template/.agent/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/template/.agent/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/template/.agent/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/template/.agent/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/template/.agent/skills/api-design-principles/resources/implementation-playbook.md +513 -0
- package/template/.agent/skills/api-versioning/SKILL.md +420 -0
- package/template/.agent/skills/architecture-mapping/SKILL.md +219 -0
- package/template/.agent/skills/bootstrap-agents/SKILL.md +259 -0
- package/template/.agent/skills/brainstorming/SKILL.md +236 -0
- package/template/.agent/skills/brand-guidelines/SKILL.md +44 -0
- package/template/.agent/skills/clean-code/SKILL.md +94 -0
- package/template/.agent/skills/code-review-pro/SKILL.md +152 -0
- package/template/.agent/skills/concise-planning/SKILL.md +68 -0
- package/template/.agent/skills/cross-layer-consistency/SKILL.md +117 -0
- package/template/.agent/skills/database-schema-design/SKILL.md +429 -0
- package/template/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/template/.agent/skills/design-anti-cliche/SKILL.md +159 -0
- package/template/.agent/skills/design-direction/SKILL.md +45 -0
- package/template/.agent/skills/error-handling-patterns/SKILL.md +721 -0
- package/template/.agent/skills/find-skills/SKILL.md +145 -0
- package/template/.agent/skills/git-advanced/SKILL.md +972 -0
- package/template/.agent/skills/git-workflow/SKILL.md +420 -0
- package/template/.agent/skills/idea-extraction/SKILL.md +271 -0
- package/template/.agent/skills/logging-best-practices/SKILL.md +851 -0
- package/template/.agent/skills/migration-management/SKILL.md +384 -0
- package/template/.agent/skills/minimalist-surgical-development/SKILL.md +69 -0
- package/template/.agent/skills/parallel-agents/SKILL.md +165 -0
- package/template/.agent/skills/parallel-debugging/SKILL.md +135 -0
- package/template/.agent/skills/parallel-feature-development/SKILL.md +166 -0
- package/template/.agent/skills/performance-budgeting/SKILL.md +144 -0
- package/template/.agent/skills/pipeline-rubrics/SKILL.md +51 -0
- package/template/.agent/skills/pipeline-rubrics/references/architecture-rubric.md +19 -0
- package/template/.agent/skills/pipeline-rubrics/references/be-rubric.md +21 -0
- package/template/.agent/skills/pipeline-rubrics/references/fe-rubric.md +20 -0
- package/template/.agent/skills/pipeline-rubrics/references/ia-rubric.md +19 -0
- package/template/.agent/skills/pipeline-rubrics/references/scoring.md +28 -0
- package/template/.agent/skills/pipeline-rubrics/references/vision-rubric.md +11 -0
- package/template/.agent/skills/prd-templates/SKILL.md +88 -0
- package/template/.agent/skills/prd-templates/references/architecture-design-template.md +88 -0
- package/template/.agent/skills/prd-templates/references/be-spec-template.md +101 -0
- package/template/.agent/skills/prd-templates/references/data-placement-template.md +74 -0
- package/template/.agent/skills/prd-templates/references/decomposition-templates.md +211 -0
- package/template/.agent/skills/prd-templates/references/design-system-decisions.md +198 -0
- package/template/.agent/skills/prd-templates/references/engineering-standards-template.md +124 -0
- package/template/.agent/skills/prd-templates/references/fe-classification-procedures.md +47 -0
- package/template/.agent/skills/prd-templates/references/fe-spec-template.md +84 -0
- package/template/.agent/skills/prd-templates/references/infrastructure-report-template.md +71 -0
- package/template/.agent/skills/prd-templates/references/operational-templates.md +116 -0
- package/template/.agent/skills/prd-templates/references/placeholder-guard-template.md +21 -0
- package/template/.agent/skills/prd-templates/references/surface-model.md +61 -0
- package/template/.agent/skills/prd-templates/references/vision-template.md +66 -0
- package/template/.agent/skills/prompt-engineer/README.md +659 -0
- package/template/.agent/skills/prompt-engineer/SKILL.md +249 -0
- package/template/.agent/skills/regex-patterns/SKILL.md +751 -0
- package/template/.agent/skills/resolve-ambiguity/SKILL.md +278 -0
- package/template/.agent/skills/rest-api-design/SKILL.md +478 -0
- package/template/.agent/skills/security-scanning-security-hardening/SKILL.md +231 -0
- package/template/.agent/skills/session-continuity/SKILL.md +730 -0
- package/template/.agent/skills/session-continuity/protocols/01-session-resumption.md +38 -0
- package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +85 -0
- package/template/.agent/skills/session-continuity/protocols/03-progress-update.md +70 -0
- package/template/.agent/skills/session-continuity/protocols/04-pattern-extraction.md +60 -0
- package/template/.agent/skills/session-continuity/protocols/05-session-close.md +37 -0
- package/template/.agent/skills/session-continuity/protocols/06-decision-analysis.md +84 -0
- package/template/.agent/skills/session-continuity/protocols/07-spec-pipeline-generation.md +48 -0
- package/template/.agent/skills/session-continuity/protocols/08-spec-pipeline-update.md +43 -0
- package/template/.agent/skills/session-continuity/protocols/09-parallel-claim.md +122 -0
- package/template/.agent/skills/session-continuity/protocols/10-placeholder-verification-gate.md +104 -0
- package/template/.agent/skills/session-continuity/protocols/ambiguity-gates.md +48 -0
- package/template/.agent/skills/skill-creator/LICENSE.txt +202 -0
- package/template/.agent/skills/skill-creator/README.md +270 -0
- package/template/.agent/skills/skill-creator/SKILL.md +590 -0
- package/template/.agent/skills/skill-creator/references/output-patterns.md +82 -0
- package/template/.agent/skills/skill-creator/references/workflows.md +28 -0
- package/template/.agent/skills/skill-creator/scripts/init_skill.py +303 -0
- package/template/.agent/skills/skill-creator/scripts/package_skill.py +110 -0
- package/template/.agent/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/template/.agent/skills/spec-writing/SKILL.md +110 -0
- package/template/.agent/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/template/.agent/skills/systematic-debugging/SKILL.md +297 -0
- package/template/.agent/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/template/.agent/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/template/.agent/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/template/.agent/skills/systematic-debugging/find-polluter.sh +63 -0
- package/template/.agent/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/template/.agent/skills/systematic-debugging/test-academic.md +14 -0
- package/template/.agent/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/template/.agent/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/template/.agent/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/template/.agent/skills/tdd-workflow/SKILL.md +409 -0
- package/template/.agent/skills/tech-stack-catalog/SKILL.md +49 -0
- package/template/.agent/skills/tech-stack-catalog/references/constraint-questions.md +21 -0
- package/template/.agent/skills/tech-stack-catalog/references/dev-tooling-decisions.md +37 -0
- package/template/.agent/skills/tech-stack-catalog/references/surface-decision-tables.md +69 -0
- package/template/.agent/skills/technical-writer/SKILL.md +242 -0
- package/template/.agent/skills/testing-strategist/SKILL.md +932 -0
- package/template/.agent/skills/verification-before-completion/SKILL.md +145 -0
- package/template/.agent/skills/workflow-automation/SKILL.md +73 -0
- package/template/.agent/workflows/audit-ambiguity-execute.md +165 -0
- package/template/.agent/workflows/audit-ambiguity-rubrics.md +83 -0
- package/template/.agent/workflows/audit-ambiguity.md +64 -0
- package/template/.agent/workflows/bootstrap-agents-fill.md +201 -0
- package/template/.agent/workflows/bootstrap-agents-provision.md +197 -0
- package/template/.agent/workflows/bootstrap-agents.md +66 -0
- package/template/.agent/workflows/create-prd-architecture.md +119 -0
- package/template/.agent/workflows/create-prd-compile.md +138 -0
- package/template/.agent/workflows/create-prd-design-system.md +135 -0
- package/template/.agent/workflows/create-prd-security.md +113 -0
- package/template/.agent/workflows/create-prd-stack.md +91 -0
- package/template/.agent/workflows/create-prd.md +168 -0
- package/template/.agent/workflows/decompose-architecture-structure.md +82 -0
- package/template/.agent/workflows/decompose-architecture-validate.md +119 -0
- package/template/.agent/workflows/decompose-architecture.md +111 -0
- package/template/.agent/workflows/evolve-contract.md +98 -0
- package/template/.agent/workflows/evolve-feature-cascade.md +140 -0
- package/template/.agent/workflows/evolve-feature-classify.md +116 -0
- package/template/.agent/workflows/evolve-feature.md +56 -0
- package/template/.agent/workflows/ideate-discover.md +144 -0
- package/template/.agent/workflows/ideate-extract.md +129 -0
- package/template/.agent/workflows/ideate-validate.md +117 -0
- package/template/.agent/workflows/ideate.md +113 -0
- package/template/.agent/workflows/implement-slice-setup.md +113 -0
- package/template/.agent/workflows/implement-slice-tdd.md +198 -0
- package/template/.agent/workflows/implement-slice.md +50 -0
- package/template/.agent/workflows/plan-phase.md +202 -0
- package/template/.agent/workflows/propagate-decision-apply.md +135 -0
- package/template/.agent/workflows/propagate-decision-scan.md +147 -0
- package/template/.agent/workflows/propagate-decision.md +56 -0
- package/template/.agent/workflows/remediate-pipeline-assess.md +138 -0
- package/template/.agent/workflows/remediate-pipeline-execute.md +135 -0
- package/template/.agent/workflows/remediate-pipeline.md +55 -0
- package/template/.agent/workflows/resolve-ambiguity.md +82 -0
- package/template/.agent/workflows/sync-kit.md +209 -0
- package/template/.agent/workflows/update-architecture-map.md +74 -0
- package/template/.agent/workflows/validate-phase.md +219 -0
- package/template/.agent/workflows/verify-infrastructure.md +207 -0
- package/template/.agent/workflows/write-architecture-spec-deepen.md +139 -0
- package/template/.agent/workflows/write-architecture-spec-design.md +202 -0
- package/template/.agent/workflows/write-architecture-spec.md +63 -0
- package/template/.agent/workflows/write-be-spec-classify.md +165 -0
- package/template/.agent/workflows/write-be-spec-write.md +98 -0
- package/template/.agent/workflows/write-be-spec.md +76 -0
- package/template/.agent/workflows/write-fe-spec-classify.md +170 -0
- package/template/.agent/workflows/write-fe-spec-write.md +94 -0
- package/template/.agent/workflows/write-fe-spec.md +71 -0
- package/template/AGENTS.md +176 -0
- package/template/GEMINI.md +177 -0
- package/template/docs/README.md +187 -0
- package/template/docs/audits/.gitkeep +0 -0
- package/template/docs/audits/README.md +10 -0
- package/template/docs/plans/.gitkeep +0 -0
- package/template/docs/plans/README.md +21 -0
- package/template/docs/plans/be/.gitkeep +0 -0
- package/template/docs/plans/be/README.md +11 -0
- package/template/docs/plans/fe/.gitkeep +0 -0
- package/template/docs/plans/fe/README.md +11 -0
- package/template/docs/plans/ia/.gitkeep +0 -0
- package/template/docs/plans/ia/README.md +17 -0
- package/template/docs/plans/ia/deep-dives/.gitkeep +0 -0
- package/template/docs/plans/ia/deep-dives/README.md +5 -0
- package/template/docs/plans/phases/.gitkeep +0 -0
- package/template/docs/plans/phases/README.md +11 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Progress check, skill loading, slice reading, parallel mode detection, and contract writing for the implement-slice workflow
|
|
3
|
+
parent: implement-slice
|
|
4
|
+
shard: setup
|
|
5
|
+
standalone: true
|
|
6
|
+
position: 1
|
|
7
|
+
pipeline:
|
|
8
|
+
position: 7.1
|
|
9
|
+
stage: implementation
|
|
10
|
+
predecessors: [plan-phase]
|
|
11
|
+
successors: [implement-slice-tdd]
|
|
12
|
+
skills: [session-continuity, tdd-workflow, parallel-agents, parallel-feature-development]
|
|
13
|
+
calls-bootstrap: true
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Implement Slice — Setup
|
|
17
|
+
|
|
18
|
+
Check progress state, load skills, read the slice, detect parallel mode, and write the contract.
|
|
19
|
+
|
|
20
|
+
**Prerequisite**: Phase plan must exist with slice acceptance criteria. If not, tell the user to run `/plan-phase` first.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## -1. Placeholder verification (CRITICAL — run before anything else)
|
|
25
|
+
|
|
26
|
+
Scan for unfilled placeholders before writing code. Read each file and scan for `{{`:
|
|
27
|
+
|
|
28
|
+
1. `AGENTS.md`
|
|
29
|
+
2. `GEMINI.md`
|
|
30
|
+
3. `.agent/instructions/workflow.md`
|
|
31
|
+
4. `.agent/instructions/commands.md`
|
|
32
|
+
5. `.agent/instructions/structure.md`
|
|
33
|
+
6. `.agent/instructions/patterns.md`
|
|
34
|
+
7. `.agent/instructions/tech-stack.md`
|
|
35
|
+
|
|
36
|
+
**If ANY `{{PLACEHOLDER}}` found** → STOP. Tell user which files contain unfilled placeholders with remediation:
|
|
37
|
+
|
|
38
|
+
| Unfilled pattern | Remediation |
|
|
39
|
+
|-----------------|-------------|
|
|
40
|
+
| `AGENTS.md`, `GEMINI.md`, `workflow.md`, `commands.md`, `tech-stack.md` | Run `/create-prd` |
|
|
41
|
+
| `structure.md` (`{{PROJECT_STRUCTURE}}`, `{{ARCHITECTURE_TABLE}}`) | Run `/create-prd-compile` Step 9.5 |
|
|
42
|
+
| `patterns.md` (`{{FRAMEWORK_PATTERNS}}`) | Run `/bootstrap-agents-provision` |
|
|
43
|
+
|
|
44
|
+
Only proceed when zero `{{` patterns remain in all seven files.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 0. Check progress state
|
|
49
|
+
|
|
50
|
+
Read `.agent/skills/session-continuity/protocols/01-session-resumption.md` and follow the **Session Resumption Protocol**. Also read `.agent/skills/session-continuity/SKILL.md` for cross-session tracking.
|
|
51
|
+
|
|
52
|
+
Verify previous slice was fully marked complete before starting this one.
|
|
53
|
+
|
|
54
|
+
## 0.5. Load bundled skills
|
|
55
|
+
|
|
56
|
+
Read these skill SKILL.md files: `tdd-workflow`, `error-handling-patterns`, `git-workflow`, `code-review-pro`, `testing-strategist`, `clean-code`, `logging-best-practices`, `minimalist-surgical-development`, `systematic-debugging`. All are in `.agent/skills/[name]/SKILL.md`.
|
|
57
|
+
|
|
58
|
+
Read .agent/skills/{{LANGUAGE_SKILL}}/SKILL.md and follow its language conventions.
|
|
59
|
+
If this slice includes BE tasks: Read .agent/skills/{{ORM_SKILL}}/SKILL.md and follow its migration and schema conventions. Skip if no BE tasks or `{{ORM_SKILL}}` is not provisioned.
|
|
60
|
+
Read .agent/skills/{{UNIT_TESTING_SKILL}}/SKILL.md and follow its test writing conventions.
|
|
61
|
+
If this slice includes FE tasks: Read .agent/skills/{{STATE_MANAGEMENT_SKILL}}/SKILL.md and follow its state management conventions. Skip if no FE tasks or `{{STATE_MANAGEMENT_SKILL}}` is not provisioned.
|
|
62
|
+
|
|
63
|
+
Use `find-skills` to discover a test framework skill if needed.
|
|
64
|
+
|
|
65
|
+
If this slice introduces a new dependency, read `.agent/workflows/bootstrap-agents.md` and execute with the new value.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 1. Read the slice
|
|
70
|
+
|
|
71
|
+
Read the slice's acceptance criteria from the phase plan.
|
|
72
|
+
|
|
73
|
+
## 1.5. Check for parallel mode
|
|
74
|
+
|
|
75
|
+
Scan the slice's tasks for surface tags (`BE`, `FE`, `QA`):
|
|
76
|
+
|
|
77
|
+
- **No tags found** → proceed sequentially (steps 2–7 in the tdd shard)
|
|
78
|
+
- **Tags found** → enter parallel mode:
|
|
79
|
+
|
|
80
|
+
### Parallel mode dispatch (TDD order)
|
|
81
|
+
|
|
82
|
+
Read `.agent/skills/parallel-agents/SKILL.md` and `.agent/skills/parallel-feature-development/SKILL.md` for dispatch protocol and file ownership rules.
|
|
83
|
+
|
|
84
|
+
| Phase | Agent | Responsibility | Depends On |
|
|
85
|
+
|-------|-------|---------------|------------|
|
|
86
|
+
| 0 | Orchestrator | Contracts/schemas (untagged tasks) | — |
|
|
87
|
+
| 1 | QA (RED) | Write comprehensive failing tests | Phase 0 |
|
|
88
|
+
| 2 | BE + FE (parallel) | Write code to make tests pass | Phase 1 |
|
|
89
|
+
| 3 | QA (GREEN) | Verify all tests pass, anti-cheat audit | Phase 2 |
|
|
90
|
+
| 4 | Orchestrator | Iterative correction loop if needed | Phase 3 |
|
|
91
|
+
|
|
92
|
+
Read `.agent/skills/parallel-agents/SKILL.md` and follow its TDD-Order Dispatch methodology for execution order and file isolation.
|
|
93
|
+
|
|
94
|
+
Log each dispatch phase to `.agent/progress/slices/phase-NN-slice-NN.md` `## Dispatch Log`.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 2. Write the contract (Zod schema)
|
|
99
|
+
|
|
100
|
+
Before writing the schema, locate the BE endpoint(s) referenced by this slice's acceptance criteria. For each endpoint:
|
|
101
|
+
1. Read the BE spec section that defines it. Copy the typed Zod contract completely — every request field, response field, error code, and validation rule.
|
|
102
|
+
2. Read the slice's acceptance criteria. Add any additional request/response shapes required by behavioral assertions that are not already present in the BE contract (e.g., query parameters implied by filter behavior, UI-specific error payloads).
|
|
103
|
+
3. Verify the combined schema covers every acceptance criterion and every BE contract field. Flag any drift between the BE spec and the IA shard it implements.
|
|
104
|
+
|
|
105
|
+
Read .agent/skills/{{LANGUAGE_SKILL}}/SKILL.md and follow its language conventions.
|
|
106
|
+
|
|
107
|
+
Define request/response shapes as Zod schemas in the contracts directory (see `.agent/instructions/structure.md`). This is the source of truth.
|
|
108
|
+
|
|
109
|
+
### Propose next step
|
|
110
|
+
|
|
111
|
+
Contract written. Next: `/implement-slice-tdd` for the Red→Green→Refactor cycle.
|
|
112
|
+
|
|
113
|
+
> If invoked standalone, surface via `notify_user`.
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: TDD Red→Green→Refactor cycle, validation, synthesis, and progress tracking for the implement-slice workflow
|
|
3
|
+
parent: implement-slice
|
|
4
|
+
shard: tdd
|
|
5
|
+
standalone: true
|
|
6
|
+
position: 2
|
|
7
|
+
pipeline:
|
|
8
|
+
position: 7.2
|
|
9
|
+
stage: implementation
|
|
10
|
+
predecessors: [implement-slice-setup]
|
|
11
|
+
successors: [validate-phase]
|
|
12
|
+
skills: [tdd-workflow, systematic-debugging, session-continuity]
|
|
13
|
+
calls-bootstrap: false
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Implement Slice — TDD & Progress
|
|
17
|
+
|
|
18
|
+
Execute the TDD cycle (Red → Green → Refactor), run validation, handle synthesis, and update all progress tracking files.
|
|
19
|
+
|
|
20
|
+
**Prerequisite**: Contract (Zod schema) must be written (from `/implement-slice-setup` or equivalent). If in parallel mode, QA-RED and BE/FE/QA-GREEN dispatch should be completed during setup.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 3. Write failing tests (RED)
|
|
25
|
+
|
|
26
|
+
Read .agent/skills/tdd-workflow/SKILL.md and follow its methodology.
|
|
27
|
+
Read .agent/skills/clean-code/SKILL.md and follow its methodology.
|
|
28
|
+
Read .agent/skills/systematic-debugging/SKILL.md and follow its methodology.
|
|
29
|
+
Read .agent/skills/{{LANGUAGE_SKILL}}/SKILL.md and follow its language conventions.
|
|
30
|
+
Read .agent/skills/{{UNIT_TESTING_SKILL}}/SKILL.md and follow its test writing conventions.
|
|
31
|
+
Read .agent/skills/{{E2E_TESTING_SKILL}}/SKILL.md and follow its E2E test conventions.
|
|
32
|
+
|
|
33
|
+
Cross-reference **all three** sources — acceptance criteria from the phase plan, the Zod contract from step 2, AND IA edge cases traced through the BE Source Map:
|
|
34
|
+
1. Write a test for each acceptance criterion
|
|
35
|
+
2. Write a test for each contract field, error type, and validation rule not already covered by criteria
|
|
36
|
+
3. For each endpoint in this slice, read the IA shard section(s) cited in that endpoint's BE spec `## Source Map`. Extract every item from the IA shard's `## Edge Cases` section that is relevant to the endpoint(s) under test. Write a failing test for each uncovered edge case. Tag these tests with `// IA-EDGE: [IA §X.Y — description]` so QA-GREEN can audit traceability.
|
|
37
|
+
4. Run all tests — they MUST fail
|
|
38
|
+
5. Commit the failing tests
|
|
39
|
+
|
|
40
|
+
**Test order**: Unit → Integration → E2E (if applicable)
|
|
41
|
+
|
|
42
|
+
> **In parallel mode**, this step is handled by the `QA` agent dispatch in step 1.5.
|
|
43
|
+
> In sequential mode, the orchestrator handles it directly.
|
|
44
|
+
|
|
45
|
+
Run `{{TEST_COMMAND}}` to verify tests fail.
|
|
46
|
+
|
|
47
|
+
## 4. Implement (GREEN)
|
|
48
|
+
|
|
49
|
+
Read .agent/skills/{{LANGUAGE_SKILL}}/SKILL.md and follow its language conventions.
|
|
50
|
+
|
|
51
|
+
Write the minimum code to make all tests pass:
|
|
52
|
+
1. Database schema/migration
|
|
53
|
+
2. API endpoint handler
|
|
54
|
+
3. Business logic
|
|
55
|
+
4. UI component
|
|
56
|
+
|
|
57
|
+
**If in parallel mode**: Each agent claims its task via the **Parallel Claim Protocol** (`.agent/skills/session-continuity/protocols/09-parallel-claim.md`) — marking `[!]`, writing `files:` list, and working through subtasks. Agents release claims on completion.
|
|
58
|
+
|
|
59
|
+
**Before using any stub or placeholder**, apply the three-part test from the
|
|
60
|
+
`boundary-not-placeholder` rule:
|
|
61
|
+
- Does the spec exist? → Implement it. No stub.
|
|
62
|
+
- Could you write the spec now? → Write the spec first, then implement.
|
|
63
|
+
- Information genuinely doesn't exist? → `BOUNDARY:` stub with typed interface, tracking issue, and sentinel test.
|
|
64
|
+
|
|
65
|
+
> **"This is a lot of work" is not a valid boundary.** Amount of work, task
|
|
66
|
+
> scope, and complexity are never reasons to stub. Only missing information is.
|
|
67
|
+
|
|
68
|
+
**Spec traceability**: if you make any implementation decision not explicitly covered by the spec or contract (e.g., choosing enum values, default behaviors, retry counts, timeout durations, error messages), annotate it with `// DECISION: [what was decided and why]`. QA will audit these.
|
|
69
|
+
|
|
70
|
+
Run `{{TEST_COMMAND}}` to verify tests pass.
|
|
71
|
+
|
|
72
|
+
## 4.5. New dependency check
|
|
73
|
+
|
|
74
|
+
After making all tests pass (GREEN), scan the new imports introduced in the implementation files.
|
|
75
|
+
|
|
76
|
+
If any package or module was introduced that does **not** have a corresponding skill directory in `.agent/skills/`:
|
|
77
|
+
1. Identify the stack category (e.g., `QUEUE`, `CACHE`, `SEARCH`, `STORAGE`, `REALTIME`)
|
|
78
|
+
2. Read `.agent/workflows/bootstrap-agents.md` and fire bootstrap with `PIPELINE_STAGE=implement-slice` + the key-value pair (e.g., `NEW_DEPENDENCY=[package-name]`)
|
|
79
|
+
3. Confirm the matching skill is installed before proceeding to REFACTOR
|
|
80
|
+
|
|
81
|
+
If no new unregistered dependencies were introduced, skip and proceed to Step 5.
|
|
82
|
+
|
|
83
|
+
## 5. Refactor
|
|
84
|
+
|
|
85
|
+
With tests green, improve code quality:
|
|
86
|
+
- Extract shared logic
|
|
87
|
+
- Improve naming
|
|
88
|
+
- Remove duplication
|
|
89
|
+
- Add documentation
|
|
90
|
+
|
|
91
|
+
Read `.agent/skills/code-review-pro/SKILL.md` and follow its adversarial review methodology against the code written in Steps 3–4. Ask: "How would a senior engineer reject this in a PR review?" Fix any issues found before running the test command.
|
|
92
|
+
|
|
93
|
+
**Mandatory spec traceability check**: Re-read the BE spec section(s) and IA shard sections referenced by this slice's acceptance criteria. For every field in the Zod contract (from Step 2), verify it maps to a field in the BE spec. For every `// IA-EDGE:` tagged test (from Step 3), verify the corresponding IA edge case is covered by the implementation — not just by the test. If any drift is found between the implementation and the spec (missing fields, renamed fields, dropped validations, unimplemented edge cases), fix the implementation now. Do not proceed to Step 6 if any spec drift remains.
|
|
94
|
+
|
|
95
|
+
Run `{{TEST_COMMAND}}` to verify tests still pass after refactor.
|
|
96
|
+
|
|
97
|
+
## 6. Validate
|
|
98
|
+
|
|
99
|
+
Read .agent/skills/verification-before-completion/SKILL.md and apply its evidence-before-claims discipline.
|
|
100
|
+
|
|
101
|
+
Run the full validation suite: `{{VALIDATION_COMMAND}}`.
|
|
102
|
+
|
|
103
|
+
All must pass before the slice is complete.
|
|
104
|
+
|
|
105
|
+
## 6.5. Synthesis (parallel mode only)
|
|
106
|
+
|
|
107
|
+
**Skip this step if not in parallel mode.**
|
|
108
|
+
|
|
109
|
+
> **Write synthesis plan first**: Before beginning any synthesis work, write a `## Synthesis Plan` section to the slice file (`.agent/progress/slices/phase-NN-slice-NN.md`) listing:
|
|
110
|
+
> - All `// BOUNDARY:` stubs found across agent outputs (file path + stub description)
|
|
111
|
+
> - All cross-surface integrations to wire (e.g., "BE auth middleware → FE token refresh handler")
|
|
112
|
+
>
|
|
113
|
+
> This gives you a checklist to resume from if the session is interrupted during synthesis.
|
|
114
|
+
|
|
115
|
+
After all parallel agents have completed and QA-GREEN has passed:
|
|
116
|
+
|
|
117
|
+
1. **Verify no file conflicts** — confirm no file was modified by multiple agents
|
|
118
|
+
2. **Resolve `// BOUNDARY:` stubs** — agents may have created boundary stubs for frozen files (contracts, config). Resolve these now:
|
|
119
|
+
- Update shared contracts if needed
|
|
120
|
+
- Install any new dependencies
|
|
121
|
+
- Wire cross-surface integrations
|
|
122
|
+
3. **Run full validation** — the validation from step 6 runs again after synthesis
|
|
123
|
+
4. **Create synthesis report** per the `parallel-agents` skill (Synthesize step)
|
|
124
|
+
|
|
125
|
+
Run `{{VALIDATION_COMMAND}}` for post-synthesis validation.
|
|
126
|
+
|
|
127
|
+
## 7. Update progress (Mandatory)
|
|
128
|
+
|
|
129
|
+
**CRITICAL ANTI-HALLUCINATION RULE**: You MUST NOT skip the progress update. Agents routinely skip this step after validation passes. You must physically open and edit **each** of the following files using your file editing tools. Protocol reference: `.agent/skills/session-continuity/protocols/03-progress-update.md`.
|
|
130
|
+
|
|
131
|
+
### 7a. Update the slice file: `.agent/progress/slices/phase-NN-slice-NN.md`
|
|
132
|
+
|
|
133
|
+
Open the slice file matching the slice you just implemented (e.g., `phase-02-slice-05.md`).
|
|
134
|
+
|
|
135
|
+
1. Set `**Status**:` to `complete`.
|
|
136
|
+
2. Change every `[ ]` in **Acceptance Criteria** to `[x]`.
|
|
137
|
+
3. Add an **Implementation Notes** section describing the approach taken.
|
|
138
|
+
4. Add a **Files Changed** section listing every file you created or modified.
|
|
139
|
+
|
|
140
|
+
### 7b. Update the phase file: `.agent/progress/phases/phase-NN.md`
|
|
141
|
+
|
|
142
|
+
1. Find the slice's entry (e.g., `- [ ] **Slice 05**: ...`) and change it to `- [x] **Slice 05**: ... ✅ YYYY-MM-DD`.
|
|
143
|
+
2. Mark each sub-task under it `[x]`.
|
|
144
|
+
3. Update the `**Progress**:` header fraction (e.g., `4/13 slices` → `5/13 slices`).
|
|
145
|
+
4. Release any `[!]` claim flags and remove `files:` lock blocks.
|
|
146
|
+
|
|
147
|
+
### 7c. Update the index: `.agent/progress/index.md`
|
|
148
|
+
|
|
149
|
+
1. Recalculate the **Overall** line: increment the slice count and recompute the percentage (e.g., `23/32 slices (71%)` → `24/32 slices (75%)`).
|
|
150
|
+
2. Update the phase row in the table: increment its progress count.
|
|
151
|
+
3. If the phase is now complete, change its status to `complete` and add ✅.
|
|
152
|
+
|
|
153
|
+
### 7d. Log to memory
|
|
154
|
+
|
|
155
|
+
1. Record any learned patterns to `.agent/progress/memory/patterns.md`.
|
|
156
|
+
2. Record any blockers encountered to `.agent/progress/memory/blockers.md`.
|
|
157
|
+
|
|
158
|
+
## 8. Completion Gate
|
|
159
|
+
|
|
160
|
+
Read .agent/skills/verification-before-completion/SKILL.md and apply its evidence-before-claims discipline.
|
|
161
|
+
|
|
162
|
+
### UI Completeness Check (FE slices only)
|
|
163
|
+
|
|
164
|
+
- [ ] (FE slices only) Every acceptance criterion mentioning "user sees", "user can", "displays", or "shows" has a rendered implementation — not just a passing test
|
|
165
|
+
- [ ] (FE slices only) Every new route in this slice is wired into the app's navigation (not just exported as a component)
|
|
166
|
+
- [ ] (FE slices only) Loading, error, and empty states are rendered in the UI — not just covered by tests
|
|
167
|
+
- [ ] (FE slices only) The feature is reachable from the app's entry point via normal user navigation
|
|
168
|
+
|
|
169
|
+
These items apply only when the slice is tagged `FE`. Non-FE slices skip this block.
|
|
170
|
+
|
|
171
|
+
### Spec Traceability Gate (all slices)
|
|
172
|
+
|
|
173
|
+
Before calling `notify_user`, verify:
|
|
174
|
+
|
|
175
|
+
- [ ] Re-read the BE spec section(s) for every endpoint in this slice — every response field, error code, and validation rule has a corresponding test tagged with the spec reference
|
|
176
|
+
- [ ] Re-read the IA shard's `## Edge Cases` section for this slice's domain — every edge case relevant to this slice has a `// IA-EDGE:` tagged test
|
|
177
|
+
- [ ] No `// DECISION:` annotations exist for behaviors that are actually specified in the BE spec or IA shard (i.e., no spec-defined behavior was treated as an undocumented implementation decision)
|
|
178
|
+
- [ ] The Zod contract written in Step 2 matches the delivered implementation field-for-field — no fields added, removed, or renamed during implementation without a corresponding contract update
|
|
179
|
+
|
|
180
|
+
> ❌ STOP — Do not call `notify_user` if any of the above are unchecked. Fix the gap, update the contract if needed, and re-run `{{TEST_COMMAND}}`.
|
|
181
|
+
|
|
182
|
+
You may not call `notify_user` until you have physically edited **all four** file targets above (7a–7d).
|
|
183
|
+
|
|
184
|
+
Verify your edits by reading each of the following files:
|
|
185
|
+
- Read `.agent/progress/slices/phase-NN-slice-NN.md` — must show Status: complete and [x] criteria
|
|
186
|
+
- Read `.agent/progress/phases/phase-NN.md` — search for "Progress" and verify it shows the incremented fraction
|
|
187
|
+
- Read `.agent/progress/index.md` — search for "Overall" and verify it shows the new overall percentage
|
|
188
|
+
|
|
189
|
+
Replace `NN` with the actual phase and slice numbers you just completed.
|
|
190
|
+
|
|
191
|
+
Your `notify_user` payload **MUST** include:
|
|
192
|
+
1. The raw output from the three commands above.
|
|
193
|
+
2. The updated overall progress (e.g., "Overall progress is now 75% (24/32 slices)").
|
|
194
|
+
3. The explicit next command: Run `/implement-slice` for [next slice name].
|
|
195
|
+
|
|
196
|
+
If any command output shows unchecked criteria, a stale fraction, or a missing file, you have failed the workflow.
|
|
197
|
+
|
|
198
|
+
**Infrastructure/Auth slice gate**: After completing progress tracking, check the slice name against the phase plan. If this was the `00-infrastructure` slice or the auth slice, the next command to run is `/verify-infrastructure`, not `/implement-slice`. Do not propose the next feature slice until `/verify-infrastructure` passes and produces a green report in `docs/audits/`.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: TDD vertical slice — Red→Green→Refactor across all four surfaces
|
|
3
|
+
pipeline:
|
|
4
|
+
position: 7
|
|
5
|
+
stage: implementation
|
|
6
|
+
predecessors: [plan-phase]
|
|
7
|
+
successors: [validate-phase]
|
|
8
|
+
loop: true # repeats per slice within a phase
|
|
9
|
+
skills: [tdd-workflow, error-handling-patterns, git-workflow, code-review-pro, testing-strategist, clean-code, logging-best-practices, minimalist-surgical-development, systematic-debugging]
|
|
10
|
+
calls-bootstrap: true # may discover new dependencies during implementation
|
|
11
|
+
shards: [implement-slice-setup, implement-slice-tdd]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Implement Slice
|
|
15
|
+
|
|
16
|
+
Implement a single vertical slice using strict TDD: Red → Green → Refactor.
|
|
17
|
+
|
|
18
|
+
**Input**: A slice from the phase plan with acceptance criteria
|
|
19
|
+
**Output**: Working code across all surfaces with passing tests
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Shard Overview
|
|
24
|
+
|
|
25
|
+
| # | Shard | What It Does |
|
|
26
|
+
|---|-------|-------------|
|
|
27
|
+
| 1 | [`implement-slice-setup`](.agent/workflows/implement-slice-setup.md) | Checks progress state, loads skills, reads slice, checks for parallel mode, writes contracts |
|
|
28
|
+
| 2 | [`implement-slice-tdd`](.agent/workflows/implement-slice-tdd.md) | Executes Red→Green→Refactor, validates, updates all progress tracking files |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Orchestration
|
|
33
|
+
|
|
34
|
+
### Step A — Run `.agent/workflows/implement-slice-setup.md`
|
|
35
|
+
|
|
36
|
+
Checks progress state and session continuity, loads all bundled skills, reads the slice acceptance criteria, determines if parallel mode applies, and writes the contract (Zod schema). If parallel mode is detected, dispatches agents for the TDD cycle.
|
|
37
|
+
|
|
38
|
+
### Step B — Run `.agent/workflows/implement-slice-tdd.md`
|
|
39
|
+
|
|
40
|
+
Executes the TDD cycle (RED: write failing tests → GREEN: implement → REFACTOR: improve quality), runs full validation, handles synthesis for parallel mode, and updates all 4 progress tracking targets (slice file, phase file, index, memory).
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Quality Gate
|
|
45
|
+
|
|
46
|
+
You may not call `notify_user` until:
|
|
47
|
+
- [ ] All tests pass (`{{TEST_COMMAND}}`)
|
|
48
|
+
- [ ] Full validation passes (`{{VALIDATION_COMMAND}}`)
|
|
49
|
+
- [ ] All 4 progress tracking files updated (slice, phase, index, memory)
|
|
50
|
+
- [ ] Each tracking file verified by re-reading after edit
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create TDD vertical slices for one phase, with acceptance criteria per item
|
|
3
|
+
pipeline:
|
|
4
|
+
position: 6
|
|
5
|
+
stage: planning
|
|
6
|
+
predecessors: [write-be-spec, write-fe-spec] # join point — waits for both
|
|
7
|
+
successors: [implement-slice]
|
|
8
|
+
skills: [resolve-ambiguity, testing-strategist, technical-writer]
|
|
9
|
+
calls-bootstrap: true
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
// turbo-all
|
|
13
|
+
|
|
14
|
+
# Plan Phase
|
|
15
|
+
|
|
16
|
+
Break a phase into TDD vertical slices, each spanning all four surfaces (contract, test, implementation, UI).
|
|
17
|
+
|
|
18
|
+
> **Every slice ships production-grade code.** Slices are ordered by dependency,
|
|
19
|
+
> not by quality tier. The first slice and the last slice meet the same bar.
|
|
20
|
+
|
|
21
|
+
**Input**: Approved specs (IA + BE + FE) and the phasing section from architecture design
|
|
22
|
+
**Output**: Phase plan with ordered slices and acceptance criteria
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 0. Phase sequencing gate
|
|
27
|
+
|
|
28
|
+
Read `.agent/progress/index.md` to identify the current phase number N.
|
|
29
|
+
|
|
30
|
+
- **If N = 1** → this is the first phase. Skip this gate.
|
|
31
|
+
- **If N > 1** → read `.agent/progress/phases/phase-[N-1].md` and verify its status is `complete` with a passing `/validate-phase`. **Hard stop** if the previous phase is not complete: "Phase [N-1] must be complete with a passing `/validate-phase` before planning Phase [N]. Run `/validate-phase` for Phase [N-1] first."
|
|
32
|
+
|
|
33
|
+
**Architecture map freshness check (N > 1 only)** — warning, not a hard stop. Skipped entirely for Phase 1.
|
|
34
|
+
|
|
35
|
+
If `docs/ARCHITECTURE.md` exists, compare its "Last updated" date against the Phase N-1 completion date from `.agent/progress/phases/phase-[N-1].md`. If the map is **older** than Phase N-1 completion:
|
|
36
|
+
|
|
37
|
+
> ⚠️ `docs/ARCHITECTURE.md` may not reflect current state. Run `/update-architecture-map` or reply `"confirmed"` if intentionally current.
|
|
38
|
+
|
|
39
|
+
**Wait** for user resolution before proceeding to Step 0.1. If dates are equal/newer, or the file doesn't exist, proceed silently.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 0.1. Load planning skills
|
|
44
|
+
|
|
45
|
+
Read these skills for slice planning guidance:
|
|
46
|
+
1. `.agent/skills/testing-strategist/SKILL.md` — Test strategy per slice
|
|
47
|
+
2. `.agent/skills/technical-writer/SKILL.md` — Acceptance criteria clarity
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 0.5. Application Completeness Audit
|
|
52
|
+
|
|
53
|
+
Before running checks: read `{{SURFACES}}` from `.agent/instructions/tech-stack.md`. For each row in the table below, only run the check if the "Applies To" column matches the project's confirmed surfaces. Skip rows that don't apply — a missing check for an inapplicable surface is not a failure.
|
|
54
|
+
|
|
55
|
+
Read all FE specs in `docs/plans/fe/` and check the following table.
|
|
56
|
+
|
|
57
|
+
| Check | Applies To | What It Verifies |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| **Route coverage** | web, mobile, desktop | Every route in the app is specced in at least one FE spec |
|
|
60
|
+
| **Navigation coverage** | web, mobile, desktop | Every route is reachable from at least one navigation element |
|
|
61
|
+
| **Auth state coverage** | all surfaces (if auth exists) | Every auth state (logged out, logged in, insufficient permissions) has a defined UI or response |
|
|
62
|
+
| **Empty state coverage** | web, mobile, desktop | Every data-fetching view has an empty state spec |
|
|
63
|
+
| **Error state coverage** | all surfaces | Every data-fetching operation has an error response or error state spec |
|
|
64
|
+
| **Onboarding coverage** | all surfaces (if accounts exist) | First-run or onboarding flow is specced |
|
|
65
|
+
| **404/error pages** | web, desktop | Global error pages (404, 500, offline) are specced |
|
|
66
|
+
| **Help/usage output** | cli | `--help` flag output is specced and documents all commands |
|
|
67
|
+
| **Exit codes** | cli | All error exit codes and their meanings are documented in a spec |
|
|
68
|
+
| **Command discovery** | cli | Command listing or autocomplete behavior is specced |
|
|
69
|
+
|
|
70
|
+
**If ANY applicable check fails → stop and tell the user exactly which FE specs need to be updated. Do NOT proceed to create a phase plan.**
|
|
71
|
+
|
|
72
|
+
Only when all **applicable** checks pass does the workflow continue to the next step.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 0.6. BE↔FE Coverage Cross-Check
|
|
77
|
+
|
|
78
|
+
Read `docs/plans/be/index.md` and `docs/plans/fe/index.md`.
|
|
79
|
+
|
|
80
|
+
For every BE spec listed in `docs/plans/be/index.md`, check whether at least one FE spec's `## Source Map` section references it. Apply the following rules:
|
|
81
|
+
|
|
82
|
+
1. **Covered**: The BE spec appears in at least one FE `## Source Map` → pass.
|
|
83
|
+
2. **Internal-only exception**: If the BE spec is annotated `[internal-only — no UI]` in the BE index, it is exempt from FE coverage → pass.
|
|
84
|
+
3. **Uncovered**: The BE spec is neither covered by an FE Source Map nor marked `[internal-only — no UI]` → collect it in the uncovered list.
|
|
85
|
+
|
|
86
|
+
**If the uncovered list is empty** → proceed to the next step.
|
|
87
|
+
|
|
88
|
+
**If any uncovered non-internal BE specs exist** → **hard stop**. Present the uncovered list and ask:
|
|
89
|
+
|
|
90
|
+
> "The following BE specs have no FE coverage and are not marked `[internal-only — no UI]`:
|
|
91
|
+
>
|
|
92
|
+
> - `[be-spec-filename-1]`
|
|
93
|
+
> - `[be-spec-filename-2]`
|
|
94
|
+
>
|
|
95
|
+
> For each, either:
|
|
96
|
+
> 1. Add FE coverage via `/write-fe-spec`
|
|
97
|
+
> 2. Mark the BE spec as `[internal-only — no UI]` in `docs/plans/be/index.md` if it has no user-facing surface
|
|
98
|
+
>
|
|
99
|
+
> Confirm when resolved."
|
|
100
|
+
|
|
101
|
+
Do not proceed until the user confirms all uncovered specs are resolved.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 0.8. Draft continuity check
|
|
106
|
+
|
|
107
|
+
Check whether `docs/plans/phases/phase-N-draft.md` already exists (where N is the current phase number).
|
|
108
|
+
|
|
109
|
+
- **If it exists**: Read it and identify which slices are already drafted (have acceptance criteria written) vs which are missing. Present the current state: "A draft exists for Phase N with [X] slices already written. Do you want to **continue from where you left off** (add missing slices only), or **start fresh** (overwrite the draft)?" Wait for the user's answer.
|
|
110
|
+
- **If it does not exist**: Proceed normally.
|
|
111
|
+
|
|
112
|
+
## 1. Read phase scope
|
|
113
|
+
|
|
114
|
+
Read the file at `docs/plans/*-architecture-design.md` (phasing section) and the file at `docs/plans/be/index.md` (which specs to include).
|
|
115
|
+
|
|
116
|
+
## 2. Identify slices (spec-anchored derivation)
|
|
117
|
+
|
|
118
|
+
For each FE spec in the phase scope:
|
|
119
|
+
1. Open the FE spec's `## Interaction Specification` section
|
|
120
|
+
2. Enumerate every distinct named user flow (e.g., "Submit entity claim form", "Search directory with filters", "View entity detail page")
|
|
121
|
+
3. For each user flow, identify its primary BE endpoint from the FE spec's `## Source Map`
|
|
122
|
+
4. Group flows into one slice only when:
|
|
123
|
+
a. They share the exact same DB write (true dependency, not just same domain), OR
|
|
124
|
+
b. They are a required sequence (flow B cannot be tested without flow A existing)
|
|
125
|
+
5. Flows that do not meet criteria (a) or (b) become individual slices
|
|
126
|
+
|
|
127
|
+
The resulting list of slices is derived from the spec, not estimated from feature names. Do not aggregate slices by domain name or by "it feels like one feature."
|
|
128
|
+
|
|
129
|
+
Estimate complexity (S/M/L) per derived slice. Flag any slice estimated L — these are candidates for further splitting before ordering begins.
|
|
130
|
+
|
|
131
|
+
**Good slice**: "User can submit an entity claim form" (one named user flow from the FE interaction spec)
|
|
132
|
+
**Bad slice**: "Implement entity management" (domain name, not a spec-derived user flow)
|
|
133
|
+
|
|
134
|
+
## 3. Order by dependency
|
|
135
|
+
|
|
136
|
+
Read .agent/skills/concise-planning/SKILL.md and follow its methodology.
|
|
137
|
+
|
|
138
|
+
Sort slices so each builds on the last:
|
|
139
|
+
- Infrastructure slices first (DB schema, auth middleware)
|
|
140
|
+
|
|
141
|
+
**Phase 1 special rule**: The `00-infrastructure` shard is always the first slice. Verify it covers: (1) CI/CD pipeline setup — read `.agent/skills/{{CI_CD_SKILL}}/SKILL.md`, (2) environment configuration (`.env.example`), (3) deployment pipeline — read `.agent/skills/{{HOSTING_SKILL}}/SKILL.md`, (4) project scaffolding from `.agent/instructions/structure.md` (directories, `README.md` files, base configs), (5) database initialization. Add missing items before proceeding.
|
|
142
|
+
|
|
143
|
+
**Verification gates** (hard gates — add explicitly to the phase plan):
|
|
144
|
+
- `/verify-infrastructure` MUST pass after the infrastructure slice, before any feature slice.
|
|
145
|
+
- `/verify-infrastructure` MUST pass again after the auth slice (with auth smoke test), before any auth-dependent feature slice.
|
|
146
|
+
|
|
147
|
+
- Core entity CRUD second
|
|
148
|
+
- Dependent features next
|
|
149
|
+
- Cross-cutting concerns (logging, monitoring, error handling) woven throughout
|
|
150
|
+
|
|
151
|
+
**Note:** This ordering is about dependencies, not about deferring quality.
|
|
152
|
+
Every slice — including the first infrastructure slice — is fully tested,
|
|
153
|
+
fully specified, and production-ready.
|
|
154
|
+
|
|
155
|
+
## 4. Write acceptance criteria
|
|
156
|
+
|
|
157
|
+
Read `.agent/skills/prd-templates/references/operational-templates.md` for the **Slice Acceptance Criteria** template. For each slice, use the template to define testable acceptance criteria with surface tags:
|
|
158
|
+
|
|
159
|
+
> **Write as you go**: After completing acceptance criteria for each slice, immediately append that slice's entry to `docs/plans/phases/phase-N-draft.md` (create the file if it doesn't exist). Do not accumulate all slices in context and write them all at once in Step 5.
|
|
160
|
+
|
|
161
|
+
**Surface tag rules:**
|
|
162
|
+
- `BE`: API routes, DB queries, middleware, business logic, server-side validation
|
|
163
|
+
- `FE`: Pages, components, styling, interactions, client-side logic
|
|
164
|
+
- `QA`: Test writing (RED phase — runs FIRST), test verification (GREEN phase — runs LAST)
|
|
165
|
+
- No tag: Contract/schema work, shared infra — handled sequentially by orchestrator
|
|
166
|
+
|
|
167
|
+
## 4.5. Identify parallel groups (TDD order)
|
|
168
|
+
|
|
169
|
+
Read .agent/skills/parallel-agents/SKILL.md and apply its workstream decomposition methodology to identify independent parallel groups.
|
|
170
|
+
|
|
171
|
+
For each slice, determine the execution order following TDD:
|
|
172
|
+
|
|
173
|
+
> **Tests are the rock. Code is malleable.** Tests encode the acceptance criteria
|
|
174
|
+
> and must be comprehensive. Code adapts to pass tests, never the reverse.
|
|
175
|
+
|
|
176
|
+
Read `.agent/skills/parallel-agents/SKILL.md` and follow its TDD-Order Dispatch methodology for parallel groups and execution order. Flag any tasks that can't be parallelized (shared file dependencies) in the plan.
|
|
177
|
+
|
|
178
|
+
## 5. Finalize phase plan
|
|
179
|
+
|
|
180
|
+
Read `docs/plans/phases/phase-N-draft.md` (which was built progressively in Step 4) and write the final formatted phase plan to `docs/plans/phases/phase-N.md`. The draft is the authoritative source — do not add or drop slices during finalization.
|
|
181
|
+
|
|
182
|
+
## 6. Generate progress files
|
|
183
|
+
|
|
184
|
+
Read `.agent/skills/session-continuity/protocols/02-progress-generation.md` and follow the **Progress Generation Protocol** to create tracking files for this phase in `.agent/progress/`.
|
|
185
|
+
|
|
186
|
+
## 6.5. Bootstrap Completeness Gate
|
|
187
|
+
|
|
188
|
+
Scan these four files for literal `{{` occurrences of `LANGUAGE_SKILL`, `HOSTING_SKILL`, `CI_CD_SKILL`, `ORM_SKILL`, `UNIT_TESTING_SKILL`, `E2E_TESTING_SKILL`:
|
|
189
|
+
- `.agent/workflows/implement-slice-setup.md`
|
|
190
|
+
- `.agent/workflows/implement-slice-tdd.md`
|
|
191
|
+
- `.agent/workflows/verify-infrastructure.md`
|
|
192
|
+
- `.agent/workflows/validate-phase.md`
|
|
193
|
+
|
|
194
|
+
For each unfilled placeholder, read `docs/plans/*-architecture-design.md` to extract the confirmed value, then run `/bootstrap-agents` (see `.agent/workflows/bootstrap-agents.md`) with the corresponding key.
|
|
195
|
+
|
|
196
|
+
> ❌ STOP — Re-scan the four files. Only proceed to Step 7 when zero `{{` patterns remain. If any remain unfilled after bootstrap, tell the user which placeholders could not be provisioned.
|
|
197
|
+
|
|
198
|
+
## 7. Request review and next steps
|
|
199
|
+
|
|
200
|
+
Use `notify_user` to request review of the phase plan and generated progress files.
|
|
201
|
+
|
|
202
|
+
**Proposed next step**: Once approved, run `/implement-slice` for the first slice in the phase plan. Read `.agent/progress/` to identify which slice to start with.
|