@nextsparkjs/ai-workflow 0.1.0-beta.100
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/LICENSE +21 -0
- package/README.md +115 -0
- package/claude/_docs/workflows-optimizations.md +359 -0
- package/claude/agents/api-tester.md +634 -0
- package/claude/agents/architecture-supervisor.md +1351 -0
- package/claude/agents/backend-developer.md +997 -0
- package/claude/agents/backend-validator.md +417 -0
- package/claude/agents/bdd-docs-writer.md +737 -0
- package/claude/agents/block-developer.md +677 -0
- package/claude/agents/code-reviewer.md +1432 -0
- package/claude/agents/db-developer.md +721 -0
- package/claude/agents/db-validator.md +407 -0
- package/claude/agents/demo-video-generator.md +493 -0
- package/claude/agents/documentation-writer.md +1268 -0
- package/claude/agents/frontend-developer.md +1234 -0
- package/claude/agents/frontend-validator.md +777 -0
- package/claude/agents/functional-validator.md +630 -0
- package/claude/agents/mock-analyst.md +387 -0
- package/claude/agents/product-manager.md +963 -0
- package/claude/agents/qa-automation.md +1762 -0
- package/claude/agents/release-manager.md +634 -0
- package/claude/agents/selectors-translator.md +262 -0
- package/claude/agents/unit-test-writer.md +785 -0
- package/claude/agents/visual-comparator.md +329 -0
- package/claude/agents/workflow-maintainer.md +352 -0
- package/claude/commands/do/README.md +88 -0
- package/claude/commands/do/create-api.md +64 -0
- package/claude/commands/do/create-entity.md +66 -0
- package/claude/commands/do/create-migration.md +64 -0
- package/claude/commands/do/create-plugin.md +56 -0
- package/claude/commands/do/create-theme.md +70 -0
- package/claude/commands/do/mock-data.md +67 -0
- package/claude/commands/do/reset-db.md +71 -0
- package/claude/commands/do/setup-scheduled-action.md +75 -0
- package/claude/commands/do/sync-code-review.md +117 -0
- package/claude/commands/do/update-selectors.md +112 -0
- package/claude/commands/do/use-skills.md +90 -0
- package/claude/commands/do/validate-blocks.md +69 -0
- package/claude/commands/how-to/README.md +261 -0
- package/claude/commands/how-to/add-metadata.md +692 -0
- package/claude/commands/how-to/add-taxonomies.md +806 -0
- package/claude/commands/how-to/add-translations.md +571 -0
- package/claude/commands/how-to/create-api.md +577 -0
- package/claude/commands/how-to/create-block.md +575 -0
- package/claude/commands/how-to/create-child-entities.md +771 -0
- package/claude/commands/how-to/create-entity.md +597 -0
- package/claude/commands/how-to/create-migrations.md +605 -0
- package/claude/commands/how-to/create-plugin.md +654 -0
- package/claude/commands/how-to/customize-app.md +481 -0
- package/claude/commands/how-to/customize-dashboard.md +553 -0
- package/claude/commands/how-to/customize-theme.md +438 -0
- package/claude/commands/how-to/define-features-flows.md +632 -0
- package/claude/commands/how-to/deploy.md +507 -0
- package/claude/commands/how-to/handle-file-uploads.md +746 -0
- package/claude/commands/how-to/implement-search.md +1001 -0
- package/claude/commands/how-to/install-plugins.md +352 -0
- package/claude/commands/how-to/manage-test-coverage.md +984 -0
- package/claude/commands/how-to/run-tests.md +400 -0
- package/claude/commands/how-to/set-app-languages.md +601 -0
- package/claude/commands/how-to/set-plans-and-permissions.md +575 -0
- package/claude/commands/how-to/set-scheduled-actions.md +527 -0
- package/claude/commands/how-to/set-user-roles-and-permissions.md +550 -0
- package/claude/commands/how-to/setup-authentication.md +388 -0
- package/claude/commands/how-to/setup-claude-code.md +440 -0
- package/claude/commands/how-to/setup-database.md +274 -0
- package/claude/commands/how-to/setup-email-providers.md +598 -0
- package/claude/commands/how-to/setup-mobile-dev.md +627 -0
- package/claude/commands/how-to/start.md +500 -0
- package/claude/commands/how-to/use-devtools.md +639 -0
- package/claude/commands/how-to/use-superadmin.md +622 -0
- package/claude/commands/session/README.md +193 -0
- package/claude/commands/session/block-create.md +190 -0
- package/claude/commands/session/block-list.md +203 -0
- package/claude/commands/session/block-update.md +192 -0
- package/claude/commands/session/block-validate.md +218 -0
- package/claude/commands/session/changelog.md +115 -0
- package/claude/commands/session/close.md +225 -0
- package/claude/commands/session/commit.md +174 -0
- package/claude/commands/session/db-entity.md +206 -0
- package/claude/commands/session/db-fix.md +212 -0
- package/claude/commands/session/db-sample.md +206 -0
- package/claude/commands/session/demo.md +178 -0
- package/claude/commands/session/doc-bdd.md +207 -0
- package/claude/commands/session/doc-feature.md +218 -0
- package/claude/commands/session/doc-read.md +225 -0
- package/claude/commands/session/execute.md +204 -0
- package/claude/commands/session/explain.md +202 -0
- package/claude/commands/session/fix-bug.md +210 -0
- package/claude/commands/session/fix-build.md +182 -0
- package/claude/commands/session/fix-test.md +189 -0
- package/claude/commands/session/pending.md +232 -0
- package/claude/commands/session/refine.md +188 -0
- package/claude/commands/session/resume.md +192 -0
- package/claude/commands/session/review.md +192 -0
- package/claude/commands/session/scope-change.md +181 -0
- package/claude/commands/session/start-blocks.md +347 -0
- package/claude/commands/session/start.md +604 -0
- package/claude/commands/session/status.md +169 -0
- package/claude/commands/session/test-fix.md +221 -0
- package/claude/commands/session/test-run.md +203 -0
- package/claude/commands/session/test-write.md +242 -0
- package/claude/commands/session/validate.md +162 -0
- package/claude/config/context.json +40 -0
- package/claude/config/github.json +69 -0
- package/claude/config/github.schema.json +106 -0
- package/claude/config/team.json +46 -0
- package/claude/config/team.schema.json +106 -0
- package/claude/config/workspace.json +43 -0
- package/claude/config/workspace.schema.json +75 -0
- package/claude/skills/README.md +228 -0
- package/claude/skills/accessibility/SKILL.md +573 -0
- package/claude/skills/api-bypass-layers/SKILL.md +550 -0
- package/claude/skills/asana-integration/SKILL.md +499 -0
- package/claude/skills/better-auth/SKILL.md +666 -0
- package/claude/skills/billing-subscriptions/SKILL.md +660 -0
- package/claude/skills/block-decision-matrix/SKILL.md +359 -0
- package/claude/skills/clickup-integration/SKILL.md +434 -0
- package/claude/skills/core-theme-responsibilities/SKILL.md +485 -0
- package/claude/skills/create-plugin/SKILL.md +425 -0
- package/claude/skills/create-theme/SKILL.md +331 -0
- package/claude/skills/cypress-api/SKILL.md +511 -0
- package/claude/skills/cypress-api/scripts/generate-api-controller.py +329 -0
- package/claude/skills/cypress-api/scripts/generate-api-test.py +930 -0
- package/claude/skills/cypress-e2e/SKILL.md +526 -0
- package/claude/skills/cypress-e2e/scripts/extract-selectors.py +383 -0
- package/claude/skills/cypress-e2e/scripts/generate-uat-test.py +788 -0
- package/claude/skills/cypress-selectors/SKILL.md +309 -0
- package/claude/skills/cypress-selectors/scripts/extract-missing.py +243 -0
- package/claude/skills/cypress-selectors/scripts/generate-block-selectors.py +283 -0
- package/claude/skills/cypress-selectors/scripts/validate-selectors.py +145 -0
- package/claude/skills/database-migrations/SKILL.md +335 -0
- package/claude/skills/database-migrations/scripts/generate-sample-data.py +284 -0
- package/claude/skills/database-migrations/scripts/validate-migration.py +323 -0
- package/claude/skills/design-system/SKILL.md +682 -0
- package/claude/skills/documentation/SKILL.md +540 -0
- package/claude/skills/entity-api/SKILL.md +482 -0
- package/claude/skills/entity-system/SKILL.md +635 -0
- package/claude/skills/entity-system/scripts/generate-child-migration.py +298 -0
- package/claude/skills/entity-system/scripts/generate-metas-migration.py +233 -0
- package/claude/skills/entity-system/scripts/generate-migration.py +382 -0
- package/claude/skills/entity-system/scripts/generate-sample-data.py +418 -0
- package/claude/skills/entity-system/scripts/scaffold-entity.py +661 -0
- package/claude/skills/github/SKILL.md +467 -0
- package/claude/skills/i18n-nextintl/SKILL.md +302 -0
- package/claude/skills/i18n-nextintl/scripts/add-translation.py +243 -0
- package/claude/skills/i18n-nextintl/scripts/extract-hardcoded.py +246 -0
- package/claude/skills/i18n-nextintl/scripts/validate-translations.py +260 -0
- package/claude/skills/impact-analysis/SKILL.md +203 -0
- package/claude/skills/jest-unit/SKILL.md +306 -0
- package/claude/skills/jest-unit/references/component-testing.md +371 -0
- package/claude/skills/jest-unit/references/mocking-patterns.md +380 -0
- package/claude/skills/jest-unit/references/service-hook-testing.md +454 -0
- package/claude/skills/jira-integration/SKILL.md +539 -0
- package/claude/skills/media-library/SKILL.md +743 -0
- package/claude/skills/mock-analysis/SKILL.md +276 -0
- package/claude/skills/monorepo-architecture/SKILL.md +162 -0
- package/claude/skills/nextjs-api-development/SKILL.md +364 -0
- package/claude/skills/nextjs-api-development/scripts/generate-crud-tests.py +456 -0
- package/claude/skills/nextjs-api-development/scripts/scaffold-endpoint.py +481 -0
- package/claude/skills/nextjs-api-development/scripts/validate-api.py +283 -0
- package/claude/skills/notion-integration/SKILL.md +641 -0
- package/claude/skills/npm-development-workflow/SKILL.md +480 -0
- package/claude/skills/page-builder-blocks/SKILL.md +530 -0
- package/claude/skills/page-builder-blocks/scripts/scaffold-block.py +444 -0
- package/claude/skills/permissions-system/SKILL.md +619 -0
- package/claude/skills/plugins/SKILL.md +340 -0
- package/claude/skills/plugins/references/plugin-templates.md +414 -0
- package/claude/skills/plugins/references/plugin-testing.md +353 -0
- package/claude/skills/plugins/references/plugin-types.md +198 -0
- package/claude/skills/plugins/scripts/scaffold-plugin.py +443 -0
- package/claude/skills/pom-patterns/SKILL.md +452 -0
- package/claude/skills/pom-patterns/scripts/generate-pom.py +392 -0
- package/claude/skills/rate-limiting/SKILL.md +342 -0
- package/claude/skills/react-best-practices/AGENTS.md +2410 -0
- package/claude/skills/react-best-practices/README.md +123 -0
- package/claude/skills/react-best-practices/SKILL.md +125 -0
- package/claude/skills/react-best-practices/metadata.json +15 -0
- package/claude/skills/react-best-practices/rules/_sections.md +46 -0
- package/claude/skills/react-best-practices/rules/_template.md +28 -0
- package/claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/claude/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/claude/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/claude/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/claude/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/claude/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/claude/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/claude/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/claude/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/claude/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/claude/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/claude/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/claude/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/claude/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/claude/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/claude/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/claude/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/claude/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/claude/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/claude/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/claude/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/claude/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/claude/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/claude/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/claude/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/claude/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/claude/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/claude/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/claude/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/claude/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/claude/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/claude/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/claude/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/claude/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/claude/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/claude/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/claude/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/claude/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/claude/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/claude/skills/react-best-practices/rules/server-cache-react.md +76 -0
- package/claude/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/claude/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/claude/skills/react-patterns/SKILL.md +688 -0
- package/claude/skills/registry-system/SKILL.md +331 -0
- package/claude/skills/scheduled-actions/SKILL.md +671 -0
- package/claude/skills/scope-enforcement/SKILL.md +542 -0
- package/claude/skills/scope-enforcement/scripts/validate-scope.py +357 -0
- package/claude/skills/server-actions/SKILL.md +493 -0
- package/claude/skills/service-layer/SKILL.md +587 -0
- package/claude/skills/session-management/SKILL.md +266 -0
- package/claude/skills/session-management/scripts/create-session.py +166 -0
- package/claude/skills/session-management/scripts/iteration-close.sh +105 -0
- package/claude/skills/session-management/scripts/iteration-init.sh +180 -0
- package/claude/skills/session-management/scripts/session-archive.sh +87 -0
- package/claude/skills/session-management/scripts/session-close.sh +133 -0
- package/claude/skills/session-management/scripts/session-init.sh +225 -0
- package/claude/skills/session-management/scripts/session-list.sh +163 -0
- package/claude/skills/session-management/scripts/split-plan.sh +116 -0
- package/claude/skills/shadcn-components/SKILL.md +586 -0
- package/claude/skills/shadcn-theming/SKILL.md +446 -0
- package/claude/skills/suspense-loading/SKILL.md +280 -0
- package/claude/skills/tailwind-theming/SKILL.md +507 -0
- package/claude/skills/tanstack-query/SKILL.md +608 -0
- package/claude/skills/test-coverage/SKILL.md +239 -0
- package/claude/skills/web-design-guidelines/SKILL.md +39 -0
- package/claude/skills/zod-validation/SKILL.md +537 -0
- package/claude/templates/blocks/progress.md +86 -0
- package/claude/templates/iteration/changes.md +61 -0
- package/claude/templates/iteration/progress.md +55 -0
- package/claude/templates/log.md +31 -0
- package/claude/templates/story/context.md +77 -0
- package/claude/templates/story/pendings.md +37 -0
- package/claude/templates/story/plan.md +299 -0
- package/claude/templates/story/requirements.md +109 -0
- package/claude/templates/story/scope.json +10 -0
- package/claude/templates/story/tests.md +91 -0
- package/claude/templates/task/progress.md +58 -0
- package/claude/templates/task/requirements.md +54 -0
- package/claude/workflows/README.md +154 -0
- package/claude/workflows/blocks.md +614 -0
- package/claude/workflows/story.md +1207 -0
- package/claude/workflows/task.md +927 -0
- package/claude/workflows/tweak.md +527 -0
- package/cursor/.gitkeep +0 -0
- package/package.json +35 -0
- package/scripts/postinstall.mjs +198 -0
- package/scripts/setup.mjs +282 -0
- package/scripts/sync.mjs +209 -0
|
@@ -0,0 +1,927 @@
|
|
|
1
|
+
# TASK Workflow v1.0
|
|
2
|
+
|
|
3
|
+
**T-Shirt Size:** S - M - L
|
|
4
|
+
**Session:** `tasks/`
|
|
5
|
+
**Subagents:** Selective (only when needed)
|
|
6
|
+
**Duration:** 30-120 minutes
|
|
7
|
+
**Token Estimate:** 50-200k
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
The TASK workflow is the balanced option for medium-complexity work. It provides structure and traceability without the overhead of the full STORY workflow. Use it when you need planning and validation but not the full 14-phase process.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Initial Questions (All 7)
|
|
18
|
+
|
|
19
|
+
Before starting, Claude asks **all 7 questions** to gather complete context:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
23
|
+
│ TASK DISCOVERY (Claude asks directly) │
|
|
24
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
25
|
+
│ │
|
|
26
|
+
│ 1. TASK MANAGER │
|
|
27
|
+
│ Is there an existing task in a project management system? │
|
|
28
|
+
│ - No │
|
|
29
|
+
│ - Yes, ClickUp (request task_id) │
|
|
30
|
+
│ - Yes, Jira (request task_id) │
|
|
31
|
+
│ - Yes, Linear (request task_id) │
|
|
32
|
+
│ - Yes, Asana (request task_id) │
|
|
33
|
+
│ │
|
|
34
|
+
│ 2. DATABASE POLICY │
|
|
35
|
+
│ How should the database be handled? │
|
|
36
|
+
│ - No database changes needed │
|
|
37
|
+
│ - Reset allowed (dev/staging) │
|
|
38
|
+
│ - Incremental migrations only (production) │
|
|
39
|
+
│ │
|
|
40
|
+
│ 3. ENTITY TYPE │
|
|
41
|
+
│ What type of entity work? │
|
|
42
|
+
│ - No entity changes │
|
|
43
|
+
│ - Modify existing entity (request name) │
|
|
44
|
+
│ - New entity (⚠️ consider STORY workflow) │
|
|
45
|
+
│ │
|
|
46
|
+
│ 4. BLOCKS │
|
|
47
|
+
│ Are blocks needed? │
|
|
48
|
+
│ - No blocks needed │
|
|
49
|
+
│ - Simple blocks (Claude creates them) │
|
|
50
|
+
│ - Complex blocks (⚠️ consider BLOCKS workflow) │
|
|
51
|
+
│ │
|
|
52
|
+
│ 5. MOCK │
|
|
53
|
+
│ Do you have a design mock? │
|
|
54
|
+
│ - No │
|
|
55
|
+
│ - Yes, I have a mock │
|
|
56
|
+
│ IF YES, ask conditional questions: │
|
|
57
|
+
│ ├── 5a. Mock is for: │
|
|
58
|
+
│ │ [1] Page builder blocks (default if Q4 = blocks) │
|
|
59
|
+
│ │ [2] Complete screens/pages │
|
|
60
|
+
│ │ [3] Specific components │
|
|
61
|
+
│ ├── 5b. Mock was created in: │
|
|
62
|
+
│ │ [1] Stitch │
|
|
63
|
+
│ │ [2] UXPilot │
|
|
64
|
+
│ │ [3] Figma │
|
|
65
|
+
│ │ [4] Other │
|
|
66
|
+
│ └── 5c. Number of sections/blocks: │
|
|
67
|
+
│ [1] Single block/component │
|
|
68
|
+
│ [2] Multiple (2-4) │
|
|
69
|
+
│ [3] Full page (5+)
|
|
70
|
+
│ │
|
|
71
|
+
│ 6. TESTING │
|
|
72
|
+
│ What testing is needed? │
|
|
73
|
+
│ - Run existing tests only │
|
|
74
|
+
│ - Modify existing tests │
|
|
75
|
+
│ - Create new tests (API/UAT/Unit) │
|
|
76
|
+
│ │
|
|
77
|
+
│ 7. DOCUMENTATION │
|
|
78
|
+
│ What documentation is needed? │
|
|
79
|
+
│ - No documentation needed │
|
|
80
|
+
│ - Update existing docs │
|
|
81
|
+
│ - Create new docs (public/superadmin/skills) │
|
|
82
|
+
│ │
|
|
83
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Key difference from STORY:** Claude asks questions and creates requirements.md directly, without launching PM or Architecture subagents.
|
|
87
|
+
|
|
88
|
+
**Escalation triggers:**
|
|
89
|
+
- New entity required → Recommend STORY
|
|
90
|
+
- Complex blocks needed → Recommend separate block workflow
|
|
91
|
+
- High-risk database changes → Recommend STORY
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## When to Use
|
|
96
|
+
|
|
97
|
+
### Criteria (ANY applies)
|
|
98
|
+
|
|
99
|
+
| Criterion | Threshold |
|
|
100
|
+
|-----------|-----------|
|
|
101
|
+
| **Files affected** | 4-15 files |
|
|
102
|
+
| **Layers touched** | 2 (e.g., API + UI, or DB + API) |
|
|
103
|
+
| **New tests needed** | Some (not comprehensive) |
|
|
104
|
+
| **Business risk** | Low to Medium |
|
|
105
|
+
| **Planning needed** | Light planning required |
|
|
106
|
+
| **Documentation** | Minimal or none |
|
|
107
|
+
|
|
108
|
+
### Examples
|
|
109
|
+
|
|
110
|
+
| Task | T-Shirt | Why TASK |
|
|
111
|
+
|------|---------|--------------|
|
|
112
|
+
| Add field with validation to entity | S | Config + API + UI changes |
|
|
113
|
+
| New simple API endpoint | S-M | Route + service + tests |
|
|
114
|
+
| Create page builder block | M | 5 files + registry |
|
|
115
|
+
| Improve query performance | M | Multiple files, needs analysis |
|
|
116
|
+
| Feature with UI + API (no DB) | M-L | Multiple layers but no migration |
|
|
117
|
+
| Fix complex bug (multiple files) | M | Needs investigation + tests |
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## When NOT to Use
|
|
122
|
+
|
|
123
|
+
**Use TWEAK instead if:**
|
|
124
|
+
- 1-3 files only
|
|
125
|
+
- No planning needed
|
|
126
|
+
- No new tests needed
|
|
127
|
+
- Zero business risk
|
|
128
|
+
|
|
129
|
+
**Use STORY instead if:**
|
|
130
|
+
- New database migrations required
|
|
131
|
+
- New entity with full CRUD
|
|
132
|
+
- High business risk (payments, auth, critical flows)
|
|
133
|
+
- More than 15 files
|
|
134
|
+
- Requires all validation gates
|
|
135
|
+
- Multiple stakeholders involved
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Context Awareness
|
|
140
|
+
|
|
141
|
+
**CRITICAL:** Before starting any TASK, read `.claude/config/context.json` to understand the environment.
|
|
142
|
+
|
|
143
|
+
### Scope Validation (Phase 1: REQUIREMENTS)
|
|
144
|
+
|
|
145
|
+
Include context check when creating requirements:
|
|
146
|
+
|
|
147
|
+
```typescript
|
|
148
|
+
const context = await Read('.claude/config/context.json')
|
|
149
|
+
|
|
150
|
+
// Document context in requirements.md
|
|
151
|
+
const scopeSection = `
|
|
152
|
+
## Task Scope
|
|
153
|
+
|
|
154
|
+
**Context:** ${context.context}
|
|
155
|
+
${context.context === 'consumer' ? `**Active Theme:** \${NEXT_PUBLIC_ACTIVE_THEME}` : ''}
|
|
156
|
+
|
|
157
|
+
**Allowed Paths:**
|
|
158
|
+
${context.allowedPaths.map(p => `- ${p}`).join('\n')}
|
|
159
|
+
|
|
160
|
+
**Forbidden:**
|
|
161
|
+
${context.context === 'consumer' ? '- core/**/* (read-only)\n- Other themes' : '- None in monorepo context'}
|
|
162
|
+
`
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Monorepo TASK
|
|
166
|
+
|
|
167
|
+
When context is `monorepo`:
|
|
168
|
+
- **CAN** modify files across multiple themes
|
|
169
|
+
- **CAN** add shared utilities to `core/`
|
|
170
|
+
- **CAN** update core dependencies
|
|
171
|
+
- Multi-theme changes are allowed
|
|
172
|
+
- Focus on reusable patterns
|
|
173
|
+
|
|
174
|
+
### Consumer TASK
|
|
175
|
+
|
|
176
|
+
When context is `consumer`:
|
|
177
|
+
- **RESTRICTED** to active theme only
|
|
178
|
+
- **CANNOT** modify other themes (even if they exist locally)
|
|
179
|
+
- **CANNOT** modify `core/` (read-only in node_modules)
|
|
180
|
+
- If multi-theme needed → Escalate to STORY with explicit approval
|
|
181
|
+
- If core change needed → Document as "Core Enhancement Request"
|
|
182
|
+
|
|
183
|
+
### Path Validation During Execution
|
|
184
|
+
|
|
185
|
+
```typescript
|
|
186
|
+
const context = await Read('.claude/config/context.json')
|
|
187
|
+
|
|
188
|
+
// Before modifying any file
|
|
189
|
+
for (const filePath of filesToModify) {
|
|
190
|
+
const isAllowed = context.allowedPaths.some(pattern =>
|
|
191
|
+
matchGlob(filePath, pattern)
|
|
192
|
+
)
|
|
193
|
+
|
|
194
|
+
if (!isAllowed) {
|
|
195
|
+
if (context.context === 'consumer') {
|
|
196
|
+
// Suggest alternative in theme/plugins
|
|
197
|
+
suggestAlternative(filePath)
|
|
198
|
+
} else {
|
|
199
|
+
// In monorepo, check if core change is intentional
|
|
200
|
+
confirmCoreChange(filePath)
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### requirements.md Context Section (MANDATORY)
|
|
207
|
+
|
|
208
|
+
Always include this section in requirements.md:
|
|
209
|
+
|
|
210
|
+
```markdown
|
|
211
|
+
## Context Validation
|
|
212
|
+
|
|
213
|
+
**Context:** consumer
|
|
214
|
+
**Active Theme:** default
|
|
215
|
+
**Core Version:** 0.x.x (from package.json)
|
|
216
|
+
|
|
217
|
+
### Allowed Paths
|
|
218
|
+
- contents/themes/default/**/*
|
|
219
|
+
- contents/plugins/**/*
|
|
220
|
+
- .claude/sessions/**/*
|
|
221
|
+
|
|
222
|
+
### Forbidden
|
|
223
|
+
- core/**/* (read-only)
|
|
224
|
+
- Other themes (e.g., contents/themes/blog)
|
|
225
|
+
|
|
226
|
+
### Core Dependencies
|
|
227
|
+
- [ ] No core changes needed
|
|
228
|
+
- [ ] Core enhancement needed: [describe and document]
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Flow
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
237
|
+
│ TASK WORKFLOW v1.0 │
|
|
238
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
239
|
+
│ │
|
|
240
|
+
│ Phase 0: DISCOVERY (2-5 minutes) │
|
|
241
|
+
│ ──────────────────────────────── │
|
|
242
|
+
│ [MANDATORY] Claude asks all 7 questions │
|
|
243
|
+
│ ├── Task Manager? (link external task) │
|
|
244
|
+
│ ├── Database policy? (none / reset / incremental) │
|
|
245
|
+
│ ├── Entity type? (none / modify / new → escalate) │
|
|
246
|
+
│ ├── Blocks? (none / simple / complex → escalate) │
|
|
247
|
+
│ ├── Mock? + IF YES: 5a (for), 5b (source), 5c (complexity) │
|
|
248
|
+
│ ├── Testing? (existing / modify / create) │
|
|
249
|
+
│ └── Documentation? (none / update / create) │
|
|
250
|
+
│ ↓ │
|
|
251
|
+
│ Phase 0.5: MOCK UPLOAD PAUSE [CONDITIONAL: if mock selected] │
|
|
252
|
+
│ ───────────────────────────────────────────────────────────── │
|
|
253
|
+
│ [IF MOCK] Create session folder with mocks/ subfolder │
|
|
254
|
+
│ ├── Display upload instructions │
|
|
255
|
+
│ ├── Wait for user to confirm "ready" │
|
|
256
|
+
│ └── Validate mock files exist │
|
|
257
|
+
│ ↓ │
|
|
258
|
+
│ Phase 0.6: MOCK ANALYSIS [CONDITIONAL: if mock selected] │
|
|
259
|
+
│ ───────────────────────────────────────────────────────────── │
|
|
260
|
+
│ [IF MOCK] Run mock-analyst │
|
|
261
|
+
│ ├── Parse HTML structure (if available) │
|
|
262
|
+
│ ├── Extract design tokens │
|
|
263
|
+
│ ├── Generate analysis.json │
|
|
264
|
+
│ └── Generate ds-mapping.json │
|
|
265
|
+
│ ↓ │
|
|
266
|
+
│ Phase 1: REQUIREMENTS │
|
|
267
|
+
│ ───────────────────── │
|
|
268
|
+
│ [MANDATORY] Claude creates requirements.md │
|
|
269
|
+
│ ├── Understand the task │
|
|
270
|
+
│ ├── Define clear Acceptance Criteria (ACs) │
|
|
271
|
+
│ ├── Create task session folder │
|
|
272
|
+
│ ├── Document discovery answers │
|
|
273
|
+
│ └── Create requirements.md │
|
|
274
|
+
│ ↓ │
|
|
275
|
+
│ Phase 2: PLAN (Light) │
|
|
276
|
+
│ ───────────────────── │
|
|
277
|
+
│ [MANDATORY] Claude decides approach │
|
|
278
|
+
│ ├── Identify files to modify │
|
|
279
|
+
│ ├── Define technical approach │
|
|
280
|
+
│ └── Update requirements.md with approach │
|
|
281
|
+
│ ↓ │
|
|
282
|
+
│ Phase 3: EXECUTE │
|
|
283
|
+
│ ──────────────────── │
|
|
284
|
+
│ [MANDATORY] Implement changes │
|
|
285
|
+
│ ├── Implement backend (if needed) │
|
|
286
|
+
│ ├── Implement frontend (if needed) │
|
|
287
|
+
│ ├── Use subagents ONLY when they add value │
|
|
288
|
+
│ └── Update progress.md as you go │
|
|
289
|
+
│ ↓ │
|
|
290
|
+
│ Phase 4: VALIDATE │
|
|
291
|
+
│ ───────────────────── │
|
|
292
|
+
│ [MANDATORY] Verify everything works │
|
|
293
|
+
│ ├── Build passes │
|
|
294
|
+
│ ├── Tests pass (existing + new) │
|
|
295
|
+
│ ├── ACs verified │
|
|
296
|
+
│ └── Quick visual check │
|
|
297
|
+
│ ↓ │
|
|
298
|
+
│ DONE: Ready for commit │
|
|
299
|
+
│ │
|
|
300
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Session Files
|
|
306
|
+
|
|
307
|
+
### Directory Structure
|
|
308
|
+
|
|
309
|
+
```
|
|
310
|
+
.claude/sessions/tasks/YYYY-MM-DD-task-name/
|
|
311
|
+
├── requirements.md # What needs to be done + approach
|
|
312
|
+
├── progress.md # Current status and checklist
|
|
313
|
+
└── mocks/ # [CONDITIONAL: if mock selected]
|
|
314
|
+
├── code.html # User uploads
|
|
315
|
+
├── screen.png # User uploads
|
|
316
|
+
├── analysis.json # From mock-analyst
|
|
317
|
+
└── ds-mapping.json # From mock-analyst
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### requirements.md Template
|
|
321
|
+
|
|
322
|
+
```markdown
|
|
323
|
+
# Task: [Task Name]
|
|
324
|
+
|
|
325
|
+
**T-Shirt Size:** S/M/L
|
|
326
|
+
**Created:** YYYY-MM-DD
|
|
327
|
+
**Workflow:** TASK
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Discovery Answers
|
|
332
|
+
|
|
333
|
+
| Question | Answer |
|
|
334
|
+
|----------|--------|
|
|
335
|
+
| **Task Manager** | None / ClickUp: [task_id] / Jira: [task_id] |
|
|
336
|
+
| **Database Policy** | None / Reset allowed / Incremental only |
|
|
337
|
+
| **Entity Type** | None / Modify: [entity_name] |
|
|
338
|
+
| **Blocks** | None / Simple blocks |
|
|
339
|
+
| **Mock** | None / Path: [path] |
|
|
340
|
+
| **Mock For** | (if mock) Blocks / Screens / Components |
|
|
341
|
+
| **Mock Source** | (if mock) Stitch / UXPilot / Figma / Other |
|
|
342
|
+
| **Mock Complexity** | (if mock) Single / Multiple / Full page |
|
|
343
|
+
| **Testing** | Run existing / Modify existing / Create new |
|
|
344
|
+
| **Documentation** | None / Update existing / Create new |
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## Objective
|
|
349
|
+
|
|
350
|
+
[Clear description of what needs to be achieved]
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## Acceptance Criteria
|
|
355
|
+
|
|
356
|
+
- [ ] AC1: [Specific, testable criterion]
|
|
357
|
+
- [ ] AC2: [Specific, testable criterion]
|
|
358
|
+
- [ ] AC3: [Specific, testable criterion]
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
## Scope
|
|
363
|
+
|
|
364
|
+
**Files to modify:**
|
|
365
|
+
- `path/to/file1.ts` - [What changes]
|
|
366
|
+
- `path/to/file2.tsx` - [What changes]
|
|
367
|
+
|
|
368
|
+
**Files to create:** (if any)
|
|
369
|
+
- `path/to/new-file.ts` - [Purpose]
|
|
370
|
+
|
|
371
|
+
**Out of scope:**
|
|
372
|
+
- [Explicitly list what's NOT included]
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
## Technical Approach
|
|
377
|
+
|
|
378
|
+
### Summary
|
|
379
|
+
[1-2 sentences explaining the approach]
|
|
380
|
+
|
|
381
|
+
### Steps
|
|
382
|
+
1. [First step]
|
|
383
|
+
2. [Second step]
|
|
384
|
+
3. [Third step]
|
|
385
|
+
|
|
386
|
+
### Considerations
|
|
387
|
+
- [Any technical considerations or trade-offs]
|
|
388
|
+
|
|
389
|
+
---
|
|
390
|
+
|
|
391
|
+
## Notes
|
|
392
|
+
|
|
393
|
+
[Any additional context or decisions made]
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
### progress.md Template
|
|
397
|
+
|
|
398
|
+
```markdown
|
|
399
|
+
# Progress: [Task Name]
|
|
400
|
+
|
|
401
|
+
**Status:** In Progress | Blocked | Done
|
|
402
|
+
**Last Updated:** YYYY-MM-DD HH:MM
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
## Checklist
|
|
407
|
+
|
|
408
|
+
### Setup
|
|
409
|
+
- [ ] Requirements reviewed
|
|
410
|
+
- [ ] Approach defined
|
|
411
|
+
- [ ] Session created
|
|
412
|
+
|
|
413
|
+
### Implementation
|
|
414
|
+
- [ ] Backend changes (if applicable)
|
|
415
|
+
- [ ] Frontend changes (if applicable)
|
|
416
|
+
- [ ] Tests updated/created
|
|
417
|
+
|
|
418
|
+
### Validation
|
|
419
|
+
- [ ] Build passes
|
|
420
|
+
- [ ] Tests pass
|
|
421
|
+
- [ ] ACs verified
|
|
422
|
+
- [ ] Visual check done
|
|
423
|
+
|
|
424
|
+
---
|
|
425
|
+
|
|
426
|
+
## Current Focus
|
|
427
|
+
|
|
428
|
+
[What you're working on right now]
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
432
|
+
## Blockers
|
|
433
|
+
|
|
434
|
+
[Any blockers or issues encountered]
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
## Changes Made
|
|
439
|
+
|
|
440
|
+
| File | Change | Status |
|
|
441
|
+
|------|--------|--------|
|
|
442
|
+
| `path/to/file.ts` | [Description] | Done |
|
|
443
|
+
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
---
|
|
447
|
+
|
|
448
|
+
## Detailed Phase Descriptions
|
|
449
|
+
|
|
450
|
+
### Phase 1: REQUIREMENTS
|
|
451
|
+
|
|
452
|
+
**Duration:** 5-15 minutes
|
|
453
|
+
**Goal:** Clearly define what needs to be done
|
|
454
|
+
|
|
455
|
+
```
|
|
456
|
+
[MANDATORY] Requirements Steps:
|
|
457
|
+
|
|
458
|
+
1. Understand the task
|
|
459
|
+
- Read user's description carefully
|
|
460
|
+
- Ask clarifying questions if needed
|
|
461
|
+
- Identify the core problem/feature
|
|
462
|
+
|
|
463
|
+
2. Define Acceptance Criteria (ACs)
|
|
464
|
+
- Each AC must be specific and testable
|
|
465
|
+
- Use "User can..." or "System should..." format
|
|
466
|
+
- 3-5 ACs is typical for TASK
|
|
467
|
+
|
|
468
|
+
3. Create session folder
|
|
469
|
+
- Use command or manually create:
|
|
470
|
+
.claude/sessions/tasks/YYYY-MM-DD-task-name/
|
|
471
|
+
|
|
472
|
+
4. Write requirements.md
|
|
473
|
+
- Use the template above
|
|
474
|
+
- Don't skip the "Out of scope" section
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
**Tips for good ACs:**
|
|
478
|
+
- ✓ "User can filter products by category"
|
|
479
|
+
- ✓ "API returns 400 for invalid input"
|
|
480
|
+
- ✗ "Make it work better" (too vague)
|
|
481
|
+
- ✗ "Fix the thing" (not specific)
|
|
482
|
+
|
|
483
|
+
---
|
|
484
|
+
|
|
485
|
+
### Phase 2: PLAN (Light)
|
|
486
|
+
|
|
487
|
+
**Duration:** 5-15 minutes
|
|
488
|
+
**Goal:** Decide HOW to implement (but don't over-plan)
|
|
489
|
+
|
|
490
|
+
```
|
|
491
|
+
[MANDATORY] Planning Steps:
|
|
492
|
+
|
|
493
|
+
1. Identify affected files
|
|
494
|
+
- Use Grep/Glob to find relevant code
|
|
495
|
+
- List all files that need changes
|
|
496
|
+
- If > 15 files → Consider STORY
|
|
497
|
+
|
|
498
|
+
2. Define technical approach
|
|
499
|
+
- What's the simplest solution?
|
|
500
|
+
- Are there existing patterns to follow?
|
|
501
|
+
- Any dependencies or order of operations?
|
|
502
|
+
|
|
503
|
+
3. Consider risks
|
|
504
|
+
- What could go wrong?
|
|
505
|
+
- Are there edge cases?
|
|
506
|
+
- Need rollback plan?
|
|
507
|
+
|
|
508
|
+
4. Update requirements.md
|
|
509
|
+
- Add "Technical Approach" section
|
|
510
|
+
- Add "Scope" section with file list
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
**Light vs Full Planning:**
|
|
514
|
+
|
|
515
|
+
| Aspect | TASK (Light) | STORY (Full) |
|
|
516
|
+
|--------|------------------|-----------------|
|
|
517
|
+
| Plan document | Section in requirements.md | Separate plan.md |
|
|
518
|
+
| Scope file | Listed in requirements.md | scope.json |
|
|
519
|
+
| Phases | Not enumerated | 14 phases defined |
|
|
520
|
+
| PM Decisions | Not needed | Required |
|
|
521
|
+
| Architecture review | Informal | Formal (arch-supervisor) |
|
|
522
|
+
|
|
523
|
+
---
|
|
524
|
+
|
|
525
|
+
### Phase 3: EXECUTE
|
|
526
|
+
|
|
527
|
+
**Duration:** 15-60 minutes
|
|
528
|
+
**Goal:** Implement the changes
|
|
529
|
+
|
|
530
|
+
```
|
|
531
|
+
[MANDATORY] Execution Guidelines:
|
|
532
|
+
|
|
533
|
+
1. Follow the order
|
|
534
|
+
- Backend before frontend (if both)
|
|
535
|
+
- Core logic before UI
|
|
536
|
+
- Tests alongside or after (not TDD required)
|
|
537
|
+
|
|
538
|
+
2. Use subagents SELECTIVELY
|
|
539
|
+
- Only call subagent if complex enough
|
|
540
|
+
- For simple changes, do it yourself
|
|
541
|
+
- Max 2-3 subagent calls typical
|
|
542
|
+
|
|
543
|
+
3. Update progress as you go
|
|
544
|
+
- Mark checklist items
|
|
545
|
+
- Note any issues in "Blockers"
|
|
546
|
+
- Track files changed
|
|
547
|
+
|
|
548
|
+
4. Stay in scope
|
|
549
|
+
- Stick to defined ACs
|
|
550
|
+
- Don't add "nice to haves"
|
|
551
|
+
- Note additional improvements for later
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
#### When to Use Subagents
|
|
555
|
+
|
|
556
|
+
| Situation | Use Subagent? | Which One |
|
|
557
|
+
|-----------|---------------|-----------|
|
|
558
|
+
| Simple API endpoint | No | Do it yourself |
|
|
559
|
+
| Complex API with auth | Yes | `backend-developer` |
|
|
560
|
+
| Simple UI form | No | Do it yourself |
|
|
561
|
+
| Complex UI with state | Yes | `frontend-developer` |
|
|
562
|
+
| Adding a test | No | Do it yourself |
|
|
563
|
+
| Full test suite | Yes | `qa-automation` |
|
|
564
|
+
| Fix build error | Maybe | `fix:build` command |
|
|
565
|
+
|
|
566
|
+
#### Subagent Invocation Pattern
|
|
567
|
+
|
|
568
|
+
```
|
|
569
|
+
When calling a subagent in TASK:
|
|
570
|
+
|
|
571
|
+
1. Provide context
|
|
572
|
+
- "I'm working on [task] in TASK workflow"
|
|
573
|
+
- "The session is at tasks/YYYY-MM-DD-name"
|
|
574
|
+
- "Please implement [specific thing]"
|
|
575
|
+
|
|
576
|
+
2. Be specific
|
|
577
|
+
- Don't say "implement the feature"
|
|
578
|
+
- Say "create POST /api/products endpoint with validation"
|
|
579
|
+
|
|
580
|
+
3. Define acceptance
|
|
581
|
+
- "It should pass these tests..."
|
|
582
|
+
- "It should handle these cases..."
|
|
583
|
+
```
|
|
584
|
+
|
|
585
|
+
---
|
|
586
|
+
|
|
587
|
+
### Phase 4: VALIDATE
|
|
588
|
+
|
|
589
|
+
**Duration:** 5-15 minutes
|
|
590
|
+
**Goal:** Ensure quality before commit
|
|
591
|
+
|
|
592
|
+
```
|
|
593
|
+
[MANDATORY] Validation Checklist:
|
|
594
|
+
|
|
595
|
+
□ TypeScript compiles
|
|
596
|
+
Command: pnpm tsc --noEmit
|
|
597
|
+
|
|
598
|
+
□ Build passes
|
|
599
|
+
Command: pnpm build
|
|
600
|
+
|
|
601
|
+
□ Lint passes
|
|
602
|
+
Command: pnpm lint
|
|
603
|
+
|
|
604
|
+
□ Tests pass
|
|
605
|
+
Command: pnpm test (or specific pattern)
|
|
606
|
+
- Existing tests still work
|
|
607
|
+
- New tests pass (if created)
|
|
608
|
+
|
|
609
|
+
□ ACs verified
|
|
610
|
+
- Go through each AC in requirements.md
|
|
611
|
+
- Mark as checked or unchecked
|
|
612
|
+
- If AC not met → Fix before continuing
|
|
613
|
+
|
|
614
|
+
□ Visual verification (if UI)
|
|
615
|
+
- Start dev server
|
|
616
|
+
- Navigate to affected pages
|
|
617
|
+
- Test happy path
|
|
618
|
+
- Test one edge case
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
**If Validation Fails:**
|
|
622
|
+
|
|
623
|
+
```
|
|
624
|
+
Failure Type │ Action
|
|
625
|
+
──────────────────────┼────────────────────────────────
|
|
626
|
+
Build error │ Fix immediately
|
|
627
|
+
Test failure │ Fix test or implementation
|
|
628
|
+
AC not met │ Implement missing part
|
|
629
|
+
Visual bug │ Fix UI issue
|
|
630
|
+
Performance issue │ Note for future, or fix if critical
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
---
|
|
634
|
+
|
|
635
|
+
## Commands
|
|
636
|
+
|
|
637
|
+
### Start TASK workflow
|
|
638
|
+
|
|
639
|
+
```bash
|
|
640
|
+
# Explicit TASK
|
|
641
|
+
/session:start:task Improve product search performance
|
|
642
|
+
|
|
643
|
+
# Automatic detection (Claude evaluates)
|
|
644
|
+
/start Improve product search performance
|
|
645
|
+
```
|
|
646
|
+
|
|
647
|
+
### Key commands for TASK
|
|
648
|
+
|
|
649
|
+
| Command | Phase | Purpose |
|
|
650
|
+
|---------|-------|---------|
|
|
651
|
+
| `/session:execute` | 3 | Execute implementation |
|
|
652
|
+
| `/session:validate` | 4 | Run validation checks |
|
|
653
|
+
| `/session:status` | Any | Check progress |
|
|
654
|
+
| `/session:commit` | End | Prepare commit |
|
|
655
|
+
|
|
656
|
+
### Related fix commands
|
|
657
|
+
|
|
658
|
+
| Command | When to use |
|
|
659
|
+
|---------|-------------|
|
|
660
|
+
| `/session:fix:bug` | Fix bug found during validation |
|
|
661
|
+
| `/session:fix:build` | Fix build errors |
|
|
662
|
+
| `/session:fix:test` | Fix failing tests |
|
|
663
|
+
|
|
664
|
+
---
|
|
665
|
+
|
|
666
|
+
## Skills Reference
|
|
667
|
+
|
|
668
|
+
For TASK workflow, consult these skills based on task type:
|
|
669
|
+
|
|
670
|
+
| Task Type | Required Skills |
|
|
671
|
+
|-----------|-----------------|
|
|
672
|
+
| **API work** | `nextjs-api-development`, `entity-api` |
|
|
673
|
+
| **Entity changes** | `entity-system` |
|
|
674
|
+
| **UI components** | `react-patterns`, `shadcn-components` |
|
|
675
|
+
| **Translations** | `i18n-nextintl` |
|
|
676
|
+
| **Validation** | `zod-validation` |
|
|
677
|
+
| **Testing** | `cypress-api`, `jest-unit` |
|
|
678
|
+
| **Page builder** | `page-builder-blocks` |
|
|
679
|
+
|
|
680
|
+
**[MANDATORY]** Always check `core-theme-responsibilities` skill when making architecture decisions.
|
|
681
|
+
|
|
682
|
+
---
|
|
683
|
+
|
|
684
|
+
## Characteristics Summary
|
|
685
|
+
|
|
686
|
+
| Aspect | TASK Workflow |
|
|
687
|
+
|--------|-------------------|
|
|
688
|
+
| **Session files** | 2 (requirements.md, progress.md) |
|
|
689
|
+
| **Subagents** | Selective (0-3 calls) |
|
|
690
|
+
| **Planning** | Light (in requirements.md) |
|
|
691
|
+
| **Requirements doc** | Created |
|
|
692
|
+
| **Tests** | Some new (as needed) |
|
|
693
|
+
| **Code review** | Self-review |
|
|
694
|
+
| **Documentation** | Not required |
|
|
695
|
+
| **Typical duration** | 30-120 minutes |
|
|
696
|
+
| **Token estimate** | 50-200k |
|
|
697
|
+
|
|
698
|
+
---
|
|
699
|
+
|
|
700
|
+
## Comparison: TASK vs STORY
|
|
701
|
+
|
|
702
|
+
```
|
|
703
|
+
TASK STORY
|
|
704
|
+
────────────────────────────────────────────────────────────
|
|
705
|
+
Phases 4 informal 14 formal
|
|
706
|
+
Session files 2 8+
|
|
707
|
+
Subagents 0-3 selective 8-10 specialized
|
|
708
|
+
Gates 0 formal 4 mandatory
|
|
709
|
+
Planning requirements.md plan.md + scope.json
|
|
710
|
+
PM Decisions Not needed Required
|
|
711
|
+
DB Migrations Not supported Full support
|
|
712
|
+
Documentation Optional Conditional
|
|
713
|
+
Task Manager Optional Integrated
|
|
714
|
+
Duration 30-120 min 1-5 hours
|
|
715
|
+
Tokens 50-200k 120-350k
|
|
716
|
+
```
|
|
717
|
+
|
|
718
|
+
---
|
|
719
|
+
|
|
720
|
+
## Escalation to STORY
|
|
721
|
+
|
|
722
|
+
### Signs you need STORY
|
|
723
|
+
|
|
724
|
+
1. **Database changes required**
|
|
725
|
+
- Any new tables
|
|
726
|
+
- Schema modifications
|
|
727
|
+
- Migrations needed
|
|
728
|
+
|
|
729
|
+
2. **Scope growing**
|
|
730
|
+
- Started as "simple" but keeps expanding
|
|
731
|
+
- More than 15 files affected
|
|
732
|
+
- Multiple developers would be needed
|
|
733
|
+
|
|
734
|
+
3. **Risk increasing**
|
|
735
|
+
- Touches payments/auth
|
|
736
|
+
- Affects multiple user flows
|
|
737
|
+
- Business stakeholder concerns
|
|
738
|
+
|
|
739
|
+
4. **Quality requirements**
|
|
740
|
+
- Full test coverage needed
|
|
741
|
+
- Documentation required
|
|
742
|
+
- Formal code review needed
|
|
743
|
+
|
|
744
|
+
### How to escalate
|
|
745
|
+
|
|
746
|
+
```
|
|
747
|
+
1. Pause TASK execution
|
|
748
|
+
2. Move task folder:
|
|
749
|
+
mv tasks/YYYY-MM-DD-name stories/YYYY-MM-DD-name
|
|
750
|
+
3. Start STORY workflow:
|
|
751
|
+
/session:start:story [description]
|
|
752
|
+
4. PM will ask about:
|
|
753
|
+
- Task Manager integration
|
|
754
|
+
- Database policy
|
|
755
|
+
- Testing requirements
|
|
756
|
+
- Documentation needs
|
|
757
|
+
```
|
|
758
|
+
|
|
759
|
+
---
|
|
760
|
+
|
|
761
|
+
## Examples
|
|
762
|
+
|
|
763
|
+
### Example 1: Add Field to Entity (S)
|
|
764
|
+
|
|
765
|
+
```
|
|
766
|
+
User: Add "phone" field to user profile
|
|
767
|
+
|
|
768
|
+
Claude's process:
|
|
769
|
+
|
|
770
|
+
Phase 1: REQUIREMENTS (5 min)
|
|
771
|
+
├── AC1: User can enter phone in profile form
|
|
772
|
+
├── AC2: Phone is saved to database
|
|
773
|
+
├── AC3: Phone displays in profile view
|
|
774
|
+
└── Create tasks/2026-01-12-add-phone-field/
|
|
775
|
+
|
|
776
|
+
Phase 2: PLAN (5 min)
|
|
777
|
+
├── Files: config, schema, form, view = 4 files
|
|
778
|
+
├── Approach: Add optional field, no validation
|
|
779
|
+
└── No risks identified
|
|
780
|
+
|
|
781
|
+
Phase 3: EXECUTE (20 min)
|
|
782
|
+
├── Update user.config.ts
|
|
783
|
+
├── Update user.schema.ts
|
|
784
|
+
├── Update ProfileForm.tsx
|
|
785
|
+
├── Update ProfileView.tsx
|
|
786
|
+
└── No subagents needed (simple changes)
|
|
787
|
+
|
|
788
|
+
Phase 4: VALIDATE (5 min)
|
|
789
|
+
├── pnpm build ✓
|
|
790
|
+
├── pnpm test ✓
|
|
791
|
+
├── ACs checked ✓
|
|
792
|
+
└── Visual verification ✓
|
|
793
|
+
|
|
794
|
+
Result: Ready for commit in ~35 minutes
|
|
795
|
+
```
|
|
796
|
+
|
|
797
|
+
### Example 2: New API Endpoint (M)
|
|
798
|
+
|
|
799
|
+
```
|
|
800
|
+
User: Create endpoint to export products as CSV
|
|
801
|
+
|
|
802
|
+
Claude's process:
|
|
803
|
+
|
|
804
|
+
Phase 1: REQUIREMENTS (10 min)
|
|
805
|
+
├── AC1: GET /api/v1/products/export returns CSV
|
|
806
|
+
├── AC2: Supports filtering by date range
|
|
807
|
+
├── AC3: Requires authentication
|
|
808
|
+
├── AC4: Returns proper headers for download
|
|
809
|
+
└── Create tasks/2026-01-12-products-export/
|
|
810
|
+
|
|
811
|
+
Phase 2: PLAN (10 min)
|
|
812
|
+
├── Files: route, service util, test = 3 files
|
|
813
|
+
├── Approach: New route, use existing ProductsService
|
|
814
|
+
├── Dependencies: csv-stringify package exists
|
|
815
|
+
└── Risk: Large data sets → add pagination
|
|
816
|
+
|
|
817
|
+
Phase 3: EXECUTE (40 min)
|
|
818
|
+
├── Create app/api/v1/products/export/route.ts
|
|
819
|
+
├── Add exportToCsv() to ProductsService
|
|
820
|
+
├── Call backend-developer for complex auth logic
|
|
821
|
+
├── Create API test
|
|
822
|
+
└── Update progress.md
|
|
823
|
+
|
|
824
|
+
Phase 4: VALIDATE (10 min)
|
|
825
|
+
├── pnpm build ✓
|
|
826
|
+
├── pnpm test ✓
|
|
827
|
+
├── Test with Postman ✓
|
|
828
|
+
├── All ACs verified ✓
|
|
829
|
+
|
|
830
|
+
Result: Ready for commit in ~70 minutes
|
|
831
|
+
```
|
|
832
|
+
|
|
833
|
+
### Example 3: Page Builder Block (M)
|
|
834
|
+
|
|
835
|
+
```
|
|
836
|
+
User: Create FAQ accordion block
|
|
837
|
+
|
|
838
|
+
Claude's process:
|
|
839
|
+
|
|
840
|
+
Phase 1: REQUIREMENTS (10 min)
|
|
841
|
+
├── AC1: Block appears in block selector
|
|
842
|
+
├── AC2: Admin can add Q&A items
|
|
843
|
+
├── AC3: Accordion expands/collapses on click
|
|
844
|
+
├── AC4: Accessible (ARIA attributes)
|
|
845
|
+
└── Create tasks/2026-01-12-faq-block/
|
|
846
|
+
|
|
847
|
+
Phase 2: PLAN (10 min)
|
|
848
|
+
├── Files: 5 block files + registry rebuild
|
|
849
|
+
├── Approach: Follow existing block patterns
|
|
850
|
+
├── Reference: Use testimonials block as template
|
|
851
|
+
└── Skills needed: page-builder-blocks
|
|
852
|
+
|
|
853
|
+
Phase 3: EXECUTE (45 min)
|
|
854
|
+
├── Read page-builder-blocks skill
|
|
855
|
+
├── Create blocks/faq/config.ts
|
|
856
|
+
├── Create blocks/faq/schema.ts
|
|
857
|
+
├── Create blocks/faq/fields.ts
|
|
858
|
+
├── Create blocks/faq/component.tsx
|
|
859
|
+
├── Create blocks/faq/index.ts
|
|
860
|
+
├── Run pnpm build:blocks
|
|
861
|
+
└── No subagent needed (following pattern)
|
|
862
|
+
|
|
863
|
+
Phase 4: VALIDATE (10 min)
|
|
864
|
+
├── pnpm build ✓
|
|
865
|
+
├── Registry shows new block ✓
|
|
866
|
+
├── Preview works in DevTools ✓
|
|
867
|
+
├── Accordion functionality ✓
|
|
868
|
+
|
|
869
|
+
Result: Ready for commit in ~75 minutes
|
|
870
|
+
```
|
|
871
|
+
|
|
872
|
+
---
|
|
873
|
+
|
|
874
|
+
## Anti-Patterns
|
|
875
|
+
|
|
876
|
+
### What TASK is NOT for
|
|
877
|
+
|
|
878
|
+
| Anti-Pattern | Why It's Wrong |
|
|
879
|
+
|--------------|----------------|
|
|
880
|
+
| "Quick" DB migration | DB needs STORY workflow |
|
|
881
|
+
| "Simple" new entity | Entities need full CRUD planning |
|
|
882
|
+
| "Fast" auth changes | Auth is always high risk |
|
|
883
|
+
| Skipping requirements | Leads to scope creep |
|
|
884
|
+
| Over-planning | You're not in STORY |
|
|
885
|
+
|
|
886
|
+
### Signs You're Using TASK Wrong
|
|
887
|
+
|
|
888
|
+
1. **No requirements.md created** → You're doing TWEAK
|
|
889
|
+
2. **Writing plan.md** → You might need STORY
|
|
890
|
+
3. **Calling 5+ subagents** → Escalate to STORY
|
|
891
|
+
4. **Session taking 3+ hours** → Wrong workflow
|
|
892
|
+
5. **Creating migrations** → Must use STORY
|
|
893
|
+
|
|
894
|
+
---
|
|
895
|
+
|
|
896
|
+
## Task Manager Integration (Optional)
|
|
897
|
+
|
|
898
|
+
TASK can optionally link to task managers:
|
|
899
|
+
|
|
900
|
+
```markdown
|
|
901
|
+
# In requirements.md
|
|
902
|
+
|
|
903
|
+
## Task Reference
|
|
904
|
+
|
|
905
|
+
**ClickUp:** https://app.clickup.com/t/abc123
|
|
906
|
+
**Status:** In Progress
|
|
907
|
+
```
|
|
908
|
+
|
|
909
|
+
For full task manager integration with sync, use STORY workflow.
|
|
910
|
+
|
|
911
|
+
---
|
|
912
|
+
|
|
913
|
+
## Related Documentation
|
|
914
|
+
|
|
915
|
+
- `workflows/tweak.md` - For simple adjustments
|
|
916
|
+
- `workflows/story.md` - For complex features
|
|
917
|
+
- `commands/session-start.md` - Start command
|
|
918
|
+
- `commands/session-execute.md` - Execution details
|
|
919
|
+
- `skills/README.md` - All available skills
|
|
920
|
+
|
|
921
|
+
---
|
|
922
|
+
|
|
923
|
+
## Version History
|
|
924
|
+
|
|
925
|
+
| Version | Changes |
|
|
926
|
+
|---------|---------|
|
|
927
|
+
| v1.0 | Initial English version with comprehensive detail |
|