@zmice/zc 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +153 -87
- package/dist/adapters/codex.d.ts.map +1 -1
- package/dist/adapters/codex.js +4 -2
- package/dist/adapters/codex.js.map +1 -1
- package/dist/adapters/qwen-code.d.ts.map +1 -1
- package/dist/adapters/qwen-code.js +7 -5
- package/dist/adapters/qwen-code.js.map +1 -1
- package/dist/cli/__tests__/i18n.test.d.ts +2 -0
- package/dist/cli/__tests__/i18n.test.d.ts.map +1 -0
- package/dist/cli/__tests__/i18n.test.js +45 -0
- package/dist/cli/__tests__/i18n.test.js.map +1 -0
- package/dist/cli/__tests__/platform.test.d.ts +2 -0
- package/dist/cli/__tests__/platform.test.d.ts.map +1 -0
- package/dist/cli/__tests__/platform.test.js +483 -0
- package/dist/cli/__tests__/platform.test.js.map +1 -0
- package/dist/cli/__tests__/surface.test.d.ts +2 -0
- package/dist/cli/__tests__/surface.test.d.ts.map +1 -0
- package/dist/cli/__tests__/surface.test.js +15 -0
- package/dist/cli/__tests__/surface.test.js.map +1 -0
- package/dist/cli/__tests__/toolkit.test.d.ts +2 -0
- package/dist/cli/__tests__/toolkit.test.d.ts.map +1 -0
- package/dist/cli/__tests__/toolkit.test.js +72 -0
- package/dist/cli/__tests__/toolkit.test.js.map +1 -0
- package/dist/cli/__tests__/upstream.test.d.ts +2 -0
- package/dist/cli/__tests__/upstream.test.d.ts.map +1 -0
- package/dist/cli/__tests__/upstream.test.js +163 -0
- package/dist/cli/__tests__/upstream.test.js.map +1 -0
- package/dist/cli/doctor.js +21 -21
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +2 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +34 -14
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/msg.d.ts.map +1 -1
- package/dist/cli/msg.js +73 -5
- package/dist/cli/msg.js.map +1 -1
- package/dist/cli/platform.d.ts +32 -0
- package/dist/cli/platform.d.ts.map +1 -0
- package/dist/cli/platform.js +635 -0
- package/dist/cli/platform.js.map +1 -0
- package/dist/cli/run.js +7 -7
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/setup.js +7 -7
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/task.d.ts.map +1 -1
- package/dist/cli/task.js +108 -8
- package/dist/cli/task.js.map +1 -1
- package/dist/cli/team.d.ts +12 -0
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +82 -39
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/toolkit.d.ts +3 -0
- package/dist/cli/toolkit.d.ts.map +1 -0
- package/dist/cli/toolkit.js +160 -0
- package/dist/cli/toolkit.js.map +1 -0
- package/dist/cli/upstream.d.ts +19 -0
- package/dist/cli/upstream.d.ts.map +1 -0
- package/dist/cli/upstream.js +705 -0
- package/dist/cli/upstream.js.map +1 -0
- package/dist/node_modules/@zmice/platform-core/dist/index.d.ts +72 -0
- package/dist/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -0
- package/dist/node_modules/@zmice/platform-core/dist/index.js +105 -0
- package/dist/node_modules/@zmice/platform-core/dist/index.js.map +1 -0
- package/dist/node_modules/@zmice/platform-core/dist/index.test.d.ts +2 -0
- package/dist/node_modules/@zmice/platform-core/dist/index.test.d.ts.map +1 -0
- package/dist/node_modules/@zmice/platform-core/dist/index.test.js +104 -0
- package/dist/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -0
- package/dist/node_modules/@zmice/platform-core/package.json +34 -0
- package/dist/platform-state/index.d.ts +4 -0
- package/dist/platform-state/index.d.ts.map +1 -0
- package/dist/platform-state/index.js +3 -0
- package/dist/platform-state/index.js.map +1 -0
- package/dist/platform-state/receipt.d.ts +11 -0
- package/dist/platform-state/receipt.d.ts.map +1 -0
- package/dist/platform-state/receipt.js +27 -0
- package/dist/platform-state/receipt.js.map +1 -0
- package/dist/platform-state/status.d.ts +3 -0
- package/dist/platform-state/status.d.ts.map +1 -0
- package/dist/platform-state/status.js +82 -0
- package/dist/platform-state/status.js.map +1 -0
- package/dist/platform-state/status.test.d.ts +2 -0
- package/dist/platform-state/status.test.d.ts.map +1 -0
- package/dist/platform-state/status.test.js +120 -0
- package/dist/platform-state/status.test.js.map +1 -0
- package/dist/platform-state/types.d.ts +58 -0
- package/dist/platform-state/types.d.ts.map +1 -0
- package/dist/platform-state/types.js +2 -0
- package/dist/platform-state/types.js.map +1 -0
- package/dist/runtime/__tests__/logger.test.d.ts +2 -0
- package/dist/runtime/__tests__/logger.test.d.ts.map +1 -0
- package/dist/runtime/__tests__/logger.test.js +11 -0
- package/dist/runtime/__tests__/logger.test.js.map +1 -0
- package/dist/runtime/__tests__/session-manager.test.d.ts +2 -0
- package/dist/runtime/__tests__/session-manager.test.d.ts.map +1 -0
- package/dist/runtime/__tests__/session-manager.test.js +11 -0
- package/dist/runtime/__tests__/session-manager.test.js.map +1 -0
- package/dist/runtime/__tests__/worktree-manager.test.d.ts +2 -0
- package/dist/runtime/__tests__/worktree-manager.test.d.ts.map +1 -0
- package/dist/runtime/__tests__/worktree-manager.test.js +11 -0
- package/dist/runtime/__tests__/worktree-manager.test.js.map +1 -0
- package/dist/runtime/logger.d.ts +5 -1
- package/dist/runtime/logger.d.ts.map +1 -1
- package/dist/runtime/logger.js +11 -1
- package/dist/runtime/logger.js.map +1 -1
- package/dist/runtime/state.d.ts +2 -8
- package/dist/runtime/state.d.ts.map +1 -1
- package/dist/runtime/state.js +7 -15
- package/dist/runtime/state.js.map +1 -1
- package/dist/runtime/worktree-manager.d.ts +5 -26
- package/dist/runtime/worktree-manager.d.ts.map +1 -1
- package/dist/runtime/worktree-manager.js +34 -98
- package/dist/runtime/worktree-manager.js.map +1 -1
- package/dist/team/__tests__/mailbox.test.d.ts +2 -0
- package/dist/team/__tests__/mailbox.test.d.ts.map +1 -0
- package/dist/team/__tests__/mailbox.test.js +22 -0
- package/dist/team/__tests__/mailbox.test.js.map +1 -0
- package/dist/team/__tests__/orchestrator.test.d.ts +2 -0
- package/dist/team/__tests__/orchestrator.test.d.ts.map +1 -0
- package/dist/team/__tests__/orchestrator.test.js +13 -0
- package/dist/team/__tests__/orchestrator.test.js.map +1 -0
- package/dist/team/__tests__/task-queue.test.d.ts +2 -0
- package/dist/team/__tests__/task-queue.test.d.ts.map +1 -0
- package/dist/team/__tests__/task-queue.test.js +28 -0
- package/dist/team/__tests__/task-queue.test.js.map +1 -0
- package/dist/team/__tests__/worker-manager.test.d.ts +2 -0
- package/dist/team/__tests__/worker-manager.test.d.ts.map +1 -0
- package/dist/team/__tests__/worker-manager.test.js +13 -0
- package/dist/team/__tests__/worker-manager.test.js.map +1 -0
- package/dist/team/mailbox.d.ts +12 -10
- package/dist/team/mailbox.d.ts.map +1 -1
- package/dist/team/mailbox.js +40 -27
- package/dist/team/mailbox.js.map +1 -1
- package/dist/team/orchestrator.d.ts +1 -6
- package/dist/team/orchestrator.d.ts.map +1 -1
- package/dist/team/orchestrator.js +27 -67
- package/dist/team/orchestrator.js.map +1 -1
- package/dist/team/task-queue.d.ts +18 -17
- package/dist/team/task-queue.d.ts.map +1 -1
- package/dist/team/task-queue.js +68 -71
- package/dist/team/task-queue.js.map +1 -1
- package/dist/team/worker-manager.d.ts +13 -36
- package/dist/team/worker-manager.d.ts.map +1 -1
- package/dist/team/worker-manager.js +34 -129
- package/dist/team/worker-manager.js.map +1 -1
- package/dist/utils/config.d.ts +15 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +39 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/install-target.d.ts +23 -0
- package/dist/utils/install-target.d.ts.map +1 -0
- package/dist/utils/install-target.js +89 -0
- package/dist/utils/install-target.js.map +1 -0
- package/dist/utils/install-target.test.d.ts +2 -0
- package/dist/utils/install-target.test.d.ts.map +1 -0
- package/dist/utils/install-target.test.js +71 -0
- package/dist/utils/install-target.test.js.map +1 -0
- package/dist/utils/platform-install-receipt.d.ts +11 -0
- package/dist/utils/platform-install-receipt.d.ts.map +1 -0
- package/dist/utils/platform-install-receipt.js +62 -0
- package/dist/utils/platform-install-receipt.js.map +1 -0
- package/dist/utils/platform-install-receipt.test.d.ts +2 -0
- package/dist/utils/platform-install-receipt.test.d.ts.map +1 -0
- package/dist/utils/platform-install-receipt.test.js +74 -0
- package/dist/utils/platform-install-receipt.test.js.map +1 -0
- package/dist/utils/skill-loader.d.ts +0 -9
- package/dist/utils/skill-loader.d.ts.map +1 -1
- package/dist/utils/skill-loader.js +19 -26
- package/dist/utils/skill-loader.js.map +1 -1
- package/dist/utils/workspace.d.ts +28 -0
- package/dist/utils/workspace.d.ts.map +1 -0
- package/dist/utils/workspace.js +103 -0
- package/dist/utils/workspace.js.map +1 -0
- package/dist/utils/workspace.test.d.ts +2 -0
- package/dist/utils/workspace.test.d.ts.map +1 -0
- package/dist/utils/workspace.test.js +50 -0
- package/dist/utils/workspace.test.js.map +1 -0
- package/package.json +48 -36
- package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts +72 -0
- package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -0
- package/vendor/node_modules/@zmice/platform-core/dist/index.js +105 -0
- package/vendor/node_modules/@zmice/platform-core/dist/index.js.map +1 -0
- package/vendor/node_modules/@zmice/platform-core/dist/index.test.d.ts +2 -0
- package/vendor/node_modules/@zmice/platform-core/dist/index.test.d.ts.map +1 -0
- package/vendor/node_modules/@zmice/platform-core/dist/index.test.js +104 -0
- package/vendor/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -0
- package/vendor/node_modules/@zmice/platform-core/package.json +34 -0
- package/vendor/packages/platform-codex/dist/generate.d.ts +2 -0
- package/vendor/packages/platform-codex/dist/generate.d.ts.map +1 -0
- package/vendor/packages/platform-codex/dist/generate.js +2 -0
- package/vendor/packages/platform-codex/dist/generate.js.map +1 -0
- package/vendor/packages/platform-codex/dist/index.d.ts +15 -0
- package/vendor/packages/platform-codex/dist/index.d.ts.map +1 -0
- package/vendor/packages/platform-codex/dist/index.js +46 -0
- package/vendor/packages/platform-codex/dist/index.js.map +1 -0
- package/vendor/packages/platform-codex/dist/index.test.d.ts +2 -0
- package/vendor/packages/platform-codex/dist/index.test.d.ts.map +1 -0
- package/vendor/packages/platform-codex/dist/index.test.js +38 -0
- package/vendor/packages/platform-codex/dist/index.test.js.map +1 -0
- package/vendor/packages/platform-codex/dist/install.d.ts +2 -0
- package/vendor/packages/platform-codex/dist/install.d.ts.map +1 -0
- package/vendor/packages/platform-codex/dist/install.js +2 -0
- package/vendor/packages/platform-codex/dist/install.js.map +1 -0
- package/vendor/packages/platform-codex/package.json +46 -0
- package/vendor/packages/platform-codex/templates/AGENTS.md +7 -0
- package/vendor/packages/platform-qoder/dist/generate.d.ts +2 -0
- package/vendor/packages/platform-qoder/dist/generate.d.ts.map +1 -0
- package/vendor/packages/platform-qoder/dist/generate.js +2 -0
- package/vendor/packages/platform-qoder/dist/generate.js.map +1 -0
- package/vendor/packages/platform-qoder/dist/index.d.ts +15 -0
- package/vendor/packages/platform-qoder/dist/index.d.ts.map +1 -0
- package/vendor/packages/platform-qoder/dist/index.js +46 -0
- package/vendor/packages/platform-qoder/dist/index.js.map +1 -0
- package/vendor/packages/platform-qoder/dist/index.test.d.ts +2 -0
- package/vendor/packages/platform-qoder/dist/index.test.d.ts.map +1 -0
- package/vendor/packages/platform-qoder/dist/index.test.js +38 -0
- package/vendor/packages/platform-qoder/dist/index.test.js.map +1 -0
- package/vendor/packages/platform-qoder/dist/install.d.ts +2 -0
- package/vendor/packages/platform-qoder/dist/install.d.ts.map +1 -0
- package/vendor/packages/platform-qoder/dist/install.js +2 -0
- package/vendor/packages/platform-qoder/dist/install.js.map +1 -0
- package/vendor/packages/platform-qoder/package.json +46 -0
- package/vendor/packages/platform-qoder/templates/instructions.md +7 -0
- package/vendor/packages/platform-qwen/dist/generate.d.ts +2 -0
- package/vendor/packages/platform-qwen/dist/generate.d.ts.map +1 -0
- package/vendor/packages/platform-qwen/dist/generate.js +2 -0
- package/vendor/packages/platform-qwen/dist/generate.js.map +1 -0
- package/vendor/packages/platform-qwen/dist/index.d.ts +16 -0
- package/vendor/packages/platform-qwen/dist/index.d.ts.map +1 -0
- package/vendor/packages/platform-qwen/dist/index.js +60 -0
- package/vendor/packages/platform-qwen/dist/index.js.map +1 -0
- package/vendor/packages/platform-qwen/dist/index.test.d.ts +2 -0
- package/vendor/packages/platform-qwen/dist/index.test.d.ts.map +1 -0
- package/vendor/packages/platform-qwen/dist/index.test.js +46 -0
- package/vendor/packages/platform-qwen/dist/index.test.js.map +1 -0
- package/vendor/packages/platform-qwen/dist/install.d.ts +2 -0
- package/vendor/packages/platform-qwen/dist/install.d.ts.map +1 -0
- package/vendor/packages/platform-qwen/dist/install.js +2 -0
- package/vendor/packages/platform-qwen/dist/install.js.map +1 -0
- package/vendor/packages/platform-qwen/package.json +46 -0
- package/vendor/packages/platform-qwen/templates/QWEN.md +7 -0
- package/vendor/packages/platform-qwen/templates/qwen-extension.json +7 -0
- package/vendor/packages/toolkit/dist/content-lint.test.d.ts +2 -0
- package/vendor/packages/toolkit/dist/content-lint.test.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/content-lint.test.js +252 -0
- package/vendor/packages/toolkit/dist/content-lint.test.js.map +1 -0
- package/vendor/packages/toolkit/dist/governance/index.d.ts +2 -0
- package/vendor/packages/toolkit/dist/governance/index.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/governance/index.js +2 -0
- package/vendor/packages/toolkit/dist/governance/index.js.map +1 -0
- package/vendor/packages/toolkit/dist/governance/upstreams.d.ts +6 -0
- package/vendor/packages/toolkit/dist/governance/upstreams.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/governance/upstreams.js +31 -0
- package/vendor/packages/toolkit/dist/governance/upstreams.js.map +1 -0
- package/vendor/packages/toolkit/dist/governance/upstreams.test.d.ts +2 -0
- package/vendor/packages/toolkit/dist/governance/upstreams.test.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/governance/upstreams.test.js +23 -0
- package/vendor/packages/toolkit/dist/governance/upstreams.test.js.map +1 -0
- package/vendor/packages/toolkit/dist/index.d.ts +8 -0
- package/vendor/packages/toolkit/dist/index.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/index.js +8 -0
- package/vendor/packages/toolkit/dist/index.js.map +1 -0
- package/vendor/packages/toolkit/dist/lint/content-lint.d.ts +21 -0
- package/vendor/packages/toolkit/dist/lint/content-lint.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/lint/content-lint.js +250 -0
- package/vendor/packages/toolkit/dist/lint/content-lint.js.map +1 -0
- package/vendor/packages/toolkit/dist/lint/index.d.ts +2 -0
- package/vendor/packages/toolkit/dist/lint/index.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/lint/index.js +2 -0
- package/vendor/packages/toolkit/dist/lint/index.js.map +1 -0
- package/vendor/packages/toolkit/dist/loaders/asset-unit.d.ts +4 -0
- package/vendor/packages/toolkit/dist/loaders/asset-unit.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/loaders/asset-unit.js +95 -0
- package/vendor/packages/toolkit/dist/loaders/asset-unit.js.map +1 -0
- package/vendor/packages/toolkit/dist/loaders/content-tree.d.ts +2 -0
- package/vendor/packages/toolkit/dist/loaders/content-tree.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/loaders/content-tree.js +2 -0
- package/vendor/packages/toolkit/dist/loaders/content-tree.js.map +1 -0
- package/vendor/packages/toolkit/dist/loaders/fs.d.ts +6 -0
- package/vendor/packages/toolkit/dist/loaders/fs.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/loaders/fs.js +19 -0
- package/vendor/packages/toolkit/dist/loaders/fs.js.map +1 -0
- package/vendor/packages/toolkit/dist/loaders/index.d.ts +4 -0
- package/vendor/packages/toolkit/dist/loaders/index.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/loaders/index.js +4 -0
- package/vendor/packages/toolkit/dist/loaders/index.js.map +1 -0
- package/vendor/packages/toolkit/dist/loaders/simple-yaml.d.ts +2 -0
- package/vendor/packages/toolkit/dist/loaders/simple-yaml.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/loaders/simple-yaml.js +125 -0
- package/vendor/packages/toolkit/dist/loaders/simple-yaml.js.map +1 -0
- package/vendor/packages/toolkit/dist/loaders.test.d.ts +2 -0
- package/vendor/packages/toolkit/dist/loaders.test.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/loaders.test.js +84 -0
- package/vendor/packages/toolkit/dist/loaders.test.js.map +1 -0
- package/vendor/packages/toolkit/dist/manifests/index.d.ts +2 -0
- package/vendor/packages/toolkit/dist/manifests/index.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/manifests/index.js +2 -0
- package/vendor/packages/toolkit/dist/manifests/index.js.map +1 -0
- package/vendor/packages/toolkit/dist/manifests/toolkit-manifest.d.ts +7 -0
- package/vendor/packages/toolkit/dist/manifests/toolkit-manifest.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/manifests/toolkit-manifest.js +72 -0
- package/vendor/packages/toolkit/dist/manifests/toolkit-manifest.js.map +1 -0
- package/vendor/packages/toolkit/dist/manifests.test.d.ts +2 -0
- package/vendor/packages/toolkit/dist/manifests.test.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/manifests.test.js +75 -0
- package/vendor/packages/toolkit/dist/manifests.test.js.map +1 -0
- package/vendor/packages/toolkit/dist/query/index.d.ts +2 -0
- package/vendor/packages/toolkit/dist/query/index.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/query/index.js +2 -0
- package/vendor/packages/toolkit/dist/query/index.js.map +1 -0
- package/vendor/packages/toolkit/dist/query/toolkit-query.d.ts +10 -0
- package/vendor/packages/toolkit/dist/query/toolkit-query.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/query/toolkit-query.js +49 -0
- package/vendor/packages/toolkit/dist/query/toolkit-query.js.map +1 -0
- package/vendor/packages/toolkit/dist/query.test.d.ts +2 -0
- package/vendor/packages/toolkit/dist/query.test.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/query.test.js +30 -0
- package/vendor/packages/toolkit/dist/query.test.js.map +1 -0
- package/vendor/packages/toolkit/dist/schema/asset-meta.d.ts +3 -0
- package/vendor/packages/toolkit/dist/schema/asset-meta.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/schema/asset-meta.js +130 -0
- package/vendor/packages/toolkit/dist/schema/asset-meta.js.map +1 -0
- package/vendor/packages/toolkit/dist/schema/asset-unit.d.ts +3 -0
- package/vendor/packages/toolkit/dist/schema/asset-unit.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/schema/asset-unit.js +22 -0
- package/vendor/packages/toolkit/dist/schema/asset-unit.js.map +1 -0
- package/vendor/packages/toolkit/dist/schema/index.d.ts +5 -0
- package/vendor/packages/toolkit/dist/schema/index.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/schema/index.js +5 -0
- package/vendor/packages/toolkit/dist/schema/index.js.map +1 -0
- package/vendor/packages/toolkit/dist/schema/kinds.d.ts +6 -0
- package/vendor/packages/toolkit/dist/schema/kinds.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/schema/kinds.js +24 -0
- package/vendor/packages/toolkit/dist/schema/kinds.js.map +1 -0
- package/vendor/packages/toolkit/dist/schema/manifest.d.ts +3 -0
- package/vendor/packages/toolkit/dist/schema/manifest.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/schema/manifest.js +30 -0
- package/vendor/packages/toolkit/dist/schema/manifest.js.map +1 -0
- package/vendor/packages/toolkit/dist/types.d.ts +80 -0
- package/vendor/packages/toolkit/dist/types.d.ts.map +1 -0
- package/vendor/packages/toolkit/dist/types.js +6 -0
- package/vendor/packages/toolkit/dist/types.js.map +1 -0
- package/vendor/packages/toolkit/package.json +35 -0
- package/vendor/packages/toolkit/src/content/agents/architect/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/agents/architect/body.md +34 -0
- package/vendor/packages/toolkit/src/content/agents/architect/meta.yaml +25 -0
- package/vendor/packages/toolkit/src/content/agents/backend-specialist/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/agents/backend-specialist/body.md +30 -0
- package/vendor/packages/toolkit/src/content/agents/backend-specialist/meta.yaml +24 -0
- package/vendor/packages/toolkit/src/content/agents/code-reviewer/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/agents/code-reviewer/body.md +31 -0
- package/vendor/packages/toolkit/src/content/agents/code-reviewer/meta.yaml +26 -0
- package/vendor/packages/toolkit/src/content/agents/frontend-specialist/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/agents/frontend-specialist/body.md +31 -0
- package/vendor/packages/toolkit/src/content/agents/frontend-specialist/meta.yaml +24 -0
- package/vendor/packages/toolkit/src/content/agents/performance-engineer/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/agents/performance-engineer/body.md +72 -0
- package/vendor/packages/toolkit/src/content/agents/performance-engineer/meta.yaml +24 -0
- package/vendor/packages/toolkit/src/content/agents/product-owner/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/agents/product-owner/body.md +32 -0
- package/vendor/packages/toolkit/src/content/agents/product-owner/meta.yaml +24 -0
- package/vendor/packages/toolkit/src/content/agents/security-auditor/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/agents/security-auditor/body.md +83 -0
- package/vendor/packages/toolkit/src/content/agents/security-auditor/meta.yaml +24 -0
- package/vendor/packages/toolkit/src/content/agents/test-engineer/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/agents/test-engineer/body.md +30 -0
- package/vendor/packages/toolkit/src/content/agents/test-engineer/meta.yaml +28 -0
- package/vendor/packages/toolkit/src/content/commands/api/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/api/body.md +24 -0
- package/vendor/packages/toolkit/src/content/commands/api/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/commands/build/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/build/body.md +37 -0
- package/vendor/packages/toolkit/src/content/commands/build/meta.yaml +26 -0
- package/vendor/packages/toolkit/src/content/commands/careful/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/careful/body.md +18 -0
- package/vendor/packages/toolkit/src/content/commands/careful/meta.yaml +17 -0
- package/vendor/packages/toolkit/src/content/commands/ci/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/ci/body.md +27 -0
- package/vendor/packages/toolkit/src/content/commands/ci/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/commands/commit/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/commit/body.md +26 -0
- package/vendor/packages/toolkit/src/content/commands/commit/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/commands/ctx-health/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/ctx-health/body.md +22 -0
- package/vendor/packages/toolkit/src/content/commands/ctx-health/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/commands/debug/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/debug/body.md +24 -0
- package/vendor/packages/toolkit/src/content/commands/debug/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/commands/doc/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/doc/body.md +23 -0
- package/vendor/packages/toolkit/src/content/commands/doc/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/commands/freeze/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/freeze/body.md +17 -0
- package/vendor/packages/toolkit/src/content/commands/freeze/meta.yaml +17 -0
- package/vendor/packages/toolkit/src/content/commands/guard/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/guard/body.md +17 -0
- package/vendor/packages/toolkit/src/content/commands/guard/meta.yaml +20 -0
- package/vendor/packages/toolkit/src/content/commands/idea/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/idea/body.md +23 -0
- package/vendor/packages/toolkit/src/content/commands/idea/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/commands/learn/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/learn/body.md +37 -0
- package/vendor/packages/toolkit/src/content/commands/learn/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/commands/migrate/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/migrate/body.md +24 -0
- package/vendor/packages/toolkit/src/content/commands/migrate/meta.yaml +20 -0
- package/vendor/packages/toolkit/src/content/commands/onboard/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/onboard/body.md +24 -0
- package/vendor/packages/toolkit/src/content/commands/onboard/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/commands/perf/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/perf/body.md +23 -0
- package/vendor/packages/toolkit/src/content/commands/perf/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/commands/plan-review/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/plan-review/body.md +28 -0
- package/vendor/packages/toolkit/src/content/commands/plan-review/meta.yaml +20 -0
- package/vendor/packages/toolkit/src/content/commands/qa/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/qa/body.md +24 -0
- package/vendor/packages/toolkit/src/content/commands/qa/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/commands/quality-review/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/quality-review/body.md +38 -0
- package/vendor/packages/toolkit/src/content/commands/quality-review/meta.yaml +22 -0
- package/vendor/packages/toolkit/src/content/commands/retro/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/retro/body.md +25 -0
- package/vendor/packages/toolkit/src/content/commands/retro/meta.yaml +20 -0
- package/vendor/packages/toolkit/src/content/commands/sdd-tdd/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/sdd-tdd/body.md +39 -0
- package/vendor/packages/toolkit/src/content/commands/sdd-tdd/meta.yaml +23 -0
- package/vendor/packages/toolkit/src/content/commands/secure/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/secure/body.md +23 -0
- package/vendor/packages/toolkit/src/content/commands/secure/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/commands/ship/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/ship/body.md +17 -0
- package/vendor/packages/toolkit/src/content/commands/ship/meta.yaml +21 -0
- package/vendor/packages/toolkit/src/content/commands/simplify/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/simplify/body.md +24 -0
- package/vendor/packages/toolkit/src/content/commands/simplify/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/commands/spec/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/spec/body.md +32 -0
- package/vendor/packages/toolkit/src/content/commands/spec/meta.yaml +23 -0
- package/vendor/packages/toolkit/src/content/commands/task-plan/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/task-plan/body.md +32 -0
- package/vendor/packages/toolkit/src/content/commands/task-plan/meta.yaml +23 -0
- package/vendor/packages/toolkit/src/content/commands/ui/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/ui/body.md +24 -0
- package/vendor/packages/toolkit/src/content/commands/ui/meta.yaml +20 -0
- package/vendor/packages/toolkit/src/content/commands/verify/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/commands/verify/body.md +32 -0
- package/vendor/packages/toolkit/src/content/commands/verify/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/skills/api-and-interface-design/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/api-and-interface-design/body.md +289 -0
- package/vendor/packages/toolkit/src/content/skills/api-and-interface-design/meta.yaml +21 -0
- package/vendor/packages/toolkit/src/content/skills/brainstorming-and-design/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/brainstorming-and-design/body.md +129 -0
- package/vendor/packages/toolkit/src/content/skills/brainstorming-and-design/meta.yaml +18 -0
- package/vendor/packages/toolkit/src/content/skills/branch-finish-and-cleanup/body.md +155 -0
- package/vendor/packages/toolkit/src/content/skills/branch-finish-and-cleanup/meta.yaml +17 -0
- package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/body.md +554 -0
- package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/meta.yaml +20 -0
- package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/body.md +417 -0
- package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/meta.yaml +21 -0
- package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/body.md +130 -0
- package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/meta.yaml +21 -0
- package/vendor/packages/toolkit/src/content/skills/code-simplification/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/code-simplification/body.md +326 -0
- package/vendor/packages/toolkit/src/content/skills/code-simplification/meta.yaml +21 -0
- package/vendor/packages/toolkit/src/content/skills/codebase-onboarding/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/codebase-onboarding/body.md +40 -0
- package/vendor/packages/toolkit/src/content/skills/codebase-onboarding/meta.yaml +20 -0
- package/vendor/packages/toolkit/src/content/skills/context-budget-audit/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/context-budget-audit/body.md +38 -0
- package/vendor/packages/toolkit/src/content/skills/context-budget-audit/meta.yaml +17 -0
- package/vendor/packages/toolkit/src/content/skills/context-engineering/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/context-engineering/body.md +55 -0
- package/vendor/packages/toolkit/src/content/skills/context-engineering/meta.yaml +17 -0
- package/vendor/packages/toolkit/src/content/skills/continuous-learning/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/continuous-learning/body.md +367 -0
- package/vendor/packages/toolkit/src/content/skills/continuous-learning/meta.yaml +18 -0
- package/vendor/packages/toolkit/src/content/skills/debugging-and-error-recovery/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/debugging-and-error-recovery/body.md +43 -0
- package/vendor/packages/toolkit/src/content/skills/debugging-and-error-recovery/meta.yaml +21 -0
- package/vendor/packages/toolkit/src/content/skills/deprecation-and-migration/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/deprecation-and-migration/body.md +201 -0
- package/vendor/packages/toolkit/src/content/skills/deprecation-and-migration/meta.yaml +21 -0
- package/vendor/packages/toolkit/src/content/skills/developer-experience-audit/body.md +49 -0
- package/vendor/packages/toolkit/src/content/skills/developer-experience-audit/meta.yaml +17 -0
- package/vendor/packages/toolkit/src/content/skills/documentation-and-adrs/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/documentation-and-adrs/body.md +61 -0
- package/vendor/packages/toolkit/src/content/skills/documentation-and-adrs/meta.yaml +21 -0
- package/vendor/packages/toolkit/src/content/skills/engineering-principles/body.md +54 -0
- package/vendor/packages/toolkit/src/content/skills/engineering-principles/meta.yaml +18 -0
- package/vendor/packages/toolkit/src/content/skills/frontend-ui-engineering/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/frontend-ui-engineering/body.md +324 -0
- package/vendor/packages/toolkit/src/content/skills/frontend-ui-engineering/meta.yaml +21 -0
- package/vendor/packages/toolkit/src/content/skills/git-workflow-and-versioning/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/git-workflow-and-versioning/body.md +319 -0
- package/vendor/packages/toolkit/src/content/skills/git-workflow-and-versioning/meta.yaml +21 -0
- package/vendor/packages/toolkit/src/content/skills/idea-refine/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/idea-refine/body.md +173 -0
- package/vendor/packages/toolkit/src/content/skills/idea-refine/meta.yaml +17 -0
- package/vendor/packages/toolkit/src/content/skills/incremental-implementation/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/incremental-implementation/body.md +43 -0
- package/vendor/packages/toolkit/src/content/skills/incremental-implementation/meta.yaml +20 -0
- package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/body.md +52 -0
- package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/meta.yaml +18 -0
- package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/body.md +351 -0
- package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/skills/performance-optimization/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/performance-optimization/body.md +345 -0
- package/vendor/packages/toolkit/src/content/skills/performance-optimization/meta.yaml +20 -0
- package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/body.md +48 -0
- package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/meta.yaml +20 -0
- package/vendor/packages/toolkit/src/content/skills/release-documentation-sync/body.md +54 -0
- package/vendor/packages/toolkit/src/content/skills/release-documentation-sync/meta.yaml +15 -0
- package/vendor/packages/toolkit/src/content/skills/review-response-and-resolution/body.md +61 -0
- package/vendor/packages/toolkit/src/content/skills/review-response-and-resolution/meta.yaml +18 -0
- package/vendor/packages/toolkit/src/content/skills/safety-guardrails/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/safety-guardrails/body.md +43 -0
- package/vendor/packages/toolkit/src/content/skills/safety-guardrails/meta.yaml +17 -0
- package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/body.md +371 -0
- package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/meta.yaml +25 -0
- package/vendor/packages/toolkit/src/content/skills/security-and-hardening/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/security-and-hardening/body.md +344 -0
- package/vendor/packages/toolkit/src/content/skills/security-and-hardening/meta.yaml +21 -0
- package/vendor/packages/toolkit/src/content/skills/shipping-and-launch/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/shipping-and-launch/body.md +55 -0
- package/vendor/packages/toolkit/src/content/skills/shipping-and-launch/meta.yaml +22 -0
- package/vendor/packages/toolkit/src/content/skills/source-driven-development/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/source-driven-development/body.md +186 -0
- package/vendor/packages/toolkit/src/content/skills/source-driven-development/meta.yaml +18 -0
- package/vendor/packages/toolkit/src/content/skills/spec-driven-development/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/spec-driven-development/body.md +49 -0
- package/vendor/packages/toolkit/src/content/skills/spec-driven-development/meta.yaml +20 -0
- package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/body.md +336 -0
- package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/meta.yaml +17 -0
- package/vendor/packages/toolkit/src/content/skills/subagent-driven-development/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/subagent-driven-development/body.md +228 -0
- package/vendor/packages/toolkit/src/content/skills/subagent-driven-development/meta.yaml +19 -0
- package/vendor/packages/toolkit/src/content/skills/team-orchestration/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/team-orchestration/body.md +372 -0
- package/vendor/packages/toolkit/src/content/skills/team-orchestration/meta.yaml +20 -0
- package/vendor/packages/toolkit/src/content/skills/test-driven-development/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/test-driven-development/body.md +374 -0
- package/vendor/packages/toolkit/src/content/skills/test-driven-development/meta.yaml +20 -0
- package/vendor/packages/toolkit/src/content/skills/using-agent-skills/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/using-agent-skills/body.md +169 -0
- package/vendor/packages/toolkit/src/content/skills/using-agent-skills/meta.yaml +23 -0
- package/vendor/packages/toolkit/src/content/skills/verification-before-completion/assets/.gitkeep +0 -0
- package/vendor/packages/toolkit/src/content/skills/verification-before-completion/body.md +68 -0
- package/vendor/packages/toolkit/src/content/skills/verification-before-completion/meta.yaml +20 -0
- package/vendor/packages/toolkit/templates/README.md +12 -0
- package/vendor/packages/toolkit/templates/asset-unit/assets/.gitkeep +1 -0
- package/vendor/packages/toolkit/templates/asset-unit/body.md +3 -0
- package/vendor/packages/toolkit/templates/asset-unit/meta.yaml +6 -0
- package/vendor/references/upstreams.yaml +89 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# 规格驱动开发
|
|
2
|
+
|
|
3
|
+
## 何时使用
|
|
4
|
+
|
|
5
|
+
- 启动新项目或新功能
|
|
6
|
+
- 需求不完整、存在歧义或只有模糊想法
|
|
7
|
+
- 变更会影响多个文件、模块或接口边界
|
|
8
|
+
- 需要先把“完成标准”说清楚再进入实现
|
|
9
|
+
|
|
10
|
+
不适用于单行修复、拼写修改或完全自包含的小改动。
|
|
11
|
+
|
|
12
|
+
## 输入前提
|
|
13
|
+
|
|
14
|
+
- 已知道当前要解决的大致问题
|
|
15
|
+
- 愿意先澄清假设,而不是边写边猜
|
|
16
|
+
- 接受规格会成为后续计划、实现和审查的共同事实来源
|
|
17
|
+
|
|
18
|
+
## 执行步骤
|
|
19
|
+
|
|
20
|
+
1. 先列出假设,显式暴露你准备默认成立的前提
|
|
21
|
+
2. 把模糊需求重写成具体、可验证的成功标准
|
|
22
|
+
3. 编写结构化规格,至少覆盖:
|
|
23
|
+
- Objective
|
|
24
|
+
- Commands
|
|
25
|
+
- Project Structure
|
|
26
|
+
- Code Style
|
|
27
|
+
- Testing Strategy
|
|
28
|
+
- Boundaries
|
|
29
|
+
4. 标记开放问题和风险点,等待人类确认
|
|
30
|
+
5. 规格确认后,再进入 `planning-and-task-breakdown`
|
|
31
|
+
|
|
32
|
+
## 成功标准
|
|
33
|
+
|
|
34
|
+
- 规格能清楚回答“做什么、为什么做、怎么判定完成”
|
|
35
|
+
- 假设和边界是显式的,而不是藏在正文里
|
|
36
|
+
- 成功标准是可测试的,不是感受性描述
|
|
37
|
+
- 人类可以基于规格明确批准或驳回方案
|
|
38
|
+
|
|
39
|
+
## 相关原则
|
|
40
|
+
|
|
41
|
+
- 先澄清假设,再写规格
|
|
42
|
+
- 规格先于实现,不接受“先写后补”
|
|
43
|
+
- 范围边界必须写出来,不能靠默契
|
|
44
|
+
|
|
45
|
+
## 与其他技能的衔接
|
|
46
|
+
|
|
47
|
+
- 与 `engineering-principles` 配合,约束规格阶段的工作方式
|
|
48
|
+
- 规格确认后交给 `planning-and-task-breakdown`
|
|
49
|
+
- 实现阶段由 `incremental-implementation` 和 `test-driven-development` 消费规格
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
kind: skill
|
|
2
|
+
name: spec-driven-development
|
|
3
|
+
title: 规格驱动开发
|
|
4
|
+
description: 先写规格,再写代码。适用于启动新项目、新功能或重大变更,且尚未存在规格说明的场景;也适用于需求不清晰、存在歧义或只有模糊想法的情况。
|
|
5
|
+
tier: core
|
|
6
|
+
audience: default
|
|
7
|
+
stability: stable
|
|
8
|
+
suggests:
|
|
9
|
+
- skill:engineering-principles
|
|
10
|
+
platforms:
|
|
11
|
+
- qwen
|
|
12
|
+
- codex
|
|
13
|
+
- qoder
|
|
14
|
+
source:
|
|
15
|
+
upstream: agent-skills
|
|
16
|
+
strategy: adapted
|
|
17
|
+
origin_name: spec-driven-development
|
|
18
|
+
origin_path: skills/spec-driven-development/SKILL.md
|
|
19
|
+
origin_id: skill:spec-driven-development
|
|
20
|
+
notes: 规格先行的主工作流来自上游方法论,并按本仓库术语重写
|
|
File without changes
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
# Sprint Retrospective
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The retrospective closes the feedback loop: **Think → Plan → Build → Review → Reflect**. Without it, you repeat mistakes, forget wins, and let process drift go unnoticed.
|
|
6
|
+
|
|
7
|
+
A good retro is not a blame session. It's a data-driven inspection of what happened, why it happened, and what concrete actions follow. The output is a short list of improvements with owners and deadlines — not a philosophical essay about team culture.
|
|
8
|
+
|
|
9
|
+
**The standard:** Every retro produces at least one measurable action item that changes how the next cycle works. If a retro produces zero changes, it was theater.
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- After completing an SDD+TDD cycle (the natural "Reflect" phase)
|
|
14
|
+
- After finishing a week-long development sprint
|
|
15
|
+
- After a project milestone is delivered
|
|
16
|
+
- After a production incident or major unexpected change
|
|
17
|
+
- When you notice recurring friction but can't pinpoint the cause
|
|
18
|
+
- Before starting a new major initiative (retrospect on the last one first)
|
|
19
|
+
|
|
20
|
+
## The Retrospective Flow
|
|
21
|
+
|
|
22
|
+
### Step 1: Data Collection — Git & Project Metrics
|
|
23
|
+
|
|
24
|
+
Start with facts, not feelings. Gather quantitative data before any discussion.
|
|
25
|
+
|
|
26
|
+
**Git statistics to collect:**
|
|
27
|
+
```
|
|
28
|
+
git log --oneline --since="<sprint-start>" --until="<sprint-end>" | wc -l # commit count
|
|
29
|
+
git diff --stat <start-sha>..<end-sha> # files changed, insertions/deletions
|
|
30
|
+
git shortlog -sn --since="<sprint-start>" # commits per author/agent
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Key metrics to extract:**
|
|
34
|
+
```
|
|
35
|
+
SPRINT DATA COLLECTION:
|
|
36
|
+
- Total commits: ___
|
|
37
|
+
- Files changed: ___
|
|
38
|
+
- Lines added: ___
|
|
39
|
+
- Lines deleted: ___
|
|
40
|
+
- Net LOC change: ___ (added minus deleted)
|
|
41
|
+
- Test files added/modified: ___
|
|
42
|
+
- Spec files created/updated: ___
|
|
43
|
+
- Number of PRs/merges: ___
|
|
44
|
+
- Average PR size (lines changed): ___
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Automation tip:** If using a monorepo, scope stats to the relevant package or directory. Noise from unrelated areas corrupts the analysis.
|
|
48
|
+
|
|
49
|
+
**Test coverage delta:**
|
|
50
|
+
```
|
|
51
|
+
Coverage at sprint start: ___%
|
|
52
|
+
Coverage at sprint end: ___%
|
|
53
|
+
Delta: ___% (positive = improvement)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Step 2: What Went Well
|
|
57
|
+
|
|
58
|
+
Identify decisions, practices, and patterns that worked. Be specific — "good teamwork" is useless; "splitting the auth module into three focused PRs made review 3x faster" is actionable.
|
|
59
|
+
|
|
60
|
+
**Questions to answer:**
|
|
61
|
+
- Which technical decisions paid off? Why?
|
|
62
|
+
- Which process practices saved time or caught issues early?
|
|
63
|
+
- Were there moments where TDD or spec-first approach prevented bugs?
|
|
64
|
+
- Did any tool, pattern, or convention prove especially valuable?
|
|
65
|
+
- What would you deliberately repeat in the next cycle?
|
|
66
|
+
|
|
67
|
+
**Format each item as:**
|
|
68
|
+
```
|
|
69
|
+
✓ [What happened] → [Why it worked] → [How to reinforce it]
|
|
70
|
+
Example:
|
|
71
|
+
✓ Writing integration tests before refactoring the payment module
|
|
72
|
+
→ Caught 3 regression bugs during refactoring that unit tests missed
|
|
73
|
+
→ Continue requiring integration tests for any module with external dependencies
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Step 3: What Didn't Go Well
|
|
77
|
+
|
|
78
|
+
Identify problems, bottlenecks, surprises, and friction. No blame — focus on systemic causes, not individual mistakes.
|
|
79
|
+
|
|
80
|
+
**Questions to answer:**
|
|
81
|
+
- Where did you spend time that didn't produce value?
|
|
82
|
+
- What tasks took significantly longer than estimated? Why?
|
|
83
|
+
- Were there repeated context switches or interruptions?
|
|
84
|
+
- Did any technical decision create unexpected problems?
|
|
85
|
+
- Were there communication gaps (unclear specs, missing context)?
|
|
86
|
+
- Did any dependency or external factor block progress?
|
|
87
|
+
|
|
88
|
+
**Format each item as:**
|
|
89
|
+
```
|
|
90
|
+
✗ [What happened] → [Root cause] → [Impact]
|
|
91
|
+
Example:
|
|
92
|
+
✗ Database migration failed in staging after passing locally
|
|
93
|
+
→ Root cause: local DB had stale test data that masked a constraint violation
|
|
94
|
+
→ Impact: 4 hours debugging + delayed the release by 1 day
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**The Five Whys:** For significant problems, ask "why" five times to find the root cause. Surface symptoms hide systemic issues.
|
|
98
|
+
|
|
99
|
+
### Step 4: Spec Drift Check
|
|
100
|
+
|
|
101
|
+
Compare the final deliverable against the original specification. Drift is normal — unacknowledged drift is dangerous.
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
SPEC DRIFT ANALYSIS:
|
|
105
|
+
- Original spec items: ___
|
|
106
|
+
- Delivered as specified: ___
|
|
107
|
+
- Delivered with modifications: ___
|
|
108
|
+
- Deferred to next cycle: ___
|
|
109
|
+
- Added (not in original spec): ___
|
|
110
|
+
- Dropped (decided not to do): ___
|
|
111
|
+
|
|
112
|
+
Drift rate: (modified + deferred + added + dropped) / original × 100 = ___%
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Acceptable drift:** 10–20% is normal for a healthy cycle. Scope adjustments happen.
|
|
116
|
+
|
|
117
|
+
**Warning signs:**
|
|
118
|
+
- Drift > 30%: Specs are not detailed enough, or requirements changed mid-cycle without formal acknowledgment
|
|
119
|
+
- Many "added" items: Scope creep — features being added without cutting something else
|
|
120
|
+
- Many "deferred" items: Over-commitment — planning more than capacity allows
|
|
121
|
+
- Modifications without spec updates: The spec is now a lie — update it or delete it
|
|
122
|
+
|
|
123
|
+
### Step 5: Process Health Metrics
|
|
124
|
+
|
|
125
|
+
Evaluate how well the development process itself performed.
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
PROCESS HEALTH:
|
|
129
|
+
- TDD compliance rate: ___% (changes with tests written first / total changes)
|
|
130
|
+
- Spec coverage: ___% (features with specs / total features)
|
|
131
|
+
- Review pass rate: ___% (PRs approved on first review / total PRs)
|
|
132
|
+
- Build stability: ___% (green builds / total builds)
|
|
133
|
+
- Verification pass rate: ___% (changes passing verification on first attempt)
|
|
134
|
+
- Avg time from PR open to merge: ___
|
|
135
|
+
- Rework rate: ___% (commits that fix issues in same-sprint code)
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Healthy benchmarks:**
|
|
139
|
+
| Metric | Healthy | Warning | Critical |
|
|
140
|
+
|--------|---------|---------|----------|
|
|
141
|
+
| TDD compliance | >80% | 50–80% | <50% |
|
|
142
|
+
| Review pass rate | >60% | 30–60% | <30% |
|
|
143
|
+
| Build stability | >90% | 70–90% | <70% |
|
|
144
|
+
| Spec drift | <20% | 20–30% | >30% |
|
|
145
|
+
| Rework rate | <15% | 15–30% | >30% |
|
|
146
|
+
|
|
147
|
+
### Step 6: Action Items
|
|
148
|
+
|
|
149
|
+
The most important step. Every problem identified must either get an action item or an explicit "accepted — not worth fixing."
|
|
150
|
+
|
|
151
|
+
**Each action item must have:**
|
|
152
|
+
```
|
|
153
|
+
ACTION ITEM:
|
|
154
|
+
- What: [Specific, measurable change]
|
|
155
|
+
- Why: [Which problem from Steps 3–5 does this address]
|
|
156
|
+
- Owner: [Who is responsible for implementing this]
|
|
157
|
+
- Deadline: [When will this be done — must be before next retro]
|
|
158
|
+
- Success: [How do we know it worked]
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Rules for action items:**
|
|
162
|
+
1. **Maximum 3–5 items per retro.** More than 5 means nothing gets done. Prioritize ruthlessly.
|
|
163
|
+
2. **Must be specific.** "Improve testing" is not an action item. "Add integration tests for all payment endpoints by Friday" is.
|
|
164
|
+
3. **Must have an owner.** Unowned items are wishes, not actions.
|
|
165
|
+
4. **Must have a deadline.** Items without deadlines drift indefinitely.
|
|
166
|
+
5. **Review last retro's items first.** Before creating new items, check: did last cycle's actions get completed? If not, why?
|
|
167
|
+
|
|
168
|
+
**Anti-patterns in action items:**
|
|
169
|
+
| Bad | Good |
|
|
170
|
+
|-----|------|
|
|
171
|
+
| "Write more tests" | "Achieve 80% coverage on `src/core/` by end of next sprint" |
|
|
172
|
+
| "Improve code review" | "Add a review checklist to the PR template by Wednesday" |
|
|
173
|
+
| "Be more careful with migrations" | "Add a staging migration dry-run step to CI pipeline by Friday" |
|
|
174
|
+
| "Communicate better" | "Write a 3-line summary in each PR description explaining the 'why'" |
|
|
175
|
+
|
|
176
|
+
### Step 7: Knowledge Capture
|
|
177
|
+
|
|
178
|
+
Record lessons that have value beyond this sprint. These become organizational memory.
|
|
179
|
+
|
|
180
|
+
**What to capture:**
|
|
181
|
+
- Technical discoveries (performance tricks, library gotchas, infrastructure quirks)
|
|
182
|
+
- Process insights (what made this cycle smoother or harder than usual)
|
|
183
|
+
- Decision rationale (why did we choose approach A over B — future you will ask)
|
|
184
|
+
- Reusable patterns (solutions that should become templates or utilities)
|
|
185
|
+
|
|
186
|
+
**Format:**
|
|
187
|
+
```
|
|
188
|
+
LESSON LEARNED:
|
|
189
|
+
- Context: [Situation that triggered the learning]
|
|
190
|
+
- Insight: [What we now know]
|
|
191
|
+
- Application: [How to apply this going forward]
|
|
192
|
+
- Tags: [Keywords for future retrieval]
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**Where to store:** Use the AI memory system, project wiki, or ADR (Architecture Decision Records) depending on the type of knowledge. Technical decisions → ADR. Process insights → retro archive. Reusable code patterns → shared utilities.
|
|
196
|
+
|
|
197
|
+
## Output Template
|
|
198
|
+
|
|
199
|
+
```markdown
|
|
200
|
+
# Sprint Retrospective: [Sprint Name / Date Range]
|
|
201
|
+
|
|
202
|
+
## Period
|
|
203
|
+
- Start: YYYY-MM-DD
|
|
204
|
+
- End: YYYY-MM-DD
|
|
205
|
+
|
|
206
|
+
## Metrics Summary
|
|
207
|
+
| Metric | Value | Trend |
|
|
208
|
+
|--------|-------|-------|
|
|
209
|
+
| Commits | ___ | ↑/↓/→ |
|
|
210
|
+
| Lines added | ___ | |
|
|
211
|
+
| Lines deleted | ___ | |
|
|
212
|
+
| Net LOC | ___ | |
|
|
213
|
+
| Test coverage | ___% | |
|
|
214
|
+
| PR count | ___ | |
|
|
215
|
+
| Avg PR size | ___ lines | |
|
|
216
|
+
|
|
217
|
+
## What Went Well
|
|
218
|
+
1. ...
|
|
219
|
+
2. ...
|
|
220
|
+
|
|
221
|
+
## What Didn't Go Well
|
|
222
|
+
1. ...
|
|
223
|
+
2. ...
|
|
224
|
+
|
|
225
|
+
## Spec Drift
|
|
226
|
+
- Drift rate: ___%
|
|
227
|
+
- Key deviations: ...
|
|
228
|
+
|
|
229
|
+
## Process Health
|
|
230
|
+
| Metric | Value | Status |
|
|
231
|
+
|--------|-------|--------|
|
|
232
|
+
| TDD compliance | ___% | ✓/⚠/✗ |
|
|
233
|
+
| Review pass rate | ___% | ✓/⚠/✗ |
|
|
234
|
+
| Build stability | ___% | ✓/⚠/✗ |
|
|
235
|
+
| Rework rate | ___% | ✓/⚠/✗ |
|
|
236
|
+
|
|
237
|
+
## Previous Action Items Review
|
|
238
|
+
- [ ] [Item from last retro] — Status: Done/In Progress/Not Started
|
|
239
|
+
|
|
240
|
+
## New Action Items
|
|
241
|
+
1. **[What]** — Owner: ___ — Deadline: ___ — Addresses: [problem ref]
|
|
242
|
+
2. ...
|
|
243
|
+
3. ...
|
|
244
|
+
|
|
245
|
+
## Lessons Learned
|
|
246
|
+
1. ...
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
## Quantitative Indicators to Track Over Time
|
|
250
|
+
|
|
251
|
+
Track these across sprints to spot trends:
|
|
252
|
+
|
|
253
|
+
**Velocity indicators:**
|
|
254
|
+
- Commits per sprint (is pace sustainable?)
|
|
255
|
+
- Net LOC change (is codebase growing/shrinking appropriately?)
|
|
256
|
+
- Features delivered vs. planned (commitment accuracy)
|
|
257
|
+
|
|
258
|
+
**Quality indicators:**
|
|
259
|
+
- Test coverage trend (improving or degrading?)
|
|
260
|
+
- Rework rate (are we fixing our own bugs within the sprint?)
|
|
261
|
+
- Review pass rate (is code quality at submission improving?)
|
|
262
|
+
- Build break frequency (is CI staying green?)
|
|
263
|
+
|
|
264
|
+
**Process indicators:**
|
|
265
|
+
- Spec drift rate (are we getting better at planning?)
|
|
266
|
+
- TDD compliance (are we actually doing what we say we do?)
|
|
267
|
+
- Time from PR open to merge (is review a bottleneck?)
|
|
268
|
+
- Action item completion rate from previous retros (do retros actually change anything?)
|
|
269
|
+
|
|
270
|
+
## Red Flags
|
|
271
|
+
|
|
272
|
+
These signals mean the process needs immediate attention:
|
|
273
|
+
|
|
274
|
+
- **Retro produces no action items** — The retro was performative, not useful
|
|
275
|
+
- **Same problems appear in consecutive retros** — Action items aren't working or aren't being implemented
|
|
276
|
+
- **Action item completion rate < 50%** — You're creating items you can't or won't do
|
|
277
|
+
- **Spec drift > 40%** — Planning is disconnected from reality
|
|
278
|
+
- **Rework rate > 30%** — Quality at first submission is too low
|
|
279
|
+
- **Test coverage declining sprint over sprint** — Technical debt is accumulating
|
|
280
|
+
- **Build stability < 70%** — The CI pipeline is unreliable and people stop trusting it
|
|
281
|
+
- **No one can name what went well** — Morale problem or lack of awareness of team wins
|
|
282
|
+
- **Retro skipped "because we're too busy"** — The team most needing reflection is avoiding it
|
|
283
|
+
- **All action items are vague or lack owners** — The retro is generating wishes, not commitments
|
|
284
|
+
|
|
285
|
+
## Integration with SDD+TDD Workflow
|
|
286
|
+
|
|
287
|
+
The retrospective is **Phase 5: Reflect** in the full development cycle:
|
|
288
|
+
|
|
289
|
+
```
|
|
290
|
+
Phase 1: Spec → Define what to build (spec-driven-development)
|
|
291
|
+
Phase 2: Design → Design the solution (sdd-tdd-workflow)
|
|
292
|
+
Phase 3: Build → Implement with TDD (test-driven-development)
|
|
293
|
+
Phase 4: Review → Verify quality (code-review-and-quality)
|
|
294
|
+
Phase 5: Reflect → Retrospect and improve (this skill)
|
|
295
|
+
│
|
|
296
|
+
└──→ Feed improvements back into Phase 1 of the next cycle
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
**What flows from retro back into the next cycle:**
|
|
300
|
+
- Spec drift insights → Better spec writing in Phase 1
|
|
301
|
+
- Review feedback patterns → Updated review checklists in Phase 4
|
|
302
|
+
- TDD compliance gaps → Adjusted TDD practices in Phase 3
|
|
303
|
+
- Process bottlenecks → Workflow changes for the next sprint
|
|
304
|
+
- Technical lessons → Updated conventions and patterns
|
|
305
|
+
|
|
306
|
+
## Common Rationalizations
|
|
307
|
+
|
|
308
|
+
| Rationalization | Reality |
|
|
309
|
+
|---|---|
|
|
310
|
+
| "We don't have time for retros" | You don't have time to keep making the same mistakes. A 30-minute retro saves hours of repeated friction. |
|
|
311
|
+
| "Everything went fine, nothing to discuss" | No sprint is perfect. If you can't find improvements, you're not looking hard enough. |
|
|
312
|
+
| "We already know what to improve" | Knowing and doing are different. The retro creates accountability through action items with owners. |
|
|
313
|
+
| "Metrics don't apply to our work" | If you can't measure it, you can't improve it. Even rough numbers beat no numbers. |
|
|
314
|
+
| "Action items from last retro weren't relevant anymore" | Then the retro failed at creating durable improvements. Make items smaller and more immediate. |
|
|
315
|
+
|
|
316
|
+
## See Also
|
|
317
|
+
|
|
318
|
+
- For spec-driven development workflow, see `spec-driven-development`
|
|
319
|
+
- For TDD practices, see `test-driven-development`
|
|
320
|
+
- For code review process, see `code-review-and-quality`
|
|
321
|
+
- For SDD+TDD combined workflow, see `sdd-tdd-workflow`
|
|
322
|
+
- For task planning and breakdown, see `planning-and-task-breakdown`
|
|
323
|
+
|
|
324
|
+
## Verification
|
|
325
|
+
|
|
326
|
+
After completing a retrospective:
|
|
327
|
+
|
|
328
|
+
- [ ] Git metrics collected and documented
|
|
329
|
+
- [ ] What went well — at least 3 specific items identified
|
|
330
|
+
- [ ] What didn't go well — root causes analyzed (not just symptoms)
|
|
331
|
+
- [ ] Spec drift calculated and analyzed
|
|
332
|
+
- [ ] Process health metrics computed against benchmarks
|
|
333
|
+
- [ ] Previous retro's action items reviewed for completion
|
|
334
|
+
- [ ] New action items created (3–5 max, each with owner + deadline)
|
|
335
|
+
- [ ] Lessons captured in appropriate knowledge stores
|
|
336
|
+
- [ ] Retro report saved in project archive
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
kind: skill
|
|
2
|
+
name: sprint-retrospective
|
|
3
|
+
title: 迭代回顾
|
|
4
|
+
description: 在开发周期结束后执行结构化 Sprint 回顾。适用于完成一轮 SDD+TDD、结束一周工作、达到里程碑或事故恢复后,通过 git 指标、Spec 偏差和瓶颈分析产出可执行改进项。
|
|
5
|
+
tier: recommended
|
|
6
|
+
audience: default
|
|
7
|
+
stability: stable
|
|
8
|
+
suggests:
|
|
9
|
+
- skill:documentation-and-adrs
|
|
10
|
+
platforms:
|
|
11
|
+
- qwen
|
|
12
|
+
- codex
|
|
13
|
+
- qoder
|
|
14
|
+
source:
|
|
15
|
+
upstream: toolkit-original
|
|
16
|
+
strategy: curated
|
|
17
|
+
notes: 本仓库为开发周期闭环补充的回顾能力。
|
package/vendor/packages/toolkit/src/content/skills/subagent-driven-development/assets/.gitkeep
ADDED
|
File without changes
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# Subagent-Driven Development
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
通过为每个任务分派独立的子代理来执行实现计划,每个任务完成后进行两阶段审查:先验证规格合规性,再验证代码质量。
|
|
6
|
+
|
|
7
|
+
**核心原则:每任务一个新子代理 + 两阶段审查 = 高质量 + 快速迭代**
|
|
8
|
+
|
|
9
|
+
为什么要用子代理:你将任务委派给隔离上下文的专门代理。通过精心构造它们的指令和上下文,确保它们专注且成功。子代理不应继承你的会话上下文 — 你精确构造它们所需的一切。这也保护你自己的上下文用于协调工作。
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
决策树:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
有实现计划? ─── 否 ──→ 先用 /task-plan 或 brainstorming-and-design
|
|
17
|
+
│
|
|
18
|
+
是
|
|
19
|
+
▼
|
|
20
|
+
任务大多独立? ─── 否(紧耦合)──→ 手动执行或串行构建
|
|
21
|
+
│
|
|
22
|
+
是
|
|
23
|
+
▼
|
|
24
|
+
需要并行执行? ─── 否 ──→ subagent-driven-development(本技能)
|
|
25
|
+
│
|
|
26
|
+
是
|
|
27
|
+
▼
|
|
28
|
+
parallel-agent-dispatch
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### vs 手动执行
|
|
32
|
+
- 子代理自然遵循 TDD
|
|
33
|
+
- 每任务新鲜上下文(无污染)
|
|
34
|
+
- 子代理可以在开始前提问
|
|
35
|
+
- 审查检查点自动化
|
|
36
|
+
|
|
37
|
+
### vs parallel-agent-dispatch
|
|
38
|
+
- 本技能:串行执行,同一会话,持续推进
|
|
39
|
+
- parallel-agent-dispatch:并行执行,多代理同时工作
|
|
40
|
+
|
|
41
|
+
## 执行流程
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
读取计划,提取所有任务
|
|
45
|
+
│
|
|
46
|
+
▼
|
|
47
|
+
┌─────────────────── 每个任务循环 ───────────────────┐
|
|
48
|
+
│ │
|
|
49
|
+
│ 1. 分派实现子代理(携带完整任务文本 + 上下文) │
|
|
50
|
+
│ │ │
|
|
51
|
+
│ ├─ 子代理提问? → 提供上下文,重新分派 │
|
|
52
|
+
│ │ │
|
|
53
|
+
│ └─ 子代理实现 → 测试 → 提交 → 自审 │
|
|
54
|
+
│ │
|
|
55
|
+
│ 2. 分派规格审查子代理 │
|
|
56
|
+
│ │ │
|
|
57
|
+
│ ├─ 规格不合规? → 实现者修复 → 重新审查 │
|
|
58
|
+
│ │ │
|
|
59
|
+
│ └─ 规格合规 ✓ │
|
|
60
|
+
│ │
|
|
61
|
+
│ 3. 分派代码质量审查子代理 │
|
|
62
|
+
│ │ │
|
|
63
|
+
│ ├─ 质量不过关? → 实现者修复 → 重新审查 │
|
|
64
|
+
│ │ │
|
|
65
|
+
│ └─ 质量通过 ✓ │
|
|
66
|
+
│ │
|
|
67
|
+
│ 4. 标记任务完成 │
|
|
68
|
+
│ │
|
|
69
|
+
└──────────────── 更多任务?继续循环 ─────────────────┘
|
|
70
|
+
│
|
|
71
|
+
▼
|
|
72
|
+
分派最终代码审查子代理(整体实现)
|
|
73
|
+
│
|
|
74
|
+
▼
|
|
75
|
+
完成
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## 三个角色
|
|
79
|
+
|
|
80
|
+
### 实现者(Implementer)
|
|
81
|
+
|
|
82
|
+
职责:按任务规格实现代码,遵循 TDD,提交变更。
|
|
83
|
+
|
|
84
|
+
提示模板要点:
|
|
85
|
+
```
|
|
86
|
+
你是一个实现代理。你的任务是:
|
|
87
|
+
- 严格按照给定的任务规格实现
|
|
88
|
+
- 遵循 TDD:先写失败测试,再写最小实现
|
|
89
|
+
- 完成后执行内联自审检查清单,修复发现的问题
|
|
90
|
+
- 提交代码
|
|
91
|
+
|
|
92
|
+
任务文本:[完整任务描述]
|
|
93
|
+
相关上下文:[文件列表、模式示例、约束]
|
|
94
|
+
项目约定:[命名、目录结构、测试框架]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**实现者内联自审检查清单**(提交前必做,替代部分审查子代理开销):
|
|
98
|
+
1. **规格覆盖扫描** — 逐条检查任务要求,确认每条都已实现,无遗漏无多余
|
|
99
|
+
2. **占位符扫描** — 搜索 TODO、TBD、FIXME、空方法体、硬编码魔法值
|
|
100
|
+
3. **一致性检查** — 命名是否与计划中其他任务一致?接口签名是否匹配?
|
|
101
|
+
4. **简洁性检查** — 是否存在过度工程?能否用更少代码实现同样效果?
|
|
102
|
+
|
|
103
|
+
### 规格审查员(Spec Reviewer)
|
|
104
|
+
|
|
105
|
+
职责:验证实现是否完全匹配任务规格 — 不多不少。
|
|
106
|
+
|
|
107
|
+
审查要点:
|
|
108
|
+
```
|
|
109
|
+
- 所有规格要求是否都已实现?
|
|
110
|
+
- 是否有超出规格的额外实现?(over-building)
|
|
111
|
+
- 接口是否与规格一致?
|
|
112
|
+
- 测试是否覆盖规格中的验收条件?
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### 代码质量审查员(Code Quality Reviewer)
|
|
116
|
+
|
|
117
|
+
职责:检查实现的工程质量(不关心规格合规,那是上一步的事)。
|
|
118
|
+
|
|
119
|
+
审查要点:
|
|
120
|
+
```
|
|
121
|
+
- 代码可读性和清晰度
|
|
122
|
+
- 命名一致性
|
|
123
|
+
- 错误处理完整性
|
|
124
|
+
- 性能考量
|
|
125
|
+
- 安全实践
|
|
126
|
+
- 测试质量
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## 子代理状态处理
|
|
130
|
+
|
|
131
|
+
子代理报告四种状态之一:
|
|
132
|
+
|
|
133
|
+
| 状态 | 含义 | 处理方式 |
|
|
134
|
+
|------|------|---------|
|
|
135
|
+
| **DONE** | 任务完成 | 进入规格审查 |
|
|
136
|
+
| **DONE_WITH_CONCERNS** | 完成但有疑虑 | 先读取疑虑,评估后决定是否处理 |
|
|
137
|
+
| **NEEDS_CONTEXT** | 需要更多信息 | 提供缺失上下文,重新分派 |
|
|
138
|
+
| **BLOCKED** | 无法完成 | 评估阻塞原因(见下方) |
|
|
139
|
+
|
|
140
|
+
**BLOCKED 的处理:**
|
|
141
|
+
1. 如果是上下文问题 → 提供更多上下文,重新分派
|
|
142
|
+
2. 如果任务需要更强推理 → 用更强模型重新分派
|
|
143
|
+
3. 如果任务太大 → 拆分为更小的子任务
|
|
144
|
+
4. 如果计划本身有问题 → 上报给人类
|
|
145
|
+
|
|
146
|
+
**永远不要忽略阻塞或让同一模型不做任何改变就重试。** 如果子代理说卡住了,必须有所改变。
|
|
147
|
+
|
|
148
|
+
## 审查策略选择
|
|
149
|
+
|
|
150
|
+
并非所有任务都需要完整的三角色审查流。根据任务复杂度选择审查策略:
|
|
151
|
+
|
|
152
|
+
| 任务特征 | 推荐审查策略 |
|
|
153
|
+
|---------|------------|
|
|
154
|
+
| 涉及 1-2 个文件,规格明确,机械性实现 | **轻量审查**:仅实现者自审 + 代码质量审查(跳过规格审查子代理) |
|
|
155
|
+
| 涉及多文件,有接口/集成关注点 | **标准审查**:完整三角色(实现者自审 + 规格审查 + 质量审查) |
|
|
156
|
+
| 涉及设计判断或广泛代码库理解 | **加强审查**:完整三角色 + 更强模型 |
|
|
157
|
+
|
|
158
|
+
> **经验参考**:superpowers 项目实测发现,充分的实现者自审可替代大部分审查子代理的工作,将单任务审查时间从 ~25min 降至 ~30s,且缺陷捕获率相当。关键在于实现者自审检查清单的严格执行。
|
|
159
|
+
|
|
160
|
+
## 模型选择指南
|
|
161
|
+
|
|
162
|
+
用最经济的模型处理每个角色,节省成本提高速度。
|
|
163
|
+
|
|
164
|
+
| 任务复杂度信号 | 推荐模型级别 |
|
|
165
|
+
|--------------|------------|
|
|
166
|
+
| 涉及 1-2 个文件,规格完整 | 快速/经济模型 |
|
|
167
|
+
| 涉及多文件,有集成关注点 | 标准模型 |
|
|
168
|
+
| 需要设计判断或广泛代码库理解 | 最强模型 |
|
|
169
|
+
|
|
170
|
+
大多数实现任务在计划良好时都是机械性的 → 用快速模型。
|
|
171
|
+
|
|
172
|
+
审查任务需要判断力 → 用标准或更强模型。
|
|
173
|
+
|
|
174
|
+
## 示例工作流
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
控制器:按子代理驱动模式执行计划。
|
|
178
|
+
|
|
179
|
+
[读取计划文件,提取全部 5 个任务的完整文本和上下文]
|
|
180
|
+
[创建 TodoWrite 追踪所有任务]
|
|
181
|
+
|
|
182
|
+
Task 1: 用户认证模块
|
|
183
|
+
├─ [分派实现子代理 + 完整任务文本 + 上下文]
|
|
184
|
+
├─ 实现者:"开始前确认 — 密码哈希用 bcrypt 还是 argon2?"
|
|
185
|
+
├─ 控制器:"用 argon2,项目中已有依赖"
|
|
186
|
+
├─ 实现者:实现完成,5/5 测试通过,已提交
|
|
187
|
+
├─ [分派规格审查子代理]
|
|
188
|
+
├─ 规格审查:✅ 所有要求满足,无额外内容
|
|
189
|
+
├─ [分派代码质量审查子代理]
|
|
190
|
+
├─ 质量审查:✅ 通过
|
|
191
|
+
└─ [标记 Task 1 完成]
|
|
192
|
+
|
|
193
|
+
Task 2: 会话管理
|
|
194
|
+
├─ [分派实现子代理 + 完整任务文本 + 上下文]
|
|
195
|
+
├─ 实现者:实现完成,8/8 测试通过
|
|
196
|
+
├─ [分派规格审查子代理]
|
|
197
|
+
├─ 规格审查:❌ 缺少"每100项报告进度"的要求
|
|
198
|
+
├─ 实现者:修复,添加进度报告
|
|
199
|
+
├─ 规格审查:✅ 合规
|
|
200
|
+
├─ [分派代码质量审查子代理]
|
|
201
|
+
├─ 质量审查:有 Magic Number (100)
|
|
202
|
+
├─ 实现者:提取为 PROGRESS_INTERVAL 常量
|
|
203
|
+
├─ 质量审查:✅ 通过
|
|
204
|
+
└─ [标记 Task 2 完成]
|
|
205
|
+
|
|
206
|
+
... 重复直到所有任务完成 ...
|
|
207
|
+
|
|
208
|
+
[分派最终整体审查子代理]
|
|
209
|
+
最终审查:✅ 所有要求满足,可合并
|
|
210
|
+
完成!
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## 与其他技能的衔接
|
|
214
|
+
|
|
215
|
+
- **planning-and-task-breakdown** — 上游:生成子代理执行的任务计划
|
|
216
|
+
- **test-driven-development** — 每个实现子代理内部遵循 TDD 循环
|
|
217
|
+
- **verification-before-completion** — 每个审查阶段遵循验证铁律
|
|
218
|
+
- **code-review-and-quality** — 最终整体审查使用五维度审查
|
|
219
|
+
- **parallel-agent-dispatch** — 姊妹技能:并行版本的子代理调度
|
|
220
|
+
|
|
221
|
+
## Red Flags
|
|
222
|
+
|
|
223
|
+
- 控制器直接动手实现而不分派子代理
|
|
224
|
+
- 跳过规格审查直接进入代码质量审查
|
|
225
|
+
- 子代理报告 BLOCKED 后不做改变就重试
|
|
226
|
+
- 所有任务用同一个最强模型(浪费资源)
|
|
227
|
+
- 子代理间共享上下文(违背隔离原则)
|
|
228
|
+
- 没有最终的整体审查就声明完成
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
kind: skill
|
|
2
|
+
name: subagent-driven-development
|
|
3
|
+
title: 子代理驱动开发
|
|
4
|
+
description: 在执行实现计划且任务彼此独立时使用。为每个任务派发全新子代理,并配套规范符合性与代码质量两阶段审查,以提升迭代速度和上下文隔离质量。
|
|
5
|
+
tier: recommended
|
|
6
|
+
audience: advanced
|
|
7
|
+
stability: stable
|
|
8
|
+
suggests:
|
|
9
|
+
- skill:planning-and-task-breakdown
|
|
10
|
+
- skill:verification-before-completion
|
|
11
|
+
- skill:code-review-and-quality
|
|
12
|
+
platforms:
|
|
13
|
+
- qwen
|
|
14
|
+
- codex
|
|
15
|
+
- qoder
|
|
16
|
+
source:
|
|
17
|
+
upstream: toolkit-original
|
|
18
|
+
strategy: curated
|
|
19
|
+
notes: 本仓库围绕串行子代理开发流程整理的原生能力。
|
|
File without changes
|