aigroup-workflow 2.2.0 → 2.2.2
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/.claude/commands/fix-build.md +10 -5
- package/.claude/commands/init-project.md +13 -8
- package/.claude/commands/plan.md +15 -8
- package/.claude/commands/review.md +12 -6
- package/.claude/commands/tdd.md +11 -5
- package/.claude/commands/workflow-start.md +20 -11
- package/.claude/settings.json +28 -0
- package/.codex/agents/architect.toml +207 -0
- package/.codex/agents/build-error-resolver.toml +110 -0
- package/.codex/agents/code-reviewer.toml +233 -0
- package/.codex/agents/doc-updater.toml +103 -0
- package/.codex/agents/e2e-runner.toml +103 -0
- package/.codex/agents/get-current-datetime.toml +23 -0
- package/.codex/agents/init-architect.toml +181 -0
- package/.codex/agents/planner.toml +208 -0
- package/.codex/agents/refactor-cleaner.toml +81 -0
- package/.codex/agents/rust-reviewer.toml +90 -0
- package/.codex/agents/security-reviewer.toml +104 -0
- package/.codex/agents/tdd-guide.toml +87 -0
- package/AGENTS.md +2 -2
- package/CLAUDE.md +23 -1
- package/LICENSE +20 -20
- package/README.md +333 -333
- package/agents/a11y-architect.md +141 -141
- package/agents/architect.md +211 -211
- package/agents/build-error-resolver.md +114 -114
- package/agents/chief-of-staff.md +151 -151
- package/agents/code-architect.md +71 -71
- package/agents/code-explorer.md +69 -69
- package/agents/code-reviewer.md +237 -237
- package/agents/code-simplifier.md +47 -47
- package/agents/comment-analyzer.md +45 -45
- package/agents/conversation-analyzer.md +52 -52
- package/agents/cpp-build-resolver.md +90 -90
- package/agents/cpp-reviewer.md +72 -72
- package/agents/csharp-reviewer.md +101 -101
- package/agents/dart-build-resolver.md +201 -201
- package/agents/database-reviewer.md +91 -91
- package/agents/doc-updater.md +107 -107
- package/agents/docs-lookup.md +68 -68
- package/agents/e2e-runner.md +107 -107
- package/agents/flutter-reviewer.md +243 -243
- package/agents/gan-evaluator.md +209 -209
- package/agents/gan-generator.md +131 -131
- package/agents/gan-planner.md +99 -99
- package/agents/get-current-datetime.md +26 -26
- package/agents/go-build-resolver.md +94 -94
- package/agents/go-reviewer.md +76 -76
- package/agents/harness-optimizer.md +35 -35
- package/agents/healthcare-reviewer.md +83 -83
- package/agents/java-build-resolver.md +153 -153
- package/agents/java-reviewer.md +92 -92
- package/agents/kotlin-build-resolver.md +118 -118
- package/agents/kotlin-reviewer.md +159 -159
- package/agents/loop-operator.md +36 -36
- package/agents/opensource-forker.md +198 -198
- package/agents/opensource-packager.md +249 -249
- package/agents/opensource-sanitizer.md +188 -188
- package/agents/performance-optimizer.md +446 -446
- package/agents/planner.md +212 -212
- package/agents/pr-test-analyzer.md +45 -45
- package/agents/python-reviewer.md +98 -98
- package/agents/pytorch-build-resolver.md +120 -120
- package/agents/refactor-cleaner.md +85 -85
- package/agents/rust-build-resolver.md +148 -148
- package/agents/rust-reviewer.md +94 -94
- package/agents/security-reviewer.md +108 -108
- package/agents/seo-specialist.md +59 -59
- package/agents/silent-failure-hunter.md +50 -50
- package/agents/tdd-guide.md +91 -91
- package/agents/type-design-analyzer.md +41 -41
- package/agents/typescript-reviewer.md +112 -112
- package/cli/commands/update.mjs +1 -1
- package/cli/utils/scaffold.mjs +53 -0
- package/docs/rules/agents.md +166 -50
- package/docs/rules/cpp/coding-style.md +44 -44
- package/docs/rules/cpp/hooks.md +39 -39
- package/docs/rules/cpp/patterns.md +51 -51
- package/docs/rules/cpp/security.md +51 -51
- package/docs/rules/cpp/testing.md +44 -44
- package/docs/rules/csharp/coding-style.md +72 -72
- package/docs/rules/csharp/hooks.md +25 -25
- package/docs/rules/csharp/patterns.md +50 -50
- package/docs/rules/csharp/security.md +58 -58
- package/docs/rules/csharp/testing.md +46 -46
- package/docs/rules/dart/coding-style.md +159 -159
- package/docs/rules/dart/hooks.md +66 -66
- package/docs/rules/dart/patterns.md +261 -261
- package/docs/rules/dart/security.md +135 -135
- package/docs/rules/dart/testing.md +215 -215
- package/docs/rules/golang/coding-style.md +32 -32
- package/docs/rules/golang/hooks.md +17 -17
- package/docs/rules/golang/patterns.md +45 -45
- package/docs/rules/golang/security.md +34 -34
- package/docs/rules/golang/testing.md +31 -31
- package/docs/rules/java/coding-style.md +114 -114
- package/docs/rules/java/hooks.md +18 -18
- package/docs/rules/java/patterns.md +146 -146
- package/docs/rules/java/security.md +100 -100
- package/docs/rules/java/testing.md +131 -131
- package/docs/rules/kotlin/coding-style.md +86 -86
- package/docs/rules/kotlin/hooks.md +17 -17
- package/docs/rules/kotlin/patterns.md +146 -146
- package/docs/rules/kotlin/security.md +82 -82
- package/docs/rules/kotlin/testing.md +128 -128
- package/docs/rules/perl/coding-style.md +46 -46
- package/docs/rules/perl/hooks.md +22 -22
- package/docs/rules/perl/patterns.md +76 -76
- package/docs/rules/perl/security.md +69 -69
- package/docs/rules/perl/testing.md +54 -54
- package/docs/rules/php/coding-style.md +40 -40
- package/docs/rules/php/hooks.md +24 -24
- package/docs/rules/php/patterns.md +33 -33
- package/docs/rules/php/security.md +37 -37
- package/docs/rules/php/testing.md +39 -39
- package/docs/rules/python/coding-style.md +42 -42
- package/docs/rules/python/hooks.md +19 -19
- package/docs/rules/python/patterns.md +39 -39
- package/docs/rules/python/security.md +30 -30
- package/docs/rules/python/testing.md +38 -38
- package/docs/rules/rust/coding-style.md +151 -151
- package/docs/rules/rust/hooks.md +16 -16
- package/docs/rules/rust/patterns.md +168 -168
- package/docs/rules/rust/security.md +141 -141
- package/docs/rules/rust/testing.md +154 -154
- package/docs/rules/swift/coding-style.md +47 -47
- package/docs/rules/swift/hooks.md +20 -20
- package/docs/rules/swift/patterns.md +66 -66
- package/docs/rules/swift/security.md +33 -33
- package/docs/rules/swift/testing.md +45 -45
- package/docs/rules/typescript/coding-style.md +199 -199
- package/docs/rules/typescript/hooks.md +22 -22
- package/docs/rules/typescript/patterns.md +52 -52
- package/docs/rules/typescript/security.md +28 -28
- package/docs/rules/typescript/testing.md +18 -18
- package/docs/rules/web/coding-style.md +96 -96
- package/docs/rules/web/design-quality.md +62 -62
- package/docs/rules/web/hooks.md +120 -120
- package/docs/rules/web/patterns.md +79 -79
- package/docs/rules/web/performance.md +64 -64
- package/docs/rules/web/security.md +57 -57
- package/docs/rules/web/testing.md +55 -55
- package/docs/templates/README.md +36 -36
- package/docs/templates/ai-project-final.md +124 -124
- package/docs/templates/ai-project.md +105 -105
- package/docs/templates/api.md +157 -157
- package/docs/templates/bug.md +62 -62
- package/docs/templates/code-review.md +87 -87
- package/docs/templates/generic.md +116 -116
- package/docs/templates/implementation-plan.md +1 -1
- package/docs/templates/meeting.md +68 -68
- package/docs/templates/prd.md +98 -98
- package/docs/templates/ui.md +134 -134
- package/docs/workflow-pipeline.md +11 -10
- package/package.json +40 -39
- package/scripts/hooks/checks/orchestration-artifacts.cjs +28 -23
- package/scripts/hooks/checks/workflow-state.cjs +4 -5
- package/scripts/orchestration/lib/orchestrator.cjs +344 -117
- package/scripts/orchestration/lib/validate.cjs +145 -0
- package/scripts/orchestration/session.cjs +88 -44
- package/skills/SUPERPOWERS-LICENSE +21 -21
- package/skills/ai-ml/fine-tuning-expert/SKILL.md +162 -162
- package/skills/ai-ml/fine-tuning-expert/references/dataset-preparation.md +540 -540
- package/skills/ai-ml/fine-tuning-expert/references/deployment-optimization.md +673 -673
- package/skills/ai-ml/fine-tuning-expert/references/evaluation-metrics.md +597 -597
- package/skills/ai-ml/fine-tuning-expert/references/hyperparameter-tuning.md +565 -565
- package/skills/ai-ml/fine-tuning-expert/references/lora-peft.md +347 -347
- package/skills/ai-ml/ml-pipeline/SKILL.md +159 -159
- package/skills/ai-ml/ml-pipeline/references/experiment-tracking.md +833 -833
- package/skills/ai-ml/ml-pipeline/references/feature-engineering.md +631 -631
- package/skills/ai-ml/ml-pipeline/references/model-validation.md +978 -978
- package/skills/ai-ml/ml-pipeline/references/pipeline-orchestration.md +907 -907
- package/skills/ai-ml/ml-pipeline/references/training-pipelines.md +782 -782
- package/skills/ai-ml/rag-architect/SKILL.md +194 -194
- package/skills/ai-ml/rag-architect/references/chunking-strategies.md +878 -878
- package/skills/ai-ml/rag-architect/references/embedding-models.md +561 -561
- package/skills/ai-ml/rag-architect/references/rag-evaluation.md +833 -833
- package/skills/ai-ml/rag-architect/references/retrieval-optimization.md +795 -795
- package/skills/ai-ml/rag-architect/references/vector-databases.md +589 -589
- package/skills/ai-ml/spark-engineer/SKILL.md +148 -148
- package/skills/ai-ml/spark-engineer/references/partitioning-caching.md +543 -543
- package/skills/ai-ml/spark-engineer/references/performance-tuning.md +544 -544
- package/skills/ai-ml/spark-engineer/references/rdd-operations.md +599 -599
- package/skills/ai-ml/spark-engineer/references/spark-sql-dataframes.md +474 -474
- package/skills/ai-ml/spark-engineer/references/streaming-patterns.md +786 -786
- package/skills/backend/api-designer/SKILL.md +217 -217
- package/skills/backend/api-designer/references/error-handling.md +541 -541
- package/skills/backend/api-designer/references/openapi.md +824 -824
- package/skills/backend/api-designer/references/pagination.md +494 -494
- package/skills/backend/api-designer/references/rest-patterns.md +335 -335
- package/skills/backend/api-designer/references/versioning.md +391 -391
- package/skills/backend/architecture-designer/SKILL.md +117 -117
- package/skills/backend/architecture-designer/references/adr-template.md +116 -116
- package/skills/backend/architecture-designer/references/architecture-patterns.md +111 -111
- package/skills/backend/architecture-designer/references/database-selection.md +102 -102
- package/skills/backend/architecture-designer/references/nfr-checklist.md +112 -112
- package/skills/backend/architecture-designer/references/system-design.md +100 -100
- package/skills/backend/code-documenter/SKILL.md +147 -147
- package/skills/backend/code-documenter/references/api-docs-fastapi-django.md +166 -166
- package/skills/backend/code-documenter/references/api-docs-nestjs-express.md +220 -220
- package/skills/backend/code-documenter/references/coverage-reports.md +125 -125
- package/skills/backend/code-documenter/references/documentation-systems.md +333 -333
- package/skills/backend/code-documenter/references/interactive-api-docs.md +531 -531
- package/skills/backend/code-documenter/references/python-docstrings.md +121 -121
- package/skills/backend/code-documenter/references/typescript-jsdoc.md +145 -145
- package/skills/backend/code-documenter/references/user-guides-tutorials.md +530 -530
- package/skills/backend/debugging-wizard/SKILL.md +105 -105
- package/skills/backend/debugging-wizard/references/common-patterns.md +132 -132
- package/skills/backend/debugging-wizard/references/debugging-tools.md +140 -140
- package/skills/backend/debugging-wizard/references/quick-fixes.md +177 -177
- package/skills/backend/debugging-wizard/references/strategies.md +142 -142
- package/skills/backend/debugging-wizard/references/systematic-debugging.md +367 -367
- package/skills/backend/feature-forge/SKILL.md +98 -98
- package/skills/backend/feature-forge/references/acceptance-criteria.md +104 -104
- package/skills/backend/feature-forge/references/ears-syntax.md +99 -99
- package/skills/backend/feature-forge/references/interview-questions.md +150 -150
- package/skills/backend/feature-forge/references/pre-discovery-subagents.md +54 -54
- package/skills/backend/feature-forge/references/specification-template.md +103 -103
- package/skills/backend/fullstack-guardian/SKILL.md +105 -105
- package/skills/backend/fullstack-guardian/references/api-design-standards.md +307 -307
- package/skills/backend/fullstack-guardian/references/architecture-decisions.md +350 -350
- package/skills/backend/fullstack-guardian/references/backend-patterns.md +237 -237
- package/skills/backend/fullstack-guardian/references/common-patterns.md +134 -134
- package/skills/backend/fullstack-guardian/references/deliverables-checklist.md +354 -354
- package/skills/backend/fullstack-guardian/references/design-template.md +91 -91
- package/skills/backend/fullstack-guardian/references/error-handling.md +135 -135
- package/skills/backend/fullstack-guardian/references/frontend-patterns.md +340 -340
- package/skills/backend/fullstack-guardian/references/integration-patterns.md +333 -333
- package/skills/backend/fullstack-guardian/references/security-checklist.md +106 -106
- package/skills/backend/graphql-architect/SKILL.md +146 -146
- package/skills/backend/graphql-architect/references/federation.md +418 -418
- package/skills/backend/graphql-architect/references/migration-from-rest.md +1141 -1141
- package/skills/backend/graphql-architect/references/resolvers.md +425 -425
- package/skills/backend/graphql-architect/references/schema-design.md +393 -393
- package/skills/backend/graphql-architect/references/security.md +569 -569
- package/skills/backend/graphql-architect/references/subscriptions.md +510 -510
- package/skills/backend/legacy-modernizer/SKILL.md +137 -137
- package/skills/backend/legacy-modernizer/references/legacy-testing.md +381 -381
- package/skills/backend/legacy-modernizer/references/migration-strategies.md +423 -423
- package/skills/backend/legacy-modernizer/references/refactoring-patterns.md +395 -395
- package/skills/backend/legacy-modernizer/references/strangler-fig-pattern.md +281 -281
- package/skills/backend/legacy-modernizer/references/system-assessment.md +487 -487
- package/skills/backend/microservices-architect/SKILL.md +164 -164
- package/skills/backend/microservices-architect/references/communication.md +499 -499
- package/skills/backend/microservices-architect/references/data.md +721 -721
- package/skills/backend/microservices-architect/references/decomposition.md +344 -344
- package/skills/backend/microservices-architect/references/observability.md +805 -805
- package/skills/backend/microservices-architect/references/patterns.md +603 -603
- package/skills/database/database-optimizer/SKILL.md +147 -147
- package/skills/database/database-optimizer/references/index-strategies.md +331 -331
- package/skills/database/database-optimizer/references/monitoring-analysis.md +501 -501
- package/skills/database/database-optimizer/references/mysql-tuning.md +452 -452
- package/skills/database/database-optimizer/references/postgresql-tuning.md +413 -413
- package/skills/database/database-optimizer/references/query-optimization.md +251 -251
- package/skills/database/postgres-pro/SKILL.md +152 -152
- package/skills/database/postgres-pro/references/extensions.md +404 -404
- package/skills/database/postgres-pro/references/jsonb.md +321 -321
- package/skills/database/postgres-pro/references/maintenance.md +481 -481
- package/skills/database/postgres-pro/references/performance.md +265 -265
- package/skills/database/postgres-pro/references/replication.md +446 -446
- package/skills/database/sql-pro/SKILL.md +129 -129
- package/skills/database/sql-pro/references/database-design.md +402 -402
- package/skills/database/sql-pro/references/dialect-differences.md +419 -419
- package/skills/database/sql-pro/references/optimization.md +384 -384
- package/skills/database/sql-pro/references/query-patterns.md +285 -285
- package/skills/database/sql-pro/references/window-functions.md +328 -328
- package/skills/dotnet/csharp-developer/SKILL.md +125 -125
- package/skills/dotnet/csharp-developer/references/aspnet-core.md +394 -394
- package/skills/dotnet/csharp-developer/references/blazor.md +553 -553
- package/skills/dotnet/csharp-developer/references/entity-framework.md +409 -409
- package/skills/dotnet/csharp-developer/references/modern-csharp.md +248 -248
- package/skills/dotnet/csharp-developer/references/performance.md +498 -498
- package/skills/dotnet/dotnet-core-expert/SKILL.md +138 -138
- package/skills/dotnet/dotnet-core-expert/references/authentication.md +546 -546
- package/skills/dotnet/dotnet-core-expert/references/clean-architecture.md +455 -455
- package/skills/dotnet/dotnet-core-expert/references/cloud-native.md +548 -548
- package/skills/dotnet/dotnet-core-expert/references/entity-framework.md +440 -440
- package/skills/dotnet/dotnet-core-expert/references/minimal-apis.md +319 -319
- package/skills/frontend/angular-architect/SKILL.md +152 -152
- package/skills/frontend/angular-architect/references/components.md +297 -297
- package/skills/frontend/angular-architect/references/ngrx.md +401 -401
- package/skills/frontend/angular-architect/references/routing.md +361 -361
- package/skills/frontend/angular-architect/references/rxjs.md +319 -319
- package/skills/frontend/angular-architect/references/testing.md +405 -405
- package/skills/frontend/design-commands/design.md +91 -91
- package/skills/frontend/design-commands/handoff.md +97 -97
- package/skills/frontend/design-commands/prototype.md +120 -120
- package/skills/frontend/design-commands/spec.md +160 -160
- package/skills/frontend/design-commands/style.md +78 -78
- package/skills/frontend/flutter-expert/SKILL.md +138 -138
- package/skills/frontend/flutter-expert/references/bloc-state.md +259 -259
- package/skills/frontend/flutter-expert/references/gorouter-navigation.md +119 -119
- package/skills/frontend/flutter-expert/references/performance.md +99 -99
- package/skills/frontend/flutter-expert/references/project-structure.md +118 -118
- package/skills/frontend/flutter-expert/references/riverpod-state.md +130 -130
- package/skills/frontend/flutter-expert/references/widget-patterns.md +123 -123
- package/skills/frontend/nextjs-developer/SKILL.md +143 -143
- package/skills/frontend/nextjs-developer/references/app-router.md +311 -311
- package/skills/frontend/nextjs-developer/references/data-fetching.md +482 -482
- package/skills/frontend/nextjs-developer/references/deployment.md +545 -545
- package/skills/frontend/nextjs-developer/references/server-actions.md +462 -462
- package/skills/frontend/nextjs-developer/references/server-components.md +384 -384
- package/skills/frontend/react-expert/SKILL.md +149 -149
- package/skills/frontend/react-expert/references/hooks-patterns.md +162 -162
- package/skills/frontend/react-expert/references/migration-class-to-modern.md +1119 -1119
- package/skills/frontend/react-expert/references/performance.md +168 -168
- package/skills/frontend/react-expert/references/react-19-features.md +174 -174
- package/skills/frontend/react-expert/references/server-components.md +143 -143
- package/skills/frontend/react-expert/references/state-management.md +171 -171
- package/skills/frontend/react-expert/references/testing-react.md +174 -174
- package/skills/frontend/react-native-expert/SKILL.md +185 -185
- package/skills/frontend/react-native-expert/references/expo-router.md +187 -187
- package/skills/frontend/react-native-expert/references/list-optimization.md +204 -204
- package/skills/frontend/react-native-expert/references/platform-handling.md +188 -188
- package/skills/frontend/react-native-expert/references/project-structure.md +171 -171
- package/skills/frontend/react-native-expert/references/storage-hooks.md +173 -173
- package/skills/frontend/senior-frontend/SKILL.md +477 -477
- package/skills/frontend/senior-frontend/references/frontend_best_practices.md +806 -806
- package/skills/frontend/senior-frontend/references/nextjs_optimization_guide.md +724 -724
- package/skills/frontend/senior-frontend/references/react_patterns.md +746 -746
- package/skills/frontend/senior-frontend/scripts/bundle_analyzer.py +407 -407
- package/skills/frontend/senior-frontend/scripts/component_generator.py +329 -329
- package/skills/frontend/senior-frontend/scripts/frontend_scaffolder.py +1005 -1005
- package/skills/frontend/ui-ux-pro-max/SKILL.md +386 -386
- package/skills/frontend/ui-ux-pro-max/data/charts.csv +26 -26
- package/skills/frontend/ui-ux-pro-max/data/colors.csv +97 -97
- package/skills/frontend/ui-ux-pro-max/data/icons.csv +101 -101
- package/skills/frontend/ui-ux-pro-max/data/landing.csv +31 -31
- package/skills/frontend/ui-ux-pro-max/data/products.csv +96 -96
- package/skills/frontend/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/skills/frontend/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/skills/frontend/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/skills/frontend/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/skills/frontend/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/skills/frontend/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/skills/frontend/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/skills/frontend/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/skills/frontend/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
- package/skills/frontend/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/skills/frontend/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/skills/frontend/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/skills/frontend/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/skills/frontend/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/skills/frontend/ui-ux-pro-max/data/styles.csv +68 -68
- package/skills/frontend/ui-ux-pro-max/data/typography.csv +57 -57
- package/skills/frontend/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
- package/skills/frontend/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
- package/skills/frontend/ui-ux-pro-max/data/web-interface.csv +31 -31
- package/skills/frontend/ui-ux-pro-max/scripts/core.py +253 -253
- package/skills/frontend/ui-ux-pro-max/scripts/design_system.py +1067 -1067
- package/skills/frontend/ui-ux-pro-max/scripts/search.py +114 -114
- package/skills/frontend/vue-expert/SKILL.md +98 -98
- package/skills/frontend/vue-expert/references/build-tooling.md +480 -480
- package/skills/frontend/vue-expert/references/components.md +448 -448
- package/skills/frontend/vue-expert/references/composition-api.md +299 -299
- package/skills/frontend/vue-expert/references/mobile-hybrid.md +636 -636
- package/skills/frontend/vue-expert/references/nuxt.md +669 -669
- package/skills/frontend/vue-expert/references/state-management.md +449 -449
- package/skills/frontend/vue-expert/references/typescript.md +584 -584
- package/skills/frontend/vue-expert-js/SKILL.md +167 -167
- package/skills/frontend/vue-expert-js/references/component-architecture.md +219 -219
- package/skills/frontend/vue-expert-js/references/composables-patterns.md +183 -183
- package/skills/frontend/vue-expert-js/references/jsdoc-typing.md +535 -535
- package/skills/frontend/vue-expert-js/references/state-management.md +249 -249
- package/skills/frontend/vue-expert-js/references/testing-patterns.md +237 -237
- package/skills/go-rust-cpp/cpp-pro/SKILL.md +115 -115
- package/skills/go-rust-cpp/cpp-pro/references/build-tooling.md +440 -440
- package/skills/go-rust-cpp/cpp-pro/references/concurrency.md +437 -437
- package/skills/go-rust-cpp/cpp-pro/references/memory-performance.md +397 -397
- package/skills/go-rust-cpp/cpp-pro/references/modern-cpp.md +304 -304
- package/skills/go-rust-cpp/cpp-pro/references/templates.md +357 -357
- package/skills/go-rust-cpp/golang-pro/SKILL.md +122 -122
- package/skills/go-rust-cpp/golang-pro/references/concurrency.md +329 -329
- package/skills/go-rust-cpp/golang-pro/references/generics.md +442 -442
- package/skills/go-rust-cpp/golang-pro/references/interfaces.md +432 -432
- package/skills/go-rust-cpp/golang-pro/references/project-structure.md +477 -477
- package/skills/go-rust-cpp/golang-pro/references/testing.md +451 -451
- package/skills/go-rust-cpp/rust-engineer/SKILL.md +167 -167
- package/skills/go-rust-cpp/rust-engineer/references/async.md +458 -458
- package/skills/go-rust-cpp/rust-engineer/references/error-handling.md +334 -334
- package/skills/go-rust-cpp/rust-engineer/references/ownership.md +278 -278
- package/skills/go-rust-cpp/rust-engineer/references/testing.md +470 -470
- package/skills/go-rust-cpp/rust-engineer/references/traits.md +413 -413
- package/skills/infra/cli-developer/SKILL.md +113 -113
- package/skills/infra/cli-developer/references/design-patterns.md +221 -221
- package/skills/infra/cli-developer/references/go-cli.md +540 -540
- package/skills/infra/cli-developer/references/node-cli.md +383 -383
- package/skills/infra/cli-developer/references/python-cli.md +422 -422
- package/skills/infra/cli-developer/references/ux-patterns.md +448 -448
- package/skills/infra/cloud-architect/SKILL.md +216 -216
- package/skills/infra/cloud-architect/references/aws.md +394 -394
- package/skills/infra/cloud-architect/references/azure.md +562 -562
- package/skills/infra/cloud-architect/references/cost.md +582 -582
- package/skills/infra/cloud-architect/references/gcp.md +633 -633
- package/skills/infra/cloud-architect/references/multi-cloud.md +483 -483
- package/skills/infra/devops-engineer/SKILL.md +144 -144
- package/skills/infra/devops-engineer/references/deployment-strategies.md +241 -241
- package/skills/infra/devops-engineer/references/docker-patterns.md +113 -113
- package/skills/infra/devops-engineer/references/github-actions.md +139 -139
- package/skills/infra/devops-engineer/references/incident-response.md +331 -331
- package/skills/infra/devops-engineer/references/kubernetes.md +154 -154
- package/skills/infra/devops-engineer/references/platform-engineering.md +417 -417
- package/skills/infra/devops-engineer/references/release-automation.md +527 -527
- package/skills/infra/devops-engineer/references/terraform-iac.md +141 -141
- package/skills/infra/kubernetes-specialist/SKILL.md +241 -241
- package/skills/infra/kubernetes-specialist/references/configuration.md +452 -452
- package/skills/infra/kubernetes-specialist/references/cost-optimization.md +458 -458
- package/skills/infra/kubernetes-specialist/references/custom-operators.md +563 -563
- package/skills/infra/kubernetes-specialist/references/gitops.md +530 -530
- package/skills/infra/kubernetes-specialist/references/helm-charts.md +912 -912
- package/skills/infra/kubernetes-specialist/references/multi-cluster.md +507 -507
- package/skills/infra/kubernetes-specialist/references/networking.md +447 -447
- package/skills/infra/kubernetes-specialist/references/service-mesh.md +459 -459
- package/skills/infra/kubernetes-specialist/references/storage.md +535 -535
- package/skills/infra/kubernetes-specialist/references/troubleshooting.md +414 -414
- package/skills/infra/kubernetes-specialist/references/workloads.md +377 -377
- package/skills/infra/mcp-developer/SKILL.md +143 -143
- package/skills/infra/mcp-developer/references/protocol.md +244 -244
- package/skills/infra/mcp-developer/references/python-sdk.md +367 -367
- package/skills/infra/mcp-developer/references/resources.md +554 -554
- package/skills/infra/mcp-developer/references/tools.md +480 -480
- package/skills/infra/mcp-developer/references/typescript-sdk.md +350 -350
- package/skills/infra/monitoring-expert/SKILL.md +176 -176
- package/skills/infra/monitoring-expert/references/alerting-rules.md +141 -141
- package/skills/infra/monitoring-expert/references/application-profiling.md +331 -331
- package/skills/infra/monitoring-expert/references/capacity-planning.md +344 -344
- package/skills/infra/monitoring-expert/references/dashboards.md +126 -126
- package/skills/infra/monitoring-expert/references/opentelemetry.md +123 -123
- package/skills/infra/monitoring-expert/references/performance-testing.md +269 -269
- package/skills/infra/monitoring-expert/references/prometheus-metrics.md +136 -136
- package/skills/infra/monitoring-expert/references/structured-logging.md +142 -142
- package/skills/infra/sre-engineer/SKILL.md +181 -181
- package/skills/infra/sre-engineer/references/automation-toil.md +492 -492
- package/skills/infra/sre-engineer/references/error-budget-policy.md +334 -334
- package/skills/infra/sre-engineer/references/incident-chaos.md +576 -576
- package/skills/infra/sre-engineer/references/monitoring-alerting.md +424 -424
- package/skills/infra/sre-engineer/references/slo-sli-management.md +238 -238
- package/skills/infra/terraform-engineer/SKILL.md +143 -143
- package/skills/infra/terraform-engineer/references/best-practices.md +583 -583
- package/skills/infra/terraform-engineer/references/module-patterns.md +297 -297
- package/skills/infra/terraform-engineer/references/providers.md +452 -452
- package/skills/infra/terraform-engineer/references/state-management.md +371 -371
- package/skills/infra/terraform-engineer/references/testing.md +486 -486
- package/skills/infra/websocket-engineer/SKILL.md +168 -168
- package/skills/infra/websocket-engineer/references/alternatives.md +391 -391
- package/skills/infra/websocket-engineer/references/patterns.md +400 -400
- package/skills/infra/websocket-engineer/references/protocol.md +195 -195
- package/skills/infra/websocket-engineer/references/scaling.md +333 -333
- package/skills/infra/websocket-engineer/references/security.md +474 -474
- package/skills/java/java-architect/SKILL.md +132 -132
- package/skills/java/java-architect/references/jpa-optimization.md +393 -393
- package/skills/java/java-architect/references/reactive-webflux.md +356 -356
- package/skills/java/java-architect/references/spring-boot-setup.md +269 -269
- package/skills/java/java-architect/references/spring-security.md +445 -445
- package/skills/java/java-architect/references/testing-patterns.md +500 -500
- package/skills/java/kotlin-specialist/SKILL.md +147 -147
- package/skills/java/kotlin-specialist/references/android-compose.md +419 -419
- package/skills/java/kotlin-specialist/references/coroutines-flow.md +276 -276
- package/skills/java/kotlin-specialist/references/dsl-idioms.md +421 -421
- package/skills/java/kotlin-specialist/references/ktor-server.md +426 -426
- package/skills/java/kotlin-specialist/references/multiplatform-kmp.md +380 -380
- package/skills/java/spring-boot-engineer/SKILL.md +195 -195
- package/skills/java/spring-boot-engineer/references/cloud.md +498 -498
- package/skills/java/spring-boot-engineer/references/data.md +381 -381
- package/skills/java/spring-boot-engineer/references/security.md +459 -459
- package/skills/java/spring-boot-engineer/references/testing.md +545 -545
- package/skills/java/spring-boot-engineer/references/web.md +295 -295
- package/skills/javascript/javascript-pro/SKILL.md +132 -132
- package/skills/javascript/javascript-pro/references/async-patterns.md +334 -334
- package/skills/javascript/javascript-pro/references/browser-apis.md +398 -398
- package/skills/javascript/javascript-pro/references/modern-syntax.md +272 -272
- package/skills/javascript/javascript-pro/references/modules.md +357 -357
- package/skills/javascript/javascript-pro/references/node-essentials.md +471 -471
- package/skills/javascript/nestjs-expert/SKILL.md +206 -206
- package/skills/javascript/nestjs-expert/references/authentication.md +166 -166
- package/skills/javascript/nestjs-expert/references/controllers-routing.md +111 -111
- package/skills/javascript/nestjs-expert/references/dtos-validation.md +153 -153
- package/skills/javascript/nestjs-expert/references/migration-from-express.md +1237 -1237
- package/skills/javascript/nestjs-expert/references/services-di.md +140 -140
- package/skills/javascript/nestjs-expert/references/testing-patterns.md +186 -186
- package/skills/javascript/typescript-pro/SKILL.md +145 -145
- package/skills/javascript/typescript-pro/references/advanced-types.md +259 -259
- package/skills/javascript/typescript-pro/references/configuration.md +445 -445
- package/skills/javascript/typescript-pro/references/patterns.md +484 -484
- package/skills/javascript/typescript-pro/references/type-guards.md +352 -352
- package/skills/javascript/typescript-pro/references/utility-types.md +329 -329
- package/skills/php/laravel-specialist/SKILL.md +262 -262
- package/skills/php/laravel-specialist/references/eloquent.md +351 -351
- package/skills/php/laravel-specialist/references/livewire.md +512 -512
- package/skills/php/laravel-specialist/references/queues.md +423 -423
- package/skills/php/laravel-specialist/references/routing.md +362 -362
- package/skills/php/laravel-specialist/references/testing.md +522 -522
- package/skills/php/php-pro/SKILL.md +206 -206
- package/skills/php/php-pro/references/async-patterns.md +412 -412
- package/skills/php/php-pro/references/laravel-patterns.md +377 -377
- package/skills/php/php-pro/references/modern-php-features.md +323 -323
- package/skills/php/php-pro/references/symfony-patterns.md +466 -466
- package/skills/php/php-pro/references/testing-quality.md +466 -466
- package/skills/product/competitive-analysis/SKILL.md +257 -257
- package/skills/product/meeting-notes/SKILL.md +266 -266
- package/skills/product/prd-template/SKILL.md +150 -150
- package/skills/product/stakeholder-update/SKILL.md +225 -225
- package/skills/product/user-research-synthesis/SKILL.md +235 -235
- package/skills/python/django-expert/SKILL.md +162 -162
- package/skills/python/django-expert/references/authentication.md +145 -145
- package/skills/python/django-expert/references/drf-serializers.md +148 -148
- package/skills/python/django-expert/references/models-orm.md +151 -151
- package/skills/python/django-expert/references/testing-django.md +204 -204
- package/skills/python/django-expert/references/viewsets-views.md +153 -153
- package/skills/python/fastapi-expert/SKILL.md +185 -185
- package/skills/python/fastapi-expert/references/async-sqlalchemy.md +146 -146
- package/skills/python/fastapi-expert/references/authentication.md +159 -159
- package/skills/python/fastapi-expert/references/endpoints-routing.md +142 -142
- package/skills/python/fastapi-expert/references/migration-from-django.md +996 -996
- package/skills/python/fastapi-expert/references/pydantic-v2.md +135 -135
- package/skills/python/fastapi-expert/references/testing-async.md +159 -159
- package/skills/python/pandas-pro/SKILL.md +178 -178
- package/skills/python/pandas-pro/references/aggregation-groupby.md +545 -545
- package/skills/python/pandas-pro/references/data-cleaning.md +500 -500
- package/skills/python/pandas-pro/references/dataframe-operations.md +420 -420
- package/skills/python/pandas-pro/references/merging-joining.md +596 -596
- package/skills/python/pandas-pro/references/performance-optimization.md +597 -597
- package/skills/python/python-pro/SKILL.md +177 -177
- package/skills/python/python-pro/references/async-patterns.md +356 -356
- package/skills/python/python-pro/references/packaging.md +460 -460
- package/skills/python/python-pro/references/standard-library.md +378 -378
- package/skills/python/python-pro/references/testing.md +404 -404
- package/skills/python/python-pro/references/type-system.md +290 -290
- package/skills/quality/chaos-engineer/SKILL.md +182 -182
- package/skills/quality/chaos-engineer/references/chaos-tools.md +511 -511
- package/skills/quality/chaos-engineer/references/experiment-design.md +229 -229
- package/skills/quality/chaos-engineer/references/game-days.md +434 -434
- package/skills/quality/chaos-engineer/references/infrastructure-chaos.md +348 -348
- package/skills/quality/chaos-engineer/references/kubernetes-chaos.md +432 -432
- package/skills/quality/code-reviewer/SKILL.md +119 -119
- package/skills/quality/code-reviewer/references/common-issues.md +142 -142
- package/skills/quality/code-reviewer/references/feedback-examples.md +144 -144
- package/skills/quality/code-reviewer/references/receiving-feedback.md +238 -238
- package/skills/quality/code-reviewer/references/report-template.md +109 -109
- package/skills/quality/code-reviewer/references/review-checklist.md +88 -88
- package/skills/quality/code-reviewer/references/spec-compliance-review.md +258 -258
- package/skills/quality/playwright-expert/SKILL.md +169 -169
- package/skills/quality/playwright-expert/references/api-mocking.md +140 -140
- package/skills/quality/playwright-expert/references/configuration.md +155 -155
- package/skills/quality/playwright-expert/references/debugging-flaky.md +150 -150
- package/skills/quality/playwright-expert/references/page-object-model.md +152 -152
- package/skills/quality/playwright-expert/references/selectors-locators.md +119 -119
- package/skills/quality/secure-code-guardian/SKILL.md +191 -191
- package/skills/quality/secure-code-guardian/references/authentication.md +136 -136
- package/skills/quality/secure-code-guardian/references/input-validation.md +146 -146
- package/skills/quality/secure-code-guardian/references/owasp-prevention.md +135 -135
- package/skills/quality/secure-code-guardian/references/security-headers.md +133 -133
- package/skills/quality/secure-code-guardian/references/xss-csrf.md +157 -157
- package/skills/quality/security-reviewer/SKILL.md +103 -103
- package/skills/quality/security-reviewer/references/infrastructure-security.md +268 -268
- package/skills/quality/security-reviewer/references/penetration-testing.md +268 -268
- package/skills/quality/security-reviewer/references/report-template.md +170 -170
- package/skills/quality/security-reviewer/references/sast-tools.md +117 -117
- package/skills/quality/security-reviewer/references/secret-scanning.md +125 -125
- package/skills/quality/security-reviewer/references/vulnerability-patterns.md +152 -152
- package/skills/quality/senior-qa/README.md +196 -196
- package/skills/quality/senior-qa/SKILL.md +399 -399
- package/skills/quality/senior-qa/references/qa_best_practices.md +964 -964
- package/skills/quality/senior-qa/references/test_automation_patterns.md +1009 -1009
- package/skills/quality/senior-qa/references/testing_strategies.md +649 -649
- package/skills/quality/senior-qa/scripts/coverage_analyzer.py +836 -836
- package/skills/quality/senior-qa/scripts/e2e_test_scaffolder.py +820 -820
- package/skills/quality/senior-qa/scripts/test_suite_generator.py +605 -605
- package/skills/quality/tdd-guide/HOW_TO_USE.md +313 -313
- package/skills/quality/tdd-guide/README.md +680 -680
- package/skills/quality/tdd-guide/SKILL.md +122 -122
- package/skills/quality/tdd-guide/assets/expected_output.json +77 -77
- package/skills/quality/tdd-guide/assets/sample_input_python.json +39 -39
- package/skills/quality/tdd-guide/assets/sample_input_typescript.json +36 -36
- package/skills/quality/tdd-guide/references/ci-integration.md +195 -195
- package/skills/quality/tdd-guide/references/framework-guide.md +206 -206
- package/skills/quality/tdd-guide/references/tdd-best-practices.md +128 -128
- package/skills/quality/tdd-guide/scripts/coverage_analyzer.py +434 -434
- package/skills/quality/tdd-guide/scripts/fixture_generator.py +440 -440
- package/skills/quality/tdd-guide/scripts/format_detector.py +384 -384
- package/skills/quality/tdd-guide/scripts/framework_adapter.py +428 -428
- package/skills/quality/tdd-guide/scripts/metrics_calculator.py +456 -456
- package/skills/quality/tdd-guide/scripts/output_formatter.py +354 -354
- package/skills/quality/tdd-guide/scripts/tdd_workflow.py +474 -474
- package/skills/quality/tdd-guide/scripts/test_generator.py +438 -438
- package/skills/quality/test-master/SKILL.md +94 -94
- package/skills/quality/test-master/references/automation-frameworks.md +294 -294
- package/skills/quality/test-master/references/e2e-testing.md +128 -128
- package/skills/quality/test-master/references/integration-testing.md +120 -120
- package/skills/quality/test-master/references/performance-testing.md +118 -118
- package/skills/quality/test-master/references/qa-methodology.md +247 -247
- package/skills/quality/test-master/references/security-testing.md +127 -127
- package/skills/quality/test-master/references/tdd-iron-laws.md +174 -174
- package/skills/quality/test-master/references/test-reports.md +104 -104
- package/skills/quality/test-master/references/testing-anti-patterns.md +231 -231
- package/skills/quality/test-master/references/unit-testing.md +113 -113
- package/skills/ruby/rails-expert/SKILL.md +154 -154
- package/skills/ruby/rails-expert/references/active-record.md +244 -244
- package/skills/ruby/rails-expert/references/api-development.md +401 -401
- package/skills/ruby/rails-expert/references/background-jobs.md +272 -272
- package/skills/ruby/rails-expert/references/hotwire-turbo.md +228 -228
- package/skills/ruby/rails-expert/references/rspec-testing.md +367 -367
- package/skills/swift/swift-expert/SKILL.md +163 -163
- package/skills/swift/swift-expert/references/async-concurrency.md +360 -360
- package/skills/swift/swift-expert/references/memory-performance.md +377 -377
- package/skills/swift/swift-expert/references/protocol-oriented.md +354 -354
- package/skills/swift/swift-expert/references/swiftui-patterns.md +291 -291
- package/skills/swift/swift-expert/references/testing-patterns.md +399 -399
- package/skills/workflow/brainstorming/SKILL.md +164 -164
- package/skills/workflow/brainstorming/scripts/frame-template.html +214 -214
- package/skills/workflow/brainstorming/scripts/helper.js +88 -88
- package/skills/workflow/brainstorming/scripts/server.cjs +354 -354
- package/skills/workflow/brainstorming/scripts/start-server.sh +148 -148
- package/skills/workflow/brainstorming/scripts/stop-server.sh +56 -56
- package/skills/workflow/brainstorming/spec-document-reviewer-prompt.md +49 -49
- package/skills/workflow/brainstorming/visual-companion.md +287 -287
- package/skills/workflow/documentation/SKILL.md +45 -45
- package/skills/workflow/entropy-management/SKILL.md +115 -115
- package/skills/workflow/executing-plans/SKILL.md +70 -70
- package/skills/workflow/finishing-a-development-branch/SKILL.md +200 -200
- package/skills/workflow/receiving-code-review/SKILL.md +213 -213
- package/skills/workflow/requesting-code-review/SKILL.md +105 -105
- package/skills/workflow/requesting-code-review/code-reviewer.md +146 -146
- package/skills/workflow/requirement-engineering/SKILL.md +111 -111
- package/skills/workflow/systematic-debugging/CREATION-LOG.md +119 -119
- package/skills/workflow/systematic-debugging/SKILL.md +296 -296
- package/skills/workflow/systematic-debugging/condition-based-waiting-example.ts +158 -158
- package/skills/workflow/systematic-debugging/condition-based-waiting.md +115 -115
- package/skills/workflow/systematic-debugging/defense-in-depth.md +122 -122
- package/skills/workflow/systematic-debugging/find-polluter.sh +63 -63
- package/skills/workflow/systematic-debugging/root-cause-tracing.md +169 -169
- package/skills/workflow/systematic-debugging/test-academic.md +14 -14
- package/skills/workflow/systematic-debugging/test-pressure-1.md +58 -58
- package/skills/workflow/systematic-debugging/test-pressure-2.md +68 -68
- package/skills/workflow/systematic-debugging/test-pressure-3.md +69 -69
- package/skills/workflow/using-git-worktrees/SKILL.md +218 -218
- package/skills/workflow/verification-before-completion/SKILL.md +139 -139
- package/skills/workflow/writing-plans/SKILL.md +151 -151
- package/skills/workflow/writing-plans/plan-document-reviewer-prompt.md +49 -49
- package/skills/workflow/writing-skills/SKILL.md +655 -655
- package/skills/workflow/writing-skills/anthropic-best-practices.md +1150 -1150
- package/skills/workflow/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -189
- package/skills/workflow/writing-skills/persuasion-principles.md +187 -187
- package/skills/workflow/writing-skills/render-graphs.js +168 -168
- package/skills/workflow/writing-skills/testing-skills-with-subagents.md +384 -384
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: feature-forge
|
|
3
|
-
description: Conducts structured requirements workshops to produce feature specifications, user stories, EARS-format functional requirements, acceptance criteria, and implementation checklists. Use when defining new features, gathering requirements, or writing specifications. Invoke for feature definition, requirements gathering, user stories, EARS format specs, PRDs, acceptance criteria, or requirement matrices.
|
|
4
|
-
license: MIT
|
|
5
|
-
metadata:
|
|
6
|
-
author: https://github.com/Jeffallan
|
|
7
|
-
version: "1.1.0"
|
|
8
|
-
domain: workflow
|
|
9
|
-
triggers: requirements, specification, feature definition, user stories, EARS, planning
|
|
10
|
-
role: specialist
|
|
11
|
-
scope: design
|
|
12
|
-
output-format: document
|
|
13
|
-
related-skills: fullstack-guardian, spec-miner, test-master
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Feature Forge
|
|
17
|
-
|
|
18
|
-
Requirements specialist conducting structured workshops to define comprehensive feature specifications.
|
|
19
|
-
|
|
20
|
-
## Role Definition
|
|
21
|
-
|
|
22
|
-
Operate with two perspectives:
|
|
23
|
-
- **PM Hat**: Focused on user value, business goals, success metrics
|
|
24
|
-
- **Dev Hat**: Focused on technical feasibility, security, performance, edge cases
|
|
25
|
-
|
|
26
|
-
## When to Use This Skill
|
|
27
|
-
|
|
28
|
-
- Defining new features from scratch
|
|
29
|
-
- Gathering comprehensive requirements
|
|
30
|
-
- Writing specifications in EARS format
|
|
31
|
-
- Creating acceptance criteria
|
|
32
|
-
- Planning implementation TODO lists
|
|
33
|
-
|
|
34
|
-
## Core Workflow
|
|
35
|
-
|
|
36
|
-
1. **Discover** - Use `AskUserQuestions` to understand the feature goal, target users, and user value. Present structured choices where possible (e.g., user types, priority level).
|
|
37
|
-
2. **Interview** - Systematic questioning from both PM and Dev perspectives using `AskUserQuestions` for structured choices and open-ended follow-ups. Use multi-agent discovery with Task subagents when the feature spans multiple domains (see interview-questions.md for guidance).
|
|
38
|
-
3. **Document** - Write EARS-format requirements
|
|
39
|
-
4. **Validate** - Use `AskUserQuestions` to review acceptance criteria with stakeholder, presenting key trade-offs as structured choices
|
|
40
|
-
5. **Plan** - Create implementation checklist
|
|
41
|
-
|
|
42
|
-
## Reference Guide
|
|
43
|
-
|
|
44
|
-
Load detailed guidance based on context:
|
|
45
|
-
|
|
46
|
-
| Topic | Reference | Load When |
|
|
47
|
-
|-------|-----------|-----------|
|
|
48
|
-
| EARS Syntax | `references/ears-syntax.md` | Writing functional requirements |
|
|
49
|
-
| Interview Questions | `references/interview-questions.md` | Gathering requirements |
|
|
50
|
-
| Specification Template | `references/specification-template.md` | Writing final spec document |
|
|
51
|
-
| Acceptance Criteria | `references/acceptance-criteria.md` | Given/When/Then format |
|
|
52
|
-
| Pre-Discovery Subagents | `references/pre-discovery-subagents.md` | Multi-domain features needing front-loaded context |
|
|
53
|
-
|
|
54
|
-
## Constraints
|
|
55
|
-
|
|
56
|
-
### MUST DO
|
|
57
|
-
- Use `AskUserQuestions` tool for structured elicitation (priority, scope, format choices)
|
|
58
|
-
- Use open-ended questions only when choices cannot be predetermined
|
|
59
|
-
- Conduct thorough interview before writing spec
|
|
60
|
-
- Use EARS format for all functional requirements
|
|
61
|
-
- Include non-functional requirements (performance, security)
|
|
62
|
-
- Provide testable acceptance criteria
|
|
63
|
-
- Include implementation TODO checklist
|
|
64
|
-
- Ask for clarification on ambiguous requirements
|
|
65
|
-
|
|
66
|
-
### MUST NOT DO
|
|
67
|
-
- Output interview questions as plain text when `AskUserQuestions` can provide structured options
|
|
68
|
-
- Generate spec without conducting interview
|
|
69
|
-
- Accept vague requirements ("make it fast")
|
|
70
|
-
- Skip security considerations
|
|
71
|
-
- Forget error handling requirements
|
|
72
|
-
- Write untestable acceptance criteria
|
|
73
|
-
|
|
74
|
-
## Output Templates
|
|
75
|
-
|
|
76
|
-
The final specification must include:
|
|
77
|
-
1. Overview and user value
|
|
78
|
-
2. Functional requirements (EARS format)
|
|
79
|
-
3. Non-functional requirements
|
|
80
|
-
4. Acceptance criteria (Given/When/Then)
|
|
81
|
-
5. Error handling table
|
|
82
|
-
6. Implementation TODO checklist
|
|
83
|
-
|
|
84
|
-
**Inline EARS format examples** (load `references/ears-syntax.md` for full syntax):
|
|
85
|
-
```
|
|
86
|
-
When <trigger>, the <system> shall <response>.
|
|
87
|
-
Where <feature> is active, the <system> shall <behaviour>.
|
|
88
|
-
The <system> shall <action> within <measure>.
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
**Inline acceptance criteria example** (load `references/acceptance-criteria.md` for full format):
|
|
92
|
-
```
|
|
93
|
-
Given a registered user is on the login page,
|
|
94
|
-
When they submit valid credentials,
|
|
95
|
-
Then they are redirected to the dashboard within 2 seconds.
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
Save as: `specs/{feature_name}.spec.md`
|
|
1
|
+
---
|
|
2
|
+
name: feature-forge
|
|
3
|
+
description: Conducts structured requirements workshops to produce feature specifications, user stories, EARS-format functional requirements, acceptance criteria, and implementation checklists. Use when defining new features, gathering requirements, or writing specifications. Invoke for feature definition, requirements gathering, user stories, EARS format specs, PRDs, acceptance criteria, or requirement matrices.
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: https://github.com/Jeffallan
|
|
7
|
+
version: "1.1.0"
|
|
8
|
+
domain: workflow
|
|
9
|
+
triggers: requirements, specification, feature definition, user stories, EARS, planning
|
|
10
|
+
role: specialist
|
|
11
|
+
scope: design
|
|
12
|
+
output-format: document
|
|
13
|
+
related-skills: fullstack-guardian, spec-miner, test-master
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Feature Forge
|
|
17
|
+
|
|
18
|
+
Requirements specialist conducting structured workshops to define comprehensive feature specifications.
|
|
19
|
+
|
|
20
|
+
## Role Definition
|
|
21
|
+
|
|
22
|
+
Operate with two perspectives:
|
|
23
|
+
- **PM Hat**: Focused on user value, business goals, success metrics
|
|
24
|
+
- **Dev Hat**: Focused on technical feasibility, security, performance, edge cases
|
|
25
|
+
|
|
26
|
+
## When to Use This Skill
|
|
27
|
+
|
|
28
|
+
- Defining new features from scratch
|
|
29
|
+
- Gathering comprehensive requirements
|
|
30
|
+
- Writing specifications in EARS format
|
|
31
|
+
- Creating acceptance criteria
|
|
32
|
+
- Planning implementation TODO lists
|
|
33
|
+
|
|
34
|
+
## Core Workflow
|
|
35
|
+
|
|
36
|
+
1. **Discover** - Use `AskUserQuestions` to understand the feature goal, target users, and user value. Present structured choices where possible (e.g., user types, priority level).
|
|
37
|
+
2. **Interview** - Systematic questioning from both PM and Dev perspectives using `AskUserQuestions` for structured choices and open-ended follow-ups. Use multi-agent discovery with Task subagents when the feature spans multiple domains (see interview-questions.md for guidance).
|
|
38
|
+
3. **Document** - Write EARS-format requirements
|
|
39
|
+
4. **Validate** - Use `AskUserQuestions` to review acceptance criteria with stakeholder, presenting key trade-offs as structured choices
|
|
40
|
+
5. **Plan** - Create implementation checklist
|
|
41
|
+
|
|
42
|
+
## Reference Guide
|
|
43
|
+
|
|
44
|
+
Load detailed guidance based on context:
|
|
45
|
+
|
|
46
|
+
| Topic | Reference | Load When |
|
|
47
|
+
|-------|-----------|-----------|
|
|
48
|
+
| EARS Syntax | `references/ears-syntax.md` | Writing functional requirements |
|
|
49
|
+
| Interview Questions | `references/interview-questions.md` | Gathering requirements |
|
|
50
|
+
| Specification Template | `references/specification-template.md` | Writing final spec document |
|
|
51
|
+
| Acceptance Criteria | `references/acceptance-criteria.md` | Given/When/Then format |
|
|
52
|
+
| Pre-Discovery Subagents | `references/pre-discovery-subagents.md` | Multi-domain features needing front-loaded context |
|
|
53
|
+
|
|
54
|
+
## Constraints
|
|
55
|
+
|
|
56
|
+
### MUST DO
|
|
57
|
+
- Use `AskUserQuestions` tool for structured elicitation (priority, scope, format choices)
|
|
58
|
+
- Use open-ended questions only when choices cannot be predetermined
|
|
59
|
+
- Conduct thorough interview before writing spec
|
|
60
|
+
- Use EARS format for all functional requirements
|
|
61
|
+
- Include non-functional requirements (performance, security)
|
|
62
|
+
- Provide testable acceptance criteria
|
|
63
|
+
- Include implementation TODO checklist
|
|
64
|
+
- Ask for clarification on ambiguous requirements
|
|
65
|
+
|
|
66
|
+
### MUST NOT DO
|
|
67
|
+
- Output interview questions as plain text when `AskUserQuestions` can provide structured options
|
|
68
|
+
- Generate spec without conducting interview
|
|
69
|
+
- Accept vague requirements ("make it fast")
|
|
70
|
+
- Skip security considerations
|
|
71
|
+
- Forget error handling requirements
|
|
72
|
+
- Write untestable acceptance criteria
|
|
73
|
+
|
|
74
|
+
## Output Templates
|
|
75
|
+
|
|
76
|
+
The final specification must include:
|
|
77
|
+
1. Overview and user value
|
|
78
|
+
2. Functional requirements (EARS format)
|
|
79
|
+
3. Non-functional requirements
|
|
80
|
+
4. Acceptance criteria (Given/When/Then)
|
|
81
|
+
5. Error handling table
|
|
82
|
+
6. Implementation TODO checklist
|
|
83
|
+
|
|
84
|
+
**Inline EARS format examples** (load `references/ears-syntax.md` for full syntax):
|
|
85
|
+
```
|
|
86
|
+
When <trigger>, the <system> shall <response>.
|
|
87
|
+
Where <feature> is active, the <system> shall <behaviour>.
|
|
88
|
+
The <system> shall <action> within <measure>.
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Inline acceptance criteria example** (load `references/acceptance-criteria.md` for full format):
|
|
92
|
+
```
|
|
93
|
+
Given a registered user is on the login page,
|
|
94
|
+
When they submit valid credentials,
|
|
95
|
+
Then they are redirected to the dashboard within 2 seconds.
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Save as: `specs/{feature_name}.spec.md`
|
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
# Acceptance Criteria
|
|
2
|
-
|
|
3
|
-
## Given-When-Then Format
|
|
4
|
-
|
|
5
|
-
```markdown
|
|
6
|
-
### AC-001: [Scenario Name]
|
|
7
|
-
Given [context/precondition]
|
|
8
|
-
When [action taken]
|
|
9
|
-
Then [expected result]
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
## Examples by Type
|
|
13
|
-
|
|
14
|
-
### Happy Path
|
|
15
|
-
|
|
16
|
-
```markdown
|
|
17
|
-
### AC-001: Successful Login
|
|
18
|
-
Given a registered user with valid credentials
|
|
19
|
-
When they submit the login form
|
|
20
|
-
Then they are redirected to the dashboard
|
|
21
|
-
And a success message is displayed
|
|
22
|
-
And their session is created
|
|
23
|
-
|
|
24
|
-
### AC-002: Add Item to Cart
|
|
25
|
-
Given a logged-in user viewing a product
|
|
26
|
-
When they click "Add to Cart"
|
|
27
|
-
Then the item appears in their cart
|
|
28
|
-
And the cart badge updates with the count
|
|
29
|
-
And a confirmation toast is shown
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
### Error Cases
|
|
33
|
-
|
|
34
|
-
```markdown
|
|
35
|
-
### AC-003: Invalid Login
|
|
36
|
-
Given a user with incorrect password
|
|
37
|
-
When they submit the login form
|
|
38
|
-
Then an error message "Invalid credentials" is displayed
|
|
39
|
-
And the password field is cleared
|
|
40
|
-
And they remain on the login page
|
|
41
|
-
|
|
42
|
-
### AC-004: Duplicate Email Registration
|
|
43
|
-
Given an email already exists in the system
|
|
44
|
-
When a new user tries to register with that email
|
|
45
|
-
Then an error message "Email already registered" is displayed
|
|
46
|
-
And the form is not submitted
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
### Edge Cases
|
|
50
|
-
|
|
51
|
-
```markdown
|
|
52
|
-
### AC-005: Empty Cart Checkout
|
|
53
|
-
Given a user with an empty cart
|
|
54
|
-
When they navigate to checkout
|
|
55
|
-
Then they see "Your cart is empty" message
|
|
56
|
-
And a "Continue Shopping" button is displayed
|
|
57
|
-
|
|
58
|
-
### AC-006: Session Expiry
|
|
59
|
-
Given a user whose session has expired
|
|
60
|
-
When they try to perform any authenticated action
|
|
61
|
-
Then they are redirected to login
|
|
62
|
-
And a message "Session expired, please log in again" is shown
|
|
63
|
-
And their intended action is preserved for after login
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### Authorization
|
|
67
|
-
|
|
68
|
-
```markdown
|
|
69
|
-
### AC-007: Admin-Only Access
|
|
70
|
-
Given a regular user (non-admin)
|
|
71
|
-
When they try to access /admin/users
|
|
72
|
-
Then they receive a 403 Forbidden response
|
|
73
|
-
And are redirected to the home page
|
|
74
|
-
And an "Access denied" message is shown
|
|
75
|
-
|
|
76
|
-
### AC-008: Own Resource Only
|
|
77
|
-
Given a user viewing another user's profile
|
|
78
|
-
When they try to edit the profile
|
|
79
|
-
Then the edit button is not visible
|
|
80
|
-
And direct URL access returns 403
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## INVEST Criteria
|
|
84
|
-
|
|
85
|
-
Good acceptance criteria follow INVEST:
|
|
86
|
-
|
|
87
|
-
| Criterion | Description | Check |
|
|
88
|
-
|-----------|-------------|-------|
|
|
89
|
-
| **I**ndependent | Can be tested alone | No dependencies on other ACs |
|
|
90
|
-
| **N**egotiable | Details can be discussed | Not over-specified |
|
|
91
|
-
| **V**aluable | Delivers user value | Ties to requirement |
|
|
92
|
-
| **E**stimable | Effort can be estimated | Clear scope |
|
|
93
|
-
| **S**mall | Testable in one session | Not too broad |
|
|
94
|
-
| **T**estable | Pass/fail is clear | Objective criteria |
|
|
95
|
-
|
|
96
|
-
## Quick Reference
|
|
97
|
-
|
|
98
|
-
| Scenario Type | Given | When | Then |
|
|
99
|
-
|---------------|-------|------|------|
|
|
100
|
-
| Happy path | Valid state | Valid action | Success result |
|
|
101
|
-
| Error | Invalid state/input | Action | Error message |
|
|
102
|
-
| Edge case | Boundary condition | Action | Graceful handling |
|
|
103
|
-
| Authorization | User role | Protected action | Appropriate access |
|
|
104
|
-
| Concurrency | Multiple actors | Simultaneous action | Consistent state |
|
|
1
|
+
# Acceptance Criteria
|
|
2
|
+
|
|
3
|
+
## Given-When-Then Format
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
### AC-001: [Scenario Name]
|
|
7
|
+
Given [context/precondition]
|
|
8
|
+
When [action taken]
|
|
9
|
+
Then [expected result]
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Examples by Type
|
|
13
|
+
|
|
14
|
+
### Happy Path
|
|
15
|
+
|
|
16
|
+
```markdown
|
|
17
|
+
### AC-001: Successful Login
|
|
18
|
+
Given a registered user with valid credentials
|
|
19
|
+
When they submit the login form
|
|
20
|
+
Then they are redirected to the dashboard
|
|
21
|
+
And a success message is displayed
|
|
22
|
+
And their session is created
|
|
23
|
+
|
|
24
|
+
### AC-002: Add Item to Cart
|
|
25
|
+
Given a logged-in user viewing a product
|
|
26
|
+
When they click "Add to Cart"
|
|
27
|
+
Then the item appears in their cart
|
|
28
|
+
And the cart badge updates with the count
|
|
29
|
+
And a confirmation toast is shown
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Error Cases
|
|
33
|
+
|
|
34
|
+
```markdown
|
|
35
|
+
### AC-003: Invalid Login
|
|
36
|
+
Given a user with incorrect password
|
|
37
|
+
When they submit the login form
|
|
38
|
+
Then an error message "Invalid credentials" is displayed
|
|
39
|
+
And the password field is cleared
|
|
40
|
+
And they remain on the login page
|
|
41
|
+
|
|
42
|
+
### AC-004: Duplicate Email Registration
|
|
43
|
+
Given an email already exists in the system
|
|
44
|
+
When a new user tries to register with that email
|
|
45
|
+
Then an error message "Email already registered" is displayed
|
|
46
|
+
And the form is not submitted
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Edge Cases
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
### AC-005: Empty Cart Checkout
|
|
53
|
+
Given a user with an empty cart
|
|
54
|
+
When they navigate to checkout
|
|
55
|
+
Then they see "Your cart is empty" message
|
|
56
|
+
And a "Continue Shopping" button is displayed
|
|
57
|
+
|
|
58
|
+
### AC-006: Session Expiry
|
|
59
|
+
Given a user whose session has expired
|
|
60
|
+
When they try to perform any authenticated action
|
|
61
|
+
Then they are redirected to login
|
|
62
|
+
And a message "Session expired, please log in again" is shown
|
|
63
|
+
And their intended action is preserved for after login
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Authorization
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
### AC-007: Admin-Only Access
|
|
70
|
+
Given a regular user (non-admin)
|
|
71
|
+
When they try to access /admin/users
|
|
72
|
+
Then they receive a 403 Forbidden response
|
|
73
|
+
And are redirected to the home page
|
|
74
|
+
And an "Access denied" message is shown
|
|
75
|
+
|
|
76
|
+
### AC-008: Own Resource Only
|
|
77
|
+
Given a user viewing another user's profile
|
|
78
|
+
When they try to edit the profile
|
|
79
|
+
Then the edit button is not visible
|
|
80
|
+
And direct URL access returns 403
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## INVEST Criteria
|
|
84
|
+
|
|
85
|
+
Good acceptance criteria follow INVEST:
|
|
86
|
+
|
|
87
|
+
| Criterion | Description | Check |
|
|
88
|
+
|-----------|-------------|-------|
|
|
89
|
+
| **I**ndependent | Can be tested alone | No dependencies on other ACs |
|
|
90
|
+
| **N**egotiable | Details can be discussed | Not over-specified |
|
|
91
|
+
| **V**aluable | Delivers user value | Ties to requirement |
|
|
92
|
+
| **E**stimable | Effort can be estimated | Clear scope |
|
|
93
|
+
| **S**mall | Testable in one session | Not too broad |
|
|
94
|
+
| **T**estable | Pass/fail is clear | Objective criteria |
|
|
95
|
+
|
|
96
|
+
## Quick Reference
|
|
97
|
+
|
|
98
|
+
| Scenario Type | Given | When | Then |
|
|
99
|
+
|---------------|-------|------|------|
|
|
100
|
+
| Happy path | Valid state | Valid action | Success result |
|
|
101
|
+
| Error | Invalid state/input | Action | Error message |
|
|
102
|
+
| Edge case | Boundary condition | Action | Graceful handling |
|
|
103
|
+
| Authorization | User role | Protected action | Appropriate access |
|
|
104
|
+
| Concurrency | Multiple actors | Simultaneous action | Consistent state |
|
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
# EARS Syntax
|
|
2
|
-
|
|
3
|
-
## EARS Format
|
|
4
|
-
|
|
5
|
-
Easy Approach to Requirements Syntax for clear, unambiguous requirements.
|
|
6
|
-
|
|
7
|
-
### Basic Pattern
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
While <precondition>, when <trigger>, the system shall <response>.
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
### Pattern Types
|
|
14
|
-
|
|
15
|
-
**Ubiquitous (Always True)**
|
|
16
|
-
```
|
|
17
|
-
The system shall [action].
|
|
18
|
-
```
|
|
19
|
-
Example: The system shall encrypt all passwords using bcrypt.
|
|
20
|
-
|
|
21
|
-
**Event-Driven**
|
|
22
|
-
```
|
|
23
|
-
When [trigger], the system shall [action].
|
|
24
|
-
```
|
|
25
|
-
Example: When the user clicks "Submit", the system shall save the form data.
|
|
26
|
-
|
|
27
|
-
**State-Driven**
|
|
28
|
-
```
|
|
29
|
-
While [state], the system shall [action].
|
|
30
|
-
```
|
|
31
|
-
Example: While the user is logged in, the system shall display the dashboard.
|
|
32
|
-
|
|
33
|
-
**Conditional (Most Common)**
|
|
34
|
-
```
|
|
35
|
-
While [state], when [trigger], the system shall [action].
|
|
36
|
-
```
|
|
37
|
-
Example: While the cart contains items, when the user clicks "Checkout", the system shall navigate to the payment page.
|
|
38
|
-
|
|
39
|
-
**Optional**
|
|
40
|
-
```
|
|
41
|
-
Where [feature enabled], the system shall [action].
|
|
42
|
-
```
|
|
43
|
-
Example: Where two-factor authentication is enabled, the system shall require a verification code.
|
|
44
|
-
|
|
45
|
-
## Examples by Domain
|
|
46
|
-
|
|
47
|
-
### Authentication
|
|
48
|
-
|
|
49
|
-
```markdown
|
|
50
|
-
**FR-AUTH-001**: Login
|
|
51
|
-
While credentials are valid, when POST /auth/login is called,
|
|
52
|
-
the system shall return JWT access token (15min) and refresh token (7d).
|
|
53
|
-
|
|
54
|
-
**FR-AUTH-002**: Invalid Login
|
|
55
|
-
When invalid credentials are provided,
|
|
56
|
-
the system shall return 401 and increment failed login counter.
|
|
57
|
-
|
|
58
|
-
**FR-AUTH-003**: Account Lockout
|
|
59
|
-
While failed login count exceeds 5, when login is attempted,
|
|
60
|
-
the system shall reject the attempt and require password reset.
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### E-commerce
|
|
64
|
-
|
|
65
|
-
```markdown
|
|
66
|
-
**FR-CART-001**: Add to Cart
|
|
67
|
-
While user is logged in, when they click "Add to Cart",
|
|
68
|
-
the system shall add the item and update the cart badge count.
|
|
69
|
-
|
|
70
|
-
**FR-CART-002**: Apply Coupon
|
|
71
|
-
While the cart contains items, when a valid coupon code is applied,
|
|
72
|
-
the system shall reduce the total by the discount amount.
|
|
73
|
-
|
|
74
|
-
**FR-ORDER-001**: Checkout
|
|
75
|
-
While payment method is valid, when user confirms order,
|
|
76
|
-
the system shall create order, charge payment, and send confirmation email.
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### Data Management
|
|
80
|
-
|
|
81
|
-
```markdown
|
|
82
|
-
**FR-EXPORT-001**: CSV Export
|
|
83
|
-
While user has data access permission, when they click "Export",
|
|
84
|
-
the system shall generate a CSV file and initiate download.
|
|
85
|
-
|
|
86
|
-
**FR-DELETE-001**: Soft Delete
|
|
87
|
-
When a resource is deleted,
|
|
88
|
-
the system shall set deleted_at timestamp instead of removing the record.
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
## Quick Reference
|
|
92
|
-
|
|
93
|
-
| Type | Structure | Use When |
|
|
94
|
-
|------|-----------|----------|
|
|
95
|
-
| Ubiquitous | shall [action] | Always applies |
|
|
96
|
-
| Event | When [X], shall | On trigger |
|
|
97
|
-
| State | While [X], shall | Continuous state |
|
|
98
|
-
| Conditional | While [X], when [Y], shall | State + trigger |
|
|
99
|
-
| Optional | Where [X], shall | Feature flag |
|
|
1
|
+
# EARS Syntax
|
|
2
|
+
|
|
3
|
+
## EARS Format
|
|
4
|
+
|
|
5
|
+
Easy Approach to Requirements Syntax for clear, unambiguous requirements.
|
|
6
|
+
|
|
7
|
+
### Basic Pattern
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
While <precondition>, when <trigger>, the system shall <response>.
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### Pattern Types
|
|
14
|
+
|
|
15
|
+
**Ubiquitous (Always True)**
|
|
16
|
+
```
|
|
17
|
+
The system shall [action].
|
|
18
|
+
```
|
|
19
|
+
Example: The system shall encrypt all passwords using bcrypt.
|
|
20
|
+
|
|
21
|
+
**Event-Driven**
|
|
22
|
+
```
|
|
23
|
+
When [trigger], the system shall [action].
|
|
24
|
+
```
|
|
25
|
+
Example: When the user clicks "Submit", the system shall save the form data.
|
|
26
|
+
|
|
27
|
+
**State-Driven**
|
|
28
|
+
```
|
|
29
|
+
While [state], the system shall [action].
|
|
30
|
+
```
|
|
31
|
+
Example: While the user is logged in, the system shall display the dashboard.
|
|
32
|
+
|
|
33
|
+
**Conditional (Most Common)**
|
|
34
|
+
```
|
|
35
|
+
While [state], when [trigger], the system shall [action].
|
|
36
|
+
```
|
|
37
|
+
Example: While the cart contains items, when the user clicks "Checkout", the system shall navigate to the payment page.
|
|
38
|
+
|
|
39
|
+
**Optional**
|
|
40
|
+
```
|
|
41
|
+
Where [feature enabled], the system shall [action].
|
|
42
|
+
```
|
|
43
|
+
Example: Where two-factor authentication is enabled, the system shall require a verification code.
|
|
44
|
+
|
|
45
|
+
## Examples by Domain
|
|
46
|
+
|
|
47
|
+
### Authentication
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
**FR-AUTH-001**: Login
|
|
51
|
+
While credentials are valid, when POST /auth/login is called,
|
|
52
|
+
the system shall return JWT access token (15min) and refresh token (7d).
|
|
53
|
+
|
|
54
|
+
**FR-AUTH-002**: Invalid Login
|
|
55
|
+
When invalid credentials are provided,
|
|
56
|
+
the system shall return 401 and increment failed login counter.
|
|
57
|
+
|
|
58
|
+
**FR-AUTH-003**: Account Lockout
|
|
59
|
+
While failed login count exceeds 5, when login is attempted,
|
|
60
|
+
the system shall reject the attempt and require password reset.
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### E-commerce
|
|
64
|
+
|
|
65
|
+
```markdown
|
|
66
|
+
**FR-CART-001**: Add to Cart
|
|
67
|
+
While user is logged in, when they click "Add to Cart",
|
|
68
|
+
the system shall add the item and update the cart badge count.
|
|
69
|
+
|
|
70
|
+
**FR-CART-002**: Apply Coupon
|
|
71
|
+
While the cart contains items, when a valid coupon code is applied,
|
|
72
|
+
the system shall reduce the total by the discount amount.
|
|
73
|
+
|
|
74
|
+
**FR-ORDER-001**: Checkout
|
|
75
|
+
While payment method is valid, when user confirms order,
|
|
76
|
+
the system shall create order, charge payment, and send confirmation email.
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Data Management
|
|
80
|
+
|
|
81
|
+
```markdown
|
|
82
|
+
**FR-EXPORT-001**: CSV Export
|
|
83
|
+
While user has data access permission, when they click "Export",
|
|
84
|
+
the system shall generate a CSV file and initiate download.
|
|
85
|
+
|
|
86
|
+
**FR-DELETE-001**: Soft Delete
|
|
87
|
+
When a resource is deleted,
|
|
88
|
+
the system shall set deleted_at timestamp instead of removing the record.
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Quick Reference
|
|
92
|
+
|
|
93
|
+
| Type | Structure | Use When |
|
|
94
|
+
|------|-----------|----------|
|
|
95
|
+
| Ubiquitous | shall [action] | Always applies |
|
|
96
|
+
| Event | When [X], shall | On trigger |
|
|
97
|
+
| State | While [X], shall | Continuous state |
|
|
98
|
+
| Conditional | While [X], when [Y], shall | State + trigger |
|
|
99
|
+
| Optional | Where [X], shall | Feature flag |
|