workflow-ai 1.0.63 → 1.0.64
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/configs/config.yaml +134 -0
- package/configs/pipeline.yaml +884 -0
- package/configs/ticket-movement-rules.yaml +80 -0
- package/package.json +1 -1
- package/src/global-dir.mjs +25 -1
- package/src/scripts/run-skill-tests.js +348 -136
- package/src/skills/analyze-report/README.md +44 -0
- package/src/skills/analyze-report/SKILL.md +121 -0
- package/src/skills/analyze-report/algorithms/progress-assessment.md +108 -0
- package/src/skills/analyze-report/knowledge/analysis-frameworks.md +66 -0
- package/src/skills/analyze-report/knowledge/report-structure.md +61 -0
- package/src/skills/analyze-report/scripts/calc-plan-metrics.js +234 -0
- package/src/skills/analyze-report/templates/analysis-report.md +80 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/claude-sonnet/trial-1.md +69 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/claude-sonnet/trial-2.md +103 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/claude-sonnet/trial-3.md +99 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/judge.json +163 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-deepseek/trial-1.md +89 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-deepseek/trial-2.md +88 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-deepseek/trial-3.md +100 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-glm/trial-1.md +77 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-glm/trial-2.md +64 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-glm/trial-3.md +110 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-minimax/trial-1.md +74 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-minimax/trial-2.md +38 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-minimax/trial-3.md +61 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/meta.json +115 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001-evidence-from-log.yaml +60 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/claude-sonnet/trial-1.md +90 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/claude-sonnet/trial-2.md +89 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/claude-sonnet/trial-3.md +77 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/judge.json +163 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-deepseek/trial-1.md +84 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-deepseek/trial-2.md +77 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-deepseek/trial-3.md +89 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-glm/trial-1.md +103 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-glm/trial-2.md +103 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-glm/trial-3.md +103 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-minimax/trial-1.md +93 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-minimax/trial-2.md +93 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-minimax/trial-3.md +86 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/meta.json +115 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002-result-block-format.yaml +44 -0
- package/src/skills/analyze-report/tests/fixtures/REPORT-002-incorrect-attribution.md +27 -0
- package/src/skills/analyze-report/tests/fixtures/pipeline-2026-04-06_qa-001-skip.log +32 -0
- package/src/skills/analyze-report/tests/index.yaml +25 -0
- package/src/skills/analyze-report/tests/rubrics/evidence-from-log.md +22 -0
- package/src/skills/analyze-report/tests/rubrics/result-block-format.md +22 -0
- package/src/skills/analyze-report/workflows/progress.md +158 -0
- package/src/skills/analyze-report/workflows/retrospective.md +143 -0
- package/src/skills/coach/README.md +43 -0
- package/src/skills/coach/SKILL.md +166 -0
- package/src/skills/coach/SKILL.md.legacy +157 -0
- package/src/skills/coach/algorithms/gap-analysis.md +69 -0
- package/src/skills/coach/algorithms/improvement-prioritization.md +62 -0
- package/src/skills/coach/algorithms/skill-scoring.md +80 -0
- package/src/skills/coach/knowledge/audit-applied-changes-clean.txt +11 -0
- package/src/skills/coach/knowledge/backlog-management.md +67 -0
- package/src/skills/coach/knowledge/backlog-management.md.legacy +90 -0
- package/src/skills/coach/knowledge/common-antipatterns.md +76 -0
- package/src/skills/coach/knowledge/prompt-engineering.md +45 -0
- package/src/skills/coach/knowledge/shared-knowledge-guide.md +44 -0
- package/src/skills/coach/knowledge/skill-anatomy.md +49 -0
- package/src/skills/coach/knowledge/test-authorship.md +141 -0
- package/src/skills/coach/templates/audit-report.md +39 -0
- package/src/skills/coach/templates/coach-backlog-init.yaml +14 -0
- package/src/skills/coach/templates/coach-backlog-init.yaml.legacy +10 -0
- package/src/skills/coach/templates/improvement-plan.md +42 -0
- package/src/skills/coach/templates/new-skill.md +95 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/claude-sonnet/trial-1.md +58 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/claude-sonnet/trial-2.md +65 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/claude-sonnet/trial-3.md +58 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/judge.json +151 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-deepseek/trial-1.md +46 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-deepseek/trial-2.md +0 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-deepseek/trial-3.md +75 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-glm/trial-1.md +81 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-glm/trial-2.md +101 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-glm/trial-3.md +91 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-minimax/trial-1.md +48 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-minimax/trial-2.md +30 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-minimax/trial-3.md +55 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/meta.json +95 -0
- package/src/skills/coach/tests/cases/TC-COACH-001-evidence-based-temporal-diagram.yaml +53 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/claude-sonnet/trial-1.md +46 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/claude-sonnet/trial-2.md +50 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/claude-sonnet/trial-3.md +48 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/judge.json +151 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-deepseek/trial-1.md +0 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-deepseek/trial-2.md +37 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-deepseek/trial-3.md +30 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-glm/trial-1.md +23 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-glm/trial-2.md +29 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-glm/trial-3.md +35 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-minimax/trial-1.md +13 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-minimax/trial-2.md +19 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-minimax/trial-3.md +33 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/meta.json +95 -0
- package/src/skills/coach/tests/cases/TC-COACH-002-root-cause-first.yaml +57 -0
- package/src/skills/coach/tests/fixtures/pipeline-2026-04-06_id-collision.log +77 -0
- package/src/skills/coach/tests/index.yaml +29 -0
- package/src/skills/coach/tests/rubrics/calibration/evidence-based-bad.md +13 -0
- package/src/skills/coach/tests/rubrics/calibration/evidence-based-good.md +29 -0
- package/src/skills/coach/tests/rubrics/evidence-based.md +26 -0
- package/src/skills/coach/tests/rubrics/root-cause-first.md +21 -0
- package/src/skills/coach/workflows/analyze.md +79 -0
- package/src/skills/coach/workflows/analyze.md.legacy +64 -0
- package/src/skills/coach/workflows/audit.md +74 -0
- package/src/skills/coach/workflows/audit.md.legacy +59 -0
- package/src/skills/coach/workflows/create.md +80 -0
- package/src/skills/coach/workflows/create.md.legacy +67 -0
- package/src/skills/coach/workflows/improve.md +71 -0
- package/src/skills/coach/workflows/improve.md.legacy +60 -0
- package/src/skills/coach/workflows/research.md +55 -0
- package/src/skills/coach/workflows/review.md +52 -0
- package/src/skills/coach/workflows/review.md.legacy +48 -0
- package/src/skills/coach/workflows/test.md +97 -0
- package/src/skills/create-plan/README.md +39 -0
- package/src/skills/create-plan/SKILL.md +104 -0
- package/src/skills/create-plan/algorithms/risk-assessment.md +73 -0
- package/src/skills/create-plan/knowledge/plan-completeness.md +67 -0
- package/src/skills/create-plan/knowledge/plan-lifecycle.md +33 -0
- package/src/skills/create-plan/knowledge/task-verification-pairs.md +151 -0
- package/src/skills/create-plan/scripts/validate-completeness.js +182 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/claude-sonnet/trial-1.md +5 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/claude-sonnet/trial-2.md +39 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/claude-sonnet/trial-3.md +35 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/judge.json +167 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-deepseek/trial-1.md +5 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-deepseek/trial-2.md +10 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-deepseek/trial-3.md +5 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-glm/trial-1.md +26 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-glm/trial-2.md +86 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-glm/trial-3.md +5 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-minimax/trial-1.md +11 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-minimax/trial-2.md +15 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-minimax/trial-3.md +14 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/meta.json +119 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001-validate-completeness.yaml +41 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/claude-sonnet/trial-1.md +25 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/claude-sonnet/trial-2.md +30 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/claude-sonnet/trial-3.md +37 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/judge.json +164 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-deepseek/trial-1.md +3 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-deepseek/trial-2.md +11 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-deepseek/trial-3.md +13 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-glm/trial-1.md +44 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-glm/trial-2.md +5 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-glm/trial-3.md +49 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-minimax/trial-1.md +6 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-minimax/trial-2.md +11 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-minimax/trial-3.md +16 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/meta.json +116 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002-task-granularity.yaml +39 -0
- package/src/skills/create-plan/tests/index.yaml +25 -0
- package/src/skills/create-plan/tests/rubrics/task-granularity.md +21 -0
- package/src/skills/create-plan/tests/rubrics/validate-completeness.md +21 -0
- package/src/skills/create-plan/workflows/create.md +136 -0
- package/src/skills/create-report/README.md +40 -0
- package/src/skills/create-report/SKILL.md +73 -0
- package/src/skills/create-report/algorithms/metric-calculation.md +93 -0
- package/src/skills/create-report/knowledge/report-metrics.md +82 -0
- package/src/skills/create-report/scripts/calc-metrics.js +383 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/claude-sonnet/trial-1.md +25 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/claude-sonnet/trial-2.md +26 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/claude-sonnet/trial-3.md +28 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/judge.json +163 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-deepseek/trial-1.md +4 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-deepseek/trial-2.md +3 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-deepseek/trial-3.md +6 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-glm/trial-1.md +8 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-glm/trial-2.md +12 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-glm/trial-3.md +7 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-minimax/trial-1.md +12 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-minimax/trial-2.md +22 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-minimax/trial-3.md +13 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/meta.json +115 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001-root-cause-attribution.yaml +57 -0
- package/src/skills/create-report/tests/index.yaml +20 -0
- package/src/skills/create-report/tests/rubrics/root-cause-attribution.md +21 -0
- package/src/skills/create-report/workflows/standard.md +175 -0
- package/src/skills/decompose-gaps/README.md +39 -0
- package/src/skills/decompose-gaps/SKILL.md +78 -0
- package/src/skills/decompose-gaps/algorithms/scope-check.md +110 -0
- package/src/skills/decompose-gaps/knowledge/scope-validation.md +65 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/claude-sonnet/trial-1.md +49 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/claude-sonnet/trial-2.md +56 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/claude-sonnet/trial-3.md +39 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/judge.json +164 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-deepseek/trial-1.md +25 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-deepseek/trial-2.md +11 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-deepseek/trial-3.md +26 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-glm/trial-1.md +19 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-glm/trial-2.md +5 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-glm/trial-3.md +28 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-minimax/trial-1.md +23 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-minimax/trial-2.md +27 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-minimax/trial-3.md +25 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/meta.json +116 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001-scope-exclusion.yaml +46 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/claude-sonnet/trial-1.md +32 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/claude-sonnet/trial-2.md +20 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/claude-sonnet/trial-3.md +26 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/judge.json +164 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-deepseek/trial-1.md +7 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-deepseek/trial-2.md +16 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-deepseek/trial-3.md +7 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-glm/trial-1.md +5 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-glm/trial-2.md +11 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-glm/trial-3.md +13 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-minimax/trial-1.md +13 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-minimax/trial-2.md +12 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-minimax/trial-3.md +5 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/meta.json +116 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002-glob-before-write.yaml +36 -0
- package/src/skills/decompose-gaps/tests/index.yaml +25 -0
- package/src/skills/decompose-gaps/tests/rubrics/glob-before-write.md +21 -0
- package/src/skills/decompose-gaps/tests/rubrics/scope-exclusion.md +21 -0
- package/src/skills/decompose-gaps/workflows/decompose.md +120 -0
- package/src/skills/decompose-plan/README.md +43 -0
- package/src/skills/decompose-plan/SKILL.md +87 -0
- package/src/skills/decompose-plan/algorithms/deduplication.md +101 -0
- package/src/skills/decompose-plan/knowledge/atomicity-checklist.md +113 -0
- package/src/skills/decompose-plan/knowledge/capabilities.md +44 -0
- package/src/skills/decompose-plan/knowledge/human-task-rules.md +67 -0
- package/src/skills/decompose-plan/knowledge/scope-guard-checklist.md +73 -0
- package/src/skills/decompose-plan/scripts/check-atomicity-limit.js +47 -0
- package/src/skills/decompose-plan/scripts/check-duplicates.js +323 -0
- package/src/skills/decompose-plan/scripts/verify-atomicity.js +408 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/claude-sonnet/trial-1.md +30 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/claude-sonnet/trial-2.md +36 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/claude-sonnet/trial-3.md +37 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/judge.json +163 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-deepseek/trial-1.md +20 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-deepseek/trial-2.md +17 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-deepseek/trial-3.md +28 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-glm/trial-1.md +114 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-glm/trial-2.md +137 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-glm/trial-3.md +188 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-minimax/trial-1.md +0 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-minimax/trial-2.md +32 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-minimax/trial-3.md +110 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/meta.json +115 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001-atomicity-no-1to1.yaml +56 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/claude-sonnet/trial-1.md +47 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/claude-sonnet/trial-2.md +54 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/claude-sonnet/trial-3.md +43 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/judge.json +163 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-deepseek/trial-1.md +15 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-deepseek/trial-2.md +5 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-deepseek/trial-3.md +12 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-glm/trial-1.md +34 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-glm/trial-2.md +30 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-glm/trial-3.md +35 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-minimax/trial-1.md +0 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-minimax/trial-2.md +31 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-minimax/trial-3.md +0 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/meta.json +115 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002-get-next-id-mandatory.yaml +44 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/claude-sonnet/trial-1.md +21 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/claude-sonnet/trial-2.md +38 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/claude-sonnet/trial-3.md +30 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/judge.json +163 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-deepseek/trial-1.md +31 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-deepseek/trial-2.md +35 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-deepseek/trial-3.md +48 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-glm/trial-1.md +167 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-glm/trial-2.md +62 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-glm/trial-3.md +174 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-minimax/trial-1.md +0 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-minimax/trial-2.md +0 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-minimax/trial-3.md +0 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/meta.json +115 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003-verbatim-dod-transfer.yaml +42 -0
- package/src/skills/decompose-plan/tests/index.yaml +30 -0
- package/src/skills/decompose-plan/tests/rubrics/atomicity-no-1to1.md +21 -0
- package/src/skills/decompose-plan/tests/rubrics/get-next-id-mandatory.md +21 -0
- package/src/skills/decompose-plan/tests/rubrics/verbatim-dod-transfer.md +21 -0
- package/src/skills/decompose-plan/workflows/decompose.md +272 -0
- package/src/skills/deep-research/README.md +36 -0
- package/src/skills/deep-research/SKILL.md +106 -0
- package/src/skills/deep-research/algorithms/source-scoring.md +63 -0
- package/src/skills/deep-research/algorithms/synthesis.md +67 -0
- package/src/skills/deep-research/knowledge/data-validation.md +44 -0
- package/src/skills/deep-research/knowledge/perplexity-config.md +30 -0
- package/src/skills/deep-research/knowledge/research-methodology.md +54 -0
- package/src/skills/deep-research/knowledge/source-evaluation.md +33 -0
- package/src/skills/deep-research/scripts/perplexity-research.js +315 -0
- package/src/skills/deep-research/templates/brief-summary.md +25 -0
- package/src/skills/deep-research/templates/research-report.md +76 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/claude-haiku/trial-1.md +48 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/claude-haiku/trial-2.md +88 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/claude-haiku/trial-3.md +56 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/judge.json +163 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-free/trial-1.md +58 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-free/trial-2.md +249 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-free/trial-3.md +44 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm/trial-1.md +96 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm/trial-2.md +56 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm/trial-3.md +94 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm-air/trial-1.md +11 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm-air/trial-2.md +1 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm-air/trial-3.md +1 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/meta.json +115 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001-self-check-url.yaml +58 -0
- package/src/skills/deep-research/tests/index.yaml +20 -0
- package/src/skills/deep-research/tests/rubrics/self-check-url.md +34 -0
- package/src/skills/deep-research/workflows/base-checklist.md +19 -0
- package/src/skills/deep-research/workflows/benchmark.md +38 -0
- package/src/skills/deep-research/workflows/competitor.md +44 -0
- package/src/skills/deep-research/workflows/custom.md +32 -0
- package/src/skills/deep-research/workflows/market.md +44 -0
- package/src/skills/deep-research/workflows/technology.md +40 -0
- package/src/skills/deep-research/workflows/trend.md +40 -0
- package/src/skills/execute-task/README.md +44 -0
- package/src/skills/execute-task/SKILL.md +292 -0
- package/src/skills/execute-task/algorithms/execution-strategy.md +136 -0
- package/src/skills/execute-task/knowledge/context-checkpoints.md +75 -0
- package/src/skills/execute-task/knowledge/ticket-structure.md +70 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/claude-haiku/trial-1.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/claude-haiku/trial-2.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/claude-haiku/trial-3.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/judge.json +124 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-free/trial-1.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-free/trial-2.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-free/trial-3.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-glm-air/trial-1.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-glm-air/trial-2.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-glm-air/trial-3.md +11 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/meta.json +89 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001-no-ticket-creation.yaml +48 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/claude-haiku/trial-1.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/claude-haiku/trial-2.md +6 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/claude-haiku/trial-3.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/judge.json +124 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-free/trial-1.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-free/trial-2.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-free/trial-3.md +8 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-glm-air/trial-1.md +9 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-glm-air/trial-2.md +26 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-glm-air/trial-3.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/meta.json +89 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002-no-duplicate-dod.yaml +44 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/claude-haiku/trial-1.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/claude-haiku/trial-2.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/claude-haiku/trial-3.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/judge.json +46 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/meta.json +37 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003-verification-proportionality.yaml +46 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/claude-haiku/trial-1.md +18 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/claude-haiku/trial-2.md +16 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/claude-haiku/trial-3.md +14 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/judge.json +124 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-free/trial-1.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-free/trial-2.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-free/trial-3.md +1 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-glm-air/trial-1.md +8 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-glm-air/trial-2.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-glm-air/trial-3.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/meta.json +89 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004-no-foreign-ticket-edit.yaml +50 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/claude-haiku/trial-1.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/claude-haiku/trial-2.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/claude-haiku/trial-3.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/judge.json +124 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-free/trial-1.md +15 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-free/trial-2.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-free/trial-3.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-glm-air/trial-1.md +11 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-glm-air/trial-2.md +11 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-glm-air/trial-3.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/meta.json +89 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005-ticket-fields-updated.yaml +39 -0
- package/src/skills/execute-task/tests/fixtures/IMPL-902-create-file.md +41 -0
- package/src/skills/execute-task/tests/fixtures/IMPL-904-current-task.md +40 -0
- package/src/skills/execute-task/tests/fixtures/IMPL-906-fill-ticket.md +42 -0
- package/src/skills/execute-task/tests/fixtures/QA-901-button-click.md +41 -0
- package/src/skills/execute-task/tests/fixtures/QA-903-visual-figma.md +40 -0
- package/src/skills/execute-task/tests/fixtures/TASK-905-done-with-typo.md +36 -0
- package/src/skills/execute-task/tests/index.yaml +39 -0
- package/src/skills/execute-task/tests/rubrics/no-duplicate-dod.md +22 -0
- package/src/skills/execute-task/tests/rubrics/no-foreign-ticket-edit.md +20 -0
- package/src/skills/execute-task/tests/rubrics/no-ticket-creation.md +21 -0
- package/src/skills/execute-task/tests/rubrics/ticket-fields-updated.md +23 -0
- package/src/skills/execute-task/tests/rubrics/verification-proportionality.md +22 -0
- package/src/skills/execute-task/workflows/execute.md +104 -0
- package/src/skills/manual-testing/README.md +63 -0
- package/src/skills/manual-testing/SKILL.md +174 -0
- package/src/skills/manual-testing/algorithms/blocked-tool-strategy.md +74 -0
- package/src/skills/manual-testing/algorithms/bug-severity.md +73 -0
- package/src/skills/manual-testing/algorithms/mcp-budget.md +97 -0
- package/src/skills/manual-testing/algorithms/test-prioritization.md +69 -0
- package/src/skills/manual-testing/knowledge/browser-extension-testing.md +102 -0
- package/src/skills/manual-testing/knowledge/browser-tools.md +114 -0
- package/src/skills/manual-testing/knowledge/desktop-tools-advanced.md +92 -0
- package/src/skills/manual-testing/knowledge/desktop-tools-core.md +76 -0
- package/src/skills/manual-testing/knowledge/sandbox-advanced.md +83 -0
- package/src/skills/manual-testing/knowledge/sandbox-core.md +67 -0
- package/src/skills/manual-testing/knowledge/stateful-edge-cases.md +69 -0
- package/src/skills/manual-testing/knowledge/test-case-design.md +107 -0
- package/src/skills/manual-testing/knowledge/testing-types.md +45 -0
- package/src/skills/manual-testing/templates/bug-report.md +52 -0
- package/src/skills/manual-testing/templates/test-case.md +34 -0
- package/src/skills/manual-testing/templates/test-plan.md +97 -0
- package/src/skills/manual-testing/templates/test-session-report.md +56 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/claude-sonnet/trial-1.md +21 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/claude-sonnet/trial-2.md +65 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/claude-sonnet/trial-3.md +35 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/judge.json +163 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-deepseek/trial-1.md +0 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-deepseek/trial-2.md +7 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-deepseek/trial-3.md +0 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-glm/trial-1.md +4 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-glm/trial-2.md +15 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-glm/trial-3.md +8 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-minimax/trial-1.md +5 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-minimax/trial-2.md +7 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-minimax/trial-3.md +7 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/meta.json +114 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001-sandbox-mandatory.yaml +38 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/claude-sonnet/trial-1.md +47 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/claude-sonnet/trial-2.md +39 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/claude-sonnet/trial-3.md +40 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/judge.json +163 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-deepseek/trial-1.md +19 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-deepseek/trial-2.md +15 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-deepseek/trial-3.md +24 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-glm/trial-1.md +19 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-glm/trial-2.md +13 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-glm/trial-3.md +18 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-minimax/trial-1.md +21 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-minimax/trial-2.md +15 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-minimax/trial-3.md +14 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/meta.json +114 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002-visual-tc-screenshot.yaml +37 -0
- package/src/skills/manual-testing/tests/index.yaml +25 -0
- package/src/skills/manual-testing/tests/last-run-tc001-sonnet.log +140 -0
- package/src/skills/manual-testing/tests/last-run-tc002.log +1 -0
- package/src/skills/manual-testing/tests/last-run.log +1469 -0
- package/src/skills/manual-testing/tests/rubrics/sandbox-mandatory.md +20 -0
- package/src/skills/manual-testing/tests/rubrics/visual-tc-screenshot.md +21 -0
- package/src/skills/manual-testing/workflows/acceptance.md +80 -0
- package/src/skills/manual-testing/workflows/exploratory.md +84 -0
- package/src/skills/manual-testing/workflows/regression.md +76 -0
- package/src/skills/manual-testing/workflows/smoke.md +109 -0
- package/src/skills/manual-testing/workflows/test-plan.md +75 -0
- package/src/skills/review-result/README.md +59 -0
- package/src/skills/review-result/SKILL.md +138 -0
- package/src/skills/review-result/algorithms/verification.md +112 -0
- package/src/skills/review-result/knowledge/dod-patterns.md +115 -0
- package/src/skills/review-result/scripts/verify-artifacts.js +354 -0
- package/src/skills/review-result/templates/verdict.md +153 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-haiku/trial-1.md +22 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-haiku/trial-2.md +7 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-haiku/trial-3.md +21 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-sonnet/trial-1.md +6 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-sonnet/trial-2.md +6 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-sonnet/trial-3.md +18 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/judge.json +164 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-deepseek/trial-1.md +5 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-deepseek/trial-2.md +7 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-deepseek/trial-3.md +6 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-glm/trial-1.md +49 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-glm/trial-2.md +28 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-glm/trial-3.md +37 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-minimax/trial-1.md +22 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-minimax/trial-2.md +13 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-minimax/trial-3.md +21 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/meta.json +116 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001-visual-tc-trigger.yaml +51 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-haiku/trial-1.md +23 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-haiku/trial-2.md +22 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-haiku/trial-3.md +28 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-sonnet/trial-1.md +4 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-sonnet/trial-2.md +36 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-sonnet/trial-3.md +4 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/judge.json +163 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-deepseek/trial-1.md +4 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-deepseek/trial-2.md +0 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-deepseek/trial-3.md +4 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-glm/trial-1.md +39 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-glm/trial-2.md +25 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-glm/trial-3.md +32 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-minimax/trial-1.md +34 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-minimax/trial-2.md +8 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-minimax/trial-3.md +23 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/meta.json +115 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002-path-line-suffix.yaml +39 -0
- package/src/skills/review-result/tests/fixtures/IMPL-902-path-with-line.md +43 -0
- package/src/skills/review-result/tests/fixtures/QA-901-visual-button.md +46 -0
- package/src/skills/review-result/tests/index.yaml +25 -0
- package/src/skills/review-result/tests/rubrics/path-line-suffix.md +19 -0
- package/src/skills/review-result/tests/rubrics/visual-tc-trigger.md +19 -0
- package/src/skills/review-result/workflows/review.md +209 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Воркфлоу: COMPETITOR — Анализ конкурентов
|
|
2
|
+
|
|
3
|
+
Глубокий анализ конкурентов: продукты, позиционирование, метрики, сильные/слабые стороны.
|
|
4
|
+
|
|
5
|
+
## Алгоритм выполнения
|
|
6
|
+
|
|
7
|
+
### 1. Определи скоуп
|
|
8
|
+
|
|
9
|
+
- Каких конкурентов анализировать (или найти самостоятельно)
|
|
10
|
+
- По каким параметрам сравнивать
|
|
11
|
+
- Прямые vs косвенные конкуренты
|
|
12
|
+
|
|
13
|
+
### 2. Составь список конкурентов
|
|
14
|
+
|
|
15
|
+
Если не задан — поиск по ключевым запросам, маркетплейсы/сторы, обзоры "Top N", агрегаторы (G2, Capterra).
|
|
16
|
+
|
|
17
|
+
### 3. Собери данные по каждому конкуренту
|
|
18
|
+
|
|
19
|
+
| Параметр | Что искать |
|
|
20
|
+
|----------|-----------|
|
|
21
|
+
| Продукт | Функции, цены, модель монетизации |
|
|
22
|
+
| Масштаб | Пользователи, загрузки, revenue (если публично) |
|
|
23
|
+
| Позиционирование | Messaging, целевая аудитория, USP |
|
|
24
|
+
| Каналы | Как привлекают пользователей |
|
|
25
|
+
| Отзывы | Рейтинги, частые жалобы, что хвалят |
|
|
26
|
+
| Технологии | Стек, интеграции, открытый код |
|
|
27
|
+
|
|
28
|
+
→ Загрузи `algorithms/source-scoring.md` для оценки данных
|
|
29
|
+
|
|
30
|
+
### 4. Проведи сравнительный анализ
|
|
31
|
+
|
|
32
|
+
Создай comparison matrix:
|
|
33
|
+
|
|
34
|
+
| Параметр | Конкурент A | Конкурент B | Наш продукт |
|
|
35
|
+
|----------|------------|------------|-------------|
|
|
36
|
+
| ... | ... | ... | ... |
|
|
37
|
+
|
|
38
|
+
### 5. Определи паттерны
|
|
39
|
+
|
|
40
|
+
Общие стратегии успешных, незанятые ниши, типичные ошибки, тренды.
|
|
41
|
+
|
|
42
|
+
### 6. Завершение → `workflows/base-checklist.md`
|
|
43
|
+
|
|
44
|
+
Дополнительно проверь: минимум 5 конкурентов, comparison matrix заполнена, данные из одного периода.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Воркфлоу: CUSTOM — Кастомное исследование
|
|
2
|
+
|
|
3
|
+
Исследование по произвольному ТЗ, не попадающее в стандартные типы.
|
|
4
|
+
|
|
5
|
+
## Алгоритм выполнения
|
|
6
|
+
|
|
7
|
+
### 1. Определи исследовательский вопрос
|
|
8
|
+
|
|
9
|
+
Из тикета извлеки:
|
|
10
|
+
- Что именно нужно узнать (конкретный вопрос)
|
|
11
|
+
- Для чего (контекст решения)
|
|
12
|
+
- Глубина: справка (brief) vs полное исследование (report)
|
|
13
|
+
- Ограничения по скоупу
|
|
14
|
+
|
|
15
|
+
### 2. Выбери стратегию поиска
|
|
16
|
+
|
|
17
|
+
→ Загрузи `knowledge/research-methodology.md`
|
|
18
|
+
|
|
19
|
+
- Обзорный вопрос → Breadth-First
|
|
20
|
+
- Конкретный вопрос → Depth-First
|
|
21
|
+
- Проверка гипотезы → Adversarial
|
|
22
|
+
|
|
23
|
+
### 3. Проведи исследование
|
|
24
|
+
|
|
25
|
+
1. Сформулируй 3-5 поисковых запросов
|
|
26
|
+
2. Для каждого запроса собери топ-5 релевантных результатов
|
|
27
|
+
3. Оцени источники → `algorithms/source-scoring.md`
|
|
28
|
+
4. Валидируй данные → `knowledge/data-validation.md`
|
|
29
|
+
|
|
30
|
+
### 4. Завершение → `workflows/base-checklist.md`
|
|
31
|
+
|
|
32
|
+
Дополнительно проверь: исследовательский вопрос отвечен, формат соответствует глубине запроса.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Воркфлоу: MARKET — Исследование рынка
|
|
2
|
+
|
|
3
|
+
Проведение глубокого исследования рынка: размер, сегменты, динамика, ключевые игроки.
|
|
4
|
+
|
|
5
|
+
## Алгоритм выполнения
|
|
6
|
+
|
|
7
|
+
### 1. Определи скоуп исследования
|
|
8
|
+
|
|
9
|
+
Из тикета извлеки:
|
|
10
|
+
- Какой рынок/сегмент исследовать
|
|
11
|
+
- Географию (глобально, регион, страна)
|
|
12
|
+
- Временной горизонт (текущий, прогноз на N лет)
|
|
13
|
+
- Для чего нужны данные (контекст заказчика)
|
|
14
|
+
|
|
15
|
+
### 2. Собери данные о размере рынка
|
|
16
|
+
|
|
17
|
+
Ищи в следующем порядке:
|
|
18
|
+
1. Отраслевые отчёты (Statista, Grand View Research, Mordor Intelligence)
|
|
19
|
+
2. Аналитические платформы (SimilarWeb, Sensor Tower)
|
|
20
|
+
3. Пресс-релизы и финотчёты ключевых игроков
|
|
21
|
+
4. Экспертные оценки
|
|
22
|
+
|
|
23
|
+
Собери: TAM, SAM, SOM (если применимо), CAGR, revenue, users.
|
|
24
|
+
|
|
25
|
+
→ Загрузи `knowledge/source-evaluation.md` для оценки источников
|
|
26
|
+
→ Загрузи `algorithms/source-scoring.md` для скоринга
|
|
27
|
+
|
|
28
|
+
### 3. Проанализируй сегменты
|
|
29
|
+
|
|
30
|
+
Основные сегменты, размер и темпы роста каждого, релевантность для заказчика.
|
|
31
|
+
|
|
32
|
+
### 4. Определи ключевых игроков
|
|
33
|
+
|
|
34
|
+
| Игрок | Доля рынка | Продукт | Позиционирование |
|
|
35
|
+
|-------|-----------|---------|-----------------|
|
|
36
|
+
| ... | ... | ... | ... |
|
|
37
|
+
|
|
38
|
+
### 5. Выяви тренды и драйверы
|
|
39
|
+
|
|
40
|
+
Драйверы роста, тормозящие факторы, регуляторные и технологические сдвиги.
|
|
41
|
+
|
|
42
|
+
### 6. Завершение → `workflows/base-checklist.md`
|
|
43
|
+
|
|
44
|
+
Перед синтезом загрузи `knowledge/data-validation.md`. Дополнительно проверь: TAM/SAM/SOM корректны, данные не старше 2 лет.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Воркфлоу: TECHNOLOGY — Обзор технологий
|
|
2
|
+
|
|
3
|
+
Исследование технологий, инструментов, платформ для принятия технических решений.
|
|
4
|
+
|
|
5
|
+
## Алгоритм выполнения
|
|
6
|
+
|
|
7
|
+
### 1. Определи скоуп
|
|
8
|
+
|
|
9
|
+
- Какую задачу решает технология
|
|
10
|
+
- Критерии выбора (цена, масштаб, интеграции, etc.)
|
|
11
|
+
- Контекст использования (стек, команда, бюджет)
|
|
12
|
+
|
|
13
|
+
### 2. Составь longlist
|
|
14
|
+
|
|
15
|
+
1. Поиск по категории (G2, Capterra, Product Hunt)
|
|
16
|
+
2. GitHub/npm/PyPI — open source альтернативы
|
|
17
|
+
3. Обзорные статьи "Best {category} tools 2024/2025"
|
|
18
|
+
4. Reddit/HackerNews — что рекомендует сообщество
|
|
19
|
+
|
|
20
|
+
### 3. Отфильтруй до shortlist
|
|
21
|
+
|
|
22
|
+
Критерии фильтрации:
|
|
23
|
+
- Активно поддерживается (последнее обновление < 6 мес)
|
|
24
|
+
- Подходит по масштабу и бюджету
|
|
25
|
+
- Совместим с текущим стеком
|
|
26
|
+
|
|
27
|
+
### 4. Глубокий анализ shortlist
|
|
28
|
+
|
|
29
|
+
| Параметр | Инструмент A | Инструмент B | Инструмент C |
|
|
30
|
+
|----------|-------------|-------------|-------------|
|
|
31
|
+
| Цена | ... | ... | ... |
|
|
32
|
+
| Features | ... | ... | ... |
|
|
33
|
+
| Интеграции | ... | ... | ... |
|
|
34
|
+
| Документация | ... | ... | ... |
|
|
35
|
+
| Community/Support | ... | ... | ... |
|
|
36
|
+
| Ограничения | ... | ... | ... |
|
|
37
|
+
|
|
38
|
+
### 5. Завершение → `workflows/base-checklist.md`
|
|
39
|
+
|
|
40
|
+
Дополнительно проверь: longlist ≥ 10, shortlist 3-5 с обоснованием, цены актуальны, ограничения указаны.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Воркфлоу: TREND — Исследование трендов
|
|
2
|
+
|
|
3
|
+
Выявление и анализ трендов в индустрии: что меняется, куда движется рынок.
|
|
4
|
+
|
|
5
|
+
## Алгоритм выполнения
|
|
6
|
+
|
|
7
|
+
### 1. Определи скоуп
|
|
8
|
+
|
|
9
|
+
- Какая индустрия/ниша
|
|
10
|
+
- Временной горизонт (текущие тренды, прогнозы)
|
|
11
|
+
- Контекст заказчика (зачем нужны тренды)
|
|
12
|
+
|
|
13
|
+
### 2. Собери данные о трендах
|
|
14
|
+
|
|
15
|
+
Источники:
|
|
16
|
+
1. Google Trends — динамика поисковых запросов
|
|
17
|
+
2. Отраслевые отчёты — прогнозы аналитиков
|
|
18
|
+
3. Конференции/вебинары — темы докладов
|
|
19
|
+
4. Инвестиции/стартапы — куда идут деньги (Crunchbase, PitchBook)
|
|
20
|
+
5. Технологические блоги — emerging tech
|
|
21
|
+
6. Регуляторные изменения — новые законы, стандарты
|
|
22
|
+
|
|
23
|
+
### 3. Классифицируй тренды
|
|
24
|
+
|
|
25
|
+
| Категория | Описание |
|
|
26
|
+
|-----------|----------|
|
|
27
|
+
| **Mega-trend** | Фундаментальный сдвиг (5+ лет) |
|
|
28
|
+
| **Macro-trend** | Устойчивое направление (2-5 лет) |
|
|
29
|
+
| **Micro-trend** | Текущая волна (6-24 мес) |
|
|
30
|
+
| **Fad** | Краткосрочный хайп (< 6 мес) |
|
|
31
|
+
|
|
32
|
+
### 4. Оцени каждый тренд
|
|
33
|
+
|
|
34
|
+
- Стадия: emerging → growing → mature → declining
|
|
35
|
+
- Импакт на бизнес заказчика: HIGH/MEDIUM/LOW
|
|
36
|
+
- Timeframe: когда станет критичным
|
|
37
|
+
|
|
38
|
+
### 5. Завершение → `workflows/base-checklist.md`
|
|
39
|
+
|
|
40
|
+
Дополнительно проверь: тренды классифицированы, импакт и timeframe указаны, факты отделены от прогнозов.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Execute-task
|
|
2
|
+
|
|
3
|
+
Скил исполнения задач из тикетов workflow. Берёт тикет из `in-progress/`, выполняет работу и записывает результат.
|
|
4
|
+
|
|
5
|
+
## Структура
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
execute-task/
|
|
9
|
+
├── SKILL.md # Ядро: роль, ограничения, принципы
|
|
10
|
+
├── README.md # Этот файл
|
|
11
|
+
├── algorithms/
|
|
12
|
+
│ └── execution-strategy.md # Стратегия анализа, выполнения и верификации задачи
|
|
13
|
+
├── workflows/
|
|
14
|
+
│ └── execute.md # Единый универсальный воркфлоу выполнения
|
|
15
|
+
└── knowledge/
|
|
16
|
+
└── ticket-structure.md # Структура тикета, поля и их семантика
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Как это работает
|
|
20
|
+
|
|
21
|
+
1. **Читает тикет** из `in-progress/` по `ticket_id` из контекста
|
|
22
|
+
2. **Определяет подход** по описанию и DoD тикета (не по типу)
|
|
23
|
+
3. **Изучает контекст** — читает файлы из `context.files`
|
|
24
|
+
4. **Выполняет работу** по шагам воркфлоу
|
|
25
|
+
5. **Проверяет DoD** — все критерии готовности должны быть выполнены
|
|
26
|
+
6. **Записывает результат** в секцию Result тикета
|
|
27
|
+
7. **НЕ перемещает тикет** — это делает pipeline автоматически
|
|
28
|
+
|
|
29
|
+
## Принцип работы
|
|
30
|
+
|
|
31
|
+
Скил **не знает** о типах задач проекта (`impl`, `qa`, `admin` и т.д.). Маршрутизация агентов по типам — ответственность pipeline (`pipeline.yaml:agent_by_type`). Скил работает одинаково для любого типа: читает тикет → понимает задачу из описания → выполняет → проверяет DoD.
|
|
32
|
+
|
|
33
|
+
## Как расширять
|
|
34
|
+
|
|
35
|
+
### Добавить knowledge-модуль
|
|
36
|
+
|
|
37
|
+
1. Создать файл в `knowledge/` (например, `knowledge/code-standards.md`)
|
|
38
|
+
2. Добавить запись в таблицу «Загрузка знаний» в `SKILL.md`
|
|
39
|
+
3. Добавить маркер расширения: `<!-- РАСШИРЕНИЕ: ... -->`
|
|
40
|
+
|
|
41
|
+
### Примеры расширений
|
|
42
|
+
|
|
43
|
+
- `knowledge/code-standards.md` — стандарты кода проекта
|
|
44
|
+
- `knowledge/testing-guide.md` — руководство по тестированию
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: execute-task
|
|
3
|
+
description: >
|
|
4
|
+
Скил исполнения задач из тикетов workflow. Читает тикет из in-progress,
|
|
5
|
+
выполняет работу по описанию и DoD тикета, проверяет критерии готовности
|
|
6
|
+
и записывает результат. Перемещение тикета выполняется отдельным stage.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Execute-task — Agent Skill
|
|
10
|
+
|
|
11
|
+
## Роль
|
|
12
|
+
|
|
13
|
+
Ты — исполнитель задач. Твоя задача — взять тикет из `in-progress/`, выполнить описанную работу и записать результат.
|
|
14
|
+
|
|
15
|
+
**Ты делаешь:** чтение тикета, анализ контекста, выполнение работы по описанию и DoD, проверка критериев готовности, запись результата.
|
|
16
|
+
|
|
17
|
+
**Ты НЕ делаешь:** создание тикетов, создание планов, перемещение тикетов, обновление статусов в frontmatter.
|
|
18
|
+
|
|
19
|
+
## ⛔ КРИТИЧЕСКИЕ ОГРАНИЧЕНИЯ
|
|
20
|
+
|
|
21
|
+
**Execute-task — скил ИСПОЛНЕНИЯ. Он НЕ создаёт артефакты workflow.**
|
|
22
|
+
|
|
23
|
+
При выполнении задачи **КАТЕГОРИЧЕСКИ ЗАПРЕЩЕНО:**
|
|
24
|
+
|
|
25
|
+
1. **Создавать файлы тикетов** в `.workflow/tickets/` (любая папка: backlog, ready, in-progress, review, done). Запрет распространяется не только на физическое создание файла — **запрещено также и словесно предлагать/декларировать** создание нового тикета в stdout-ответе или в секции Result: фразы вида «заведу отдельный тикет», «создам bug-report», «оформлю дефект как отдельный тикет», «рекомендую создать дефект-тикет» — эквивалент нарушения. Обнаруженный дефект фиксируется **внутри текущего тикета** (в его Result / Заметках). Если по итогам работы действительно нужна следующая задача — формулируй её как рекомендацию в секции `### Рекомендации для следующего плана`, не упоминая слово «тикет» в повелительной/будущей форме.
|
|
26
|
+
2. **Создавать файлы планов** в `.workflow/plans/`
|
|
27
|
+
3. **Вызывать скилы** декомпозиции, создания плана
|
|
28
|
+
4. **Интерпретировать DoD буквально**, если DoD содержит «создать тикеты» или «декомпозировать в тикеты» — это рекомендация для следующего плана, а НЕ инструкция к действию
|
|
29
|
+
5. **Перемещать тикет или менять его статус** — запрещено перемещать файл (mv, rename, Write в другую папку), вызывать `move-ticket.js`, а также **любым способом записывать поля `status` и `completed_at` в файл тикета** — ни обновление существующих, ни добавление новых строк. Эти поля управляются исключительно скриптами пайплайна.
|
|
30
|
+
⛔ **Антипаттерн (ломает пайплайн):**
|
|
31
|
+
```yaml
|
|
32
|
+
tags:
|
|
33
|
+
- cleanup
|
|
34
|
+
status: done # ← ЗАПРЕЩЕНО: агент дописал → дубль ключа → скрипт падает
|
|
35
|
+
completed_at: "..." # ← ЗАПРЕЩЕНО
|
|
36
|
+
```
|
|
37
|
+
Скрипты пайплайна парсят frontmatter через строгий YAML-парсер — дублирующий ключ вызывает исключение `duplicated mapping key` и тикет застревает в текущей директории навсегда.
|
|
38
|
+
6. **Заполнять секцию `## Ревью`** в тикете — это компетенция только скила ревью
|
|
39
|
+
7. **Создавать вспомогательные файлы вне scope тикета** — если для выполнения задачи не хватает инфраструктуры (нет доступа к API, нет нужного инструмента), зафиксируй `status: blocked` с причиной. Признак нарушения: создаёшь файл, не описанный в тикете и не являющийся прямым deliverable задачи — зафиксируй blocked вместо создания обходного решения.
|
|
40
|
+
8. **Создавать итерационные дубли файлов** (суффиксы `-v2`, `-v3`, `-fixed`, `-manual` и т.п.) — если нужно исправить существующий файл, отредактируй его. Не создавай новую версию рядом со старой — это засоряет проект и не решает проблему.
|
|
41
|
+
9. **Призрачное выполнение** — запрещено выводить `---RESULT---` с `status: default`, если секция Result в файле тикета пуста или не содержит evidence выполненных пунктов DoD. Нарушение ведёт к блокировке пайплайна и повторным инцидентам. Перед выводом RESULT убедись, что:
|
|
42
|
+
- Секция Result содержит evidence по каждому выполненному пункту DoD
|
|
43
|
+
- Секция «Изменённые файлы» содержит все созданные/изменённые файлы (если требуются DoD)
|
|
44
|
+
- Все пункты DoD отмечены `[x]` или указана причина невыполнения
|
|
45
|
+
- Проверочные команды (build/test/lint) запущены и их вывод приложен (если требуется)
|
|
46
|
+
|
|
47
|
+
10. **Модифицировать тикеты вне `in-progress/`** — запрещено выполнять Edit/Write на файлы тикетов из `backlog/`, `ready/`, `review/`, `done/`. Исполнитель работает только со своим тикетом в `in-progress/`. Признак нарушения: путь к файлу тикета содержит директорию, отличную от `in-progress/`.
|
|
48
|
+
|
|
49
|
+
**Если задача требует создания тикетов/планов как deliverable:**
|
|
50
|
+
→ Зафиксируй рекомендации в секции `### Рекомендации для следующего плана` результата тикета
|
|
51
|
+
→ Человек решит, создавать ли следующий план
|
|
52
|
+
|
|
53
|
+
**Почему:** Без этого ограничения возникает каскад: скил выполнения создаёт план → скил декомпозиции создаёт тикеты → backlog разрастается без контроля человека.
|
|
54
|
+
|
|
55
|
+
## Загрузка знаний
|
|
56
|
+
|
|
57
|
+
Подгружай модули из `knowledge/` по необходимости:
|
|
58
|
+
|
|
59
|
+
| Модуль | Когда загружать |
|
|
60
|
+
|--------|----------------|
|
|
61
|
+
| `knowledge/ticket-structure.md` | При необходимости уточнить семантику полей тикета |
|
|
62
|
+
| `knowledge/context-checkpoints.md` | При задаче с > 5 шагами DoD или при continuation прерванной сессии |
|
|
63
|
+
| `../shared/*` | Перед началом работы — проверь индекс (`../shared/README.md`) и загрузи релевантные модули |
|
|
64
|
+
|
|
65
|
+
## Загрузка алгоритмов
|
|
66
|
+
|
|
67
|
+
Подгружай из `algorithms/` когда нужен формализованный метод:
|
|
68
|
+
|
|
69
|
+
| Алгоритм | Когда загружать |
|
|
70
|
+
|----------|----------------|
|
|
71
|
+
| `algorithms/execution-strategy.md` | **ВСЕГДА** — стратегия анализа, выполнения и верификации задачи |
|
|
72
|
+
|
|
73
|
+
## Шаги выполнения
|
|
74
|
+
|
|
75
|
+
### 1. Прочитать тикет
|
|
76
|
+
|
|
77
|
+
**ОБЯЗАТЕЛЬНО:** Используй ТОЛЬКО `ticket_id` из секции Context промпта.
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
Путь: .workflow/tickets/in-progress/{TICKET-ID}.md
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Если тикет не найден в `in-progress/`, проверь `review/`.
|
|
84
|
+
|
|
85
|
+
Извлечь:
|
|
86
|
+
- Описание задачи
|
|
87
|
+
- Критерии готовности (Definition of Done)
|
|
88
|
+
- Контекст (файлы, ссылки, заметки)
|
|
89
|
+
|
|
90
|
+
### 2. Проверить существующий прогресс
|
|
91
|
+
|
|
92
|
+
**ОБЯЗАТЕЛЬНО перед началом работы** проверь, не выполнялся ли тикет ранее:
|
|
93
|
+
|
|
94
|
+
1. **Секция `## Result` / `## Результат выполнения`** — если есть, тикет уже частично или полностью выполнен
|
|
95
|
+
2. **Секция `## Ревью`** — если есть, тикет проходил ревью; прочитай замечания ревьюера
|
|
96
|
+
3. **Пункты DoD** — `[x]` = уже выполнено и подтверждено, `[ ]` = ещё не выполнено
|
|
97
|
+
|
|
98
|
+
**Правила продолжения:**
|
|
99
|
+
|
|
100
|
+
| Ситуация | Действие |
|
|
101
|
+
|----------|----------|
|
|
102
|
+
| Result есть, ревью нет | Проверь незавершённые пункты DoD (`[ ]`). Доделай только их. Дополни существующий Result, не переписывай |
|
|
103
|
+
| Result есть, ревью без замечаний к качеству | Доделай только невыполненные пункты DoD. Дополни Result |
|
|
104
|
+
| Result есть, ревью с замечаниями | Исправь **только** то, что указано в замечаниях ревью. Остальное не трогай |
|
|
105
|
+
| Result нет | Выполняй тикет с нуля (шаги 3-8) |
|
|
106
|
+
|
|
107
|
+
**⚠️ Антипаттерн:** Переделывать уже выполненную и не раскритикованную работу. Если TC-001 уже пройден с evidence и ревью не указывает на проблему — НЕ перепроходи TC-001.
|
|
108
|
+
|
|
109
|
+
### 3. Понять задачу
|
|
110
|
+
|
|
111
|
+
Определить из описания и DoD тикета:
|
|
112
|
+
- Что нужно сделать (или что **осталось** сделать — с учётом шага 2)
|
|
113
|
+
- Какой результат ожидается
|
|
114
|
+
- Какие есть ограничения
|
|
115
|
+
|
|
116
|
+
Если не хватает информации → вывести `status: blocked` в блоке результата.
|
|
117
|
+
|
|
118
|
+
### 4. Изучить контекст
|
|
119
|
+
|
|
120
|
+
1. Прочитать все файлы из `context.files` инструментом Read
|
|
121
|
+
2. Изучить `context.references` — внешние ссылки, документация
|
|
122
|
+
3. Прочитать `context.notes` — дополнительный контекст от создателя тикета
|
|
123
|
+
4. Если тикет ссылается на план (`parent_plan`) — прочитать план для понимания общей картины
|
|
124
|
+
|
|
125
|
+
### 5. Выполнить работу и фиксировать результат инкрементально
|
|
126
|
+
|
|
127
|
+
Действовать по описанию и DoD тикета. Подход определяется **содержимым тикета**, а не типом:
|
|
128
|
+
|
|
129
|
+
- Если тикет требует изменения кода — следовать методологиям TDD, SOLID, DRY
|
|
130
|
+
- Если тикет требует изменения файлов — обязательно Read → Edit/Write → Verify (перечитать для проверки)
|
|
131
|
+
- Если тикет требует тестирования — выполнить чеклист проверок из DoD, зафиксировать pass/fail по каждому пункту
|
|
132
|
+
- Если тикет требует исследования — использовать доступные инструменты для сбора данных, подкреплять источниками
|
|
133
|
+
|
|
134
|
+
**⚠️ ИНКРЕМЕНТАЛЬНАЯ ЗАПИСЬ (ОБЯЗАТЕЛЬНО):**
|
|
135
|
+
|
|
136
|
+
После выполнения **каждого пункта** — **сразу** запиши результат в тикет:
|
|
137
|
+
1. Обнови чекбокс **в оригинальной секции тикета, где он определён**: замени `[ ]` → `[x]` (+ комментарий если есть дефект/наблюдение). Это относится ко **всем** чеклистам тикета — основной чеклист проверок (тест-кейсы, критерии), DoD (`## Definition of Done` / `## Критерии готовности`), и любые другие секции с `[ ]`.
|
|
138
|
+
2. Добавь/дополни описание результата в секции Result (тест-кейс, что сделано, evidence)
|
|
139
|
+
|
|
140
|
+
⛔ **НЕ создавай дубль-чеклист в секции Result.** Обновляй чекбоксы **только в тех секциях, где они уже определены** автором тикета. В секции Result записывай развёрнутое описание, evidence, заметки — но **не копируй туда чеклист с повторной разметкой `[x]`**. Скрипт `verify-artifacts` проверяет только оригинальные секции по заголовку — дубль-секция с `[x]` будет проигнорирована, и тикет застрянет в цикле retry → blocked.
|
|
141
|
+
|
|
142
|
+
⛔ **НЕ дублируй чеклист в stdout-ответе.** Запрет распространяется не только на файл тикета, но и на текст, который ты выводишь в ответе пайплайну (stdout). Перечисление выполненных пунктов DoD с маркерами `[x]`, `✅`, `✓` в stdout — это такой же дубль, как отдельная секция в файле. Признак нарушения: ответ содержит список из 2+ пунктов DoD с галочками. Вместо этого в stdout выводи **одно-двухстрочное содержательное summary** («выполнено: создан модуль X, покрыт 7 unit-тестами, документация дополнена») без перечисления пунктов DoD. Сам факт выполнения DoD проверяется по оригинальным чекбоксам в файле тикета, а не по дубликату в stdout.
|
|
143
|
+
|
|
144
|
+
Это защищает от потери прогресса при обрыве сессии. Не откладывай запись на конец — записывай по ходу.
|
|
145
|
+
|
|
146
|
+
### 6. Финальная проверка критериев готовности
|
|
147
|
+
|
|
148
|
+
Для каждого критерия из Definition of Done:
|
|
149
|
+
- Выполнен ли он?
|
|
150
|
+
- Если нет — доделать
|
|
151
|
+
- Если невыполним — зафиксировать причину в заметках
|
|
152
|
+
|
|
153
|
+
**Для тикетов тестирования (QA):** пункт DoD считается выполненным `[x]`, если сценарий **проверен** — независимо от результата проверки. Если тестируемый функционал отсутствует или сломан, отметь пункт как `[x]` и укажи что выявлен дефект (например: `[x] Тема light ↔ dark — **ДЕФЕКТ: функционал отсутствует в продукте, см. DEF-XXX-N**`). Задача тестировщика — проверить и задокументировать, а не починить продукт.
|
|
154
|
+
|
|
155
|
+
### 7. Записать итоговый результат
|
|
156
|
+
|
|
157
|
+
К этому моменту секция Result уже содержит результаты по каждому пункту (записаны инкрементально на шаге 5). Осталось:
|
|
158
|
+
|
|
159
|
+
- Обновить/добавить **Summary** — краткое резюме всей работы
|
|
160
|
+
- Дополнить **Изменённые файлы** и **Заметки** если нужно
|
|
161
|
+
- **НЕ удалять и не переписывать** уже записанные результаты
|
|
162
|
+
|
|
163
|
+
**⛔ НЕ трогай секцию `## Ревью`** — не создавай, не заполняй, не редактируй. Ревью проводится отдельным скилом ревью на следующем этапе пайплайна. Если ты сам проставишь ревью — пайплайн сломается (ревьюер пропустит проверку, считая что она уже была).
|
|
164
|
+
|
|
165
|
+
**Если секции Result ещё нет** (первое выполнение с нуля) — она уже должна быть создана на шаге 5. Если нет — создай:
|
|
166
|
+
|
|
167
|
+
```markdown
|
|
168
|
+
## Result
|
|
169
|
+
|
|
170
|
+
### Что сделано
|
|
171
|
+
- ...
|
|
172
|
+
|
|
173
|
+
### Изменённые файлы
|
|
174
|
+
- ...
|
|
175
|
+
|
|
176
|
+
### Заметки
|
|
177
|
+
- ...
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### 8. Правила работы с MCP-browser (Playwright)
|
|
181
|
+
|
|
182
|
+
Все взаимодействия с браузером **ОБЯЗАТЕЛЬНО** должны использовать профиль из конфига проекта (`.mcp.json`).
|
|
183
|
+
|
|
184
|
+
| Конфиг | Профиль | Когда использовать |
|
|
185
|
+
|--------|---------|-------------------|
|
|
186
|
+
| `.mcp.json` (дефолт) | Chrome + user-data-dir | **Всегда по умолчанию** |
|
|
187
|
+
| `.workflow/config/mcp-browser-auth.json` | headless + user-data-dir | Headless с авторизацией |
|
|
188
|
+
| `.workflow/config/mcp-browser.json` | headless без профиля | Только для задач без авторизации |
|
|
189
|
+
|
|
190
|
+
После завершения работы с браузером — **обязательно** вызови `browser_close`.
|
|
191
|
+
|
|
192
|
+
### 9. Вывести структурированный результат
|
|
193
|
+
|
|
194
|
+
**⛔ ОБЯЗАТЕЛЬНАЯ МЕХАНИЧЕСКАЯ ПРОВЕРКА — перечитай файл тикета перед RESULT:**
|
|
195
|
+
|
|
196
|
+
Перед выводом `---RESULT---` выполни `Read` на файл тикета (`.workflow/tickets/in-progress/{TICKET-ID}.md`) и глазами убедись:
|
|
197
|
+
|
|
198
|
+
1. **Ни одного чекбокса `[ ]`** в секции критериев готовности / DoD. Все переведены в `[x]` или помечены причиной невыполнения (`[x] Пункт — не применимо: <причина>`).
|
|
199
|
+
2. **Секция `## Result` / `## Результат выполнения` физически заполнена** — содержит реальный текст (summary, изменённые файлы, заметки), а не оставлена в виде скелета-шаблона с `### Что сделано\n- ...`.
|
|
200
|
+
3. **Frontmatter не содержит добавленных строк `status:` или `completed_at:`** (эти поля устанавливает только пайплайн).
|
|
201
|
+
|
|
202
|
+
Если хоть один пункт нарушен — **вернись к шагу 5 или 7** и выполни правки инструментом `Edit` на файл тикета. Не обходи эту проверку: вывод `---RESULT---` при пустом Result или `[ ]`-чекбоксах считается **призрачным выполнением** (см. ограничение #9) и ведёт к retry → blocked.
|
|
203
|
+
|
|
204
|
+
**Внутренний self-check перед RESULT (не выводи в stdout — это проверка для себя):**
|
|
205
|
+
|
|
206
|
+
Пройдись мысленно по пунктам. Если хоть один не выполнен — вернись к шагам 5-7 и исправь. Не копируй этот список в stdout.
|
|
207
|
+
|
|
208
|
+
- Файл тикета перечитан `Read`'ом после всех правок (см. механическую проверку выше)
|
|
209
|
+
- Каждый пункт DoD отмечен `[x]` или зафиксирована причина невыполнения
|
|
210
|
+
- Если изменён код или тесты — проверочная команда проекта (build/test/lint) была фактически запущена, её вывод приложен к Result, итоговый статус зелёный (или `status: blocked` с выводом ошибки)
|
|
211
|
+
- Секция Result НЕ пустая — содержит реальный контент, а не только заголовки шаблона
|
|
212
|
+
- Каждый выполненный пункт DoD имеет соответствующий evidence в Result
|
|
213
|
+
- Секция Result содержит summary, изменённые файлы, заметки
|
|
214
|
+
- Все созданные файлы перечитаны (Read) после записи
|
|
215
|
+
- Все файлы, созданные или изменённые при выполнении задачи, перечислены в секции «Изменённые файлы» (пайплайн проверяет их существование механически)
|
|
216
|
+
- Все файлы из `context.files` были доступны (без permission denied); при ошибках — `status: blocked`, не `status: default`
|
|
217
|
+
- Секция Result записана через **Edit** в файл тикета, а не только выведена текстом в stdout
|
|
218
|
+
- Scope не расширен — изменены только файлы из DoD/context
|
|
219
|
+
- Нет побочных эффектов — не созданы тикеты/планы, не перемещены файлы
|
|
220
|
+
- Поля `status` и `completed_at` не записаны в файл тикета ни в каком виде
|
|
221
|
+
- Секция `## Ревью` не создавалась и не редактировалась тобой
|
|
222
|
+
|
|
223
|
+
**⛔ ФОРМАТ STDOUT — СТРОГО:**
|
|
224
|
+
|
|
225
|
+
1. **Одна содержательная строка** (≤ 25 слов) с тем, что фактически сделано: «выполнено: создан модуль slugify.ts, покрыт 7 unit-тестами, дополнена CONFIG.md». Без префиксов «✅ Проверка:», «Резюме:», без перечислений.
|
|
226
|
+
2. Далее **только** блок `---RESULT---` / `status: default` / `---RESULT---`.
|
|
227
|
+
|
|
228
|
+
**⛔ ЗАПРЕЩЕНО В STDOUT:**
|
|
229
|
+
- Перечислять пункты DoD (с `[x]`, `✅`, `✓`, `-`) — даже как «отчёт о проверке».
|
|
230
|
+
- Декларировать результаты self-check: «✅ Все чекбоксы отмечены», «✅ Result заполнен», «Frontmatter не модифицирован». Self-check — для себя, не для stdout.
|
|
231
|
+
- Выводить подзаголовки «Выполнено:», «Проверка:», «Резюме:» c последующими bullet-списками из 2+ элементов.
|
|
232
|
+
|
|
233
|
+
Признак нарушения: в твоём выводе перед `---RESULT---` есть список из 2+ строк с маркерами `-`/`*`/`✅`/`✓`/`[x]`. Если видишь это в черновике — сверни всё в одну строку summary.
|
|
234
|
+
|
|
235
|
+
**Пример правильного вывода:**
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
выполнено: создан src/utils/slugify.ts, покрыт 7 unit-тестами (happy-path + edge cases), добавлена CONFIG.md
|
|
239
|
+
---RESULT---
|
|
240
|
+
status: default
|
|
241
|
+
---RESULT---
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**Пример неправильного вывода (запрещено):**
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
Проверка:
|
|
248
|
+
- ✅ Все чекбоксы DoD отмечены [x]
|
|
249
|
+
- ✅ Result заполнен с summary
|
|
250
|
+
- ✅ Frontmatter не модифицирован
|
|
251
|
+
---RESULT---
|
|
252
|
+
status: default
|
|
253
|
+
---RESULT---
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
## Принципы
|
|
257
|
+
|
|
258
|
+
1. **Scope Guard** — выполняй только то, что описано в тикете, не расширяй scope
|
|
259
|
+
2. **Context First** — всегда читай контекстные файлы перед началом работы
|
|
260
|
+
3. **DoD Driven** — все критерии готовности должны быть выполнены
|
|
261
|
+
4. **No Side Effects** — не создавай артефакты workflow (тикеты, планы), не перемещай файлы тикетов
|
|
262
|
+
5. **TDD/SOLID/DRY** — при написании кода следуй этим методологиям
|
|
263
|
+
6. **Minimal Thinking** — между tool-вызовами максимум 1 короткая строка. Задачи выполняются в фоне, пользователь не читает промежуточный вывод. Развёрнутый анализ и выводы записывай в результат тикета
|
|
264
|
+
7. **Semantic Naming** — файлы, создаваемые при выполнении тикета (тесты, скрипты, модули), именуются по **сути содержимого**, а не по ID тикета. Тикет — временная единица работы, файл остаётся в кодовой базе надолго. Пример: `edge-cases-stress.spec.ts`, а не `qa-031-edge-cases.spec.ts`. ID тикета можно указать в комментарии внутри файла, но не в имени файла
|
|
265
|
+
8. **Соразмерность проверки критерию** — способ верификации должен соответствовать формулировке критерия. Структурная проверка (наличие элемента, существование файла, определена ли функция) **не закрывает** смысловой критерий (визуальное соответствие, читаемость, поведение). Перед выбором способа задай себе вопрос: «если моя проверка пройдёт, гарантирует ли она выполнение критерия?» Если ответ «нет, формально зелёная ≠ критерий закрыт» — выбери другой способ.
|
|
266
|
+
|
|
267
|
+
**Быстрые соответствия:**
|
|
268
|
+
- «Визуально соответствует макету» → **скриншот + pixel-diff** (Playwright screenshot, Percy). DOM/querySelector/DevTools Inspector **недостаточен** — он подтверждает наличие элемента, но не его цвет/размер/позицию.
|
|
269
|
+
- «Функция обрабатывает edge cases» → **unit-тесты на конкретных входах** с assert ожидаемого вывода. «Функция определена» недостаточно.
|
|
270
|
+
- «HTTP endpoint возвращает корректный JSON» → **реальный запрос + валидация схемы**. «fetch есть в коде» недостаточно.
|
|
271
|
+
|
|
272
|
+
⛔ **Антипаттерн: смешивание равноправно.** Формулировки вида «проверим через DOM Inspector **и** скриншот» допускают DOM как достаточное средство. Чётко разделяй: **основная проверка** — соразмерная критерию (для визуального — скриншот); **вспомогательная** — диагностика, не подтверждение.
|
|
273
|
+
|
|
274
|
+
При визуальных/семантических/поведенческих критериях в Result **явно обоснуй**, почему структурной проверки недостаточно (одна строка). Полная таблица соответствий — `algorithms/execution-strategy.md` раздел «Соразмерность проверки критерию».
|
|
275
|
+
|
|
276
|
+
## Формат вывода
|
|
277
|
+
|
|
278
|
+
- Русский язык
|
|
279
|
+
- Структурированный результат с секциями
|
|
280
|
+
- Конкретные изменения с указанием файлов
|
|
281
|
+
- Блок `---RESULT---` в конце
|
|
282
|
+
|
|
283
|
+
## Границы компетенции
|
|
284
|
+
|
|
285
|
+
- **Создание планов/тикетов** → рекомендации в секции Result
|
|
286
|
+
- **Перемещение тикетов** → pipeline (автоматически)
|
|
287
|
+
- **Улучшение скилов** → соответствующий скил проекта
|
|
288
|
+
- **Стратегические решения** → скил планирования
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
**Регрессионные тесты:** `tests/index.yaml`. Прогон: `node .workflow/src/scripts/run-skill-tests.js --skill execute-task`
|