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,340 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: executing-task
|
|
3
|
+
description: Use when executing dispatched tasks as xtep-executor. Guides task execution with scope control and quality delivery.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Executing Task
|
|
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
|
+
**Focus** - Execute exactly what's required. No more, no less. Fail fast on uncertainty.
|
|
19
|
+
|
|
20
|
+
**Observable** - Code without logs is blind code. Every key operation, error, and state change needs logging.
|
|
21
|
+
|
|
22
|
+
## Typical Actions
|
|
23
|
+
|
|
24
|
+
- Assess task readiness
|
|
25
|
+
- Execute within boundaries
|
|
26
|
+
- Log progress milestones
|
|
27
|
+
- Deliver with clear conclusion
|
|
28
|
+
|
|
29
|
+
## SOP
|
|
30
|
+
|
|
31
|
+
### 1. Assess Task Readiness
|
|
32
|
+
|
|
33
|
+
**Goal**: Verify you have enough information to execute.
|
|
34
|
+
|
|
35
|
+
**Check**:
|
|
36
|
+
- [ ] Requirement is clear and specific
|
|
37
|
+
- [ ] Acceptance criteria are defined
|
|
38
|
+
- [ ] Referenced files are accessible
|
|
39
|
+
- [ ] Scope fits single execution session
|
|
40
|
+
|
|
41
|
+
**If NOT ready**:
|
|
42
|
+
```
|
|
43
|
+
FAIL with reason: "info_insufficient"
|
|
44
|
+
Details: [What's missing]
|
|
45
|
+
Suggestion: [What parent node should provide]
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**If scope too large**:
|
|
49
|
+
```
|
|
50
|
+
FAIL with reason: "scope_too_large"
|
|
51
|
+
Details: [Why it's too large]
|
|
52
|
+
Suggestion: [How to split]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Output**: Proceed or fail with clear reason
|
|
56
|
+
|
|
57
|
+
### 2. Plan Execution Steps
|
|
58
|
+
|
|
59
|
+
**Goal**: Break down into verifiable steps.
|
|
60
|
+
|
|
61
|
+
**Step planning**:
|
|
62
|
+
1. List files to modify/create
|
|
63
|
+
2. Order by dependencies
|
|
64
|
+
3. Identify verification for each step
|
|
65
|
+
|
|
66
|
+
**Example**:
|
|
67
|
+
```
|
|
68
|
+
Steps:
|
|
69
|
+
1. Add type definition in types.ts → verify: tsc passes
|
|
70
|
+
2. Implement function in service.ts → verify: unit test passes
|
|
71
|
+
3. Update caller in controller.ts → verify: integration works
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Output**: Ordered step list with verifications
|
|
75
|
+
|
|
76
|
+
### 3. Execute with Logging
|
|
77
|
+
|
|
78
|
+
**Goal**: Implement while tracking progress AND ensuring code observability.
|
|
79
|
+
|
|
80
|
+
#### Workspace Progress Logging
|
|
81
|
+
|
|
82
|
+
**For each step**:
|
|
83
|
+
1. Log start: `log_append("Starting: [step description]")`
|
|
84
|
+
2. Implement the change
|
|
85
|
+
3. Verify the step (run tests, check types)
|
|
86
|
+
4. Log completion: `log_append("Completed: [step] - [result]")`
|
|
87
|
+
|
|
88
|
+
**On error**:
|
|
89
|
+
- Log the error immediately
|
|
90
|
+
- Assess if recoverable
|
|
91
|
+
- If not recoverable → fail with details
|
|
92
|
+
|
|
93
|
+
#### Code Logging Requirements (MANDATORY)
|
|
94
|
+
|
|
95
|
+
**When implementing code, MUST add logs for**:
|
|
96
|
+
|
|
97
|
+
| Scenario | Log Requirement | Example |
|
|
98
|
+
|----------|-----------------|---------|
|
|
99
|
+
| **Key operations** | Entry, exit, parameters | `logger.info("Creating user", { userId })` |
|
|
100
|
+
| **State changes** | Before/after values | `logger.debug("Status changed", { from, to })` |
|
|
101
|
+
| **Error handling** | Error type, context, action | `logger.error("Failed to save", { error, context })` |
|
|
102
|
+
| **External calls** | Request/response summary | `logger.info("API called", { endpoint, status })` |
|
|
103
|
+
|
|
104
|
+
**Iron Law: NO SILENT CODE**
|
|
105
|
+
|
|
106
|
+
If the design specifies logging requirements, you MUST implement them. If not specified, apply reasonable defaults for key flows and error scenarios.
|
|
107
|
+
|
|
108
|
+
**Output**: All steps completed with logs + Code includes appropriate logging
|
|
109
|
+
|
|
110
|
+
### 4. Verify Against Criteria (Gate Function)
|
|
111
|
+
|
|
112
|
+
**Goal**: Execute verification commands and collect evidence.
|
|
113
|
+
|
|
114
|
+
**Iron Law: NO DISPATCH_COMPLETE WITHOUT RUNNING VERIFICATION**
|
|
115
|
+
|
|
116
|
+
**For each criterion with Verify column**:
|
|
117
|
+
|
|
118
|
+
#### If `[cmd]` - Run Command
|
|
119
|
+
```bash
|
|
120
|
+
# Actually execute the command
|
|
121
|
+
npm test -- --grep 'xxx'
|
|
122
|
+
# or
|
|
123
|
+
pytest tests/test_main.py
|
|
124
|
+
# or any specified command
|
|
125
|
+
```
|
|
126
|
+
1. **RUN** the command (fresh, not cached)
|
|
127
|
+
2. **CHECK** exit code and output
|
|
128
|
+
3. **LOG** result: `log_append("验证 [cmd]: <command> → exit <code>")`
|
|
129
|
+
|
|
130
|
+
#### If `[manual]` - Document Manual Check
|
|
131
|
+
1. **EXECUTE** the manual steps
|
|
132
|
+
2. **OBSERVE** the result
|
|
133
|
+
3. **LOG** evidence: `log_append("验证 [manual]: <steps> → <observed result>")`
|
|
134
|
+
|
|
135
|
+
#### If `[check]` - Inspect Code
|
|
136
|
+
1. **INSPECT** the specified target
|
|
137
|
+
2. **CONFIRM** condition is met
|
|
138
|
+
3. **LOG** result: `log_append("验证 [check]: <target> → <status>")`
|
|
139
|
+
|
|
140
|
+
**Verification Evidence Table** (MUST include in conclusion):
|
|
141
|
+
```markdown
|
|
142
|
+
| Criterion | Verify | Command/Check | Result |
|
|
143
|
+
|-----------|--------|---------------|--------|
|
|
144
|
+
| 1. WHEN... | [cmd] | npm test | exit 0, 3/3 pass |
|
|
145
|
+
| 2. WHEN... | [check] | no TODO | 0 found |
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**If any criterion fails**:
|
|
149
|
+
- Try to fix if straightforward
|
|
150
|
+
- Otherwise fail with specific criterion AND evidence
|
|
151
|
+
|
|
152
|
+
**Output**: All criteria verified with evidence
|
|
153
|
+
|
|
154
|
+
### 5. Deliver Conclusion
|
|
155
|
+
|
|
156
|
+
**Goal**: Complete with actionable summary.
|
|
157
|
+
|
|
158
|
+
**Conclusion must include**:
|
|
159
|
+
- What was done (brief)
|
|
160
|
+
- Files changed (list)
|
|
161
|
+
- Verification result (tests/checks)
|
|
162
|
+
- Any notes for next steps
|
|
163
|
+
|
|
164
|
+
**Template**:
|
|
165
|
+
```
|
|
166
|
+
Implemented [feature/fix].
|
|
167
|
+
Changed: [file1], [file2].
|
|
168
|
+
Verified: [how verified].
|
|
169
|
+
Notes: [if any].
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Call**:
|
|
173
|
+
```
|
|
174
|
+
dispatch_complete(
|
|
175
|
+
workspaceId="...",
|
|
176
|
+
nodeId="...",
|
|
177
|
+
success=true,
|
|
178
|
+
conclusion="[conclusion text]"
|
|
179
|
+
)
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Checklist
|
|
183
|
+
|
|
184
|
+
### Assessment
|
|
185
|
+
- [ ] Requirement understood
|
|
186
|
+
- [ ] Criteria are clear
|
|
187
|
+
- [ ] References accessible
|
|
188
|
+
- [ ] Scope is appropriate
|
|
189
|
+
|
|
190
|
+
### Execution
|
|
191
|
+
- [ ] Steps planned
|
|
192
|
+
- [ ] Each step logged (workspace)
|
|
193
|
+
- [ ] Errors handled
|
|
194
|
+
- [ ] Progress tracked
|
|
195
|
+
|
|
196
|
+
### Code Observability (MANDATORY)
|
|
197
|
+
- [ ] **Key operations logged**: Entry/exit for important functions
|
|
198
|
+
- [ ] **Errors logged**: All catch blocks have context logging
|
|
199
|
+
- [ ] **State changes logged**: Important state transitions captured
|
|
200
|
+
- [ ] **Design requirements met**: Logging from design phase implemented
|
|
201
|
+
|
|
202
|
+
### Verification (Gate Function)
|
|
203
|
+
- [ ] Each `[cmd]` verification command executed
|
|
204
|
+
- [ ] Each `[manual]` step performed and documented
|
|
205
|
+
- [ ] Each `[check]` inspection completed
|
|
206
|
+
- [ ] Evidence collected for ALL criteria
|
|
207
|
+
- [ ] Verification Evidence Table prepared
|
|
208
|
+
|
|
209
|
+
### Delivery
|
|
210
|
+
- [ ] Conclusion is complete
|
|
211
|
+
- [ ] Files listed
|
|
212
|
+
- [ ] Verification stated
|
|
213
|
+
- [ ] dispatch_complete called
|
|
214
|
+
|
|
215
|
+
## Output Template
|
|
216
|
+
|
|
217
|
+
### Progress Log Format
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
[HH:mm] Starting: [step description]
|
|
221
|
+
[HH:mm] Completed: [step] - [verification result]
|
|
222
|
+
[HH:mm] Starting: [next step]
|
|
223
|
+
...
|
|
224
|
+
[HH:mm] All steps complete, verifying criteria
|
|
225
|
+
[HH:mm] Criterion 1: PASS
|
|
226
|
+
[HH:mm] Criterion 2: PASS
|
|
227
|
+
[HH:mm] Execution complete
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Conclusion Format (Success)
|
|
231
|
+
|
|
232
|
+
```
|
|
233
|
+
Implemented [brief description].
|
|
234
|
+
|
|
235
|
+
Files changed:
|
|
236
|
+
- src/path/file1.ts (added function X)
|
|
237
|
+
- src/path/file2.ts (updated import)
|
|
238
|
+
|
|
239
|
+
Verification Evidence:
|
|
240
|
+
| Criterion | Verify | Command/Check | Result |
|
|
241
|
+
|-----------|--------|---------------|--------|
|
|
242
|
+
| 1. WHEN... | [cmd] | npm test | exit 0, 3/3 pass |
|
|
243
|
+
| 2. WHEN... | [check] | no TODO | 0 found |
|
|
244
|
+
|
|
245
|
+
Notes: [optional observations]
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Conclusion Format (Failure)
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
Execution failed: [reason category]
|
|
252
|
+
|
|
253
|
+
Attempted: [what was tried]
|
|
254
|
+
Blocked by: [specific issue]
|
|
255
|
+
|
|
256
|
+
Suggestion for parent node:
|
|
257
|
+
- [actionable recommendation]
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## Recording to Workspace
|
|
261
|
+
|
|
262
|
+
**Principle**: Logs should tell the execution story.
|
|
263
|
+
|
|
264
|
+
### What to Record
|
|
265
|
+
|
|
266
|
+
| Event | Log Entry |
|
|
267
|
+
|-------|-----------|
|
|
268
|
+
| Start | "开始执行: [task title]" |
|
|
269
|
+
| Step complete | "完成: [step] - [result]" |
|
|
270
|
+
| Error encountered | "错误: [description]" |
|
|
271
|
+
| Verification | "验证: [criterion] - PASS/FAIL" |
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Boundary Rules
|
|
276
|
+
|
|
277
|
+
### DO
|
|
278
|
+
- Execute exactly what's specified
|
|
279
|
+
- Fail fast on uncertainty
|
|
280
|
+
- Log before major operations
|
|
281
|
+
- Verify against criteria
|
|
282
|
+
|
|
283
|
+
### DON'T
|
|
284
|
+
- Expand scope ("while I'm here...")
|
|
285
|
+
- Make assumptions about unclear requirements
|
|
286
|
+
- Skip logging for "small" changes
|
|
287
|
+
- Complete without verifying criteria
|
|
288
|
+
|
|
289
|
+
## Failure Categories
|
|
290
|
+
|
|
291
|
+
| Reason | When to Use |
|
|
292
|
+
|--------|-------------|
|
|
293
|
+
| `info_insufficient` | Requirements unclear, missing context |
|
|
294
|
+
| `scope_too_large` | Task needs splitting |
|
|
295
|
+
| `execution_error` | Technical error during implementation |
|
|
296
|
+
| `blocked` | External dependency blocking |
|
|
297
|
+
|
|
298
|
+
## Red Flags
|
|
299
|
+
|
|
300
|
+
1. **Scope creep** - "I'll also fix this other thing"
|
|
301
|
+
2. **Silent changes** - No workspace logs for modifications
|
|
302
|
+
3. **Assumed pass** - Complete without running verification commands
|
|
303
|
+
4. **Skip [cmd]** - "I know it works" without actually running the command
|
|
304
|
+
5. **No evidence** - dispatch_complete without Verification Evidence Table
|
|
305
|
+
6. **Heroic debugging** - Spending too long on unclear issues
|
|
306
|
+
7. **Silent code** - New code has no logging for key operations or errors
|
|
307
|
+
8. **Ignore logging design** - Design specified logging requirements but code doesn't implement them
|
|
308
|
+
|
|
309
|
+
## Mandatory Rules
|
|
310
|
+
|
|
311
|
+
1. **MUST assess readiness first** - NEVER start coding without checking requirements
|
|
312
|
+
2. **MUST stay in scope** - Fix ONLY what's specified, nothing more
|
|
313
|
+
3. **MUST log as you go** - Silent execution is unverifiable execution
|
|
314
|
+
4. **MUST RUN verification commands** - "Should work" is not verification, RUN the `[cmd]`
|
|
315
|
+
5. **MUST collect evidence** - Every criterion needs proof (command output, screenshot, inspection result)
|
|
316
|
+
6. **MUST fail fast on uncertainty** - Don't guess, fail with clear reason
|
|
317
|
+
7. **MUST add code logging** - Key operations and errors need logs for debugging and observability
|
|
318
|
+
|
|
319
|
+
## Anti-Patterns
|
|
320
|
+
|
|
321
|
+
| Pattern | Wrong | Right |
|
|
322
|
+
|---------|-------|-------|
|
|
323
|
+
| **Scope expansion** | Fix unrelated issues | Stick to requirement |
|
|
324
|
+
| **Skip assessment** | Start coding immediately | Check readiness first |
|
|
325
|
+
| **Batch logging** | Log everything at end | Log as you go |
|
|
326
|
+
| **Optimistic completion** | "Should work" | Verify each criterion |
|
|
327
|
+
| **Silent code** | No logs in new code | Add logs for key ops and errors |
|
|
328
|
+
| **Log afterthought** | "I'll add logs later" | Add logs while implementing |
|
|
329
|
+
|
|
330
|
+
## Common Rationalizations
|
|
331
|
+
|
|
332
|
+
| Excuse | Why Wrong | Correct Action |
|
|
333
|
+
|--------|-----------|----------------|
|
|
334
|
+
| "I'll also fix this while I'm here" | Scope creep causes verification gaps | Stay in scope, note other issues |
|
|
335
|
+
| "The requirement is clear enough" | Unclear requirements cause rework | Fail with info_insufficient if unclear |
|
|
336
|
+
| "Logging slows me down" | No logs = no debugging when things fail | Log is cheap, retry is expensive |
|
|
337
|
+
| "It obviously works, no need to verify" | Obvious != verified | Check each criterion with evidence |
|
|
338
|
+
| "This edge case won't happen" | Edge cases cause production bugs | If in criteria, verify it |
|
|
339
|
+
| "Code is self-explanatory, no logs needed" | Silent code = blind debugging | Key operations always need logs |
|
|
340
|
+
| "I'll add logs when we need to debug" | By then you don't know WHERE to add | Add logs during implementation |
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: memo-create
|
|
3
|
+
description: Use when creating MEMOs in workspace. Guides proper title (5-20 chars), summary (≤50 chars), content structure, and tags formatting.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# MEMO Creation Guide
|
|
7
|
+
|
|
8
|
+
## Announcement (MANDATORY)
|
|
9
|
+
|
|
10
|
+
Before executing this skill, you MUST announce to the user:
|
|
11
|
+
|
|
12
|
+
"I will use the **MEMO Creation** skill to create a high-quality MEMO with proper formatting."
|
|
13
|
+
|
|
14
|
+
## Core Thinking
|
|
15
|
+
|
|
16
|
+
**Quality**: Create MEMOs with clear titles, concise summaries, structured content, and appropriate tags.
|
|
17
|
+
|
|
18
|
+
**Recording**: MEMOs are workspace drafts - preserve discussion process, don't over-refine.
|
|
19
|
+
|
|
20
|
+
## What is MEMO
|
|
21
|
+
|
|
22
|
+
MEMO is the workspace's draft area, stored independently from the node tree, used for:
|
|
23
|
+
- Temporary recording of scattered ideas and discussions
|
|
24
|
+
- Unstructured content during brainstorming
|
|
25
|
+
- Draft technical proposals not yet finalized
|
|
26
|
+
- Reference materials shared across nodes
|
|
27
|
+
- Information summaries before creating info_summary nodes
|
|
28
|
+
|
|
29
|
+
**MEMO vs Node Note**:
|
|
30
|
+
- MEMO: Independent storage, can be referenced by multiple nodes, suitable for drafts
|
|
31
|
+
- Note: Bound to a node, suitable for implementation details
|
|
32
|
+
|
|
33
|
+
## When to Use MEMO
|
|
34
|
+
|
|
35
|
+
| Scenario | Use MEMO? | Explanation |
|
|
36
|
+
|----------|-----------|-------------|
|
|
37
|
+
| Brainstorming phase | ✅ Yes | Ideas scattered, structure undefined |
|
|
38
|
+
| Technical proposal draft | ✅ Yes | Not finalized, needs discussion |
|
|
39
|
+
| Pre info_summary summary | ✅ Yes | Summarize existing info first |
|
|
40
|
+
| Cross-node reference | ✅ Yes | Multiple nodes need to reference |
|
|
41
|
+
| Temporary research notes | ✅ Yes | Research results pending organization |
|
|
42
|
+
| Node implementation details | ❌ Use note | Bound to specific node |
|
|
43
|
+
|
|
44
|
+
## SOP
|
|
45
|
+
|
|
46
|
+
### Step 1: Generate Title
|
|
47
|
+
|
|
48
|
+
**Principles**: Brief, clear, quickly identifiable
|
|
49
|
+
|
|
50
|
+
**Format**:
|
|
51
|
+
- Use Chinese
|
|
52
|
+
- Length: 5-20 characters
|
|
53
|
+
- Avoid lengthy descriptions
|
|
54
|
+
|
|
55
|
+
**Examples**:
|
|
56
|
+
|
|
57
|
+
| ❌ Bad Title | ✅ Good Title |
|
|
58
|
+
|-------------|--------------|
|
|
59
|
+
| Some thoughts about MEMO mechanism implementation | MEMO Mechanism Initial Thoughts |
|
|
60
|
+
| We need to discuss capability pack model design | Capability Pack Model Draft |
|
|
61
|
+
|
|
62
|
+
### Step 2: Generate Summary
|
|
63
|
+
|
|
64
|
+
**Principles**: One sentence stating core content, ≤50 characters
|
|
65
|
+
|
|
66
|
+
**Format**:
|
|
67
|
+
- Complete sentence with subject-verb-object
|
|
68
|
+
- Directly state core content
|
|
69
|
+
- Don't use self-referential expressions like "This document..."
|
|
70
|
+
|
|
71
|
+
**Examples**:
|
|
72
|
+
|
|
73
|
+
| ❌ Bad Summary | ✅ Good Summary |
|
|
74
|
+
|---------------|----------------|
|
|
75
|
+
| This document discusses capability pack model | Defines Capability, BasePack, OptionalPack three-tier model |
|
|
76
|
+
| Some thoughts about MEMO | MEMO stored independently, supports multi-node reference and tag filtering |
|
|
77
|
+
|
|
78
|
+
### Step 3: Structure Content
|
|
79
|
+
|
|
80
|
+
**Principles**: Preserve discussion process, use Markdown structure
|
|
81
|
+
|
|
82
|
+
**Recommended Structure**:
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
## Background/Problem
|
|
86
|
+
[Why this MEMO is needed]
|
|
87
|
+
|
|
88
|
+
## Core Ideas
|
|
89
|
+
[Main points or proposals]
|
|
90
|
+
|
|
91
|
+
## Discussion Points
|
|
92
|
+
- Point 1
|
|
93
|
+
- Point 2
|
|
94
|
+
|
|
95
|
+
## Pending Decisions
|
|
96
|
+
- [ ] Decision item 1
|
|
97
|
+
- [ ] Decision item 2
|
|
98
|
+
|
|
99
|
+
## References
|
|
100
|
+
- Related links or documents
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Notes**:
|
|
104
|
+
- Preserve thinking process, don't over-refine
|
|
105
|
+
- Use headings, lists, tables for structure
|
|
106
|
+
- Use code blocks for code snippets
|
|
107
|
+
- Can include unresolved questions
|
|
108
|
+
|
|
109
|
+
### Step 4: Recommend Tags
|
|
110
|
+
|
|
111
|
+
**Principles**: Few but precise, easy to filter
|
|
112
|
+
|
|
113
|
+
**Tag Types**:
|
|
114
|
+
|
|
115
|
+
| Type | Examples | Description |
|
|
116
|
+
|------|----------|-------------|
|
|
117
|
+
| Stage tag | draft, wip, done | Draft/In progress/Completed |
|
|
118
|
+
| Topic tag | design, research, bug | Design/Research/Defect |
|
|
119
|
+
| Tech tag | typescript, react, node | Related tech stack |
|
|
120
|
+
| Project tag | scenario-planning, memo | Feature module |
|
|
121
|
+
|
|
122
|
+
**Quantity Guidelines**:
|
|
123
|
+
- Minimum 1, maximum 5
|
|
124
|
+
- Must include 1 stage tag (draft/wip/done)
|
|
125
|
+
- Prefer existing tags (check via workspace_get)
|
|
126
|
+
|
|
127
|
+
**Examples**:
|
|
128
|
+
|
|
129
|
+
| Content | Recommended Tags |
|
|
130
|
+
|---------|------------------|
|
|
131
|
+
| MEMO mechanism design draft | ["draft", "design", "memo"] |
|
|
132
|
+
| React performance optimization research | ["wip", "research", "react"] |
|
|
133
|
+
| TypeScript type inference issue record | ["done", "bug", "typescript"] |
|
|
134
|
+
|
|
135
|
+
## Checklist
|
|
136
|
+
|
|
137
|
+
Before creating MEMO, verify:
|
|
138
|
+
|
|
139
|
+
- [ ] Title: 5-20 characters, concise
|
|
140
|
+
- [ ] Summary: ≤50 characters, one sentence stating core
|
|
141
|
+
- [ ] Content: Preserves discussion, uses Markdown structure
|
|
142
|
+
- [ ] Tags: 1-5 tags, includes stage tag (draft/wip/done)
|
|
143
|
+
|
|
144
|
+
## Common Errors
|
|
145
|
+
|
|
146
|
+
### ❌ Error 1: Title too long
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
title: "Some thoughts about XtepWorkspace scenario planning system MEMO mechanism design and implementation"
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Fix**:
|
|
153
|
+
```
|
|
154
|
+
title: "MEMO Mechanism Design Thoughts"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### ❌ Error 2: Summary exceeds 50 characters
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
summary: "This document discusses MEMO mechanism design in detail, including storage location, reference protocol, tag system and other aspects, and proposes specific implementation plans"
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**Fix**:
|
|
164
|
+
```
|
|
165
|
+
summary: "MEMO stored independently, supports multi-node reference and tag filtering"
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### ❌ Error 3: Too many tags or missing stage tag
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
tags: ["memo", "design", "typescript", "workspace", "planning", "node", "reference"]
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Fix**:
|
|
175
|
+
```
|
|
176
|
+
tags: ["draft", "design", "memo"]
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### ❌ Error 4: Content over-refined, loses discussion value
|
|
180
|
+
|
|
181
|
+
```markdown
|
|
182
|
+
## Proposal
|
|
183
|
+
Use memos/ directory for storage.
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**Fix**:
|
|
187
|
+
```markdown
|
|
188
|
+
## Background
|
|
189
|
+
Need a draft area independent of node tree.
|
|
190
|
+
|
|
191
|
+
## Proposal Comparison
|
|
192
|
+
1. Store in node.note: Too coupled
|
|
193
|
+
2. Store in assets/: Confused with other resources
|
|
194
|
+
3. Store in memos/: Independent and clear ✅
|
|
195
|
+
|
|
196
|
+
## Decision
|
|
197
|
+
Use memos/ directory, reason: Good independence, easy to manage.
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Tool Call Reference
|
|
201
|
+
|
|
202
|
+
```typescript
|
|
203
|
+
// Create MEMO
|
|
204
|
+
memo_create({
|
|
205
|
+
workspaceId: "ws-xxx",
|
|
206
|
+
title: "Brief title",
|
|
207
|
+
summary: "≤50 char summary",
|
|
208
|
+
content: "Full Markdown content",
|
|
209
|
+
tags: ["draft", "design"]
|
|
210
|
+
})
|
|
211
|
+
|
|
212
|
+
// Check existing tags (avoid duplicates)
|
|
213
|
+
workspace_get({ workspaceId: "ws-xxx" })
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Mandatory Rules
|
|
217
|
+
|
|
218
|
+
1. **Title length**: Must be 5-20 characters
|
|
219
|
+
2. **Summary length**: Must be ≤50 characters
|
|
220
|
+
3. **Stage tag required**: Tags must include one of draft/wip/done
|
|
221
|
+
4. **Preserve discussion**: Content should preserve thinking process, not just conclusions
|
|
222
|
+
5. **Check existing tags**: Before creating, check workspace_get for existing tags to maintain consistency
|