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,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: researching-tech
|
|
3
|
+
description: Use when choosing between technologies or approaches. Evaluates technical options through multi-dimensional comparison, provides selection recommendations.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Researching Tech
|
|
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
|
+
**Trade-off** - Every choice has pros and cons, find the best fit.
|
|
19
|
+
|
|
20
|
+
**Recording**: Conversation output is invisible to users. You MUST record to workspace node. Standard: "If context is wiped now, can you recall discussion details from conclusion alone?"
|
|
21
|
+
|
|
22
|
+
**Progressive Recording**: For extensive research, NEVER wait until the end. After collecting each option's key info, `log_append` findings immediately.
|
|
23
|
+
|
|
24
|
+
## Typical Actions
|
|
25
|
+
|
|
26
|
+
- Compare options
|
|
27
|
+
- Review best practices
|
|
28
|
+
- Validate constraints
|
|
29
|
+
|
|
30
|
+
## SOP
|
|
31
|
+
|
|
32
|
+
### 1. Identify Options
|
|
33
|
+
|
|
34
|
+
- List candidate solutions (at least 2)
|
|
35
|
+
- Collect core features for each
|
|
36
|
+
- Record official links/repos
|
|
37
|
+
|
|
38
|
+
### 2. Constraint Matching
|
|
39
|
+
|
|
40
|
+
- Check existing tech stack compatibility
|
|
41
|
+
- Exclude incompatible options
|
|
42
|
+
- Verify environment requirements (Node version, dependencies)
|
|
43
|
+
|
|
44
|
+
### 3. Multi-dimensional Comparison
|
|
45
|
+
|
|
46
|
+
| Dimension | Considerations |
|
|
47
|
+
|-----------|----------------|
|
|
48
|
+
| **Implementation complexity** | Code amount, config complexity |
|
|
49
|
+
| **Performance** | Throughput, latency, resource usage |
|
|
50
|
+
| **Maintenance cost** | Learning curve, doc quality, community support |
|
|
51
|
+
|
|
52
|
+
**⚠️ Checkpoint**: After completing comparison table, `log_append` the table before making recommendation.
|
|
53
|
+
|
|
54
|
+
### 4. Recommendation
|
|
55
|
+
|
|
56
|
+
- Give clear recommendation
|
|
57
|
+
- Explain reasoning (at least 3 points)
|
|
58
|
+
- Note prerequisites and risks
|
|
59
|
+
|
|
60
|
+
### 5. Record to Workspace (MANDATORY)
|
|
61
|
+
|
|
62
|
+
After research, MUST record to workspace node:
|
|
63
|
+
|
|
64
|
+
**Recording locations**:
|
|
65
|
+
| Content | Location | Tool |
|
|
66
|
+
|---------|----------|------|
|
|
67
|
+
| Key conclusions (brief) | conclusion | node_update |
|
|
68
|
+
| Options, comparison, reasoning | notes | node_update |
|
|
69
|
+
| Full comparison table (>200 lines) | MEMO | memo_create + node_reference |
|
|
70
|
+
|
|
71
|
+
**NEVER hardcode MEMO IDs** in text like "见 MEMO#xxx". Use `node_reference` to link.
|
|
72
|
+
|
|
73
|
+
**Reference rules** (research tasks MUST include):
|
|
74
|
+
- Official links/repos for each option
|
|
75
|
+
- Version numbers when relevant
|
|
76
|
+
- Source of benchmark/comparison data
|
|
77
|
+
- Core principle: references enable verification, not bureaucracy
|
|
78
|
+
|
|
79
|
+
**Conclusion template** (brief):
|
|
80
|
+
```
|
|
81
|
+
[调研主题] + [推荐选项] + [核心理由]
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Notes template** (detailed):
|
|
85
|
+
```
|
|
86
|
+
**Topic**: [what researched]
|
|
87
|
+
**Options**: [A, B, C with links]
|
|
88
|
+
**Comparison**:
|
|
89
|
+
| Dimension | A | B | C |
|
|
90
|
+
|-----------|---|---|---|
|
|
91
|
+
| ... | ... | ... | ... |
|
|
92
|
+
**Recommendation**: [choice]
|
|
93
|
+
**Reasons**: 1. ... 2. ... 3. ...
|
|
94
|
+
**Risks**: [noted risks]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Output**: node_update called with conclusion + notes
|
|
98
|
+
|
|
99
|
+
### 6. Present to User (MANDATORY)
|
|
100
|
+
|
|
101
|
+
After recording, MUST present research findings to user:
|
|
102
|
+
|
|
103
|
+
1. **Output summary**: Show recommendation using Output Template
|
|
104
|
+
2. **Wait for confirmation**: Ask user if they accept the recommendation
|
|
105
|
+
3. **NEVER proceed directly**: Do NOT start implementation without user decision
|
|
106
|
+
|
|
107
|
+
**Output**: Recommendation presented, user decision received
|
|
108
|
+
|
|
109
|
+
## Checklist
|
|
110
|
+
|
|
111
|
+
### Option Completeness
|
|
112
|
+
- [ ] At least 2 candidates identified
|
|
113
|
+
- [ ] Official links/repos recorded
|
|
114
|
+
- [ ] Core features documented
|
|
115
|
+
|
|
116
|
+
### Constraint Validation
|
|
117
|
+
- [ ] Tech stack compatibility checked
|
|
118
|
+
- [ ] Environment requirements verified
|
|
119
|
+
- [ ] Incompatible options excluded
|
|
120
|
+
|
|
121
|
+
### Comparison Quality
|
|
122
|
+
- [ ] Multiple dimensions compared
|
|
123
|
+
- [ ] Pros/Cons listed for each
|
|
124
|
+
- [ ] Concrete examples provided
|
|
125
|
+
|
|
126
|
+
### Conclusion
|
|
127
|
+
- [ ] Clear recommendation given
|
|
128
|
+
- [ ] Reasoning explained (3+ points)
|
|
129
|
+
- [ ] Risks documented
|
|
130
|
+
|
|
131
|
+
### Recording (MANDATORY)
|
|
132
|
+
- [ ] **Conclusion written**: Brief summary in node conclusion
|
|
133
|
+
- [ ] **Notes written**: Options, comparison, reasoning in node notes
|
|
134
|
+
- [ ] **MEMO linked**: Long content in MEMO, linked via node_reference (not hardcoded ID)
|
|
135
|
+
- [ ] **Wipe test**: If context wiped now, can recall details from recorded content?
|
|
136
|
+
|
|
137
|
+
### Long Content Protection
|
|
138
|
+
- [ ] **Progressive recording**: Used `log_append` after researching each option
|
|
139
|
+
- [ ] **References complete**: All options have official links/repos
|
|
140
|
+
- [ ] **Checkpoint hit**: Logged comparison table before recommendation
|
|
141
|
+
|
|
142
|
+
## Output Template
|
|
143
|
+
|
|
144
|
+
```markdown
|
|
145
|
+
### Research Summary
|
|
146
|
+
**Topic**: [What technology/approach]
|
|
147
|
+
**Recommendation**: [Recommended option]
|
|
148
|
+
|
|
149
|
+
### Candidates
|
|
150
|
+
|
|
151
|
+
#### Option A: [Name]
|
|
152
|
+
- **Link**: [URL]
|
|
153
|
+
- **Features**: [Key features]
|
|
154
|
+
- **Pros**: [List]
|
|
155
|
+
- **Cons**: [List]
|
|
156
|
+
|
|
157
|
+
#### Option B: [Name]
|
|
158
|
+
- **Link**: [URL]
|
|
159
|
+
- **Features**: [Key features]
|
|
160
|
+
- **Pros**: [List]
|
|
161
|
+
- **Cons**: [List]
|
|
162
|
+
|
|
163
|
+
### Comparison
|
|
164
|
+
|
|
165
|
+
| Dimension | Option A | Option B |
|
|
166
|
+
|-----------|----------|----------|
|
|
167
|
+
| Complexity | [Rating] | [Rating] |
|
|
168
|
+
| Performance | [Rating] | [Rating] |
|
|
169
|
+
| Maintenance | [Rating] | [Rating] |
|
|
170
|
+
|
|
171
|
+
### Recommendation
|
|
172
|
+
|
|
173
|
+
**Choose: [Option]**
|
|
174
|
+
|
|
175
|
+
**Reasons**:
|
|
176
|
+
1. [Reason 1]
|
|
177
|
+
2. [Reason 2]
|
|
178
|
+
3. [Reason 3]
|
|
179
|
+
|
|
180
|
+
**Prerequisites**:
|
|
181
|
+
- [Prerequisite 1]
|
|
182
|
+
|
|
183
|
+
**Risks**:
|
|
184
|
+
- [Risk 1]
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Red Flags
|
|
188
|
+
|
|
189
|
+
1. **Single option** - Only consider one solution
|
|
190
|
+
2. **Skip constraints** - Ignore compatibility with existing stack
|
|
191
|
+
3. **Hype-driven** - Choose trendy over appropriate
|
|
192
|
+
4. **No comparison** - Recommendation without pros/cons analysis
|
|
193
|
+
5. **Silent execution** - Complete research, then immediately start implementing without showing user
|
|
194
|
+
6. **Missing links** - Recommend option without official link/repo
|
|
195
|
+
7. **Batch recording** - Research multiple options without intermediate `log_append`
|
|
196
|
+
|
|
197
|
+
## Mandatory Rules
|
|
198
|
+
|
|
199
|
+
1. **MUST compare at least 2 options** - Single option is not a choice
|
|
200
|
+
2. **MUST check compatibility** - Tech must work with existing stack
|
|
201
|
+
3. **MUST provide reasoning** - Recommendations need justification (3+ points)
|
|
202
|
+
4. **MUST document risks** - Every choice has trade-offs
|
|
203
|
+
5. **NEVER choose based on hype** - Fit to project, not trends
|
|
204
|
+
6. **MUST present before proceed** - After research, NEVER start implementation directly. Present recommendation, wait for user decision
|
|
205
|
+
|
|
206
|
+
## Anti-Patterns
|
|
207
|
+
|
|
208
|
+
| Pattern | Wrong | Right |
|
|
209
|
+
|---------|-------|-------|
|
|
210
|
+
| **First result** | Pick first Google result | Compare multiple options |
|
|
211
|
+
| **Resume-driven** | Choose to learn new tech | Choose what fits project |
|
|
212
|
+
| **Ignore team** | Pick unfamiliar tech for team | Consider team expertise |
|
|
213
|
+
| **Overkill** | Complex solution for simple problem | Match solution to problem scale |
|
|
214
|
+
|
|
215
|
+
## Common Rationalizations
|
|
216
|
+
|
|
217
|
+
| Excuse | Why Wrong | Correct Action |
|
|
218
|
+
|--------|-----------|----------------|
|
|
219
|
+
| "This is the industry standard" | Standards may not fit your context | Evaluate fit for YOUR project |
|
|
220
|
+
| "The benchmark shows it's fastest" | Benchmarks don't reflect your use case | Test in your context |
|
|
221
|
+
| "It's what I know best" | Familiarity != best fit | Compare objectively |
|
|
222
|
+
| "Newer is better" | Newer = less stable, fewer resources | Evaluate maturity and support |
|
|
223
|
+
| "Everyone recommends it" | Popularity != appropriateness | Match to requirements, not trends |
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: reviewing-quality
|
|
3
|
+
description: Use when performing Quality Review to identify potential issues and improvements. Assesses code quality, maintainability, and best practices.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Reviewing Quality
|
|
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
|
+
**Assess** - Evaluate code quality objectively. Focus on maintainability, not personal style preferences.
|
|
19
|
+
|
|
20
|
+
## Typical Actions
|
|
21
|
+
|
|
22
|
+
- Inspect code readability
|
|
23
|
+
- Check error handling
|
|
24
|
+
- Verify coding standards
|
|
25
|
+
- Identify potential issues
|
|
26
|
+
|
|
27
|
+
## SOP
|
|
28
|
+
|
|
29
|
+
### 1. Identify Changed Files
|
|
30
|
+
|
|
31
|
+
**Goal**: Scope the review to actual changes.
|
|
32
|
+
|
|
33
|
+
- **Changed files**: What files were modified/created?
|
|
34
|
+
- **Change size**: How significant are the changes?
|
|
35
|
+
- **Change type**: New feature, refactor, bug fix?
|
|
36
|
+
|
|
37
|
+
**Output**: List of files to review
|
|
38
|
+
|
|
39
|
+
### 2. Readability Assessment
|
|
40
|
+
|
|
41
|
+
**Goal**: Evaluate code clarity and maintainability.
|
|
42
|
+
|
|
43
|
+
Check for:
|
|
44
|
+
- **Naming**: Are variables/functions clearly named?
|
|
45
|
+
- **Structure**: Is code logically organized?
|
|
46
|
+
- **Comments**: Are complex parts documented?
|
|
47
|
+
- **Complexity**: Are functions reasonably sized?
|
|
48
|
+
|
|
49
|
+
**Output**: Readability findings
|
|
50
|
+
|
|
51
|
+
### 3. Error Handling Review
|
|
52
|
+
|
|
53
|
+
**Goal**: Verify robustness of error handling.
|
|
54
|
+
|
|
55
|
+
Check for:
|
|
56
|
+
- **Input validation**: Are inputs properly validated?
|
|
57
|
+
- **Error cases**: Are errors caught and handled?
|
|
58
|
+
- **Error messages**: Are errors informative?
|
|
59
|
+
- **Edge cases**: Are boundary conditions handled?
|
|
60
|
+
|
|
61
|
+
**Output**: Error handling findings
|
|
62
|
+
|
|
63
|
+
### 4. Standards Compliance
|
|
64
|
+
|
|
65
|
+
**Goal**: Verify adherence to project conventions.
|
|
66
|
+
|
|
67
|
+
Check for:
|
|
68
|
+
- **Coding style**: Matches project patterns?
|
|
69
|
+
- **Type safety**: Proper use of types (if applicable)?
|
|
70
|
+
- **Best practices**: Follows language/framework conventions?
|
|
71
|
+
- **Consistency**: Consistent with existing codebase?
|
|
72
|
+
|
|
73
|
+
**Output**: Standards compliance findings
|
|
74
|
+
|
|
75
|
+
### 4.5. Observability Check (MANDATORY)
|
|
76
|
+
|
|
77
|
+
**Goal**: Verify code has adequate logging for debugging and monitoring.
|
|
78
|
+
|
|
79
|
+
**Check for**:
|
|
80
|
+
- **Key operation logs**: Entry/exit points of important functions logged?
|
|
81
|
+
- **Error context logs**: Catch blocks include context information?
|
|
82
|
+
- **State change logs**: Important state transitions captured?
|
|
83
|
+
- **Design compliance**: Logging requirements from design phase implemented?
|
|
84
|
+
|
|
85
|
+
**Severity Mapping**:
|
|
86
|
+
| Issue | Severity |
|
|
87
|
+
|-------|----------|
|
|
88
|
+
| No logging in critical paths | HIGH |
|
|
89
|
+
| Missing error context | HIGH |
|
|
90
|
+
| Missing design-specified logs | HIGH |
|
|
91
|
+
| Insufficient debug info | MEDIUM |
|
|
92
|
+
|
|
93
|
+
**Output**: Observability findings
|
|
94
|
+
|
|
95
|
+
### 4.6. Test Coverage Check
|
|
96
|
+
|
|
97
|
+
**Goal**: Verify implementation has adequate test coverage.
|
|
98
|
+
|
|
99
|
+
**Check for**:
|
|
100
|
+
- **Verification method**: Was the `[cmd]`/`[manual]`/`[check]` method from design executed?
|
|
101
|
+
- **Test existence**: Do tests exist for new/modified functionality?
|
|
102
|
+
- **Critical paths covered**: Are core business logic paths tested?
|
|
103
|
+
- **Edge cases**: Are boundary conditions tested?
|
|
104
|
+
|
|
105
|
+
**Note**: Not all projects have test frameworks. Check what was specified in design phase.
|
|
106
|
+
|
|
107
|
+
**Severity Mapping**:
|
|
108
|
+
| Issue | Severity |
|
|
109
|
+
|-------|----------|
|
|
110
|
+
| Design-specified tests not implemented | HIGH |
|
|
111
|
+
| Core logic without any tests | MEDIUM |
|
|
112
|
+
| Missing edge case tests | LOW |
|
|
113
|
+
|
|
114
|
+
**Output**: Test coverage findings
|
|
115
|
+
|
|
116
|
+
### 5. Issue Identification
|
|
117
|
+
|
|
118
|
+
**Goal**: Spot potential problems.
|
|
119
|
+
|
|
120
|
+
Look for:
|
|
121
|
+
- **Performance**: Inefficient algorithms/patterns?
|
|
122
|
+
- **Security**: Potential vulnerabilities?
|
|
123
|
+
- **Memory**: Resource leaks?
|
|
124
|
+
- **Concurrency**: Race conditions?
|
|
125
|
+
|
|
126
|
+
**Output**: Potential issues list
|
|
127
|
+
|
|
128
|
+
### 5.5. Incomplete Implementation Check
|
|
129
|
+
|
|
130
|
+
**Goal**: Detect shortcuts and deferred work.
|
|
131
|
+
|
|
132
|
+
**Search for**:
|
|
133
|
+
- `TODO`, `FIXME`, `HACK`, `XXX` comments in changed code
|
|
134
|
+
- "暂时"、"临时"、"简化实现" in comments or variable names
|
|
135
|
+
- Placeholder values (e.g., hardcoded IDs, magic numbers)
|
|
136
|
+
- Commented-out code with "later" or "future" notes
|
|
137
|
+
- Stub implementations that don't fully implement the interface
|
|
138
|
+
|
|
139
|
+
**Severity**: These are typically HIGH - they indicate incomplete work.
|
|
140
|
+
|
|
141
|
+
**Output**: List of incomplete markers with locations
|
|
142
|
+
|
|
143
|
+
### 6. Compile Assessment
|
|
144
|
+
|
|
145
|
+
**Goal**: Deliver quality verdict.
|
|
146
|
+
|
|
147
|
+
- **PASS conditions**:
|
|
148
|
+
- No critical issues
|
|
149
|
+
- Acceptable readability
|
|
150
|
+
- Adequate error handling
|
|
151
|
+
- Standards compliance met
|
|
152
|
+
- Adequate observability (logging)
|
|
153
|
+
- Test coverage meets design requirements
|
|
154
|
+
|
|
155
|
+
- **FAIL conditions**:
|
|
156
|
+
- Critical security/performance issues
|
|
157
|
+
- Severe readability problems
|
|
158
|
+
- Missing critical error handling
|
|
159
|
+
- Major standards violations
|
|
160
|
+
- TODO/FIXME/HACK markers indicating incomplete work
|
|
161
|
+
- Simplified or temporary implementations
|
|
162
|
+
- No logging in critical paths
|
|
163
|
+
- Design-specified tests not implemented
|
|
164
|
+
|
|
165
|
+
**Output**: Verdict with prioritized findings
|
|
166
|
+
|
|
167
|
+
## Checklist
|
|
168
|
+
|
|
169
|
+
### Scope
|
|
170
|
+
- [ ] Changed files identified
|
|
171
|
+
- [ ] Change type understood
|
|
172
|
+
- [ ] Review scope clear
|
|
173
|
+
|
|
174
|
+
### Readability
|
|
175
|
+
- [ ] Naming conventions checked
|
|
176
|
+
- [ ] Code structure assessed
|
|
177
|
+
- [ ] Complexity evaluated
|
|
178
|
+
|
|
179
|
+
### Error Handling
|
|
180
|
+
- [ ] Input validation reviewed
|
|
181
|
+
- [ ] Error cases checked
|
|
182
|
+
- [ ] Edge cases considered
|
|
183
|
+
|
|
184
|
+
### Standards
|
|
185
|
+
- [ ] Coding style verified
|
|
186
|
+
- [ ] Type safety checked
|
|
187
|
+
- [ ] Best practices followed
|
|
188
|
+
|
|
189
|
+
### Observability (MANDATORY)
|
|
190
|
+
- [ ] Key operations have logging
|
|
191
|
+
- [ ] Error catches include context
|
|
192
|
+
- [ ] State changes are logged
|
|
193
|
+
- [ ] Design-specified logging implemented
|
|
194
|
+
|
|
195
|
+
### Test Coverage
|
|
196
|
+
- [ ] Design verification method checked
|
|
197
|
+
- [ ] Tests exist for new functionality
|
|
198
|
+
- [ ] Core logic paths covered
|
|
199
|
+
- [ ] Edge cases tested (if applicable)
|
|
200
|
+
|
|
201
|
+
### Issues
|
|
202
|
+
- [ ] Performance considered
|
|
203
|
+
- [ ] Security reviewed
|
|
204
|
+
- [ ] No critical problems found
|
|
205
|
+
|
|
206
|
+
### Completeness
|
|
207
|
+
- [ ] No TODO/FIXME/HACK markers
|
|
208
|
+
- [ ] No "暂时/临时/简化" workarounds
|
|
209
|
+
- [ ] No placeholder or hardcoded values
|
|
210
|
+
- [ ] No stub implementations
|
|
211
|
+
|
|
212
|
+
## Output Template
|
|
213
|
+
|
|
214
|
+
```markdown
|
|
215
|
+
### Quality Review Report
|
|
216
|
+
|
|
217
|
+
**Target Node**: [node-id] - [title]
|
|
218
|
+
**Review Node**: [review-node-id]
|
|
219
|
+
**Files Reviewed**: [count] files
|
|
220
|
+
**Verdict**: PASS / FAIL
|
|
221
|
+
|
|
222
|
+
### Summary
|
|
223
|
+
|
|
224
|
+
| Category | Status | Issues |
|
|
225
|
+
|----------|--------|--------|
|
|
226
|
+
| Readability | OK/WARN/FAIL | [count] |
|
|
227
|
+
| Error Handling | OK/WARN/FAIL | [count] |
|
|
228
|
+
| Standards | OK/WARN/FAIL | [count] |
|
|
229
|
+
| Observability | OK/WARN/FAIL | [count] |
|
|
230
|
+
| Test Coverage | OK/WARN/FAIL | [count] |
|
|
231
|
+
| Potential Issues | OK/WARN/FAIL | [count] |
|
|
232
|
+
|
|
233
|
+
### Findings by Category
|
|
234
|
+
|
|
235
|
+
#### Readability
|
|
236
|
+
- [Finding 1 with location]
|
|
237
|
+
- [Finding 2 with location]
|
|
238
|
+
|
|
239
|
+
#### Error Handling
|
|
240
|
+
- [Finding 1 with location]
|
|
241
|
+
- [Finding 2 with location]
|
|
242
|
+
|
|
243
|
+
#### Standards Compliance
|
|
244
|
+
- [Finding 1 with location]
|
|
245
|
+
- [Finding 2 with location]
|
|
246
|
+
|
|
247
|
+
#### Observability
|
|
248
|
+
- [Finding 1 with location] (e.g., "No logging in saveUser @ user.ts:45")
|
|
249
|
+
- [Finding 2 with location]
|
|
250
|
+
|
|
251
|
+
#### Test Coverage
|
|
252
|
+
- [Finding 1 with location] (e.g., "Design-specified [cmd] not executed")
|
|
253
|
+
- [Finding 2 with location]
|
|
254
|
+
|
|
255
|
+
#### Potential Issues
|
|
256
|
+
- [Finding 1 with severity and location]
|
|
257
|
+
- [Finding 2 with severity and location]
|
|
258
|
+
|
|
259
|
+
### Prioritized Recommendations
|
|
260
|
+
|
|
261
|
+
1. **[CRITICAL/HIGH/MEDIUM/LOW]**: [Issue] - [Suggested fix]
|
|
262
|
+
2. **[CRITICAL/HIGH/MEDIUM/LOW]**: [Issue] - [Suggested fix]
|
|
263
|
+
|
|
264
|
+
### Conclusion
|
|
265
|
+
|
|
266
|
+
[Summary of quality assessment]
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
## Recording to Workspace
|
|
270
|
+
|
|
271
|
+
**Principle**: Quality feedback should be actionable and prioritized.
|
|
272
|
+
|
|
273
|
+
### What to Record
|
|
274
|
+
|
|
275
|
+
| Content | Where | Example |
|
|
276
|
+
|---------|-------|---------|
|
|
277
|
+
| Verdict summary | conclusion | "Quality Review PASS: No critical issues" |
|
|
278
|
+
| Critical issues | conclusion | "FAIL: 2 critical issues found" |
|
|
279
|
+
| Full report | conclusion or memo | Detailed findings |
|
|
280
|
+
|
|
281
|
+
### Conclusion Template (PASS)
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
**Verdict**: PASS
|
|
285
|
+
**Quality Score**: [X]/5
|
|
286
|
+
**Summary**: Code meets quality standards.
|
|
287
|
+
**Notes**: [minor suggestions, if any]
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Conclusion Template (FAIL)
|
|
291
|
+
|
|
292
|
+
```
|
|
293
|
+
**Verdict**: FAIL
|
|
294
|
+
**Critical Issues**: [count]
|
|
295
|
+
**Issues**:
|
|
296
|
+
1. [CRITICAL] [description] @ [location]
|
|
297
|
+
2. [HIGH] [description] @ [location]
|
|
298
|
+
**Required Actions**:
|
|
299
|
+
1. [specific fix for issue 1]
|
|
300
|
+
2. [specific fix for issue 2]
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Severity Levels
|
|
306
|
+
|
|
307
|
+
| Level | Description | Action |
|
|
308
|
+
|-------|-------------|--------|
|
|
309
|
+
| CRITICAL | Security vulnerability, data loss risk | Must fix, blocks review |
|
|
310
|
+
| HIGH | Performance issue, missing error handling | Should fix before merge |
|
|
311
|
+
| MEDIUM | Code smell, maintainability concern | Recommend fixing |
|
|
312
|
+
| LOW | Style preference, minor improvement | Optional |
|
|
313
|
+
|
|
314
|
+
## Red Flags
|
|
315
|
+
|
|
316
|
+
1. **Style nitpicking** - Focusing on style over substance
|
|
317
|
+
2. **Missing context** - Not understanding the change purpose
|
|
318
|
+
3. **Blocking on LOW issues** - Failing review for minor concerns
|
|
319
|
+
4. **No prioritization** - Listing issues without severity
|
|
320
|
+
5. **Skip observability check** - Not verifying logging in new code
|
|
321
|
+
6. **Ignore test design** - Not checking if design-specified tests were implemented
|
|
322
|
+
|
|
323
|
+
## Mandatory Rules
|
|
324
|
+
|
|
325
|
+
1. **MUST focus on changed files** - NEVER review unrelated code
|
|
326
|
+
2. **MUST prioritize findings** - Every issue needs severity level
|
|
327
|
+
3. **MUST provide specific feedback** - Vague comments are not actionable
|
|
328
|
+
4. **MUST focus on substance over style** - Style nitpicking wastes everyone's time
|
|
329
|
+
5. **NEVER block on LOW severity** - Only CRITICAL/HIGH issues should fail review
|
|
330
|
+
6. **MUST check observability** - Verify logging exists for key operations and errors
|
|
331
|
+
7. **MUST verify test coverage** - Check if design-specified tests were implemented
|
|
332
|
+
|
|
333
|
+
## Anti-Patterns
|
|
334
|
+
|
|
335
|
+
| Pattern | Wrong | Right |
|
|
336
|
+
|---------|-------|-------|
|
|
337
|
+
| **Perfectionism** | Fail for minor style issues | Focus on critical problems |
|
|
338
|
+
| **Vague feedback** | "Code could be better" | "Function X at line Y lacks error handling for null input" |
|
|
339
|
+
| **Opinion as fact** | "I prefer approach X" | "Approach X improves readability because..." |
|
|
340
|
+
| **Scope creep** | Review unrelated code | Focus on changed files only |
|
|
341
|
+
| **Skip logging check** | "Logging is optional" | Verify critical paths have logs |
|
|
342
|
+
| **Ignore test design** | "Tests not my job to check" | Verify design-specified tests exist |
|
|
343
|
+
|
|
344
|
+
## Common Rationalizations
|
|
345
|
+
|
|
346
|
+
| Excuse | Why Wrong | Correct Action |
|
|
347
|
+
|--------|-----------|----------------|
|
|
348
|
+
| "All issues should be fixed" | Minor issues block important work | Prioritize by severity |
|
|
349
|
+
| "This style is more readable" | Style is subjective, follow project standards | Match existing patterns |
|
|
350
|
+
| "While we're here, let's fix this too" | Scope creep delays delivery | Focus on changed files only |
|
|
351
|
+
| "I would have done it differently" | Different != wrong | Only flag if objectively problematic |
|
|
352
|
+
| "It's faster to just note everything" | Noise obscures signal | Prioritize, focus on what matters |
|
|
353
|
+
| "Logging is the executor's concern" | Silent code = blind debugging for everyone | Verify logging in review |
|
|
354
|
+
| "No tests in this project" | Check design phase requirements | Follow design-specified verification |
|