claude-code-workflow 7.2.27 → 7.2.28
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/.ccw/specs/architecture-constraints.md +5 -0
- package/.claude/skills/_shared/SKILL-DESIGN-SPEC.md +140 -0
- package/.claude/skills/investigate/SKILL.md +110 -0
- package/.claude/skills/investigate/phases/01-root-cause-investigation.md +132 -0
- package/.claude/skills/investigate/phases/02-pattern-analysis.md +126 -0
- package/.claude/skills/investigate/phases/03-hypothesis-testing.md +177 -0
- package/.claude/skills/investigate/phases/04-implementation.md +139 -0
- package/.claude/skills/investigate/phases/05-verification-report.md +153 -0
- package/.claude/skills/investigate/specs/debug-report-format.md +226 -0
- package/.claude/skills/investigate/specs/iron-law.md +101 -0
- package/.claude/skills/security-audit/SKILL.md +125 -0
- package/.claude/skills/security-audit/phases/01-supply-chain-scan.md +139 -0
- package/.claude/skills/security-audit/phases/02-owasp-review.md +156 -0
- package/.claude/skills/security-audit/phases/03-threat-modeling.md +180 -0
- package/.claude/skills/security-audit/phases/04-report-tracking.md +177 -0
- package/.claude/skills/security-audit/specs/owasp-checklist.md +442 -0
- package/.claude/skills/security-audit/specs/scoring-gates.md +141 -0
- package/.claude/skills/ship/SKILL.md +105 -0
- package/.claude/skills/ship/phases/01-preflight-checks.md +121 -0
- package/.claude/skills/ship/phases/02-code-review.md +137 -0
- package/.claude/skills/ship/phases/03-version-bump.md +171 -0
- package/.claude/skills/ship/phases/04-changelog-commit.md +167 -0
- package/.claude/skills/ship/phases/05-pr-creation.md +163 -0
- package/.claude/skills/skill-generator/templates/sequential-phase.md +10 -0
- package/.claude/skills/skill-generator/templates/skill-md.md +4 -0
- package/.claude/skills/team-interactive-craft/SKILL.md +127 -0
- package/.claude/skills/team-interactive-craft/roles/a11y-tester/role.md +159 -0
- package/.claude/skills/team-interactive-craft/roles/builder/role.md +216 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/analyze.md +71 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/dispatch.md +192 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/monitor.md +183 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/role.md +166 -0
- package/.claude/skills/team-interactive-craft/roles/interaction-designer/role.md +144 -0
- package/.claude/skills/team-interactive-craft/roles/researcher/role.md +131 -0
- package/.claude/skills/team-interactive-craft/specs/interaction-patterns.md +362 -0
- package/.claude/skills/team-interactive-craft/specs/pipelines.md +85 -0
- package/.claude/skills/team-interactive-craft/specs/team-config.json +105 -0
- package/.claude/skills/team-interactive-craft/specs/vanilla-constraints.md +83 -0
- package/.claude/skills/team-motion-design/SKILL.md +129 -0
- package/.claude/skills/team-motion-design/roles/animator/role.md +194 -0
- package/.claude/skills/team-motion-design/roles/choreographer/role.md +164 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/analyze.md +64 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/dispatch.md +203 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/monitor.md +184 -0
- package/.claude/skills/team-motion-design/roles/coordinator/role.md +167 -0
- package/.claude/skills/team-motion-design/roles/motion-researcher/role.md +115 -0
- package/.claude/skills/team-motion-design/roles/motion-tester/role.md +175 -0
- package/.claude/skills/team-motion-design/specs/gpu-constraints.md +114 -0
- package/.claude/skills/team-motion-design/specs/motion-tokens.md +128 -0
- package/.claude/skills/team-motion-design/specs/pipelines.md +74 -0
- package/.claude/skills/team-motion-design/specs/reduced-motion.md +129 -0
- package/.claude/skills/team-motion-design/specs/team-config.json +99 -0
- package/.claude/skills/team-ui-polish/SKILL.md +127 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/analyze.md +77 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/dispatch.md +194 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/monitor.md +180 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/role.md +170 -0
- package/.claude/skills/team-ui-polish/roles/diagnostician/role.md +160 -0
- package/.claude/skills/team-ui-polish/roles/optimizer/role.md +225 -0
- package/.claude/skills/team-ui-polish/roles/scanner/role.md +356 -0
- package/.claude/skills/team-ui-polish/roles/verifier/role.md +142 -0
- package/.claude/skills/team-ui-polish/specs/anti-patterns.md +141 -0
- package/.claude/skills/team-ui-polish/specs/design-standards.md +356 -0
- package/.claude/skills/team-ui-polish/specs/fix-strategies.md +235 -0
- package/.claude/skills/team-ui-polish/specs/pipelines.md +81 -0
- package/.claude/skills/team-ui-polish/specs/scoring-guide.md +162 -0
- package/.claude/skills/team-ui-polish/specs/team-config.json +73 -0
- package/.claude/skills/team-uidesign/SKILL.md +6 -1
- package/.claude/skills/team-uidesign/roles/designer/role.md +28 -4
- package/.claude/skills/team-uidesign/roles/implementer/role.md +25 -3
- package/.claude/skills/team-uidesign/roles/researcher/role.md +21 -2
- package/.claude/skills/team-uidesign/roles/reviewer/role.md +19 -17
- package/.claude/skills/team-uidesign/specs/anti-patterns.md +211 -0
- package/.claude/skills/team-uidesign/specs/design-standards.md +329 -0
- package/.claude/skills/team-uidesign/specs/scoring-guide.md +114 -0
- package/.claude/skills/team-uidesign/specs/team-config.json +1 -1
- package/.claude/skills/team-uidesign/specs/ux-writing.md +86 -0
- package/.claude/skills/team-ux-improve/SKILL.md +3 -0
- package/.claude/skills/team-ux-improve/roles/designer/role.md +30 -0
- package/.claude/skills/team-ux-improve/roles/diagnoser/role.md +16 -1
- package/.claude/skills/team-ux-improve/roles/scanner/role.md +43 -1
- package/.claude/skills/team-ux-improve/specs/anti-patterns.md +103 -0
- package/.claude/skills/team-ux-improve/specs/design-standards.md +54 -0
- package/.claude/skills/team-ux-improve/specs/heuristics.md +88 -0
- package/.claude/skills/team-ux-improve/wisdom/anti-patterns/common-ux-pitfalls.md +40 -8
- package/.claude/skills/team-ux-improve/wisdom/patterns/state-management.md +32 -12
- package/.claude/skills/team-ux-improve/wisdom/patterns/ui-feedback.md +35 -11
- package/.claude/skills/team-ux-improve/wisdom/principles/general-ux.md +36 -9
- package/.claude/skills/team-visual-a11y/SKILL.md +143 -0
- package/.claude/skills/team-visual-a11y/roles/color-auditor/role.md +178 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/analyze.md +72 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/dispatch.md +250 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/monitor.md +204 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/role.md +169 -0
- package/.claude/skills/team-visual-a11y/roles/fix-implementer/role.md +246 -0
- package/.claude/skills/team-visual-a11y/roles/focus-auditor/role.md +222 -0
- package/.claude/skills/team-visual-a11y/roles/remediation-planner/role.md +206 -0
- package/.claude/skills/team-visual-a11y/roles/typo-auditor/role.md +185 -0
- package/.claude/skills/team-visual-a11y/specs/focus-patterns.md +325 -0
- package/.claude/skills/team-visual-a11y/specs/oklch-standards.md +130 -0
- package/.claude/skills/team-visual-a11y/specs/pipelines.md +98 -0
- package/.claude/skills/team-visual-a11y/specs/team-config.json +109 -0
- package/.claude/skills/team-visual-a11y/specs/typography-scale.md +165 -0
- package/.claude/skills/team-visual-a11y/specs/wcag-matrix.md +133 -0
- package/.codex/skills/investigate/agents/investigator.md +392 -0
- package/.codex/skills/investigate/orchestrator.md +362 -0
- package/.codex/skills/investigate/phases/01-root-cause-investigation.md +212 -0
- package/.codex/skills/investigate/phases/02-pattern-analysis.md +181 -0
- package/.codex/skills/investigate/phases/03-hypothesis-testing.md +214 -0
- package/.codex/skills/investigate/phases/04-implementation.md +195 -0
- package/.codex/skills/investigate/phases/05-verification-report.md +240 -0
- package/.codex/skills/security-audit/agents/security-auditor.md +341 -0
- package/.codex/skills/security-audit/orchestrator.md +384 -0
- package/.codex/skills/security-audit/phases/01-supply-chain-scan.md +226 -0
- package/.codex/skills/security-audit/phases/02-owasp-review.md +232 -0
- package/.codex/skills/security-audit/phases/03-threat-modeling.md +249 -0
- package/.codex/skills/security-audit/phases/04-report-tracking.md +300 -0
- package/.codex/skills/ship/agents/ship-operator.md +318 -0
- package/.codex/skills/ship/orchestrator.md +426 -0
- package/.codex/skills/ship/phases/01-preflight-checks.md +198 -0
- package/.codex/skills/ship/phases/02-code-review.md +228 -0
- package/.codex/skills/ship/phases/03-version-bump.md +259 -0
- package/.codex/skills/ship/phases/04-changelog-commit.md +263 -0
- package/.codex/skills/ship/phases/05-pr-creation.md +280 -0
- package/.codex/skills/team-interactive-craft/SKILL.md +220 -0
- package/.codex/skills/team-interactive-craft/roles/a11y-tester/role.md +159 -0
- package/.codex/skills/team-interactive-craft/roles/builder/role.md +216 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/commands/analyze.md +71 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/commands/dispatch.md +162 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/commands/monitor.md +233 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/role.md +209 -0
- package/.codex/skills/team-interactive-craft/roles/interaction-designer/role.md +144 -0
- package/.codex/skills/team-interactive-craft/roles/researcher/role.md +131 -0
- package/.codex/skills/team-interactive-craft/specs/interaction-patterns.md +362 -0
- package/.codex/skills/team-interactive-craft/specs/pipelines.md +85 -0
- package/.codex/skills/team-interactive-craft/specs/team-config.json +105 -0
- package/.codex/skills/team-interactive-craft/specs/vanilla-constraints.md +83 -0
- package/.codex/skills/team-motion-design/SKILL.md +222 -0
- package/.codex/skills/team-motion-design/roles/animator/role.md +194 -0
- package/.codex/skills/team-motion-design/roles/choreographer/role.md +164 -0
- package/.codex/skills/team-motion-design/roles/coordinator/commands/analyze.md +64 -0
- package/.codex/skills/team-motion-design/roles/coordinator/commands/dispatch.md +168 -0
- package/.codex/skills/team-motion-design/roles/coordinator/commands/monitor.md +242 -0
- package/.codex/skills/team-motion-design/roles/coordinator/role.md +210 -0
- package/.codex/skills/team-motion-design/roles/motion-researcher/role.md +115 -0
- package/.codex/skills/team-motion-design/roles/motion-tester/role.md +175 -0
- package/.codex/skills/team-motion-design/specs/gpu-constraints.md +114 -0
- package/.codex/skills/team-motion-design/specs/motion-tokens.md +128 -0
- package/.codex/skills/team-motion-design/specs/pipelines.md +74 -0
- package/.codex/skills/team-motion-design/specs/reduced-motion.md +129 -0
- package/.codex/skills/team-motion-design/specs/team-config.json +99 -0
- package/.codex/skills/team-ui-polish/SKILL.md +218 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/commands/analyze.md +77 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/commands/dispatch.md +167 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/commands/monitor.md +230 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/role.md +213 -0
- package/.codex/skills/team-ui-polish/roles/diagnostician/role.md +164 -0
- package/.codex/skills/team-ui-polish/roles/optimizer/role.md +229 -0
- package/.codex/skills/team-ui-polish/roles/scanner/role.md +360 -0
- package/.codex/skills/team-ui-polish/roles/verifier/role.md +142 -0
- package/.codex/skills/team-ui-polish/specs/anti-patterns.md +141 -0
- package/.codex/skills/team-ui-polish/specs/design-standards.md +356 -0
- package/.codex/skills/team-ui-polish/specs/fix-strategies.md +235 -0
- package/.codex/skills/team-ui-polish/specs/pipelines.md +81 -0
- package/.codex/skills/team-ui-polish/specs/scoring-guide.md +162 -0
- package/.codex/skills/team-ui-polish/specs/team-config.json +73 -0
- package/.codex/skills/team-visual-a11y/SKILL.md +319 -0
- package/.codex/skills/team-visual-a11y/roles/color-auditor/role.md +178 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/commands/analyze.md +72 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/commands/dispatch.md +188 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/commands/monitor.md +281 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/role.md +213 -0
- package/.codex/skills/team-visual-a11y/roles/fix-implementer/role.md +246 -0
- package/.codex/skills/team-visual-a11y/roles/focus-auditor/role.md +222 -0
- package/.codex/skills/team-visual-a11y/roles/remediation-planner/role.md +206 -0
- package/.codex/skills/team-visual-a11y/roles/typo-auditor/role.md +185 -0
- package/.codex/skills/team-visual-a11y/specs/focus-patterns.md +325 -0
- package/.codex/skills/team-visual-a11y/specs/oklch-standards.md +130 -0
- package/.codex/skills/team-visual-a11y/specs/pipelines.md +98 -0
- package/.codex/skills/team-visual-a11y/specs/team-config.json +109 -0
- package/.codex/skills/team-visual-a11y/specs/typography-scale.md +165 -0
- package/.codex/skills/team-visual-a11y/specs/wcag-matrix.md +133 -0
- package/README.md +8 -0
- package/ccw/dist/core/hooks/hook-templates.d.ts.map +1 -1
- package/ccw/dist/core/hooks/hook-templates.js +114 -1
- package/ccw/dist/core/hooks/hook-templates.js.map +1 -1
- package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/cli-routes.js +34 -0
- package/ccw/dist/core/routes/cli-routes.js.map +1 -1
- package/ccw/dist/core/routes/system-routes.js +2 -2
- package/ccw/dist/core/routes/system-routes.js.map +1 -1
- package/ccw/frontend/dist/assets/{AlertDialog-Bf1jdqax.js → AlertDialog-BjP1ydDR.js} +2 -2
- package/ccw/frontend/dist/assets/{AlertDialog-Bf1jdqax.js.map → AlertDialog-BjP1ydDR.js.map} +1 -1
- package/ccw/frontend/dist/assets/{AnalysisPage-C8niKdp4.js → AnalysisPage-CAX3xqMf.js} +2 -2
- package/ccw/frontend/dist/assets/{AnalysisPage-C8niKdp4.js.map → AnalysisPage-CAX3xqMf.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ApiSettingsPage-BL2c3UNS.js → ApiSettingsPage-CtWlmztq.js} +2 -2
- package/ccw/frontend/dist/assets/{ApiSettingsPage-BL2c3UNS.js.map → ApiSettingsPage-CtWlmztq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliModeToggle-BePBFynD.js → CliModeToggle-hR4a-eLX.js} +2 -2
- package/ccw/frontend/dist/assets/{CliModeToggle-BePBFynD.js.map → CliModeToggle-hR4a-eLX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliSessionSharePage-7cYtX6FT.js → CliSessionSharePage-DzNPkFN9.js} +2 -2
- package/ccw/frontend/dist/assets/{CliSessionSharePage-7cYtX6FT.js.map → CliSessionSharePage-DzNPkFN9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliViewerPage-CBwg1mPL.js → CliViewerPage-BPEGN4TT.js} +2 -2
- package/ccw/frontend/dist/assets/{CliViewerPage-CBwg1mPL.js.map → CliViewerPage-BPEGN4TT.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CodexLensPage-Bt74xORP.js → CodexLensPage-Cf0r2RHY.js} +2 -2
- package/ccw/frontend/dist/assets/{CodexLensPage-Bt74xORP.js.map → CodexLensPage-Cf0r2RHY.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Collapsible-Wrs87QT7.js → Collapsible-DEm1rJ4h.js} +2 -2
- package/ccw/frontend/dist/assets/{Collapsible-Wrs87QT7.js.map → Collapsible-DEm1rJ4h.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CommandsManagerPage-ChQjmPWZ.js → CommandsManagerPage-BpeWw8HO.js} +2 -2
- package/ccw/frontend/dist/assets/{CommandsManagerPage-ChQjmPWZ.js.map → CommandsManagerPage-BpeWw8HO.js.map} +1 -1
- package/ccw/frontend/dist/assets/{DeepWikiPage-dEO5wi6X.js → DeepWikiPage-BEsmh2vF.js} +2 -2
- package/ccw/frontend/dist/assets/{DeepWikiPage-dEO5wi6X.js.map → DeepWikiPage-BEsmh2vF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{EndpointsPage-4zq269xY.js → EndpointsPage-B30SFdtU.js} +2 -2
- package/ccw/frontend/dist/assets/{EndpointsPage-4zq269xY.js.map → EndpointsPage-B30SFdtU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ExplorerPage-B0YTENhA.js → ExplorerPage-BVvMpg1O.js} +2 -2
- package/ccw/frontend/dist/assets/{ExplorerPage-B0YTENhA.js.map → ExplorerPage-BVvMpg1O.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FixSessionPage-CwGs6dhz.js → FixSessionPage-CL73dHbh.js} +2 -2
- package/ccw/frontend/dist/assets/{FixSessionPage-CwGs6dhz.js.map → FixSessionPage-CL73dHbh.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-COZRBslc.js → FloatingFileBrowser-BL-28lMZ.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-COZRBslc.js.map → FloatingFileBrowser-BL-28lMZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingPanel-DYvgQZRD.js → FloatingPanel-BzZDciHZ.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingPanel-DYvgQZRD.js.map → FloatingPanel-BzZDciHZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{GraphExplorerPage-ewMHQGem.js → GraphExplorerPage-CDp6-d8P.js} +2 -2
- package/ccw/frontend/dist/assets/{GraphExplorerPage-ewMHQGem.js.map → GraphExplorerPage-CDp6-d8P.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HistoryPage-BMeR0PrK.js → HistoryPage-fZY_7O9n.js} +2 -2
- package/ccw/frontend/dist/assets/{HistoryPage-BMeR0PrK.js.map → HistoryPage-fZY_7O9n.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HookManagerPage-DBW2LnRm.js → HookManagerPage-4LJeC9bq.js} +2 -2
- package/ccw/frontend/dist/assets/{HookManagerPage-DBW2LnRm.js.map → HookManagerPage-4LJeC9bq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{InstallationsPage--pMj0QEH.js → InstallationsPage-Bpigrbhw.js} +2 -2
- package/ccw/frontend/dist/assets/{InstallationsPage--pMj0QEH.js.map → InstallationsPage-Bpigrbhw.js.map} +1 -1
- package/ccw/frontend/dist/assets/{IssueHubPage-C_QMpQSR.js → IssueHubPage-BP0zJc1R.js} +2 -2
- package/ccw/frontend/dist/assets/{IssueHubPage-C_QMpQSR.js.map → IssueHubPage-BP0zJc1R.js.map} +1 -1
- package/ccw/frontend/dist/assets/{LiteTasksPage-CSWFdQ2-.js → LiteTasksPage-CSt2oVKQ.js} +2 -2
- package/ccw/frontend/dist/assets/{LiteTasksPage-CSWFdQ2-.js.map → LiteTasksPage-CSt2oVKQ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{McpManagerPage-Dvv8NtGy.js → McpManagerPage-B-xaMA0w.js} +2 -2
- package/ccw/frontend/dist/assets/{McpManagerPage-Dvv8NtGy.js.map → McpManagerPage-B-xaMA0w.js.map} +1 -1
- package/ccw/frontend/dist/assets/{MemoryPage-YO8WZzZO.js → MemoryPage-CJqo_7DY.js} +2 -2
- package/ccw/frontend/dist/assets/{MemoryPage-YO8WZzZO.js.map → MemoryPage-CJqo_7DY.js.map} +1 -1
- package/ccw/frontend/dist/assets/{NotFoundPage-quUJw0CD.js → NotFoundPage-ibZeQA-Y.js} +2 -2
- package/ccw/frontend/dist/assets/{NotFoundPage-quUJw0CD.js.map → NotFoundPage-ibZeQA-Y.js.map} +1 -1
- package/ccw/frontend/dist/assets/{OrchestratorPage-tuThWPID.js → OrchestratorPage-DgJ4ctPQ.js} +2 -2
- package/ccw/frontend/dist/assets/{OrchestratorPage-tuThWPID.js.map → OrchestratorPage-DgJ4ctPQ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-shTilwiT.js → ProjectOverviewPage-Cit0Yq0D.js} +2 -2
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-shTilwiT.js.map → ProjectOverviewPage-Cit0Yq0D.js.map} +1 -1
- package/ccw/frontend/dist/assets/{PromptHistoryPage-6rQnsI8l.js → PromptHistoryPage-Ce1HDIK0.js} +2 -2
- package/ccw/frontend/dist/assets/{PromptHistoryPage-6rQnsI8l.js.map → PromptHistoryPage-Ce1HDIK0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ReviewSessionPage-JOmzjVbT.js → ReviewSessionPage-J1KikNrk.js} +2 -2
- package/ccw/frontend/dist/assets/{ReviewSessionPage-JOmzjVbT.js.map → ReviewSessionPage-J1KikNrk.js.map} +1 -1
- package/ccw/frontend/dist/assets/{RulesManagerPage-Cayfywqi.js → RulesManagerPage-CdBjTmth.js} +2 -2
- package/ccw/frontend/dist/assets/{RulesManagerPage-Cayfywqi.js.map → RulesManagerPage-CdBjTmth.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionDetailPage-iMn0k84i.js → SessionDetailPage-B9ZK7LvX.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionDetailPage-iMn0k84i.js.map → SessionDetailPage-B9ZK7LvX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionsPage-Ciqjy9kz.js → SessionsPage-CW_nS5UR.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionsPage-Ciqjy9kz.js.map → SessionsPage-CW_nS5UR.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SettingsPage-BPDbXPSM.js → SettingsPage-B2PYzSoO.js} +35 -35
- package/ccw/frontend/dist/assets/SettingsPage-B2PYzSoO.js.map +1 -0
- package/ccw/frontend/dist/assets/{SkillsManagerPage-D3LzbpJY.js → SkillsManagerPage-CTnWrrwp.js} +2 -2
- package/ccw/frontend/dist/assets/{SkillsManagerPage-D3LzbpJY.js.map → SkillsManagerPage-CTnWrrwp.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-BpkJctzo.js → SpecsSettingsPage-DJpi9XQL.js} +2 -2
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-BpkJctzo.js.map → SpecsSettingsPage-DJpi9XQL.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Switch-BpB9h__9.js → Switch-Ac6Ov7uy.js} +2 -2
- package/ccw/frontend/dist/assets/{Switch-BpB9h__9.js.map → Switch-Ac6Ov7uy.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TabsNavigation-BGsKy7DO.js → TabsNavigation-DZAAspqR.js} +2 -2
- package/ccw/frontend/dist/assets/{TabsNavigation-BGsKy7DO.js.map → TabsNavigation-DZAAspqR.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TaskDrawer-bYIlbM0Q.js → TaskDrawer-BJkwfhIZ.js} +2 -2
- package/ccw/frontend/dist/assets/{TaskDrawer-bYIlbM0Q.js.map → TaskDrawer-BJkwfhIZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TeamPage-CihtQ6LQ.js → TeamPage-BJgjxBgb.js} +2 -2
- package/ccw/frontend/dist/assets/{TeamPage-CihtQ6LQ.js.map → TeamPage-BJgjxBgb.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-BDnNF_ud.js → TerminalDashboardPage-D1WekoOy.js} +2 -2
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-BDnNF_ud.js.map → TerminalDashboardPage-D1WekoOy.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-CQJ86bQp.js → archive-DxemgIhF.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-CQJ86bQp.js.map → archive-DxemgIhF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-restore-BhTfDbPU.js → archive-restore-CjS83f1V.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-restore-BhTfDbPU.js.map → archive-restore-CjS83f1V.js.map} +1 -1
- package/ccw/frontend/dist/assets/{arrow-right-eUAZnT9C.js → arrow-right-B5PUcn8I.js} +2 -2
- package/ccw/frontend/dist/assets/{arrow-right-eUAZnT9C.js.map → arrow-right-B5PUcn8I.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bookmark-plus-ilF5-V-k.js → bookmark-plus-DCc9aPbb.js} +2 -2
- package/ccw/frontend/dist/assets/{bookmark-plus-ilF5-V-k.js.map → bookmark-plus-DCc9aPbb.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bot-BLkaQscs.js → bot-DOwFtzak.js} +2 -2
- package/ccw/frontend/dist/assets/{bot-BLkaQscs.js.map → bot-DOwFtzak.js.map} +1 -1
- package/ccw/frontend/dist/assets/{braces-D9HdgsO6.js → braces-96qH3aFh.js} +2 -2
- package/ccw/frontend/dist/assets/{braces-D9HdgsO6.js.map → braces-96qH3aFh.js.map} +1 -1
- package/ccw/frontend/dist/assets/{circle-stop-C3ZF1okQ.js → circle-stop-CCxSuil1.js} +2 -2
- package/ccw/frontend/dist/assets/{circle-stop-C3ZF1okQ.js.map → circle-stop-CCxSuil1.js.map} +1 -1
- package/ccw/frontend/dist/assets/{cpu-B-QjaSjm.js → cpu-CZNSJFdq.js} +2 -2
- package/ccw/frontend/dist/assets/{cpu-B-QjaSjm.js.map → cpu-CZNSJFdq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ellipsis-vertical-CbNlw2gS.js → ellipsis-vertical-h8xtvw2_.js} +2 -2
- package/ccw/frontend/dist/assets/{ellipsis-vertical-CbNlw2gS.js.map → ellipsis-vertical-h8xtvw2_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-yAy69Cnn.js → eye-D3NY0bm6.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-yAy69Cnn.js.map → eye-D3NY0bm6.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-off-D5uzLZyP.js → eye-off-Cy2vkc8p.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-off-D5uzLZyP.js.map → eye-off-Cy2vkc8p.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-json-rwo1NowL.js → file-json-Bzq3U1Mx.js} +2 -2
- package/ccw/frontend/dist/assets/{file-json-rwo1NowL.js.map → file-json-Bzq3U1Mx.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-text-DRkrjie9.js → file-text-DwuwPDPi.js} +2 -2
- package/ccw/frontend/dist/assets/{file-text-DRkrjie9.js.map → file-text-DwuwPDPi.js.map} +1 -1
- package/ccw/frontend/dist/assets/{filter-BOe-OTu1.js → filter-q9g-bknU.js} +2 -2
- package/ccw/frontend/dist/assets/{filter-BOe-OTu1.js.map → filter-q9g-bknU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{folder-BaWZWn_r.js → folder-CL6vb42J.js} +2 -2
- package/ccw/frontend/dist/assets/{folder-BaWZWn_r.js.map → folder-CL6vb42J.js.map} +1 -1
- package/ccw/frontend/dist/assets/{gauge-kazFexTr.js → gauge-BkrcQBly.js} +2 -2
- package/ccw/frontend/dist/assets/{gauge-kazFexTr.js.map → gauge-BkrcQBly.js.map} +1 -1
- package/ccw/frontend/dist/assets/{globe-BuHeEjxd.js → globe-BQbwyNeV.js} +2 -2
- package/ccw/frontend/dist/assets/{globe-BuHeEjxd.js.map → globe-BQbwyNeV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{grid-3x3-DbhuUu4V.js → grid-3x3-x5_7DrN7.js} +2 -2
- package/ccw/frontend/dist/assets/{grid-3x3-DbhuUu4V.js.map → grid-3x3-x5_7DrN7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hard-drive-AoLGL0z4.js → hard-drive-DTyWXwzf.js} +2 -2
- package/ccw/frontend/dist/assets/{hard-drive-AoLGL0z4.js.map → hard-drive-DTyWXwzf.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hash-Dpo1exMB.js → hash-80O0kJO7.js} +2 -2
- package/ccw/frontend/dist/assets/{hash-Dpo1exMB.js.map → hash-80O0kJO7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{history-ujQnmMC9.js → history-DDlN2Bwa.js} +2 -2
- package/ccw/frontend/dist/assets/{history-ujQnmMC9.js.map → history-DDlN2Bwa.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-CxzXz6o1.js → index-B9A3Hnrk.js} +2 -2
- package/ccw/frontend/dist/assets/{index-CxzXz6o1.js.map → index-B9A3Hnrk.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-B76AGix5.js → index-Bs80iCX0.js} +2 -2
- package/ccw/frontend/dist/assets/{index-B76AGix5.js.map → index-Bs80iCX0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-C_Yf5fZ4.js → index-mbeo62f8.js} +2 -2
- package/ccw/frontend/dist/assets/{index-C_Yf5fZ4.js.map → index-mbeo62f8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-Dff4bg3u.js → index-rLgoBCfV.js} +3 -3
- package/ccw/frontend/dist/assets/{index-Dff4bg3u.js.map → index-rLgoBCfV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{layout-grid-CBdE4K8h.js → layout-grid-C1niOWJx.js} +2 -2
- package/ccw/frontend/dist/assets/{layout-grid-CBdE4K8h.js.map → layout-grid-C1niOWJx.js.map} +1 -1
- package/ccw/frontend/dist/assets/{lightbulb-B9K6ZgRp.js → lightbulb-BTmI7SUg.js} +2 -2
- package/ccw/frontend/dist/assets/{lightbulb-B9K6ZgRp.js.map → lightbulb-BTmI7SUg.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-2-Oea4xHJl.js → link-2-CB9HKeuZ.js} +2 -2
- package/ccw/frontend/dist/assets/{link-2-Oea4xHJl.js.map → link-2-CB9HKeuZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-5yXdZBch.js → link-koEYiemK.js} +2 -2
- package/ccw/frontend/dist/assets/{link-5yXdZBch.js.map → link-koEYiemK.js.map} +1 -1
- package/ccw/frontend/dist/assets/{list-9lHhC_U_.js → list-v2_GaLdC.js} +2 -2
- package/ccw/frontend/dist/assets/{list-9lHhC_U_.js.map → list-v2_GaLdC.js.map} +1 -1
- package/ccw/frontend/dist/assets/{map-pin-B6Io5kmB.js → map-pin-BQNfAqG_.js} +2 -2
- package/ccw/frontend/dist/assets/{map-pin-B6Io5kmB.js.map → map-pin-BQNfAqG_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{messages-square-BT000aD3.js → messages-square-Dzq5LGg9.js} +2 -2
- package/ccw/frontend/dist/assets/{messages-square-BT000aD3.js.map → messages-square-Dzq5LGg9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{minimize-2-DO-zbT3a.js → minimize-2-CtkoJXcz.js} +2 -2
- package/ccw/frontend/dist/assets/{minimize-2-DO-zbT3a.js.map → minimize-2-CtkoJXcz.js.map} +1 -1
- package/ccw/frontend/dist/assets/{package-BjOw1ldU.js → package-CH3smL37.js} +2 -2
- package/ccw/frontend/dist/assets/{package-BjOw1ldU.js.map → package-CH3smL37.js.map} +1 -1
- package/ccw/frontend/dist/assets/{plug-9dAARpE1.js → plug-CZ0aL_yF.js} +2 -2
- package/ccw/frontend/dist/assets/{plug-9dAARpE1.js.map → plug-CZ0aL_yF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{power-K2S39x7f.js → power-F2A_J4l6.js} +2 -2
- package/ccw/frontend/dist/assets/{power-K2S39x7f.js.map → power-F2A_J4l6.js.map} +1 -1
- package/ccw/frontend/dist/assets/{save-D9-CoT3x.js → save-Byxot0YU.js} +2 -2
- package/ccw/frontend/dist/assets/{save-D9-CoT3x.js.map → save-Byxot0YU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{send-Bunw9NtC.js → send-JjqhUkpw.js} +2 -2
- package/ccw/frontend/dist/assets/{send-Bunw9NtC.js.map → send-JjqhUkpw.js.map} +1 -1
- package/ccw/frontend/dist/assets/{settings-2-osl4EXFf.js → settings-2--SuN9rAt.js} +2 -2
- package/ccw/frontend/dist/assets/{settings-2-osl4EXFf.js.map → settings-2--SuN9rAt.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-check-big-Dl5gYkjR.js → square-check-big-BbngGB2h.js} +2 -2
- package/ccw/frontend/dist/assets/{square-check-big-Dl5gYkjR.js.map → square-check-big-BbngGB2h.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-pen-Bue1chJR.js → square-pen-CgrHgZSl.js} +2 -2
- package/ccw/frontend/dist/assets/{square-pen-Bue1chJR.js.map → square-pen-CgrHgZSl.js.map} +1 -1
- package/ccw/frontend/dist/assets/{star-Bk7EC7FB.js → star-BU3TQr7Z.js} +2 -2
- package/ccw/frontend/dist/assets/{star-Bk7EC7FB.js.map → star-BU3TQr7Z.js.map} +1 -1
- package/ccw/frontend/dist/assets/{style-BbREPmRj.js → style-CKs7nnn3.js} +2 -2
- package/ccw/frontend/dist/assets/{style-BbREPmRj.js.map → style-CKs7nnn3.js.map} +1 -1
- package/ccw/frontend/dist/assets/{target-CElrCVhR.js → target-DW5tsDW6.js} +2 -2
- package/ccw/frontend/dist/assets/{target-CElrCVhR.js.map → target-DW5tsDW6.js.map} +1 -1
- package/ccw/frontend/dist/assets/{test-tube-wciJaoas.js → test-tube-BHm7w3ON.js} +2 -2
- package/ccw/frontend/dist/assets/{test-tube-wciJaoas.js.map → test-tube-BHm7w3ON.js.map} +1 -1
- package/ccw/frontend/dist/assets/{upload-BD1F07wG.js → upload-DYR7PWwt.js} +2 -2
- package/ccw/frontend/dist/assets/{upload-BD1F07wG.js.map → upload-DYR7PWwt.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useApiSettings-D23HVEt8.js → useApiSettings-D0TVgQD_.js} +2 -2
- package/ccw/frontend/dist/assets/{useApiSettings-D23HVEt8.js.map → useApiSettings-D0TVgQD_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCli-BGDd_lXD.js → useCli-DfY8mAP8.js} +2 -2
- package/ccw/frontend/dist/assets/{useCli-BGDd_lXD.js.map → useCli-DfY8mAP8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCommands-B-m_HxPB.js → useCommands-CGusDp0F.js} +2 -2
- package/ccw/frontend/dist/assets/{useCommands-B-m_HxPB.js.map → useCommands-CGusDp0F.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useDebounce-Z18-PHZr.js → useDebounce-CIwh0fF1.js} +2 -2
- package/ccw/frontend/dist/assets/{useDebounce-Z18-PHZr.js.map → useDebounce-CIwh0fF1.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useFileExplorer-D4gPp-LB.js → useFileExplorer-FMyFv39K.js} +2 -2
- package/ccw/frontend/dist/assets/{useFileExplorer-D4gPp-LB.js.map → useFileExplorer-FMyFv39K.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useLocale-DJ62jjFa.js → useLocale-B2qhsoTb.js} +2 -2
- package/ccw/frontend/dist/assets/{useLocale-DJ62jjFa.js.map → useLocale-B2qhsoTb.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSkills-B8NPs9__.js → useSkills-cxKXMBm3.js} +3 -3
- package/ccw/frontend/dist/assets/{useSkills-B8NPs9__.js.map → useSkills-cxKXMBm3.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSystemSettings-CVi7nKGJ.js → useSystemSettings-B-xUT_z-.js} +2 -2
- package/ccw/frontend/dist/assets/{useSystemSettings-CVi7nKGJ.js.map → useSystemSettings-B-xUT_z-.js.map} +1 -1
- package/ccw/frontend/dist/assets/{wand-sparkles-CLjPiU5w.js → wand-sparkles-DZV_3lPr.js} +2 -2
- package/ccw/frontend/dist/assets/{wand-sparkles-CLjPiU5w.js.map → wand-sparkles-DZV_3lPr.js.map} +1 -1
- package/ccw/frontend/dist/index.html +1 -1
- package/package.json +105 -105
- package/ccw/frontend/dist/assets/SettingsPage-BPDbXPSM.js.map +0 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Pipeline Definitions
|
|
2
|
+
|
|
3
|
+
Interactive craft pipeline modes and task registry.
|
|
4
|
+
|
|
5
|
+
## Pipeline Modes
|
|
6
|
+
|
|
7
|
+
| Mode | Description | Task Count |
|
|
8
|
+
|------|-------------|------------|
|
|
9
|
+
| single | Single component: research -> interaction design -> build -> a11y test | 4 tasks |
|
|
10
|
+
| gallery | Gallery: base component + scroll container, two build phases | 6 tasks |
|
|
11
|
+
| page | Full page: parallel component builds after single interaction design | 3 + N tasks |
|
|
12
|
+
|
|
13
|
+
## Single Pipeline Task Registry
|
|
14
|
+
|
|
15
|
+
| Task ID | Role | deps | Description |
|
|
16
|
+
|---------|------|------|-------------|
|
|
17
|
+
| RESEARCH-001 | researcher | [] | Interaction inventory, browser API audit, pattern reference |
|
|
18
|
+
| INTERACT-001 | interaction-designer | [RESEARCH-001] | State machine, event flow, gesture spec, animation choreography |
|
|
19
|
+
| BUILD-001 | builder | [INTERACT-001] | Vanilla JS + CSS component: ES module, GPU animations, touch-aware |
|
|
20
|
+
| A11Y-001 | a11y-tester | [BUILD-001] | Keyboard, screen reader, reduced motion, focus, contrast audit |
|
|
21
|
+
|
|
22
|
+
## Gallery Pipeline Task Registry
|
|
23
|
+
|
|
24
|
+
| Task ID | Role | deps | Description |
|
|
25
|
+
|---------|------|------|-------------|
|
|
26
|
+
| RESEARCH-001 | researcher | [] | Interaction patterns for base component + gallery container |
|
|
27
|
+
| INTERACT-001 | interaction-designer | [RESEARCH-001] | Base component interaction blueprint |
|
|
28
|
+
| BUILD-001 | builder | [INTERACT-001] | Base component implementation |
|
|
29
|
+
| INTERACT-002 | interaction-designer | [BUILD-001] | Gallery/scroll-snap container blueprint |
|
|
30
|
+
| BUILD-002 | builder | [INTERACT-002] | Gallery container + navigation implementation |
|
|
31
|
+
| A11Y-001 | a11y-tester | [BUILD-002] | Full gallery accessibility audit |
|
|
32
|
+
|
|
33
|
+
## Page Pipeline Task Registry
|
|
34
|
+
|
|
35
|
+
| Task ID | Role | deps | Description |
|
|
36
|
+
|---------|------|------|-------------|
|
|
37
|
+
| RESEARCH-001 | researcher | [] | Interaction patterns for all page sections |
|
|
38
|
+
| INTERACT-001 | interaction-designer | [RESEARCH-001] | Blueprints for all interactive sections |
|
|
39
|
+
| BUILD-001 | builder | [INTERACT-001] | Section 1 component |
|
|
40
|
+
| BUILD-002 | builder | [INTERACT-001] | Section 2 component |
|
|
41
|
+
| ... | builder | [INTERACT-001] | Additional sections (parallel) |
|
|
42
|
+
| BUILD-00N | builder | [INTERACT-001] | Section N component |
|
|
43
|
+
| A11Y-001 | a11y-tester | [BUILD-001..N] | Full page accessibility audit |
|
|
44
|
+
|
|
45
|
+
## Quality Gate (A11y Checkpoint)
|
|
46
|
+
|
|
47
|
+
| Checkpoint | Task | Condition | Action |
|
|
48
|
+
|------------|------|-----------|--------|
|
|
49
|
+
| A11Y Gate | A11Y-001 completes | 0 critical, 0 high | Pipeline complete |
|
|
50
|
+
| A11Y GC Loop | A11Y-* completes | Critical or high issues | Create BUILD-fix task, new A11Y task (max 2 rounds) |
|
|
51
|
+
|
|
52
|
+
## GC Loop Behavior
|
|
53
|
+
|
|
54
|
+
| Signal | Condition | Action |
|
|
55
|
+
|--------|-----------|--------|
|
|
56
|
+
| a11y_passed | 0 critical, 0 high | GC converged -> pipeline complete |
|
|
57
|
+
| a11y_result | 0 critical, high > 0 | gc_rounds < max -> create BUILD-fix task |
|
|
58
|
+
| fix_required | critical > 0 | gc_rounds < max -> create BUILD-fix task (CRITICAL) |
|
|
59
|
+
| Any | gc_rounds >= max | Escalate to user: accept / try one more / terminate |
|
|
60
|
+
|
|
61
|
+
## Parallel Spawn Rules
|
|
62
|
+
|
|
63
|
+
| Mode | After | Spawn Behavior |
|
|
64
|
+
|------|-------|----------------|
|
|
65
|
+
| single | Sequential | One task at a time |
|
|
66
|
+
| gallery | Sequential | One task at a time |
|
|
67
|
+
| page | INTERACT-001 | Spawn BUILD-001..N in parallel |
|
|
68
|
+
| page | All BUILD complete | Spawn A11Y-001 |
|
|
69
|
+
|
|
70
|
+
## Collaboration Patterns
|
|
71
|
+
|
|
72
|
+
| Pattern | Roles | Description |
|
|
73
|
+
|---------|-------|-------------|
|
|
74
|
+
| CP-1 Linear Pipeline | All | Base sequential flow for single/gallery modes |
|
|
75
|
+
| CP-2 Review-Fix | builder <-> a11y-tester | GC loop with max 2 rounds |
|
|
76
|
+
| CP-3 Parallel Fan-out | builder (multiple) | Page mode: multiple BUILD tasks in parallel |
|
|
77
|
+
|
|
78
|
+
## Output Artifacts
|
|
79
|
+
|
|
80
|
+
| Task | Output Path |
|
|
81
|
+
|------|-------------|
|
|
82
|
+
| RESEARCH-001 | <session>/research/*.json |
|
|
83
|
+
| INTERACT-* | <session>/interaction/blueprints/*.md |
|
|
84
|
+
| BUILD-* | <session>/build/components/*.js + *.css |
|
|
85
|
+
| A11Y-* | <session>/a11y/a11y-audit-*.md |
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{
|
|
2
|
+
"team_name": "interactive-craft",
|
|
3
|
+
"team_display_name": "Interactive Craft",
|
|
4
|
+
"description": "Interactive component team with vanilla JS + CSS. Research -> interaction design -> build -> a11y test.",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
|
|
7
|
+
"roles": {
|
|
8
|
+
"coordinator": {
|
|
9
|
+
"task_prefix": null,
|
|
10
|
+
"responsibility": "Scope assessment, pipeline orchestration, GC loop control between builder and a11y-tester",
|
|
11
|
+
"message_types": ["task_unblocked", "a11y_checkpoint", "fix_required", "error", "shutdown"]
|
|
12
|
+
},
|
|
13
|
+
"researcher": {
|
|
14
|
+
"task_prefix": "RESEARCH",
|
|
15
|
+
"responsibility": "Interaction pattern analysis, browser API audit, reference pattern collection",
|
|
16
|
+
"message_types": ["research_ready", "research_progress", "error"]
|
|
17
|
+
},
|
|
18
|
+
"interaction-designer": {
|
|
19
|
+
"task_prefix": "INTERACT",
|
|
20
|
+
"responsibility": "State machine design, event flow mapping, gesture specification, animation choreography",
|
|
21
|
+
"message_types": ["blueprint_ready", "blueprint_revision", "blueprint_progress", "error"]
|
|
22
|
+
},
|
|
23
|
+
"builder": {
|
|
24
|
+
"task_prefix": "BUILD",
|
|
25
|
+
"inner_loop": true,
|
|
26
|
+
"responsibility": "Vanilla JS + CSS component implementation, progressive enhancement, GPU-only animations",
|
|
27
|
+
"message_types": ["build_ready", "build_revision", "build_progress", "error"]
|
|
28
|
+
},
|
|
29
|
+
"a11y-tester": {
|
|
30
|
+
"task_prefix": "A11Y",
|
|
31
|
+
"responsibility": "Keyboard navigation, screen reader, reduced motion, focus management, contrast testing",
|
|
32
|
+
"message_types": ["a11y_passed", "a11y_result", "fix_required", "error"]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
"pipelines": {
|
|
37
|
+
"single": {
|
|
38
|
+
"description": "Single component: research -> interaction design -> build -> a11y test",
|
|
39
|
+
"task_chain": ["RESEARCH-001", "INTERACT-001", "BUILD-001", "A11Y-001"],
|
|
40
|
+
"complexity": "low"
|
|
41
|
+
},
|
|
42
|
+
"gallery": {
|
|
43
|
+
"description": "Gallery with base component + scroll container: two build phases",
|
|
44
|
+
"task_chain": [
|
|
45
|
+
"RESEARCH-001",
|
|
46
|
+
"INTERACT-001", "BUILD-001",
|
|
47
|
+
"INTERACT-002", "BUILD-002",
|
|
48
|
+
"A11Y-001"
|
|
49
|
+
],
|
|
50
|
+
"complexity": "medium"
|
|
51
|
+
},
|
|
52
|
+
"page": {
|
|
53
|
+
"description": "Full interactive page with parallel component builds",
|
|
54
|
+
"task_chain": [
|
|
55
|
+
"RESEARCH-001",
|
|
56
|
+
"INTERACT-001",
|
|
57
|
+
"BUILD-001..N (parallel)",
|
|
58
|
+
"A11Y-001"
|
|
59
|
+
],
|
|
60
|
+
"parallel_stage": "BUILD-001..N",
|
|
61
|
+
"complexity": "high"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
"innovation_patterns": {
|
|
66
|
+
"generator_critic": {
|
|
67
|
+
"generator": "builder",
|
|
68
|
+
"critic": "a11y-tester",
|
|
69
|
+
"max_rounds": 2,
|
|
70
|
+
"convergence": "a11y.critical_count === 0 && a11y.high_count === 0",
|
|
71
|
+
"escalation": "Coordinator intervenes after max rounds"
|
|
72
|
+
},
|
|
73
|
+
"shared_memory": {
|
|
74
|
+
"file": "shared-memory.json",
|
|
75
|
+
"fields": {
|
|
76
|
+
"researcher": ["interaction_inventory", "browser_apis"],
|
|
77
|
+
"interaction-designer": ["state_machines", "event_flows"],
|
|
78
|
+
"builder": ["component_registry", "implementation_decisions"],
|
|
79
|
+
"a11y-tester": ["audit_history"]
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"dynamic_pipeline": {
|
|
83
|
+
"criteria": {
|
|
84
|
+
"single": "scope.component_count <= 1",
|
|
85
|
+
"gallery": "scope.has_gallery || scope.has_scroll_collection",
|
|
86
|
+
"page": "scope.is_full_page || scope.section_count > 2"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"parallel_fanout": {
|
|
90
|
+
"pattern": "CP-3",
|
|
91
|
+
"description": "Multiple BUILD tasks spawned in parallel after single INTERACT blueprint",
|
|
92
|
+
"trigger": "page mode after INTERACT-001 completes",
|
|
93
|
+
"fallback": "If parallel fails, coordinator falls back to sequential execution"
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
|
|
97
|
+
"session_dirs": {
|
|
98
|
+
"base": ".workflow/.team/IC-{slug}-{YYYY-MM-DD}/",
|
|
99
|
+
"research": "research/",
|
|
100
|
+
"interaction": "interaction/blueprints/",
|
|
101
|
+
"build": "build/components/",
|
|
102
|
+
"a11y": "a11y/",
|
|
103
|
+
"messages": ".workflow/.team-msg/{team-name}/"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Vanilla Constraints
|
|
2
|
+
|
|
3
|
+
Zero-dependency rules for all interactive components built by this team. These constraints are non-negotiable and apply to every BUILD task output.
|
|
4
|
+
|
|
5
|
+
## Dependency Rules
|
|
6
|
+
|
|
7
|
+
| Rule | Requirement |
|
|
8
|
+
|------|-------------|
|
|
9
|
+
| No npm packages | Zero `import` from node_modules or CDN URLs |
|
|
10
|
+
| No build tools required | Components run directly via `<script type="module">` |
|
|
11
|
+
| No framework dependency | No React, Vue, Svelte, Angular, jQuery, etc. |
|
|
12
|
+
| No CSS preprocessor | No Sass, Less, PostCSS, Tailwind -- pure CSS only |
|
|
13
|
+
| No bundler required | No webpack, Vite, Rollup, esbuild in critical path |
|
|
14
|
+
|
|
15
|
+
## JavaScript Rules
|
|
16
|
+
|
|
17
|
+
| Rule | Requirement |
|
|
18
|
+
|------|-------------|
|
|
19
|
+
| ES modules only | `export class`, `export function`, `import` syntax |
|
|
20
|
+
| Class-based components | Private fields (#), constructor(element, options) |
|
|
21
|
+
| No inline styles from JS | Set CSS custom properties or toggle CSS classes |
|
|
22
|
+
| No document.write | Use DOM APIs (createElement, append, etc.) |
|
|
23
|
+
| No eval or innerHTML | Use textContent or DOM construction |
|
|
24
|
+
| requestAnimationFrame | All animation loops use rAF, not setInterval |
|
|
25
|
+
| Pointer Events primary | Use pointer events; touch events as fallback only |
|
|
26
|
+
| Cleanup required | destroy() method disconnects all observers/listeners |
|
|
27
|
+
| Auto-init pattern | `document.querySelectorAll('[data-component]')` on load |
|
|
28
|
+
|
|
29
|
+
## CSS Rules
|
|
30
|
+
|
|
31
|
+
| Rule | Requirement |
|
|
32
|
+
|------|-------------|
|
|
33
|
+
| Custom properties | All configurable values as CSS custom properties |
|
|
34
|
+
| No inline styles | JS sets `--custom-prop` values, not style.left/top |
|
|
35
|
+
| State via data attributes | `[data-state="active"]`, not inline style changes |
|
|
36
|
+
| GPU-only animations | `transform` and `opacity` ONLY in transitions/animations |
|
|
37
|
+
| No layout animations | Never animate `width`, `height`, `top`, `left`, `margin`, `padding` |
|
|
38
|
+
| will-change on animated | Hint browser for animated elements |
|
|
39
|
+
| Reduced motion | `@media (prefers-reduced-motion: reduce)` with instant fallback |
|
|
40
|
+
| focus-visible | `:focus-visible` for keyboard-only focus indicators |
|
|
41
|
+
| Responsive | Min touch target 44x44px on mobile, use @media breakpoints |
|
|
42
|
+
|
|
43
|
+
## Progressive Enhancement
|
|
44
|
+
|
|
45
|
+
| Rule | Requirement |
|
|
46
|
+
|------|-------------|
|
|
47
|
+
| Content without JS | Base content visible and readable without JavaScript |
|
|
48
|
+
| CSS-only fallback | Essential layout works with CSS alone |
|
|
49
|
+
| No-JS class | Optional `[data-js-enabled]` class for JS-enhanced styles |
|
|
50
|
+
| Semantic HTML base | Use appropriate elements (button, a, nav, dialog) |
|
|
51
|
+
|
|
52
|
+
## Performance Budget
|
|
53
|
+
|
|
54
|
+
| Metric | Budget |
|
|
55
|
+
|--------|--------|
|
|
56
|
+
| Frame time | < 5ms per frame (leaves room for browser work in 16ms budget) |
|
|
57
|
+
| Interaction response | < 50ms from input to visual feedback |
|
|
58
|
+
| Animation jank | 0 frames dropped at 60fps for GPU-composited animations |
|
|
59
|
+
| Observer callbacks | < 1ms per IntersectionObserver/ResizeObserver callback |
|
|
60
|
+
| Component init | < 100ms from constructor to interactive |
|
|
61
|
+
| Memory | No detached DOM nodes after destroy() |
|
|
62
|
+
| Listeners | All removed in destroy(), no orphaned listeners |
|
|
63
|
+
|
|
64
|
+
## Forbidden Patterns
|
|
65
|
+
|
|
66
|
+
| Pattern | Why |
|
|
67
|
+
|---------|-----|
|
|
68
|
+
| `element.style.left = ...` | Forces layout recalc, not GPU composited |
|
|
69
|
+
| `element.offsetWidth` in animation loop | Forces synchronous layout (reflow) |
|
|
70
|
+
| `setInterval` for animation | Not synced to display refresh rate |
|
|
71
|
+
| `setTimeout` for animation | Not synced to display refresh rate |
|
|
72
|
+
| `innerHTML = userContent` | XSS vector |
|
|
73
|
+
| Passive: false on scroll/touch without need | Blocks scrolling performance |
|
|
74
|
+
| `!important` in component CSS | Breaks cascade, unmaintainable |
|
|
75
|
+
| Global CSS selectors (tag-only) | Leaks styles outside component scope |
|
|
76
|
+
|
|
77
|
+
## File Output Convention
|
|
78
|
+
|
|
79
|
+
| File | Purpose | Location |
|
|
80
|
+
|------|---------|----------|
|
|
81
|
+
| `{name}.js` | ES module component class | `<session>/build/components/` |
|
|
82
|
+
| `{name}.css` | Component styles with custom properties | `<session>/build/components/` |
|
|
83
|
+
| `demo.html` | Optional: standalone demo page | `<session>/build/components/` |
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: team-motion-design
|
|
3
|
+
description: Unified team skill for motion design. Animation token systems, scroll choreography, GPU-accelerated transforms, reduced-motion fallback. Uses team-worker agent architecture. Triggers on "team motion design", "animation system".
|
|
4
|
+
allowed-tools: spawn_agent(*), wait_agent(*), send_message(*), assign_task(*), close_agent(*), list_agents(*), report_agent_job_result(*), request_user_input(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*), mcp__ccw-tools__read_file(*), mcp__ccw-tools__write_file(*), mcp__ccw-tools__edit_file(*), mcp__ccw-tools__team_msg(*), mcp__chrome-devtools__evaluate_script(*), mcp__chrome-devtools__take_screenshot(*), mcp__chrome-devtools__performance_start_trace(*), mcp__chrome-devtools__performance_stop_trace(*), mcp__chrome-devtools__performance_analyze_insight(*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Team Motion Design
|
|
8
|
+
|
|
9
|
+
Systematic motion design pipeline: research -> choreography -> animation -> performance testing. Built on **team-worker agent architecture** -- all worker roles share a single agent definition with role-specific Phase 2-4 loaded from `roles/<role>/role.md`.
|
|
10
|
+
|
|
11
|
+
## Architecture
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Skill(skill="team-motion-design", args="task description")
|
|
15
|
+
|
|
|
16
|
+
SKILL.md (this file) = Router
|
|
17
|
+
|
|
|
18
|
+
+--------------+--------------+
|
|
19
|
+
| |
|
|
20
|
+
no --role flag --role <name>
|
|
21
|
+
| |
|
|
22
|
+
Coordinator Worker
|
|
23
|
+
roles/coordinator/role.md roles/<name>/role.md
|
|
24
|
+
|
|
|
25
|
+
+-- analyze -> dispatch -> spawn workers -> STOP
|
|
26
|
+
|
|
|
27
|
+
+-------+-------+-------+-------+
|
|
28
|
+
v v v v
|
|
29
|
+
[team-worker agents, each loads roles/<role>/role.md]
|
|
30
|
+
motion-researcher choreographer animator motion-tester
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Role Registry
|
|
34
|
+
|
|
35
|
+
| Role | Path | Prefix | Inner Loop |
|
|
36
|
+
|------|------|--------|------------|
|
|
37
|
+
| coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | -- | -- |
|
|
38
|
+
| motion-researcher | [roles/motion-researcher/role.md](roles/motion-researcher/role.md) | MRESEARCH-* | false |
|
|
39
|
+
| choreographer | [roles/choreographer/role.md](roles/choreographer/role.md) | CHOREO-* | false |
|
|
40
|
+
| animator | [roles/animator/role.md](roles/animator/role.md) | ANIM-* | true |
|
|
41
|
+
| motion-tester | [roles/motion-tester/role.md](roles/motion-tester/role.md) | MTEST-* | false |
|
|
42
|
+
|
|
43
|
+
## Role Router
|
|
44
|
+
|
|
45
|
+
Parse `$ARGUMENTS`:
|
|
46
|
+
- Has `--role <name>` -> Read `roles/<name>/role.md`, execute Phase 2-4
|
|
47
|
+
- No `--role` -> `roles/coordinator/role.md`, execute entry router
|
|
48
|
+
|
|
49
|
+
## Delegation Lock
|
|
50
|
+
|
|
51
|
+
**Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
|
|
52
|
+
|
|
53
|
+
Before calling ANY tool, apply this check:
|
|
54
|
+
|
|
55
|
+
| Tool Call | Verdict | Reason |
|
|
56
|
+
|-----------|---------|--------|
|
|
57
|
+
| `spawn_agent`, `wait_agent`, `close_agent`, `send_message`, `assign_task` | ALLOWED | Orchestration |
|
|
58
|
+
| `list_agents` | ALLOWED | Agent health check |
|
|
59
|
+
| `request_user_input` | ALLOWED | User interaction |
|
|
60
|
+
| `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
|
|
61
|
+
| `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
|
|
62
|
+
| `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
|
|
63
|
+
| `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
|
|
64
|
+
| `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
|
|
65
|
+
| `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
|
|
66
|
+
| `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
|
|
67
|
+
|
|
68
|
+
**If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
|
|
69
|
+
|
|
70
|
+
**No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Shared Constants
|
|
75
|
+
|
|
76
|
+
- **Session prefix**: `MD`
|
|
77
|
+
- **Session path**: `.workflow/.team/MD-<slug>-<date>/`
|
|
78
|
+
- **CLI tools**: `ccw cli --mode analysis` (read-only), `ccw cli --mode write` (modifications)
|
|
79
|
+
- **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
|
|
80
|
+
- **Max GC rounds**: 2
|
|
81
|
+
|
|
82
|
+
## Worker Spawn Template
|
|
83
|
+
|
|
84
|
+
Coordinator spawns workers using this template:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
spawn_agent({
|
|
88
|
+
agent_type: "team_worker",
|
|
89
|
+
task_name: "<task-id>",
|
|
90
|
+
fork_context: false,
|
|
91
|
+
items: [
|
|
92
|
+
{ type: "text", text: `## Role Assignment
|
|
93
|
+
role: <role>
|
|
94
|
+
role_spec: <skill_root>/roles/<role>/role.md
|
|
95
|
+
session: <session-folder>
|
|
96
|
+
session_id: <session-id>
|
|
97
|
+
requirement: <task-description>
|
|
98
|
+
inner_loop: <true|false>
|
|
99
|
+
|
|
100
|
+
Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.` },
|
|
101
|
+
|
|
102
|
+
{ type: "text", text: `## Task Context
|
|
103
|
+
task_id: <task-id>
|
|
104
|
+
title: <task-title>
|
|
105
|
+
description: <task-description>
|
|
106
|
+
pipeline_phase: <pipeline-phase>` },
|
|
107
|
+
|
|
108
|
+
{ type: "text", text: `## Upstream Context
|
|
109
|
+
<prev_context>` }
|
|
110
|
+
]
|
|
111
|
+
})
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
After spawning, use `wait_agent({ targets: [...], timeout_ms: 900000 })` to collect results, then `close_agent({ target })` each worker.
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
### Model Selection Guide
|
|
118
|
+
|
|
119
|
+
Motion design is a performance-critical pipeline where research informs choreography decisions and animations must pass strict GPU performance gates. Researcher needs thorough profiling, animator needs creative implementation with inner loop capability.
|
|
120
|
+
|
|
121
|
+
| Role | reasoning_effort | Rationale |
|
|
122
|
+
|------|-------------------|-----------|
|
|
123
|
+
| motion-researcher | high | Deep performance profiling and animation audit across codebase |
|
|
124
|
+
| choreographer | high | Creative token system design and scroll choreography sequencing |
|
|
125
|
+
| animator | high | Complex CSS/JS animation implementation with compositor constraints |
|
|
126
|
+
| motion-tester | medium | Performance validation follows defined test criteria and scoring |
|
|
127
|
+
|
|
128
|
+
### Research-to-Choreography Context Flow
|
|
129
|
+
|
|
130
|
+
Researcher findings must reach choreographer via coordinator's upstream context:
|
|
131
|
+
```
|
|
132
|
+
// After MRESEARCH-001 completes, coordinator sends findings to choreographer
|
|
133
|
+
spawn_agent({
|
|
134
|
+
agent_type: "team_worker",
|
|
135
|
+
task_name: "CHOREO-001",
|
|
136
|
+
fork_context: false,
|
|
137
|
+
items: [
|
|
138
|
+
...,
|
|
139
|
+
{ type: "text", text: `## Upstream Context
|
|
140
|
+
Research findings: <session>/research/animation-inventory.json
|
|
141
|
+
Performance baseline: <session>/research/performance-baseline.json
|
|
142
|
+
Easing catalog: <session>/research/easing-catalog.json` }
|
|
143
|
+
]
|
|
144
|
+
})
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## User Commands
|
|
148
|
+
|
|
149
|
+
| Command | Action |
|
|
150
|
+
|---------|--------|
|
|
151
|
+
| `check` / `status` | View execution status graph |
|
|
152
|
+
| `resume` / `continue` | Advance to next step |
|
|
153
|
+
|
|
154
|
+
## Specs Reference
|
|
155
|
+
|
|
156
|
+
- [specs/pipelines.md](specs/pipelines.md) -- Pipeline definitions and task registry
|
|
157
|
+
- [specs/motion-tokens.md](specs/motion-tokens.md) -- Animation token schema
|
|
158
|
+
- [specs/gpu-constraints.md](specs/gpu-constraints.md) -- Compositor-only animation rules
|
|
159
|
+
- [specs/reduced-motion.md](specs/reduced-motion.md) -- Accessibility motion preferences
|
|
160
|
+
|
|
161
|
+
## Session Directory
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
.workflow/.team/MD-<slug>-<date>/
|
|
165
|
+
+-- .msg/
|
|
166
|
+
| +-- messages.jsonl # Team message bus
|
|
167
|
+
| +-- meta.json # Pipeline config + GC state
|
|
168
|
+
+-- research/ # Motion researcher output
|
|
169
|
+
| +-- perf-traces/ # Chrome DevTools performance traces
|
|
170
|
+
| +-- animation-inventory.json
|
|
171
|
+
| +-- performance-baseline.json
|
|
172
|
+
| +-- easing-catalog.json
|
|
173
|
+
+-- choreography/ # Choreographer output
|
|
174
|
+
| +-- motion-tokens.json
|
|
175
|
+
| +-- sequences/ # Scroll choreography sequences
|
|
176
|
+
+-- animations/ # Animator output
|
|
177
|
+
| +-- keyframes/ # CSS @keyframes files
|
|
178
|
+
| +-- orchestrators/ # JS animation orchestrators
|
|
179
|
+
+-- testing/ # Motion tester output
|
|
180
|
+
| +-- traces/ # Performance trace data
|
|
181
|
+
| +-- reports/ # Performance reports
|
|
182
|
+
+-- wisdom/ # Cross-task knowledge
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## v4 Agent Coordination
|
|
186
|
+
|
|
187
|
+
### Message Semantics
|
|
188
|
+
|
|
189
|
+
| Intent | API | Example |
|
|
190
|
+
|--------|-----|---------|
|
|
191
|
+
| Queue supplementary info (don't interrupt) | `send_message` | Send research findings to running choreographer |
|
|
192
|
+
| Assign implementation from reviewed specs | `assign_task` | Assign ANIM task after choreography passes |
|
|
193
|
+
| Check running agents | `list_agents` | Verify agent health during resume |
|
|
194
|
+
|
|
195
|
+
### Agent Health Check
|
|
196
|
+
|
|
197
|
+
Use `list_agents({})` in handleResume and handleComplete:
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
// Reconcile session state with actual running agents
|
|
201
|
+
const running = list_agents({})
|
|
202
|
+
// Compare with tasks.json active_agents
|
|
203
|
+
// Reset orphaned tasks (in_progress but agent gone) to pending
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Named Agent Targeting
|
|
207
|
+
|
|
208
|
+
Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
|
|
209
|
+
- `send_message({ target: "CHOREO-001", items: [...] })` -- send additional research findings to choreographer
|
|
210
|
+
- `assign_task({ target: "ANIM-001", items: [...] })` -- assign animation from reviewed choreography specs
|
|
211
|
+
- `close_agent({ target: "MTEST-001" })` -- cleanup after performance test
|
|
212
|
+
|
|
213
|
+
## Error Handling
|
|
214
|
+
|
|
215
|
+
| Scenario | Resolution |
|
|
216
|
+
|----------|------------|
|
|
217
|
+
| Unknown command | Error with available command list |
|
|
218
|
+
| Role not found | Error with role registry |
|
|
219
|
+
| Session corruption | Attempt recovery, fallback to manual |
|
|
220
|
+
| Fast-advance conflict | Coordinator reconciles on next callback |
|
|
221
|
+
| Completion action fails | Default to Keep Active |
|
|
222
|
+
| GC loop stuck > 2 rounds | Escalate to user: accept / retry / terminate |
|