xtep-workspace 1.10.10
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/CHANGELOG.md +525 -0
- package/README.md +188 -0
- package/config/component-versions.json +16 -0
- package/config/scenarioCapabilities.json +29 -0
- package/config/version-notes.yaml +244 -0
- package/dist/adapters/OutputAdapter.d.ts +79 -0
- package/dist/adapters/OutputAdapter.d.ts.map +1 -0
- package/dist/adapters/OutputAdapter.js +124 -0
- package/dist/adapters/OutputAdapter.js.map +1 -0
- package/dist/cli/check-node-version.d.ts +3 -0
- package/dist/cli/check-node-version.d.ts.map +1 -0
- package/dist/cli/check-node-version.js +153 -0
- package/dist/cli/check-node-version.js.map +1 -0
- package/dist/cli/plugins.d.ts +41 -0
- package/dist/cli/plugins.d.ts.map +1 -0
- package/dist/cli/plugins.js +742 -0
- package/dist/cli/plugins.js.map +1 -0
- package/dist/cli/rebuild.d.ts +63 -0
- package/dist/cli/rebuild.d.ts.map +1 -0
- package/dist/cli/rebuild.js +989 -0
- package/dist/cli/rebuild.js.map +1 -0
- package/dist/cli/repair.d.ts +7 -0
- package/dist/cli/repair.d.ts.map +1 -0
- package/dist/cli/repair.js +925 -0
- package/dist/cli/repair.js.map +1 -0
- package/dist/cli/setup.d.ts +7 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +452 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/cli/update.d.ts +10 -0
- package/dist/cli/update.d.ts.map +1 -0
- package/dist/cli/update.js +426 -0
- package/dist/cli/update.js.map +1 -0
- package/dist/cli/webui.d.ts +6 -0
- package/dist/cli/webui.d.ts.map +1 -0
- package/dist/cli/webui.js +210 -0
- package/dist/cli/webui.js.map +1 -0
- package/dist/http/index.d.ts +3 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +15 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/middleware/errorHandler.d.ts +16 -0
- package/dist/http/middleware/errorHandler.d.ts.map +1 -0
- package/dist/http/middleware/errorHandler.js +79 -0
- package/dist/http/middleware/errorHandler.js.map +1 -0
- package/dist/http/routes/admin.d.ts +3 -0
- package/dist/http/routes/admin.d.ts.map +1 -0
- package/dist/http/routes/admin.js +730 -0
- package/dist/http/routes/admin.js.map +1 -0
- package/dist/http/routes/backup.d.ts +3 -0
- package/dist/http/routes/backup.d.ts.map +1 -0
- package/dist/http/routes/backup.js +172 -0
- package/dist/http/routes/backup.js.map +1 -0
- package/dist/http/routes/config.d.ts +3 -0
- package/dist/http/routes/config.d.ts.map +1 -0
- package/dist/http/routes/config.js +157 -0
- package/dist/http/routes/config.js.map +1 -0
- package/dist/http/routes/context.d.ts +3 -0
- package/dist/http/routes/context.d.ts.map +1 -0
- package/dist/http/routes/context.js +82 -0
- package/dist/http/routes/context.js.map +1 -0
- package/dist/http/routes/log.d.ts +3 -0
- package/dist/http/routes/log.d.ts.map +1 -0
- package/dist/http/routes/log.js +105 -0
- package/dist/http/routes/log.js.map +1 -0
- package/dist/http/routes/memo.d.ts +6 -0
- package/dist/http/routes/memo.d.ts.map +1 -0
- package/dist/http/routes/memo.js +29 -0
- package/dist/http/routes/memo.js.map +1 -0
- package/dist/http/routes/node.d.ts +3 -0
- package/dist/http/routes/node.d.ts.map +1 -0
- package/dist/http/routes/node.js +251 -0
- package/dist/http/routes/node.js.map +1 -0
- package/dist/http/routes/state.d.ts +3 -0
- package/dist/http/routes/state.d.ts.map +1 -0
- package/dist/http/routes/state.js +48 -0
- package/dist/http/routes/state.js.map +1 -0
- package/dist/http/routes/workspace.d.ts +3 -0
- package/dist/http/routes/workspace.d.ts.map +1 -0
- package/dist/http/routes/workspace.js +249 -0
- package/dist/http/routes/workspace.js.map +1 -0
- package/dist/http/server.d.ts +10 -0
- package/dist/http/server.d.ts.map +1 -0
- package/dist/http/server.js +284 -0
- package/dist/http/server.js.map +1 -0
- package/dist/http/services.d.ts +93 -0
- package/dist/http/services.d.ts.map +1 -0
- package/dist/http/services.js +297 -0
- package/dist/http/services.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1073 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/guidanceContent.d.ts +18 -0
- package/dist/prompts/guidanceContent.d.ts.map +1 -0
- package/dist/prompts/guidanceContent.js +814 -0
- package/dist/prompts/guidanceContent.js.map +1 -0
- package/dist/prompts/index.d.ts +2 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +4 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/instructions.d.ts +56 -0
- package/dist/prompts/instructions.d.ts.map +1 -0
- package/dist/prompts/instructions.js +1343 -0
- package/dist/prompts/instructions.js.map +1 -0
- package/dist/services/BackupService.d.ts +104 -0
- package/dist/services/BackupService.d.ts.map +1 -0
- package/dist/services/BackupService.js +549 -0
- package/dist/services/BackupService.js.map +1 -0
- package/dist/services/CapabilityService.d.ts +38 -0
- package/dist/services/CapabilityService.d.ts.map +1 -0
- package/dist/services/CapabilityService.js +256 -0
- package/dist/services/CapabilityService.js.map +1 -0
- package/dist/services/ConfigService.d.ts +35 -0
- package/dist/services/ConfigService.d.ts.map +1 -0
- package/dist/services/ConfigService.js +105 -0
- package/dist/services/ConfigService.js.map +1 -0
- package/dist/services/ContextService.d.ts +65 -0
- package/dist/services/ContextService.d.ts.map +1 -0
- package/dist/services/ContextService.js +503 -0
- package/dist/services/ContextService.js.map +1 -0
- package/dist/services/DetectionService.d.ts +76 -0
- package/dist/services/DetectionService.d.ts.map +1 -0
- package/dist/services/DetectionService.js +262 -0
- package/dist/services/DetectionService.js.map +1 -0
- package/dist/services/DispatchService.d.ts +267 -0
- package/dist/services/DispatchService.d.ts.map +1 -0
- package/dist/services/DispatchService.js +1357 -0
- package/dist/services/DispatchService.js.map +1 -0
- package/dist/services/EventService.d.ts +81 -0
- package/dist/services/EventService.d.ts.map +1 -0
- package/dist/services/EventService.js +187 -0
- package/dist/services/EventService.js.map +1 -0
- package/dist/services/GuidanceService.d.ts +64 -0
- package/dist/services/GuidanceService.d.ts.map +1 -0
- package/dist/services/GuidanceService.js +259 -0
- package/dist/services/GuidanceService.js.map +1 -0
- package/dist/services/HealthService.d.ts +43 -0
- package/dist/services/HealthService.d.ts.map +1 -0
- package/dist/services/HealthService.js +276 -0
- package/dist/services/HealthService.js.map +1 -0
- package/dist/services/InstallationService.d.ts +62 -0
- package/dist/services/InstallationService.d.ts.map +1 -0
- package/dist/services/InstallationService.js +204 -0
- package/dist/services/InstallationService.js.map +1 -0
- package/dist/services/LogService.d.ts +35 -0
- package/dist/services/LogService.d.ts.map +1 -0
- package/dist/services/LogService.js +189 -0
- package/dist/services/LogService.js.map +1 -0
- package/dist/services/MemoService.d.ts +39 -0
- package/dist/services/MemoService.d.ts.map +1 -0
- package/dist/services/MemoService.js +288 -0
- package/dist/services/MemoService.js.map +1 -0
- package/dist/services/NodeService.d.ts +90 -0
- package/dist/services/NodeService.d.ts.map +1 -0
- package/dist/services/NodeService.js +958 -0
- package/dist/services/NodeService.js.map +1 -0
- package/dist/services/OpenSpecParser.d.ts +43 -0
- package/dist/services/OpenSpecParser.d.ts.map +1 -0
- package/dist/services/OpenSpecParser.js +191 -0
- package/dist/services/OpenSpecParser.js.map +1 -0
- package/dist/services/ReferenceService.d.ts +35 -0
- package/dist/services/ReferenceService.d.ts.map +1 -0
- package/dist/services/ReferenceService.js +195 -0
- package/dist/services/ReferenceService.js.map +1 -0
- package/dist/services/RepairService.d.ts +36 -0
- package/dist/services/RepairService.d.ts.map +1 -0
- package/dist/services/RepairService.js +429 -0
- package/dist/services/RepairService.js.map +1 -0
- package/dist/services/SearchService.d.ts +34 -0
- package/dist/services/SearchService.d.ts.map +1 -0
- package/dist/services/SearchService.js +293 -0
- package/dist/services/SearchService.js.map +1 -0
- package/dist/services/SessionService.d.ts +136 -0
- package/dist/services/SessionService.d.ts.map +1 -0
- package/dist/services/SessionService.js +297 -0
- package/dist/services/SessionService.js.map +1 -0
- package/dist/services/StateService.d.ts +97 -0
- package/dist/services/StateService.d.ts.map +1 -0
- package/dist/services/StateService.js +846 -0
- package/dist/services/StateService.js.map +1 -0
- package/dist/services/TutorialService.d.ts +114 -0
- package/dist/services/TutorialService.d.ts.map +1 -0
- package/dist/services/TutorialService.js +1262 -0
- package/dist/services/TutorialService.js.map +1 -0
- package/dist/services/WorkspaceService.d.ts +273 -0
- package/dist/services/WorkspaceService.d.ts.map +1 -0
- package/dist/services/WorkspaceService.js +1764 -0
- package/dist/services/WorkspaceService.js.map +1 -0
- package/dist/services/index.d.ts +15 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +14 -0
- package/dist/services/index.js.map +1 -0
- package/dist/storage/FileSystemAdapter.d.ts +223 -0
- package/dist/storage/FileSystemAdapter.d.ts.map +1 -0
- package/dist/storage/FileSystemAdapter.js +384 -0
- package/dist/storage/FileSystemAdapter.js.map +1 -0
- package/dist/storage/JsonStorage.d.ts +158 -0
- package/dist/storage/JsonStorage.d.ts.map +1 -0
- package/dist/storage/JsonStorage.js +613 -0
- package/dist/storage/JsonStorage.js.map +1 -0
- package/dist/storage/MarkdownStorage.d.ts +178 -0
- package/dist/storage/MarkdownStorage.d.ts.map +1 -0
- package/dist/storage/MarkdownStorage.js +918 -0
- package/dist/storage/MarkdownStorage.js.map +1 -0
- package/dist/storage/SessionBindingStorage.d.ts +69 -0
- package/dist/storage/SessionBindingStorage.d.ts.map +1 -0
- package/dist/storage/SessionBindingStorage.js +131 -0
- package/dist/storage/SessionBindingStorage.js.map +1 -0
- package/dist/storage/index.d.ts +6 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +6 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/tools/capability.d.ts +18 -0
- package/dist/tools/capability.d.ts.map +1 -0
- package/dist/tools/capability.js +73 -0
- package/dist/tools/capability.js.map +1 -0
- package/dist/tools/config.d.ts +14 -0
- package/dist/tools/config.d.ts.map +1 -0
- package/dist/tools/config.js +61 -0
- package/dist/tools/config.js.map +1 -0
- package/dist/tools/context.d.ts +22 -0
- package/dist/tools/context.d.ts.map +1 -0
- package/dist/tools/context.js +139 -0
- package/dist/tools/context.js.map +1 -0
- package/dist/tools/dispatch.d.ts +41 -0
- package/dist/tools/dispatch.d.ts.map +1 -0
- package/dist/tools/dispatch.js +380 -0
- package/dist/tools/dispatch.js.map +1 -0
- package/dist/tools/help.d.ts +44 -0
- package/dist/tools/help.d.ts.map +1 -0
- package/dist/tools/help.js +227 -0
- package/dist/tools/help.js.map +1 -0
- package/dist/tools/import.d.ts +17 -0
- package/dist/tools/import.d.ts.map +1 -0
- package/dist/tools/import.js +96 -0
- package/dist/tools/import.js.map +1 -0
- package/dist/tools/index.d.ts +12 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +13 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/log.d.ts +21 -0
- package/dist/tools/log.d.ts.map +1 -0
- package/dist/tools/log.js +93 -0
- package/dist/tools/log.js.map +1 -0
- package/dist/tools/memo.d.ts +26 -0
- package/dist/tools/memo.d.ts.map +1 -0
- package/dist/tools/memo.js +188 -0
- package/dist/tools/memo.js.map +1 -0
- package/dist/tools/node.d.ts +34 -0
- package/dist/tools/node.d.ts.map +1 -0
- package/dist/tools/node.js +328 -0
- package/dist/tools/node.js.map +1 -0
- package/dist/tools/search.d.ts +14 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +95 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/session.d.ts +22 -0
- package/dist/tools/session.d.ts.map +1 -0
- package/dist/tools/session.js +127 -0
- package/dist/tools/session.js.map +1 -0
- package/dist/tools/state.d.ts +10 -0
- package/dist/tools/state.d.ts.map +1 -0
- package/dist/tools/state.js +79 -0
- package/dist/tools/state.js.map +1 -0
- package/dist/tools/workspace.d.ts +38 -0
- package/dist/tools/workspace.d.ts.map +1 -0
- package/dist/tools/workspace.js +240 -0
- package/dist/tools/workspace.js.map +1 -0
- package/dist/types/capability.d.ts +36 -0
- package/dist/types/capability.d.ts.map +1 -0
- package/dist/types/capability.js +3 -0
- package/dist/types/capability.js.map +1 -0
- package/dist/types/confirmation.d.ts +35 -0
- package/dist/types/confirmation.d.ts.map +1 -0
- package/dist/types/confirmation.js +3 -0
- package/dist/types/confirmation.js.map +1 -0
- package/dist/types/context.d.ts +174 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/context.js +3 -0
- package/dist/types/context.js.map +1 -0
- package/dist/types/errors.d.ts +81 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +154 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/guidance.d.ts +162 -0
- package/dist/types/guidance.d.ts.map +1 -0
- package/dist/types/guidance.js +4 -0
- package/dist/types/guidance.js.map +1 -0
- package/dist/types/health.d.ts +61 -0
- package/dist/types/health.d.ts.map +1 -0
- package/dist/types/health.js +3 -0
- package/dist/types/health.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +11 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/memo.d.ts +132 -0
- package/dist/types/memo.d.ts.map +1 -0
- package/dist/types/memo.js +3 -0
- package/dist/types/memo.js.map +1 -0
- package/dist/types/node.d.ts +316 -0
- package/dist/types/node.d.ts.map +1 -0
- package/dist/types/node.js +3 -0
- package/dist/types/node.js.map +1 -0
- package/dist/types/repair.d.ts +62 -0
- package/dist/types/repair.d.ts.map +1 -0
- package/dist/types/repair.js +4 -0
- package/dist/types/repair.js.map +1 -0
- package/dist/types/search.d.ts +58 -0
- package/dist/types/search.d.ts.map +1 -0
- package/dist/types/search.js +3 -0
- package/dist/types/search.js.map +1 -0
- package/dist/types/settings.d.ts +109 -0
- package/dist/types/settings.d.ts.map +1 -0
- package/dist/types/settings.js +30 -0
- package/dist/types/settings.js.map +1 -0
- package/dist/types/workspace.d.ts +357 -0
- package/dist/types/workspace.d.ts.map +1 -0
- package/dist/types/workspace.js +3 -0
- package/dist/types/workspace.js.map +1 -0
- package/dist/utils/contentValidation.d.ts +47 -0
- package/dist/utils/contentValidation.d.ts.map +1 -0
- package/dist/utils/contentValidation.js +93 -0
- package/dist/utils/contentValidation.js.map +1 -0
- package/dist/utils/devLog.d.ts +43 -0
- package/dist/utils/devLog.d.ts.map +1 -0
- package/dist/utils/devLog.js +94 -0
- package/dist/utils/devLog.js.map +1 -0
- package/dist/utils/errorLogger.d.ts +27 -0
- package/dist/utils/errorLogger.d.ts.map +1 -0
- package/dist/utils/errorLogger.js +105 -0
- package/dist/utils/errorLogger.js.map +1 -0
- package/dist/utils/git.d.ts +123 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +400 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/hash.d.ts +32 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +37 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/id.d.ts +54 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/dist/utils/id.js +96 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +42 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +228 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/manualChangeFormatter.d.ts +8 -0
- package/dist/utils/manualChangeFormatter.d.ts.map +1 -0
- package/dist/utils/manualChangeFormatter.js +21 -0
- package/dist/utils/manualChangeFormatter.js.map +1 -0
- package/dist/utils/paramValidator.d.ts +35 -0
- package/dist/utils/paramValidator.d.ts.map +1 -0
- package/dist/utils/paramValidator.js +214 -0
- package/dist/utils/paramValidator.js.map +1 -0
- package/dist/utils/port.d.ts +7 -0
- package/dist/utils/port.d.ts.map +1 -0
- package/dist/utils/port.js +28 -0
- package/dist/utils/port.js.map +1 -0
- package/dist/utils/processManager.d.ts +53 -0
- package/dist/utils/processManager.d.ts.map +1 -0
- package/dist/utils/processManager.js +267 -0
- package/dist/utils/processManager.js.map +1 -0
- package/dist/utils/sessionLogger.d.ts +28 -0
- package/dist/utils/sessionLogger.d.ts.map +1 -0
- package/dist/utils/sessionLogger.js +142 -0
- package/dist/utils/sessionLogger.js.map +1 -0
- package/dist/utils/time.d.ts +15 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +32 -0
- package/dist/utils/time.js.map +1 -0
- package/dist/utils/validation.d.ts +23 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +88 -0
- package/dist/utils/validation.js.map +1 -0
- package/docs//346/227/245/345/277/227/347/263/273/347/273/237.md +389 -0
- package/docs//347/224/250/346/210/267/346/211/213/345/206/214.md +1446 -0
- package/docs//347/224/250/346/210/267/346/211/213/345/206/214/344/270/216/346/212/200/346/234/257/346/214/207/345/215/227.md +873 -0
- package/package.json +89 -0
- package/plugin/README.md +141 -0
- package/plugin/agents/xtep-executor.md +114 -0
- package/plugin/agents/xtep-reviewer.md +133 -0
- package/plugin/docs/diagnostic-guide.md +128 -0
- package/plugin/hooks/hooks.json.deprecated +70 -0
- package/plugin/scripts/cursor-hook-entry.cjs +217 -0
- package/plugin/scripts/hook-entry.cjs +663 -0
- package/plugin/scripts/openspec-import.cjs +714 -0
- package/plugin/scripts/shared/binding.cjs +98 -0
- package/plugin/scripts/shared/config.cjs +65 -0
- package/plugin/scripts/shared/context.cjs +120 -0
- package/plugin/scripts/shared/index.cjs +34 -0
- package/plugin/scripts/shared/logger.cjs +196 -0
- package/plugin/scripts/shared/reminder.cjs +261 -0
- package/plugin/scripts/shared/utils.cjs +62 -0
- package/plugin/scripts/shared/workspace.cjs +322 -0
- package/plugin/skills/aligning-intent/SKILL.md +275 -0
- package/plugin/skills/analyzing-measurements/SKILL.md +223 -0
- package/plugin/skills/bootstrapping-workspace/SKILL.md +260 -0
- package/plugin/skills/designing-solutions/SKILL.md +363 -0
- package/plugin/skills/diagnosing-issues/SKILL.md +219 -0
- package/plugin/skills/discovering-context/SKILL.md +283 -0
- package/plugin/skills/dispatching-parent/SKILL.md +399 -0
- package/plugin/skills/executing-task/SKILL.md +340 -0
- package/plugin/skills/memo-create/SKILL.md +222 -0
- package/plugin/skills/planning-verification/SKILL.md +245 -0
- package/plugin/skills/preparing-dispatch/SKILL.md +299 -0
- package/plugin/skills/researching-tech/SKILL.md +223 -0
- package/plugin/skills/reviewing-quality/SKILL.md +354 -0
- package/plugin/skills/reviewing-spec/SKILL.md +333 -0
- package/plugin/skills/starting-info-flow/SKILL.md +196 -0
- package/web/README.md +5 -0
- package//351/205/215/347/275/256/346/226/271/345/274/217.md +330 -0
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: reviewing-spec
|
|
3
|
+
description: Use when performing Spec Review as dispatch_spec role to verify implementation completeness. Validates execution results against requirements and acceptance criteria.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Reviewing Spec
|
|
7
|
+
|
|
8
|
+
## Announcement (MANDATORY)
|
|
9
|
+
|
|
10
|
+
Before executing this skill, you MUST announce to the user:
|
|
11
|
+
|
|
12
|
+
「我将使用 **规格评审** 技能来验证实现完整性、检查是否满足需求和验收标准。」
|
|
13
|
+
|
|
14
|
+
This creates a commitment checkpoint. Proceed only after announcing.
|
|
15
|
+
|
|
16
|
+
## Core Thinking
|
|
17
|
+
|
|
18
|
+
**Verify** - Systematically validate each acceptance criterion. Evidence-based verdicts only. Trust nothing - verify everything.
|
|
19
|
+
|
|
20
|
+
## Role: dispatch_spec
|
|
21
|
+
|
|
22
|
+
As a `dispatch_spec` node, you are part of the dispatch flow:
|
|
23
|
+
- You are a **child** of the dispatch parent node
|
|
24
|
+
- You verify the work done by the paired `dispatch_exec` node
|
|
25
|
+
- You report back to the parent via `dispatch_complete`
|
|
26
|
+
|
|
27
|
+
**Critical Principle**: You perform INDEPENDENT verification. You do NOT trust the exec node's conclusion. You verify against the original requirements and acceptance criteria by examining the actual code/output.
|
|
28
|
+
|
|
29
|
+
## Typical Actions
|
|
30
|
+
|
|
31
|
+
- Verify acceptance criteria (WHEN/THEN)
|
|
32
|
+
- Check requirement coverage
|
|
33
|
+
- Identify implementation gaps
|
|
34
|
+
- Deliver pass/fail verdict
|
|
35
|
+
- Report via dispatch_complete
|
|
36
|
+
|
|
37
|
+
## SOP
|
|
38
|
+
|
|
39
|
+
### 1. Gather Review Context
|
|
40
|
+
|
|
41
|
+
**Goal**: Understand what needs to be reviewed.
|
|
42
|
+
|
|
43
|
+
- **Target node**: Which execution node to review?
|
|
44
|
+
- **Requirements**: What was the node supposed to do?
|
|
45
|
+
- **Acceptance criteria**: What are the WHEN/THEN conditions?
|
|
46
|
+
- **Execution conclusion**: What did the executor claim to complete?
|
|
47
|
+
|
|
48
|
+
**Output**: Clear understanding of review scope
|
|
49
|
+
|
|
50
|
+
### 2. Systematic Criterion Verification (Gate Function)
|
|
51
|
+
|
|
52
|
+
**Goal**: INDEPENDENTLY verify each criterion by RUNNING verification commands.
|
|
53
|
+
|
|
54
|
+
**Iron Law: NO PASS WITHOUT RUNNING VERIFICATION COMMANDS**
|
|
55
|
+
|
|
56
|
+
For each criterion, check its **Verify** column and execute accordingly:
|
|
57
|
+
|
|
58
|
+
#### If `[cmd]` - RUN the Command (MANDATORY)
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# You MUST actually run the command, not assume it passes
|
|
62
|
+
npm test -- --grep 'xxx'
|
|
63
|
+
# or
|
|
64
|
+
pytest tests/test_main.py
|
|
65
|
+
# or whatever command is specified
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
1. **RUN** the command (FRESH - do not trust exec's output)
|
|
69
|
+
2. **READ** the full output
|
|
70
|
+
3. **CHECK** exit code (0 = success, non-zero = failure)
|
|
71
|
+
4. **RECORD** evidence: `"[cmd] npm test → exit 0, 5/5 pass"`
|
|
72
|
+
|
|
73
|
+
#### If `[manual]` - Verify Manual Steps Were Done
|
|
74
|
+
|
|
75
|
+
1. **READ** exec's log for manual verification evidence
|
|
76
|
+
2. **ASSESS** if steps were actually performed
|
|
77
|
+
3. **RECORD** evidence: `"[manual] exec logged: 打开页面 → 组件显示正常"`
|
|
78
|
+
|
|
79
|
+
#### If `[check]` - Perform Code Inspection
|
|
80
|
+
|
|
81
|
+
1. **INSPECT** the specified target (file, function, pattern)
|
|
82
|
+
2. **CONFIRM** condition is met
|
|
83
|
+
3. **RECORD** evidence: `"[check] no TODO → grep found 0 matches"`
|
|
84
|
+
|
|
85
|
+
#### If No Verify Column
|
|
86
|
+
|
|
87
|
+
1. **INSPECT** code changes
|
|
88
|
+
2. **ASSESS** if WHEN/THEN is logically satisfied
|
|
89
|
+
3. **RECORD** reasoning (lower confidence)
|
|
90
|
+
4. **⚠️ WARNING**: Flag as "unverified by command"
|
|
91
|
+
|
|
92
|
+
**Evidence Table** (MUST produce):
|
|
93
|
+
```markdown
|
|
94
|
+
| # | Criterion | Verify | Command/Action | Result | Status |
|
|
95
|
+
|---|-----------|--------|----------------|--------|--------|
|
|
96
|
+
| 1 | WHEN... THEN... | [cmd] | npm test | exit 0, 3/3 | PASS |
|
|
97
|
+
| 2 | WHEN... THEN... | [check] | grep TODO | 0 found | PASS |
|
|
98
|
+
| 3 | WHEN... THEN... | [manual] | exec log | "UI checked" | PASS |
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**Output**: Evidence table with command outputs for each criterion
|
|
102
|
+
|
|
103
|
+
### 3. Requirement Coverage Check
|
|
104
|
+
|
|
105
|
+
**Goal**: Verify all requirements are addressed.
|
|
106
|
+
|
|
107
|
+
- **Completeness**: All aspects of requirement implemented?
|
|
108
|
+
- **Correctness**: Implementation matches intent?
|
|
109
|
+
- **Scope adherence**: No unauthorized additions/omissions?
|
|
110
|
+
|
|
111
|
+
**Output**: Coverage assessment
|
|
112
|
+
|
|
113
|
+
### 3.5. Implementation Completeness Check
|
|
114
|
+
|
|
115
|
+
**Goal**: Verify no shortcuts or deferred work.
|
|
116
|
+
|
|
117
|
+
**Search changed files for**:
|
|
118
|
+
- `TODO`, `FIXME`, `HACK`, `XXX` comments
|
|
119
|
+
- "暂时"、"临时"、"简化实现" in comments or code
|
|
120
|
+
- Placeholder values or hardcoded data that should be configurable
|
|
121
|
+
- Commented-out code with "later" notes
|
|
122
|
+
|
|
123
|
+
**If found**: FAIL with specific locations and required fixes.
|
|
124
|
+
|
|
125
|
+
**Output**: Completeness verification (PASS if no incomplete markers found)
|
|
126
|
+
|
|
127
|
+
### 4. Compile Verdict
|
|
128
|
+
|
|
129
|
+
**Goal**: Deliver final review result.
|
|
130
|
+
|
|
131
|
+
- **PASS conditions**:
|
|
132
|
+
- ALL acceptance criteria passed
|
|
133
|
+
- Requirements fully covered
|
|
134
|
+
- No critical issues found
|
|
135
|
+
|
|
136
|
+
- **FAIL conditions**:
|
|
137
|
+
- ANY acceptance criterion failed
|
|
138
|
+
- Missing required functionality
|
|
139
|
+
- Critical implementation issues
|
|
140
|
+
- TODO/FIXME/HACK markers found in code
|
|
141
|
+
- Simplified or temporary implementations detected
|
|
142
|
+
|
|
143
|
+
**Output**: Verdict with detailed findings
|
|
144
|
+
|
|
145
|
+
## Checklist
|
|
146
|
+
|
|
147
|
+
### Context Gathering
|
|
148
|
+
- [ ] Target execution node identified
|
|
149
|
+
- [ ] Requirements understood
|
|
150
|
+
- [ ] Acceptance criteria extracted
|
|
151
|
+
- [ ] Execution conclusion reviewed
|
|
152
|
+
|
|
153
|
+
### Criterion Verification (Gate Function)
|
|
154
|
+
- [ ] Each `[cmd]` command ACTUALLY RUN (not trusted from exec)
|
|
155
|
+
- [ ] Each `[manual]` step verified from exec's log
|
|
156
|
+
- [ ] Each `[check]` inspection performed
|
|
157
|
+
- [ ] Evidence Table produced with command outputs
|
|
158
|
+
- [ ] Status recorded (pass/fail) with evidence
|
|
159
|
+
|
|
160
|
+
### Coverage
|
|
161
|
+
- [ ] All requirements addressed
|
|
162
|
+
- [ ] No scope deviation
|
|
163
|
+
- [ ] Implementation matches intent
|
|
164
|
+
|
|
165
|
+
### Completeness
|
|
166
|
+
- [ ] No TODO/FIXME/HACK markers in changed code
|
|
167
|
+
- [ ] No "暂时/临时/简化" workarounds
|
|
168
|
+
- [ ] No placeholder or hardcoded values
|
|
169
|
+
- [ ] No deferred implementations
|
|
170
|
+
|
|
171
|
+
### Verdict
|
|
172
|
+
- [ ] Pass/fail determined
|
|
173
|
+
- [ ] Findings documented
|
|
174
|
+
- [ ] Actionable feedback provided (if fail)
|
|
175
|
+
|
|
176
|
+
## Output Template
|
|
177
|
+
|
|
178
|
+
```markdown
|
|
179
|
+
### Spec Review Report
|
|
180
|
+
|
|
181
|
+
**Target Node**: [node-id] - [title]
|
|
182
|
+
**Review Node**: [review-node-id]
|
|
183
|
+
**Verdict**: PASS / FAIL
|
|
184
|
+
|
|
185
|
+
### Verification Evidence Table (MANDATORY)
|
|
186
|
+
|
|
187
|
+
| # | Criterion | Verify | Command/Action | Result | Status |
|
|
188
|
+
|---|-----------|--------|----------------|--------|--------|
|
|
189
|
+
| 1 | WHEN [condition] THEN [result] | [cmd] | `npm test` | exit 0, 3/3 pass | PASS |
|
|
190
|
+
| 2 | WHEN [condition] THEN [result] | [check] | `grep TODO` | 0 found | PASS |
|
|
191
|
+
| 3 | WHEN [condition] THEN [result] | [manual] | exec log | "verified" | PASS |
|
|
192
|
+
|
|
193
|
+
### Requirement Coverage
|
|
194
|
+
|
|
195
|
+
- **Covered**: [list of covered aspects]
|
|
196
|
+
- **Missing**: [list of missing aspects, if any]
|
|
197
|
+
- **Scope Issues**: [deviations, if any]
|
|
198
|
+
|
|
199
|
+
### Findings
|
|
200
|
+
|
|
201
|
+
#### Issues (if any)
|
|
202
|
+
1. [Issue description with evidence]
|
|
203
|
+
2. [Issue description with evidence]
|
|
204
|
+
|
|
205
|
+
#### Suggestions (if fail)
|
|
206
|
+
1. [Specific action to fix issue 1]
|
|
207
|
+
2. [Specific action to fix issue 2]
|
|
208
|
+
|
|
209
|
+
### Conclusion
|
|
210
|
+
|
|
211
|
+
[Summary of review result]
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
## Recording to Workspace
|
|
215
|
+
|
|
216
|
+
**Principle**: Review results must be actionable.
|
|
217
|
+
|
|
218
|
+
### What to Record
|
|
219
|
+
|
|
220
|
+
| Content | Where | Example |
|
|
221
|
+
|---------|-------|---------|
|
|
222
|
+
| Verdict summary | conclusion | "Spec Review PASS: 3/3 criteria met" |
|
|
223
|
+
| Failed criteria | conclusion | "FAIL: Criterion 2 not met - [reason]" |
|
|
224
|
+
| Full report | conclusion or memo | Detailed findings |
|
|
225
|
+
|
|
226
|
+
### Conclusion Template (PASS)
|
|
227
|
+
|
|
228
|
+
```
|
|
229
|
+
**Verdict**: PASS
|
|
230
|
+
**Criteria**: [X]/[X] passed
|
|
231
|
+
**Coverage**: Complete
|
|
232
|
+
**Summary**: Implementation fully meets requirements.
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Conclusion Template (FAIL)
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
**Verdict**: FAIL
|
|
239
|
+
**Criteria**: [X]/[Y] passed, [Z] failed
|
|
240
|
+
**Failed**:
|
|
241
|
+
- Criterion N: [reason]
|
|
242
|
+
**Required Actions**:
|
|
243
|
+
1. [specific fix needed]
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Red Flags
|
|
249
|
+
|
|
250
|
+
1. **Skip criteria** - Not checking all WHEN/THEN conditions
|
|
251
|
+
2. **Trust exec's output** - Using exec's command output instead of running yourself
|
|
252
|
+
3. **No evidence** - Passing without verifiable proof
|
|
253
|
+
4. **Skip [cmd]** - Not actually running the verification command
|
|
254
|
+
5. **Subjective judgment** - Opinion-based instead of evidence-based
|
|
255
|
+
6. **No Evidence Table** - Verdict without structured evidence
|
|
256
|
+
7. **Partial pass** - Passing when some criteria fail
|
|
257
|
+
8. **Ignore incomplete markers** - Passing code with TODO/FIXME/HACK
|
|
258
|
+
9. **Accept shortcuts** - Passing simplified implementations
|
|
259
|
+
|
|
260
|
+
## Mandatory Rules
|
|
261
|
+
|
|
262
|
+
1. **MUST verify INDEPENDENTLY** - NEVER trust exec's conclusion, verify yourself
|
|
263
|
+
2. **MUST RUN verification commands** - `[cmd]` means YOU run it, not trust exec ran it
|
|
264
|
+
3. **MUST check ALL criteria** - Skipping any criterion is review failure
|
|
265
|
+
4. **MUST provide evidence** - Every pass/fail needs verifiable proof (command output)
|
|
266
|
+
5. **MUST produce Evidence Table** - No table = incomplete review
|
|
267
|
+
6. **MUST fail if ANY criterion fails** - Partial pass is not pass
|
|
268
|
+
7. **NEVER be lenient** - Pass only when ALL criteria are met
|
|
269
|
+
8. **MUST check for incomplete markers** - TODO/FIXME/HACK in code = automatic FAIL
|
|
270
|
+
9. **MUST reject simplified implementations** - "暂时/临时/简化" workarounds = FAIL
|
|
271
|
+
|
|
272
|
+
## Anti-Patterns
|
|
273
|
+
|
|
274
|
+
| Pattern | Wrong | Right |
|
|
275
|
+
|---------|-------|-------|
|
|
276
|
+
| **Assumption** | "Looks complete" | Check each criterion explicitly |
|
|
277
|
+
| **Leniency** | Pass despite missing feature | Fail with clear feedback |
|
|
278
|
+
| **Vague feedback** | "Needs improvement" | "Criterion 2 fails: no error handling in line 45" |
|
|
279
|
+
| **Scope creep** | Review code style in spec review | Focus only on requirements/criteria |
|
|
280
|
+
| **Trust exec blindly** | "Exec said it's done, so pass" | Verify independently against criteria |
|
|
281
|
+
|
|
282
|
+
## Common Rationalizations
|
|
283
|
+
|
|
284
|
+
| Excuse | Why Wrong | Correct Action |
|
|
285
|
+
|--------|-----------|----------------|
|
|
286
|
+
| "Exec's conclusion looks thorough" | Exec may have missed something | Verify independently |
|
|
287
|
+
| "Exec already ran the test" | You need FRESH evidence, exec may have lied/erred | RUN the command yourself |
|
|
288
|
+
| "I can see exec's output in the log" | Logs can be fabricated or outdated | RUN and see output yourself |
|
|
289
|
+
| "It mostly works, close enough" | Partial implementation = partial pass = FAIL | ALL criteria must pass |
|
|
290
|
+
| "The missing part is minor" | Criteria exist for a reason | Fail and specify what's missing |
|
|
291
|
+
| "Code looks good, must work" | Looking good != working correctly | RUN verification command |
|
|
292
|
+
| "I'll be lenient this time" | Leniency erodes quality standards | Standards apply equally every time |
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Completing the Review
|
|
297
|
+
|
|
298
|
+
**IMPORTANT**: As a dispatch_spec node, you MUST call `dispatch_complete` to finalize your review.
|
|
299
|
+
|
|
300
|
+
### On Pass
|
|
301
|
+
|
|
302
|
+
```typescript
|
|
303
|
+
dispatch_complete({
|
|
304
|
+
workspaceId: "...",
|
|
305
|
+
nodeId: "[your-node-id]",
|
|
306
|
+
success: true,
|
|
307
|
+
conclusion: `**Verdict**: PASS
|
|
308
|
+
**Criteria**: [X]/[X] passed
|
|
309
|
+
**Coverage**: Complete
|
|
310
|
+
**Summary**: Implementation fully meets requirements.`
|
|
311
|
+
})
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### On Fail
|
|
315
|
+
|
|
316
|
+
```typescript
|
|
317
|
+
dispatch_complete({
|
|
318
|
+
workspaceId: "...",
|
|
319
|
+
nodeId: "[your-node-id]",
|
|
320
|
+
success: false,
|
|
321
|
+
conclusion: `**Verdict**: FAIL
|
|
322
|
+
**Criteria**: [X]/[Y] passed, [Z] failed
|
|
323
|
+
**Failed**:
|
|
324
|
+
- Criterion N: [specific reason with evidence]
|
|
325
|
+
**Required Actions**:
|
|
326
|
+
1. [specific fix needed]`
|
|
327
|
+
})
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
**Why dispatch_complete?**
|
|
331
|
+
- Signals completion to the dispatch parent
|
|
332
|
+
- Enables Git commit (on success) or rollback (on failure)
|
|
333
|
+
- Provides structured feedback for retry decisions
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: starting-info-flow
|
|
3
|
+
description: Use when user requests research, analysis, or summary in an existing workspace. Guides capability-based info node creation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Starting Info Flow
|
|
7
|
+
|
|
8
|
+
## Announcement (MANDATORY)
|
|
9
|
+
|
|
10
|
+
Before executing this skill, you MUST announce to the user:
|
|
11
|
+
|
|
12
|
+
「我将使用 **信息流启动** 技能来引导能力选择、创建信息收集/总结节点。」
|
|
13
|
+
|
|
14
|
+
This creates a commitment checkpoint. Proceed only after announcing.
|
|
15
|
+
|
|
16
|
+
## When to Use
|
|
17
|
+
|
|
18
|
+
User says things like:
|
|
19
|
+
- "我想实现一下 xxx"
|
|
20
|
+
- "帮我调研一下 xxx"
|
|
21
|
+
- "分析一下这个问题"
|
|
22
|
+
- "总结一下 xxx"
|
|
23
|
+
- "研究一下 xxx 的实现"
|
|
24
|
+
- "整理一下目前的讨论"
|
|
25
|
+
|
|
26
|
+
In an **existing workspace**, when user wants to start a new info collection or summary task.
|
|
27
|
+
|
|
28
|
+
## Core Flow
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
User requests research/analysis
|
|
32
|
+
↓
|
|
33
|
+
capability_list() ← Get recommended capabilities
|
|
34
|
+
↓
|
|
35
|
+
Show user and ask for selection
|
|
36
|
+
↓
|
|
37
|
+
capability_select(infoType=?, selected=[...]) ← Create info node + capability children
|
|
38
|
+
↓
|
|
39
|
+
Execute capability tasks (call corresponding Skill)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## SOP
|
|
43
|
+
|
|
44
|
+
### 1. Identify Task Type
|
|
45
|
+
|
|
46
|
+
| User Request | infoType |
|
|
47
|
+
|--------------|----------|
|
|
48
|
+
| 调研、探索、研究、分析问题、排查 | `info_collection` |
|
|
49
|
+
| 总结、整理、提炼、归纳、梳理 | `info_summary` |
|
|
50
|
+
|
|
51
|
+
**Decision rule**:
|
|
52
|
+
- Need to **actively explore** codebase/docs → `info_collection`
|
|
53
|
+
- Need to **organize existing info** from conversation → `info_summary`
|
|
54
|
+
|
|
55
|
+
### 2. Call capability_list
|
|
56
|
+
|
|
57
|
+
Get capabilities for the workspace scenario:
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
capability_list({ workspaceId: "ws-xxx" }) // Uses workspace's scenario
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Returns**:
|
|
64
|
+
- `basePack`: Required capabilities (**ALL must be selected**)
|
|
65
|
+
- `optionalPack`: Optional capabilities (user chooses)
|
|
66
|
+
|
|
67
|
+
### 3. Show User and Ask for Selection
|
|
68
|
+
|
|
69
|
+
**Template**:
|
|
70
|
+
```
|
|
71
|
+
要进行「{用户目标}」,这是一个**{收集/总结}**任务。
|
|
72
|
+
|
|
73
|
+
我将执行以下能力:
|
|
74
|
+
- **{能力名}**: {在此任务语境下的具体作用}
|
|
75
|
+
- **{能力名}**: {在此任务语境下的具体作用}
|
|
76
|
+
|
|
77
|
+
还可以选择:
|
|
78
|
+
a. **{能力名}** - {语境下描述}
|
|
79
|
+
b. **{能力名}** - {语境下描述}
|
|
80
|
+
|
|
81
|
+
需要添加哪些?(输入序号如 a、ab,或回车跳过)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Rules**:
|
|
85
|
+
- basePack: 直接说"我将执行",不问用户
|
|
86
|
+
- optionalPack: 用 **abc 序号**,方便用户输入
|
|
87
|
+
- 描述: **根据任务语境定制**,不用通用描述
|
|
88
|
+
- **MUST** wait for user response before capability_select
|
|
89
|
+
|
|
90
|
+
### 4. Call capability_select
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
capability_select({
|
|
94
|
+
workspaceId: "ws-xxx",
|
|
95
|
+
infoType: "info_collection", // or "info_summary"
|
|
96
|
+
selected: ["intent_alignment", "context_discovery", ...]
|
|
97
|
+
})
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Returns**: `actionRequired` with Skill list for each capability.
|
|
101
|
+
|
|
102
|
+
### 5. Execute Capability Tasks (CRITICAL)
|
|
103
|
+
|
|
104
|
+
**capability_select 返回 `actionRequired`,MUST 遵循其指示调用 Skill。**
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
capability_select 返回
|
|
108
|
+
↓
|
|
109
|
+
actionRequired: { type: "invoke_skill", skills: [...] }
|
|
110
|
+
↓
|
|
111
|
+
Skill(aligning-intent) ← 第一个能力
|
|
112
|
+
↓
|
|
113
|
+
node_transition(action="start")
|
|
114
|
+
↓
|
|
115
|
+
按 Skill SOP 执行
|
|
116
|
+
↓
|
|
117
|
+
node_transition(action="complete")
|
|
118
|
+
↓
|
|
119
|
+
Skill(discovering-context) ← 下一个能力
|
|
120
|
+
↓
|
|
121
|
+
...重复...
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**执行规则**:
|
|
125
|
+
|
|
126
|
+
| 步骤 | 动作 | 说明 |
|
|
127
|
+
|------|------|------|
|
|
128
|
+
| 1 | `Skill(xxx)` | 调用对应 Skill 获取 SOP |
|
|
129
|
+
| 2 | `node_transition(action="start")` | 启动节点 |
|
|
130
|
+
| 3 | 按 SOP 执行 | 遵循 Skill 的 SOP 步骤 |
|
|
131
|
+
| 4 | `node_transition(action="complete")` | 完成节点 |
|
|
132
|
+
|
|
133
|
+
**⚠️ 禁止事项**:
|
|
134
|
+
- **NEVER** 跳过 Skill 调用直接 node_transition start
|
|
135
|
+
- **NEVER** 在信息收集/总结阶段修改任何代码
|
|
136
|
+
- **NEVER** 在能力节点中执行 Write/Edit/Update 操作
|
|
137
|
+
|
|
138
|
+
**信息收集/总结阶段的职责边界**:
|
|
139
|
+
|
|
140
|
+
| 允许 | 禁止 |
|
|
141
|
+
|------|------|
|
|
142
|
+
| Read、Search、Grep、Glob | Write、Edit、Update |
|
|
143
|
+
| 分析代码、理解结构 | 修改代码、创建文件 |
|
|
144
|
+
| 记录发现到 conclusion | 直接实现功能 |
|
|
145
|
+
| 提出方案建议 | 执行方案 |
|
|
146
|
+
|
|
147
|
+
**为什么必须调用 Skill?**
|
|
148
|
+
- Skill 包含该能力的 SOP(标准操作流程)
|
|
149
|
+
- Skill 定义了正确的执行步骤和检查清单
|
|
150
|
+
- 不读 Skill = 不知道该能力的正确做法
|
|
151
|
+
|
|
152
|
+
## Mandatory Rules
|
|
153
|
+
|
|
154
|
+
1. **MUST call capability_list first** - Get available capabilities for this scenario
|
|
155
|
+
2. **MUST show user and ask** - Never decide capabilities alone
|
|
156
|
+
3. **MUST use capability_select** - Never node_create info nodes directly
|
|
157
|
+
4. **MUST include all basePack** - selected must contain all basePack capabilities
|
|
158
|
+
5. **MUST choose correct infoType** - Based on task nature (collect vs summarize)
|
|
159
|
+
6. **MUST call Skill before node_transition start** - 每个能力节点启动前必须先调用对应 Skill
|
|
160
|
+
7. **NEVER modify code in info phase** - 信息收集/总结阶段禁止 Write/Edit/Update
|
|
161
|
+
8. **MUST follow Skill SOP** - Skill 定义了正确的执行流程,必须遵循
|
|
162
|
+
|
|
163
|
+
## Red Flags
|
|
164
|
+
|
|
165
|
+
1. **Direct node_create for info tasks** - Should use capability flow
|
|
166
|
+
2. **Skip user confirmation** - Decide capabilities without asking
|
|
167
|
+
3. **Wrong infoType** - Using collection when summary is appropriate
|
|
168
|
+
4. **Partial basePack** - Missing required capabilities from basePack
|
|
169
|
+
5. **Skip capability Skill** - Complete capability_select but not call the Skill
|
|
170
|
+
6. **Skip Skill, direct node_transition** - 没调用 Skill 就直接启动节点 ⚠️ 严重错误
|
|
171
|
+
7. **Write/Edit in info phase** - 在信息收集/总结阶段修改代码 ⚠️ 严重错误
|
|
172
|
+
8. **Ignore actionRequired** - capability_select 返回的 actionRequired 被忽略
|
|
173
|
+
|
|
174
|
+
## Anti-Patterns
|
|
175
|
+
|
|
176
|
+
| Wrong | Right |
|
|
177
|
+
|-------|-------|
|
|
178
|
+
| `node_create(role="info_collection")` | `capability_list` → `capability_select` |
|
|
179
|
+
| Decide all capabilities yourself | Show user and ask for selection |
|
|
180
|
+
| Always use info_collection | Match infoType to task nature |
|
|
181
|
+
| Skip the returned Skill list | Call each Skill in order |
|
|
182
|
+
| node_transition start without Skill | Skill(xxx) first, then node_transition |
|
|
183
|
+
| Write/Edit in info_collection node | Only Read/Search, record to conclusion |
|
|
184
|
+
| Ignore actionRequired from capability_select | Follow actionRequired instructions exactly |
|
|
185
|
+
|
|
186
|
+
## Common Rationalizations
|
|
187
|
+
|
|
188
|
+
| Excuse | Why Wrong | Correct Action |
|
|
189
|
+
|--------|-----------|----------------|
|
|
190
|
+
| "User already knows what they want" | User may not know all capability options | Show capabilities and ask |
|
|
191
|
+
| "node_create is faster" | Loses Skill guidance and structure | Use capability flow |
|
|
192
|
+
| "info_collection covers everything" | Wrong type wastes exploration effort | Match task nature |
|
|
193
|
+
| "I'll just start working" | Skipping capability flow loses guidance | Follow the SOP |
|
|
194
|
+
| "I know what to do, don't need Skill" | Skill 定义了正确流程,你可能遗漏关键步骤 | 必须先调用 Skill 获取 SOP |
|
|
195
|
+
| "Just a quick fix while exploring" | 信息收集阶段禁止修改,会破坏职责边界 | 记录发现,创建执行节点后再修改 |
|
|
196
|
+
| "The change is obvious, no need for execution node" | 所有修改必须在执行节点中进行,确保可追踪 | 创建执行节点,按流程执行 |
|
package/web/README.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Vue 3 + TypeScript + Vite
|
|
2
|
+
|
|
3
|
+
This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
|
|
4
|
+
|
|
5
|
+
Learn more about the recommended Project Setup and IDE Support in the [Vue Docs TypeScript Guide](https://vuejs.org/guide/typescript/overview.html#project-setup).
|