@tacuchi/agent-workflow-cli 11.0.1 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -95
- package/dist/application/artifacts-service.d.ts +3 -12
- package/dist/application/artifacts-service.d.ts.map +1 -1
- package/dist/application/artifacts-service.js +18 -19
- package/dist/application/artifacts-service.js.map +1 -1
- package/dist/application/branch-resolver.d.ts +16 -0
- package/dist/application/branch-resolver.d.ts.map +1 -0
- package/dist/application/branch-resolver.js +24 -0
- package/dist/application/branch-resolver.js.map +1 -0
- package/dist/application/check-branch-service.d.ts +0 -2
- package/dist/application/check-branch-service.d.ts.map +1 -1
- package/dist/application/check-branch-service.js +5 -40
- package/dist/application/check-branch-service.js.map +1 -1
- package/dist/application/checkpoint/markdown.d.ts.map +1 -1
- package/dist/application/checkpoint/markdown.js +1 -16
- package/dist/application/checkpoint/markdown.js.map +1 -1
- package/dist/application/checkpoint/state-reader.d.ts +1 -3
- package/dist/application/checkpoint/state-reader.d.ts.map +1 -1
- package/dist/application/checkpoint/state-reader.js +10 -31
- package/dist/application/checkpoint/state-reader.js.map +1 -1
- package/dist/application/checkpoint-service.d.ts +12 -14
- package/dist/application/checkpoint-service.d.ts.map +1 -1
- package/dist/application/checkpoint-service.js +36 -61
- package/dist/application/checkpoint-service.js.map +1 -1
- package/dist/application/checkpoint-write-service.d.ts +0 -2
- package/dist/application/checkpoint-write-service.d.ts.map +1 -1
- package/dist/application/checkpoint-write-service.js +5 -6
- package/dist/application/checkpoint-write-service.js.map +1 -1
- package/dist/application/history-update-service.js +3 -1
- package/dist/application/history-update-service.js.map +1 -1
- package/dist/application/hook-branch-check.d.ts.map +1 -1
- package/dist/application/hook-branch-check.js +5 -34
- package/dist/application/hook-branch-check.js.map +1 -1
- package/dist/application/hook-git-commit-advisor.d.ts.map +1 -1
- package/dist/application/hook-git-commit-advisor.js +18 -23
- package/dist/application/hook-git-commit-advisor.js.map +1 -1
- package/dist/application/markdown.d.ts.map +1 -1
- package/dist/application/markdown.js +0 -4
- package/dist/application/markdown.js.map +1 -1
- package/dist/application/parsers/project-block.d.ts +0 -8
- package/dist/application/parsers/project-block.d.ts.map +1 -1
- package/dist/application/parsers/project-block.js +13 -52
- package/dist/application/parsers/project-block.js.map +1 -1
- package/dist/application/paths-service.d.ts +7 -8
- package/dist/application/paths-service.d.ts.map +1 -1
- package/dist/application/paths-service.js +12 -8
- package/dist/application/paths-service.js.map +1 -1
- package/dist/application/project-md-upsert-service.d.ts +3 -11
- package/dist/application/project-md-upsert-service.d.ts.map +1 -1
- package/dist/application/project-md-upsert-service.js +6 -56
- package/dist/application/project-md-upsert-service.js.map +1 -1
- package/dist/application/project-tab-data.d.ts +14 -42
- package/dist/application/project-tab-data.d.ts.map +1 -1
- package/dist/application/project-tab-data.js +27 -113
- package/dist/application/project-tab-data.js.map +1 -1
- package/dist/application/release-data/artifacts.d.ts +0 -2
- package/dist/application/release-data/artifacts.d.ts.map +1 -1
- package/dist/application/release-data/artifacts.js +22 -12
- package/dist/application/release-data/artifacts.js.map +1 -1
- package/dist/application/release-data/sessions.d.ts +0 -2
- package/dist/application/release-data/sessions.d.ts.map +1 -1
- package/dist/application/release-data/sessions.js +36 -27
- package/dist/application/release-data/sessions.js.map +1 -1
- package/dist/application/release-data-service.d.ts +0 -3
- package/dist/application/release-data-service.d.ts.map +1 -1
- package/dist/application/release-data-service.js +3 -21
- package/dist/application/release-data-service.js.map +1 -1
- package/dist/application/render/history-row.d.ts +1 -9
- package/dist/application/render/history-row.d.ts.map +1 -1
- package/dist/application/render/history-row.js +3 -20
- package/dist/application/render/history-row.js.map +1 -1
- package/dist/application/render/project-block.d.ts +1 -3
- package/dist/application/render/project-block.d.ts.map +1 -1
- package/dist/application/render/project-block.js +4 -27
- package/dist/application/render/project-block.js.map +1 -1
- package/dist/application/self/doctor-self.d.ts.map +1 -1
- package/dist/application/self/doctor-self.js +15 -8
- package/dist/application/self/doctor-self.js.map +1 -1
- package/dist/application/self/install-hooks.d.ts +1 -1
- package/dist/application/self/install-hooks.d.ts.map +1 -1
- package/dist/application/self/install-hooks.js +3 -2
- package/dist/application/self/install-hooks.js.map +1 -1
- package/dist/application/self/install-skill.d.ts +9 -3
- package/dist/application/self/install-skill.d.ts.map +1 -1
- package/dist/application/self/install-skill.js +16 -16
- package/dist/application/self/install-skill.js.map +1 -1
- package/dist/application/self/uninstall-skill.js +14 -12
- package/dist/application/self/uninstall-skill.js.map +1 -1
- package/dist/application/self/uninstall.js +14 -12
- package/dist/application/self/uninstall.js.map +1 -1
- package/dist/application/session-artifacts.d.ts +7 -6
- package/dist/application/session-artifacts.d.ts.map +1 -1
- package/dist/application/session-artifacts.js +10 -15
- package/dist/application/session-artifacts.js.map +1 -1
- package/dist/application/session-close-service.d.ts +5 -22
- package/dist/application/session-close-service.d.ts.map +1 -1
- package/dist/application/session-close-service.js +20 -143
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/application/session-create-service.d.ts +9 -29
- package/dist/application/session-create-service.d.ts.map +1 -1
- package/dist/application/session-create-service.js +44 -288
- package/dist/application/session-create-service.js.map +1 -1
- package/dist/application/session-resolver.d.ts +4 -25
- package/dist/application/session-resolver.d.ts.map +1 -1
- package/dist/application/session-resolver.js +33 -149
- package/dist/application/session-resolver.js.map +1 -1
- package/dist/application/session-resume-service.d.ts +3 -4
- package/dist/application/session-resume-service.d.ts.map +1 -1
- package/dist/application/session-resume-service.js +8 -26
- package/dist/application/session-resume-service.js.map +1 -1
- package/dist/application/sessions-service.d.ts +2 -3
- package/dist/application/sessions-service.d.ts.map +1 -1
- package/dist/application/sessions-service.js +9 -26
- package/dist/application/sessions-service.js.map +1 -1
- package/dist/application/skill-index-service.d.ts +0 -2
- package/dist/application/skill-index-service.d.ts.map +1 -1
- package/dist/application/skill-index-service.js +0 -1
- package/dist/application/skill-index-service.js.map +1 -1
- package/dist/application/skills-resolver-service.d.ts +22 -0
- package/dist/application/skills-resolver-service.d.ts.map +1 -0
- package/dist/application/skills-resolver-service.js +71 -0
- package/dist/application/skills-resolver-service.js.map +1 -0
- package/dist/application/sources-service.d.ts +0 -5
- package/dist/application/sources-service.d.ts.map +1 -1
- package/dist/application/sources-service.js +5 -44
- package/dist/application/sources-service.js.map +1 -1
- package/dist/application/templates/session.d.ts +24 -0
- package/dist/application/templates/session.d.ts.map +1 -0
- package/dist/application/templates/session.js +46 -0
- package/dist/application/templates/session.js.map +1 -0
- package/dist/application/upgrade-hub-mode-service.d.ts.map +1 -1
- package/dist/application/upgrade-hub-mode-service.js +0 -1
- package/dist/application/upgrade-hub-mode-service.js.map +1 -1
- package/dist/application/workspace-init-service.d.ts +60 -0
- package/dist/application/workspace-init-service.d.ts.map +1 -0
- package/dist/application/workspace-init-service.js +227 -0
- package/dist/application/workspace-init-service.js.map +1 -0
- package/dist/cli/commands/check-branch.d.ts.map +1 -1
- package/dist/cli/commands/check-branch.js +0 -3
- package/dist/cli/commands/check-branch.js.map +1 -1
- package/dist/cli/commands/plugin-doctor.d.ts.map +1 -1
- package/dist/cli/commands/plugin-doctor.js +0 -3
- package/dist/cli/commands/plugin-doctor.js.map +1 -1
- package/dist/cli/commands/project-md-upsert.d.ts.map +1 -1
- package/dist/cli/commands/project-md-upsert.js +5 -31
- package/dist/cli/commands/project-md-upsert.js.map +1 -1
- package/dist/cli/commands/session-close.d.ts.map +1 -1
- package/dist/cli/commands/session-close.js +1 -33
- package/dist/cli/commands/session-close.js.map +1 -1
- package/dist/cli/commands/session-create.d.ts.map +1 -1
- package/dist/cli/commands/session-create.js +5 -21
- package/dist/cli/commands/session-create.js.map +1 -1
- package/dist/cli/commands/session-resume.js +1 -1
- package/dist/cli/commands/session-resume.js.map +1 -1
- package/dist/cli/commands/set-working-branch.d.ts +3 -0
- package/dist/cli/commands/set-working-branch.d.ts.map +1 -0
- package/dist/cli/commands/set-working-branch.js +34 -0
- package/dist/cli/commands/set-working-branch.js.map +1 -0
- package/dist/cli/commands/skill-index.d.ts.map +1 -1
- package/dist/cli/commands/skill-index.js +0 -3
- package/dist/cli/commands/skill-index.js.map +1 -1
- package/dist/cli/commands/skills.d.ts +3 -0
- package/dist/cli/commands/skills.d.ts.map +1 -0
- package/dist/cli/commands/skills.js +10 -0
- package/dist/cli/commands/skills.js.map +1 -0
- package/dist/cli/commands/sources.d.ts.map +1 -1
- package/dist/cli/commands/sources.js +0 -3
- package/dist/cli/commands/sources.js.map +1 -1
- package/dist/cli/commands/workspace-init.d.ts +3 -0
- package/dist/cli/commands/workspace-init.d.ts.map +1 -0
- package/dist/cli/commands/workspace-init.js +69 -0
- package/dist/cli/commands/workspace-init.js.map +1 -0
- package/dist/cli/help-groups.d.ts.map +1 -1
- package/dist/cli/help-groups.js +8 -19
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/interactive-menu.d.ts +1 -1
- package/dist/cli/interactive-menu.d.ts.map +1 -1
- package/dist/cli/main.js +29 -37
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/parser.d.ts +0 -2
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +1 -13
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/tui/app.js +3 -38
- package/dist/cli/tui/app.js.map +1 -1
- package/dist/cli/tui/components/hub-init-alias.js +1 -1
- package/dist/cli/tui/components/hub-init-alias.js.map +1 -1
- package/dist/cli/tui/components/hub-init-form.d.ts.map +1 -1
- package/dist/cli/tui/components/hub-init-form.js +13 -12
- package/dist/cli/tui/components/hub-init-form.js.map +1 -1
- package/dist/cli/tui/components/workspace-init-alias.d.ts +5 -0
- package/dist/cli/tui/components/workspace-init-alias.d.ts.map +1 -0
- package/dist/cli/tui/components/workspace-init-alias.js +19 -0
- package/dist/cli/tui/components/workspace-init-alias.js.map +1 -0
- package/dist/cli/tui/components/workspace-init-form.d.ts +13 -0
- package/dist/cli/tui/components/workspace-init-form.d.ts.map +1 -0
- package/dist/cli/tui/components/workspace-init-form.js +87 -0
- package/dist/cli/tui/components/workspace-init-form.js.map +1 -0
- package/dist/cli/tui/data/activity.d.ts +1 -1
- package/dist/cli/tui/data/activity.d.ts.map +1 -1
- package/dist/cli/tui/data/activity.js +2 -2
- package/dist/cli/tui/data/activity.js.map +1 -1
- package/dist/cli/tui/data/workflow-content.d.ts.map +1 -1
- package/dist/cli/tui/data/workflow-content.js +67 -87
- package/dist/cli/tui/data/workflow-content.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +23 -97
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.js +7 -7
- package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
- package/dist/cli/tui/tabs/workflow-tab.d.ts +1 -3
- package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/workflow-tab.js +2 -2
- package/dist/cli/tui/tabs/workflow-tab.js.map +1 -1
- package/dist/cli/types.d.ts +3 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/domain/plugin.d.ts +2 -12
- package/dist/domain/plugin.d.ts.map +1 -1
- package/dist/domain/project.d.ts +0 -9
- package/dist/domain/project.d.ts.map +1 -1
- package/dist/domain/session.d.ts +7 -24
- package/dist/domain/session.d.ts.map +1 -1
- package/dist/domain/skills.d.ts +22 -0
- package/dist/domain/skills.d.ts.map +1 -0
- package/dist/domain/skills.js +37 -0
- package/dist/domain/skills.js.map +1 -0
- package/dist/domain/types.d.ts +6 -2
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/config-service.js +1 -1
- package/dist/runtime/config-service.js.map +1 -1
- package/dist/runtime/types.d.ts +0 -1
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/types.js.map +1 -1
- package/package.json +12 -3
- package/skills/w/README.md +65 -0
- package/skills/w/SKILL.md +153 -0
- package/skills/w/artifacts/README.md +60 -0
- package/skills/w/artifacts/artifacts-core/BACKLOG.md +12 -0
- package/skills/w/artifacts/artifacts-core/CHECKPOINT.md +22 -0
- package/skills/w/artifacts/artifacts-core/SCRIPTS.sql +39 -0
- package/skills/w/artifacts/artifacts-core/SESSION.md +27 -0
- package/skills/w/artifacts/artifacts-core/TASKS.md +18 -0
- package/skills/w/artifacts/artifacts-dev/DECISION.md +11 -0
- package/skills/w/artifacts/artifacts-dev/TECHNICAL-NOTE.md +81 -0
- package/skills/w/artifacts/artifacts-research/ANALYSIS-FILE.md +48 -0
- package/skills/w/artifacts/artifacts-research/CONCLUSIONS.md +20 -0
- package/skills/w/commands/README.md +116 -0
- package/skills/w/commands/export-diagrams.md +35 -0
- package/skills/w/commands/export-manuals.md +35 -0
- package/skills/w/commands/export-reports.md +35 -0
- package/skills/w/commands/export-scripts.md +35 -0
- package/skills/w/commands/plan-exec.md +46 -0
- package/skills/w/commands/plan-new.md +44 -0
- package/skills/w/commands/quick.md +39 -0
- package/skills/w/commands/spec-new.md +63 -0
- package/skills/w/commands/spec-refine.md +41 -0
- package/skills/w/commands/workspace-init.md +39 -0
- package/skills/w/exports/README.md +88 -0
- package/skills/w/exports/export-diagrams/SKILL.md +125 -0
- package/skills/w/exports/export-manuals/SKILL.md +127 -0
- package/skills/w/exports/export-reports/SKILL.md +115 -0
- package/skills/w/exports/export-scripts/SKILL.md +135 -0
- package/skills/w/hooks/README.md +15 -0
- package/skills/{agent-workflow → w}/hooks/hooks.template.json +2 -2
- package/skills/w/loops/README.md +118 -0
- package/skills/w/loops/plan-exec-loop/SKILL.md +161 -0
- package/skills/w/loops/plan-new-loop/SKILL.md +97 -0
- package/skills/w/loops/quick-loop/SKILL.md +102 -0
- package/skills/w/loops/spec-refine-loop/SKILL.md +222 -0
- package/skills/w/roles/README.md +154 -0
- package/skills/w/roles/coding-standards/SKILL.md +82 -0
- package/skills/w/roles/diagrams/SKILL.md +248 -0
- package/skills/w/roles/git/SKILL.md +98 -0
- package/skills/w/roles/research/SKILL.md +181 -0
- package/skills/w/roles/sql/SKILL.md +137 -0
- package/skills/w/roles/testing/SKILL.md +180 -0
- package/skills/w/roles/tools/SKILL.md +148 -0
- package/skills/w/roles/ui-spec/SKILL.md +136 -0
- package/skills/w/roles/writing/SKILL.md +90 -0
- package/skills/agent-workflow/LICENSE +0 -661
- package/skills/agent-workflow/MANUAL-FUNCIONAL.md +0 -298
- package/skills/agent-workflow/MANUAL-TECNICO.md +0 -271
- package/skills/agent-workflow/README.md +0 -74
- package/skills/agent-workflow/SKILL.md +0 -112
- package/skills/agent-workflow/commands/README.md +0 -26
- package/skills/agent-workflow/commands/compact.md +0 -24
- package/skills/agent-workflow/commands/doctor.md +0 -100
- package/skills/agent-workflow/commands/export-arq.md +0 -77
- package/skills/agent-workflow/commands/export-conclusions.md +0 -78
- package/skills/agent-workflow/commands/export-plan.md +0 -74
- package/skills/agent-workflow/commands/export-qa-note.md +0 -30
- package/skills/agent-workflow/commands/export-report.md +0 -78
- package/skills/agent-workflow/commands/export-requirement.md +0 -30
- package/skills/agent-workflow/commands/export-scripts.md +0 -82
- package/skills/agent-workflow/commands/export-tech-manuals.md +0 -75
- package/skills/agent-workflow/commands/export-tech-note.md +0 -30
- package/skills/agent-workflow/commands/hub-init.md +0 -58
- package/skills/agent-workflow/commands/migrate.md +0 -56
- package/skills/agent-workflow/commands/patch.md +0 -49
- package/skills/agent-workflow/commands/project-init.md +0 -60
- package/skills/agent-workflow/commands/resume.md +0 -22
- package/skills/agent-workflow/commands/rules.md +0 -41
- package/skills/agent-workflow/commands/session.md +0 -35
- package/skills/agent-workflow/docs/TEST-PLAN.md +0 -163
- package/skills/agent-workflow/doctrine/README.md +0 -15
- package/skills/agent-workflow/doctrine/compact/SKILL.md +0 -145
- package/skills/agent-workflow/doctrine/doctor/SKILL.md +0 -86
- package/skills/agent-workflow/doctrine/hub-init/SKILL.md +0 -77
- package/skills/agent-workflow/doctrine/hub-init/references/multiroot-manual.md +0 -51
- package/skills/agent-workflow/doctrine/implement/SKILL.md +0 -290
- package/skills/agent-workflow/doctrine/implement/references/branch-verification.md +0 -16
- package/skills/agent-workflow/doctrine/implement/references/design-md-template.md +0 -108
- package/skills/agent-workflow/doctrine/implement/references/rollback-guide.md +0 -83
- package/skills/agent-workflow/doctrine/migrate/SKILL.md +0 -281
- package/skills/agent-workflow/doctrine/project-init/SKILL.md +0 -100
- package/skills/agent-workflow/doctrine/refactor/SKILL.md +0 -208
- package/skills/agent-workflow/doctrine/refactor/references/refactor-md-template.md +0 -108
- package/skills/agent-workflow/doctrine/refactor/references/strangler-checklist.md +0 -116
- package/skills/agent-workflow/doctrine/resume/SKILL.md +0 -199
- package/skills/agent-workflow/doctrine/rules/SKILL.md +0 -250
- package/skills/agent-workflow/doctrine/session/SKILL.md +0 -471
- package/skills/agent-workflow/doctrine/session/references/auto-plan-rules.md +0 -63
- package/skills/agent-workflow/doctrine/session/references/backlog-template.md +0 -95
- package/skills/agent-workflow/doctrine/session/references/branch-verification.md +0 -198
- package/skills/agent-workflow/doctrine/session/references/commits-policy.md +0 -111
- package/skills/agent-workflow/doctrine/session/references/communication-style.md +0 -50
- package/skills/agent-workflow/doctrine/session/references/graduacion-routing.md +0 -88
- package/skills/agent-workflow/doctrine/session/references/lifecycle-deep.md +0 -160
- package/skills/agent-workflow/doctrine/session/references/prompts/C1-specialty-selection.md +0 -11
- package/skills/agent-workflow/doctrine/session/references/prompts/C2-cost-guard.md +0 -14
- package/skills/agent-workflow/doctrine/session/references/prompts/M1-closure-commit-prompt.md +0 -104
- package/skills/agent-workflow/doctrine/session/references/prompts/M10-next-step.md +0 -17
- package/skills/agent-workflow/doctrine/session/references/prompts/M11-context.md +0 -16
- package/skills/agent-workflow/doctrine/session/references/prompts/M13-closure-cleanup.md +0 -61
- package/skills/agent-workflow/doctrine/session/references/prompts/M2-branch-caso-A.md +0 -14
- package/skills/agent-workflow/doctrine/session/references/prompts/M3-branch-caso-C.md +0 -33
- package/skills/agent-workflow/doctrine/session/references/prompts/M4-cross-source-hard-gate.md +0 -33
- package/skills/agent-workflow/doctrine/session/references/prompts/M5-modality-analyze.md +0 -15
- package/skills/agent-workflow/doctrine/session/references/prompts/M6-phase-gate.md +0 -31
- package/skills/agent-workflow/doctrine/session/references/prompts/M7-refactor-legacy-detected.md +0 -28
- package/skills/agent-workflow/doctrine/session/references/prompts/M8-refactor-cleanup.md +0 -16
- package/skills/agent-workflow/doctrine/session/references/prompts/M9-contract-review.md +0 -39
- package/skills/agent-workflow/doctrine/session/references/prompts/S1-type-design.md +0 -15
- package/skills/agent-workflow/doctrine/session/references/prompts/S2-topic-change-detection.md +0 -14
- package/skills/agent-workflow/doctrine/session/references/prompts/S3-flow-detection.md +0 -28
- package/skills/agent-workflow/doctrine/session/references/prompts/S4-resume.md +0 -27
- package/skills/agent-workflow/doctrine/session/references/prompts/S5-post-compact.md +0 -17
- package/skills/agent-workflow/doctrine/session/references/prompts/S6-scope.md +0 -16
- package/skills/agent-workflow/doctrine/session/references/prompts/S7-design-review.md +0 -37
- package/skills/agent-workflow/doctrine/session/references/prompts-catalog.md +0 -213
- package/skills/agent-workflow/doctrine/session/references/sandbox-readonly-rules.md +0 -82
- package/skills/agent-workflow/doctrine/session/references/specialty-decision-tree.md +0 -56
- package/skills/agent-workflow/doctrine/session/references/topic-change-rules.md +0 -67
- package/skills/agent-workflow/exports/README.md +0 -15
- package/skills/agent-workflow/exports/export-arq/SKILL.md +0 -229
- package/skills/agent-workflow/exports/export-arq/references/lexico-tecnico.md +0 -94
- package/skills/agent-workflow/exports/export-arq/references/template-c4.md +0 -293
- package/skills/agent-workflow/exports/export-arq/references/template-plantuml.puml +0 -77
- package/skills/agent-workflow/exports/export-arq/references/template-structurizr.dsl +0 -72
- package/skills/agent-workflow/exports/export-arq/references/validations.md +0 -231
- package/skills/agent-workflow/exports/export-conclusions/SKILL.md +0 -169
- package/skills/agent-workflow/exports/export-conclusions/references/dedup-rules.md +0 -154
- package/skills/agent-workflow/exports/export-conclusions/references/template-conclusions.md +0 -158
- package/skills/agent-workflow/exports/export-plan/SKILL.md +0 -225
- package/skills/agent-workflow/exports/export-plan/references/state-transitions.md +0 -141
- package/skills/agent-workflow/exports/export-plan/references/template-plan.md +0 -132
- package/skills/agent-workflow/exports/export-qa-note/SKILL.md +0 -31
- package/skills/agent-workflow/exports/export-report/SKILL.md +0 -262
- package/skills/agent-workflow/exports/export-report/references/lexico.md +0 -174
- package/skills/agent-workflow/exports/export-report/references/template-a.md +0 -95
- package/skills/agent-workflow/exports/export-report/references/template-b.md +0 -221
- package/skills/agent-workflow/exports/export-report/references/template-c.md +0 -180
- package/skills/agent-workflow/exports/export-report/references/validations.md +0 -255
- package/skills/agent-workflow/exports/export-requirement/SKILL.md +0 -31
- package/skills/agent-workflow/exports/export-scripts/SKILL.md +0 -211
- package/skills/agent-workflow/exports/export-scripts/references/code-scan-recommendations.md +0 -83
- package/skills/agent-workflow/exports/export-scripts/references/deprecation-plan.md +0 -80
- package/skills/agent-workflow/exports/export-scripts/references/lexico-tecnico.md +0 -47
- package/skills/agent-workflow/exports/export-scripts/references/manifest-template.md +0 -265
- package/skills/agent-workflow/exports/export-scripts/references/readme-template.md +0 -49
- package/skills/agent-workflow/exports/export-scripts/references/theme-handling.md +0 -141
- package/skills/agent-workflow/exports/export-scripts/references/validations.md +0 -69
- package/skills/agent-workflow/exports/export-tech-manuals/SKILL.md +0 -214
- package/skills/agent-workflow/exports/export-tech-manuals/references/lexico-tecnico.md +0 -97
- package/skills/agent-workflow/exports/export-tech-manuals/references/template-index.md +0 -123
- package/skills/agent-workflow/exports/export-tech-manuals/references/template-manual.md +0 -143
- package/skills/agent-workflow/exports/export-tech-manuals/references/validations.md +0 -211
- package/skills/agent-workflow/exports/export-tech-note/SKILL.md +0 -31
- package/skills/agent-workflow/hooks/README.md +0 -15
- package/skills/agent-workflow/references/README.md +0 -12
- package/skills/agent-workflow/references/checkpoint.md +0 -59
- package/skills/agent-workflow/references/dev-only.md +0 -50
- package/skills/agent-workflow/references/doctor.md +0 -61
- package/skills/agent-workflow/references/history.md +0 -40
- package/skills/agent-workflow/references/hooks.md +0 -35
- package/skills/agent-workflow/references/legacy-anchors.md +0 -50
- package/skills/agent-workflow/references/mcp.md +0 -34
- package/skills/agent-workflow/references/objetivo-tasks.md +0 -64
- package/skills/agent-workflow/references/orchestration.md +0 -86
- package/skills/agent-workflow/references/profile-parametrization.md +0 -88
- package/skills/agent-workflow/references/self.md +0 -68
- package/skills/agent-workflow/references/session-mgmt.md +0 -109
- package/skills/agent-workflow/references/sources.md +0 -102
- package/skills/agent-workflow/specialties/README.md +0 -14
- package/skills/agent-workflow/specialties/analyze-conclude/SKILL.md +0 -181
- package/skills/agent-workflow/specialties/analyze-conclude/references/incident-classification.md +0 -61
- package/skills/agent-workflow/specialties/analyze-investigate/SKILL.md +0 -148
- package/skills/agent-workflow/specialties/analyze-investigate/references/cost-guard.md +0 -85
- package/skills/agent-workflow/specialties/analyze-synthesize/SKILL.md +0 -127
- package/skills/agent-workflow/specialties/design-brief/SKILL.md +0 -90
- package/skills/agent-workflow/specialties/design-deliver/SKILL.md +0 -121
- package/skills/agent-workflow/specialties/design-develop/SKILL.md +0 -115
- package/skills/agent-workflow/specialties/design-discover/SKILL.md +0 -103
- package/skills/agent-workflow/standards/README.md +0 -12
- package/skills/agent-workflow/standards/coding-standards/SKILL.md +0 -102
- package/skills/agent-workflow/standards/coding-standards/references/angular-typescript.md +0 -266
- package/skills/agent-workflow/standards/coding-standards/references/database-conventions.md +0 -170
- package/skills/agent-workflow/standards/coding-standards/references/fe-be-integration.md +0 -300
- package/skills/agent-workflow/standards/coding-standards/references/frontend-structure.md +0 -182
- package/skills/agent-workflow/standards/coding-standards/references/java-spring.md +0 -244
- package/skills/agent-workflow/standards/coding-standards/references/project-structure.md +0 -197
- package/skills/agent-workflow/standards/frontend-design/SKILL.md +0 -62
- package/skills/agent-workflow/standards/frontend-design/references/feedback-toasts-patterns.md +0 -249
- package/skills/agent-workflow/standards/frontend-design/references/form-patterns.md +0 -278
- package/skills/agent-workflow/standards/frontend-design/references/list-patterns.md +0 -256
- package/skills/agent-workflow/standards/frontend-design/references/modal-patterns.md +0 -220
- package/skills/agent-workflow/standards/frontend-design/references/navigation-patterns.md +0 -224
- package/skills/agent-workflow/standards/redaccion-simple/SKILL.md +0 -128
- package/skills/agent-workflow/standards/sql-rollback-generator/SKILL.md +0 -158
- package/skills/agent-workflow/standards/sql-rollback-generator/references/irreversible-checklist.md +0 -161
- package/skills/agent-workflow/standards/sql-rollback-generator/references/release-rollback.md +0 -133
- package/skills/agent-workflow/standards/sql-rollback-generator/references/rollback-patterns.md +0 -257
- package/skills/agent-workflow/standards/sql-script-organizer/SKILL.md +0 -243
- package/skills/agent-workflow/standards/sql-script-organizer/references/bundle-readme-template.md +0 -82
- package/skills/agent-workflow/standards/sql-script-organizer/references/categorization-rules.md +0 -122
- package/skills/agent-workflow/standards/sql-script-organizer/references/consolidation-cross-session.md +0 -125
- package/skills/agent-workflow/standards/sql-script-organizer/references/scripts-sql-format.md +0 -140
- package/skills/agent-workflow/standards/testing-strategy/SKILL.md +0 -113
- package/skills/agent-workflow/standards/testing-strategy/references/test-levels.md +0 -255
- package/skills/agent-workflow/workflows/README.md +0 -12
- package/skills/agent-workflow/workflows/analyze-workflow/SKILL.md +0 -94
- package/skills/agent-workflow/workflows/design-workflow/SKILL.md +0 -79
- package/skills/agent-workflow/workflows/dev-workflow/SKILL.md +0 -172
package/skills/agent-workflow/specialties/analyze-conclude/references/incident-classification.md
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# Clasificación del incidente — severidad, impacto, comunicación
|
|
2
|
-
|
|
3
|
-
Aplica a `analyze-conclude` con `## Modality: incident` (legacy: `## Modalidad: incidente`). Toda CONCLUSIONS.md de incidente debe declarar severidad, impacto cliente cuantificado y timeline de comunicación. Sin estos campos, las conclusiones son incompletas.
|
|
4
|
-
|
|
5
|
-
## Severidad
|
|
6
|
-
|
|
7
|
-
| Nivel | Criterio | Ejemplos | Comunicación esperada |
|
|
8
|
-
|---|---|---|---|
|
|
9
|
-
| **SEV1** | Crítico — sistema o flujo principal caído >1h, datos comprometidos, multas regulatorias | Login down >1h, BD principal corrupta, leak de PII | Status page + email a clientes + regulador (si aplica) en <30 min de detección |
|
|
10
|
-
| **SEV2** | Degradado — feature secundaria caída, flujo principal degradado >15min y <1h | Latencia 5x normal en endpoint clave, una región caída | Status page + Slack interno; email cliente si dura >30 min |
|
|
11
|
-
| **SEV3** | Limitado — afecta <10% usuarios o feature no-crítica | Bug en pantalla específica, error intermitente bajo volumen | Slack interno; sin comunicación externa salvo cliente afectado pregunte |
|
|
12
|
-
| **SEV4** | Cosmético / interno — sin impacto en producción visible | Job batch atrasado pero recuperable, alerta interna falsa | Solo Slack del equipo; no requiere post-mortem formal salvo aprendizaje notable |
|
|
13
|
-
|
|
14
|
-
Declarar la severidad en el **Resumen** y justificar en una línea: "SEV2 — flujo de pago degradado 35 min para 8% de usuarios".
|
|
15
|
-
|
|
16
|
-
## Impacto cliente — cuantitativo
|
|
17
|
-
|
|
18
|
-
Cada CONCLUSIONS.md de incidente documenta dentro de **Conclusiones** una `**CN**: Impacto` con las siguientes magnitudes (si no aplica una, decir "no aplica"; nunca dejar vacío):
|
|
19
|
-
|
|
20
|
-
| Métrica | Cómo cuantificar |
|
|
21
|
-
|---|---|
|
|
22
|
-
| **Duración total** | Desde primer evento hasta servicio restaurado (no desde detección — el cliente sintió desde el primer evento) |
|
|
23
|
-
| **Usuarios afectados** | Número absoluto (preferido) o estimación con metodología clara (ej. "5% de usuarios activos del día = ~12k") |
|
|
24
|
-
| **Transacciones impactadas** | Perdidas, duplicadas, en estado inconsistente — separadas. Cantidad + valor monetario si aplica |
|
|
25
|
-
| **Datos comprometidos** | Sí/no/qué tipo. Si sí, declarar acción de notificación regulatoria |
|
|
26
|
-
| **Costo financiero** | Refunds, créditos, penalidades, costo de remediación. Estimación con rango si no es preciso |
|
|
27
|
-
| **Reputación / soporte** | Tickets abiertos relacionados, menciones en redes, NPS si se mide |
|
|
28
|
-
|
|
29
|
-
Si los datos no están disponibles inmediatamente, CONCLUSIONS.md **declara** que se actualizará con números finales en una fecha objetivo.
|
|
30
|
-
|
|
31
|
-
## Timeline de comunicación
|
|
32
|
-
|
|
33
|
-
Bloque obligatorio dentro de la conclusión `**CN**: Timeline` — registra **cuándo y a quién** se comunicó:
|
|
34
|
-
|
|
35
|
-
| Evento | Canal | Audiencia | Hora (UTC) | Quién |
|
|
36
|
-
|---|---|---|---|---|
|
|
37
|
-
| Detección interna | Slack #incidents | Equipo on-call | HH:MM | sistema/persona |
|
|
38
|
-
| Activación incident commander | Llamada/Slack | Equipo extendido | HH:MM | IC asignado |
|
|
39
|
-
| Primer aviso interno | Slack #general | Toda la org | HH:MM | IC |
|
|
40
|
-
| Primer aviso externo | Status page | Clientes | HH:MM | Comms / IC |
|
|
41
|
-
| Aviso regulador (SEV1 con datos) | Email/portal regulatorio | <ente> | HH:MM | Compliance |
|
|
42
|
-
| Resolución comunicada externamente | Status page + email | Clientes | HH:MM | Comms |
|
|
43
|
-
| Post-mortem público (si compromete confianza) | Blog/email | Clientes | YYYY-MM-DD | Comms |
|
|
44
|
-
|
|
45
|
-
### Reglas de comunicación
|
|
46
|
-
|
|
47
|
-
- **SEV1**: status page actualizada cada 30 min hasta resolución. Cliente dueño de los datos comprometidos contactado directamente <2h.
|
|
48
|
-
- **SEV2**: status page actualizada al menos 2 veces (inicio + resolución). Email a clientes si dura >30 min.
|
|
49
|
-
- **SEV3**: Slack interno + ticket si cliente lo reporta. Sin proactivo externo.
|
|
50
|
-
- **Honestidad**: no minimizar en comunicación pública. "Estamos investigando un incidente que afecta a algunos usuarios" es preferible a silencio o promesas vacías.
|
|
51
|
-
|
|
52
|
-
## Trazabilidad de acciones
|
|
53
|
-
|
|
54
|
-
Cada `**RN**` (Recomendación) preventiva cumple:
|
|
55
|
-
|
|
56
|
-
- **Owner nombrado** (persona o equipo, no "alguien").
|
|
57
|
-
- **Fecha objetivo** en formato YYYY-MM-DD.
|
|
58
|
-
- **Criterio de "hecho"** medible (ej. "alerta dispara con dataset de prueba" no "mejorar alerting").
|
|
59
|
-
- **Priorizada**: P1 = bloqueo de SEV similar futuro; P2 = reduce probabilidad; P3 = mejora detección/respuesta.
|
|
60
|
-
|
|
61
|
-
CONCLUSIONS.md de incidente se considera **cerrable** sólo cuando todas las recomendaciones P1 tienen owner y fecha.
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: analyze-investigate
|
|
3
|
-
description: Recolección de evidencia divergente sin juicio. Lee código, corre queries read-only contra <mcp-cert>/<mcp-prod> (MCPs), tracea logs, cava git history. Produce EVIDENCE.md + queries/. Invocado en execution de sesiones analyze (cualquier modalidad). Pre-requisito de analyze-synthesize en analyze sessions.
|
|
4
|
-
version: 1.2.0
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
> **Profile parametrization**: lee `mcp_databases[]` de `profile.json` (resuelto vía cascade 5 capas). Ver [`references/profile-parametrization.md`](../../references/profile-parametrization.md) para el contrato completo y comportamiento por defecto cuando el profile está vacío.
|
|
8
|
-
|
|
9
|
-
# analyze-investigate — qtc v1.1+
|
|
10
|
-
|
|
11
|
-
Specialty skill **analyze**: investigación divergente. Primer paso de `execution` para sesiones analyze (cualquier modalidad). **Read-only**.
|
|
12
|
-
|
|
13
|
-
## Rama base — verificar antes de leer/queries
|
|
14
|
-
|
|
15
|
-
Antes de lecturas extensivas o queries (`Grep`, `Read`, MCP `<mcp-cert>`/`<mcp-prod>`), confirmar que cada fuente está en su `main_branch` (default `certificacion`). El análisis sobre otra rama puede divergir de producción y producir conclusiones erradas.
|
|
16
|
-
|
|
17
|
-
- El lifecycle ya valida esto al entrar a execution (skill `session`, bloque "Verificación interactiva de ramas"). Si no se ejecutó, correr `agent-workflow sources` antes de la primera evidencia.
|
|
18
|
-
- Si una fuente está en otra rama, **avisar** explícitamente en `EVIDENCE.md` que el análisis se hizo sobre `<current_branch>` y aclarar el riesgo de divergencia.
|
|
19
|
-
- Para decidir editar código durante la investigación, ver Caso C en `../session/references/branch-verification.md` (no aplica a este skill — es read-only).
|
|
20
|
-
|
|
21
|
-
## Cuándo se invoca
|
|
22
|
-
|
|
23
|
-
- Composición desde `agent-workflow:session` en `execution` cuando es sesión `analyze` y todavía no existe `EVIDENCE.md` (legacy: `EVIDENCIA.md`).
|
|
24
|
-
- NL: "investigá", "buscar evidencia", "qué dice el código sobre X", "corré la query".
|
|
25
|
-
- Devuelta por `specialty-choose --phase execution` cuando OBJECTIVE menciona análisis/investigación/propuesta/post-mortem.
|
|
26
|
-
|
|
27
|
-
## Acción
|
|
28
|
-
|
|
29
|
-
Producir `.workflow/sessions/<folder>/EVIDENCE.md` + opcionalmente `queries/*.sql`.
|
|
30
|
-
|
|
31
|
-
### Estructura de EVIDENCE.md
|
|
32
|
-
|
|
33
|
-
```markdown
|
|
34
|
-
# Evidence — sessionNNN-analyze-<slug>
|
|
35
|
-
|
|
36
|
-
## Original question
|
|
37
|
-
|
|
38
|
-
[Copiar `## Question` del OBJECTIVE.md.]
|
|
39
|
-
|
|
40
|
-
## Sources consulted
|
|
41
|
-
|
|
42
|
-
- Código: <repo+path/file.java líneas X-Y>
|
|
43
|
-
- Logs: <archivo o sistema>
|
|
44
|
-
- BD (<mcp-cert> / <mcp-prod>): <queries en queries/>
|
|
45
|
-
- Git history: <commits relevantes con SHA y fecha>
|
|
46
|
-
- Refs externas: <links si aplica>
|
|
47
|
-
|
|
48
|
-
## Raw finding 1: <título>
|
|
49
|
-
|
|
50
|
-
- **Qué se observó**: ...
|
|
51
|
-
- **Dónde**: <link/path>
|
|
52
|
-
- **Cuándo**: <fecha si aplica>
|
|
53
|
-
|
|
54
|
-
## Raw finding 2: ...
|
|
55
|
-
|
|
56
|
-
## Notes / tentative hypotheses
|
|
57
|
-
|
|
58
|
-
- [hipótesis sin compromiso, para revisar en analyze-synthesize]
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Lectura estructurada del OBJECTIVE
|
|
62
|
-
|
|
63
|
-
Para extraer la pregunta original sin leer todo el archivo:
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
agent-workflow objetivo-data --code <CODE>
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Devuelve `{titulo, tipo, modalidad, brief, criterios_aceptacion, fuentes_mencionadas, origen}`. El `brief` aplica como "Original question" para sesiones analyze. El comando lee tanto `OBJECTIVE.md` (canónico EN) como `OBJETIVO.md` (legacy ES) vía bilingual readers de R1.
|
|
70
|
-
|
|
71
|
-
### Reglas para queries (modalidad=datos o tecnica con datos)
|
|
72
|
-
|
|
73
|
-
- **Read-only siempre**: SELECT, no DML. Los MCP servers `<mcp-cert>` y `<mcp-prod>` lo enforcan a nivel server.
|
|
74
|
-
- **Guardar en `.workflow/sessions/<folder>/queries/NNN-<slug>.sql`** con header:
|
|
75
|
-
```sql
|
|
76
|
-
-- Query: <propósito>
|
|
77
|
-
-- Server: <mcp-cert> | <mcp-prod>
|
|
78
|
-
-- Fecha: 2026-04-26
|
|
79
|
-
-- Sesión: sessionNNN-analyze-<slug>
|
|
80
|
-
-- Costo estimado: <filas|N/A>; índices usados: <lista|none>
|
|
81
|
-
```
|
|
82
|
-
- **Numerar secuencialmente** por orden de ejecución.
|
|
83
|
-
- **Resultado resumido en EVIDENCE.md**, no el dump completo (puede ser MB).
|
|
84
|
-
|
|
85
|
-
### Cost guard — antes de ejecutar (v1.1+)
|
|
86
|
-
|
|
87
|
-
Las queries contra `<mcp-cert>` / `<mcp-prod>` tienen costo real (latencia, I/O, hold de conexión). Aplicar el cost guard antes de cualquier query no-trivial.
|
|
88
|
-
|
|
89
|
-
**Resumen de categorías**:
|
|
90
|
-
- **Barata**: COUNT(*) ≤ 1.000 filas o PK lookup → ejecutar directo.
|
|
91
|
-
- **Moderada**: 1.000-10.000 filas o seq scan sobre tabla pequeña → avisar al usuario tamaño + duración estimada antes.
|
|
92
|
-
- **Costosa**: > 10.000 filas o seq scan sobre >100k → **confirmación explícita** del usuario antes.
|
|
93
|
-
- **Bloqueada**: UPDATE/INSERT/DELETE → refusarse.
|
|
94
|
-
|
|
95
|
-
Procedimiento completo (4 pasos: estimar tamaño con COUNT(*) + EXPLAIN; clasificar; aviso al usuario con formatos exactos; registrar costo real en header) + excepciones permitidas + anti-patrones en **`references/cost-guard.md`**.
|
|
96
|
-
|
|
97
|
-
### Reglas para lectura de código
|
|
98
|
-
|
|
99
|
-
- Usar `Grep` y `Read` extensivamente. NUNCA `Edit/Write` durante investigate (read-only).
|
|
100
|
-
- Citar paths con líneas: `mscore-solicitud-spring/src/main/java/.../Foo.java:142`.
|
|
101
|
-
- Si el código está disperso, usar `Glob` + `Grep` para zoom.
|
|
102
|
-
|
|
103
|
-
### Reglas para logs y git history
|
|
104
|
-
|
|
105
|
-
- Logs: si hay acceso (SSH o herramienta del proyecto), describir la query/comando. Capturar timestamps relevantes.
|
|
106
|
-
- Git: `git log --oneline --since="<fecha>" -- <path>` para acotar. Capturar SHA + fecha + autor + mensaje. Si modalidad=incidente, capturar commit "culpable" destacado.
|
|
107
|
-
- **Solo git read-only**: `log`, `show`, `diff`, `blame`, `branch --show-current`. NUNCA ejecutar `git commit`/`push`/`merge`/`rebase`/`tag`/`reset --hard`/`checkout` durante investigate. Ver `agent-workflow:commits-policy`.
|
|
108
|
-
|
|
109
|
-
## Loop de investigación
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
[hipótesis] → [buscar evidencia] → [actualizar EVIDENCE.md] → [nueva hipótesis o convergencia]
|
|
113
|
-
↓
|
|
114
|
-
[→ analyze-synthesize cuando hay suficiente]
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Iterar hasta material suficiente para sintetizar.
|
|
118
|
-
|
|
119
|
-
## Reglas
|
|
120
|
-
|
|
121
|
-
- **NO juzgar durante investigate**: capturar lo que es, no lo que "debería ser". El juicio viene en `analyze-synthesize`.
|
|
122
|
-
- **Sin escribir código**: read-only. NUNCA Edit/Write durante investigate.
|
|
123
|
-
- **Honest about gaps**: si una fuente no está disponible, declararlo en EVIDENCE.
|
|
124
|
-
- **Sospechar de la pregunta original**: si surge evidencia que sugiere que la pregunta del OBJECTIVE está mal formulada, marcarlo en "Notes / tentative hypotheses".
|
|
125
|
-
|
|
126
|
-
## Composición con otras skills
|
|
127
|
-
|
|
128
|
-
| Skill | Cuándo |
|
|
129
|
-
|---|---|
|
|
130
|
-
| `analyze-synthesize` | siguiente paso una vez EVIDENCE tiene material suficiente |
|
|
131
|
-
| `analyze-conclude` | después de synthesize, produce CONCLUSIONS.md modulado por modalidad (technical/incident/data) |
|
|
132
|
-
|
|
133
|
-
## Sandbox read-only
|
|
134
|
-
|
|
135
|
-
`../session/references/sandbox-readonly-rules.md` (canon). En plan mode describe en el plan file:
|
|
136
|
-
|
|
137
|
-
- **Paths destino**: `.workflow/sessions/<folder>/EVIDENCE.md` + `queries/*.sql`.
|
|
138
|
-
- **Fuentes a consultar**: archivos de código (paths), tablas BD (schema + nombre), logs/dashboards (con ventanas), git history.
|
|
139
|
-
- **Queries propuestas**: lista con SELECT + tabla + ventana + costo estimado. Marcar costosas para que decida el usuario.
|
|
140
|
-
- **Estructura de EVIDENCE.md**: hallazgos crudos sin sintetizar.
|
|
141
|
-
|
|
142
|
-
NO ejecuta: queries MCP (aunque sean read-only — respetar plan mode), `Read` está permitido pero limitado a navegación, `Write` sobre EVIDENCE.md o queries/.
|
|
143
|
-
|
|
144
|
-
## Recursos
|
|
145
|
-
|
|
146
|
-
- **`references/cost-guard.md`** — protocolo completo de cost guard (4 pasos + excepciones + anti-patrones).
|
|
147
|
-
- MCP servers `<mcp-cert>` y `<mcp-prod>` — read-only por server config.
|
|
148
|
-
- shared-contract §14 — fase execution del lifecycle universal.
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# Cost guard — protocolo para queries MCP
|
|
2
|
-
|
|
3
|
-
Antes de ejecutar `mcp__plugin_developer-workflow_qtc-{cert,prod}__execute_sql` con cualquier query no-trivial, aplicar este guard. Las queries contra `<mcp-cert>` / `<mcp-prod>` tienen costo real (latencia, I/O, hold de conexión).
|
|
4
|
-
|
|
5
|
-
## Paso 1 — estimar tamaño antes de ejecutar la query principal
|
|
6
|
-
|
|
7
|
-
Para queries que NO son `SELECT 1`, `LIMIT 1`, ni `WHERE pk = literal`:
|
|
8
|
-
|
|
9
|
-
```sql
|
|
10
|
-
-- Estimación 1: cuántas filas esperar
|
|
11
|
-
SELECT COUNT(*) FROM <tabla principal> WHERE <filtros>;
|
|
12
|
-
|
|
13
|
-
-- Estimación 2: peek a estructura (1 fila)
|
|
14
|
-
SELECT * FROM <tabla principal> WHERE <filtros> LIMIT 1;
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
Si soporta `EXPLAIN`:
|
|
18
|
-
|
|
19
|
-
```sql
|
|
20
|
-
EXPLAIN (FORMAT TEXT) <query principal>;
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Leer el plan: índices usados, tipo de scan (seq scan vs index scan), filas estimadas (`rows=`).
|
|
24
|
-
|
|
25
|
-
## Paso 2 — clasificar costo
|
|
26
|
-
|
|
27
|
-
| Categoría | Criterios | Acción |
|
|
28
|
-
|---|---|---|
|
|
29
|
-
| **Barata** | COUNT(*) ≤ 1.000 filas; PK lookup; EXPLAIN dice index scan | Ejecutar directamente. Documentar tamaño real en query header. |
|
|
30
|
-
| **Moderada** | COUNT(*) entre 1.000 y 10.000; seq scan sobre tabla pequeña (<100k); JOIN con todos índices | Avisar al usuario el tamaño + duración estimada. Ejecutar si no objeta. |
|
|
31
|
-
| **Costosa** | COUNT(*) > 10.000; JOIN sin índice; seq scan sobre >100k; ventana > 90 días sobre tabla activa | **Confirmación EXPLÍCITA** antes de ejecutar. Sugerir LIMIT, filtros, sample. |
|
|
32
|
-
| **Bloqueada** | UPDATE/INSERT/DELETE detectado; lock fuerte (FOR UPDATE) | Refusarse. MCP enforcan; el AI tampoco intenta. |
|
|
33
|
-
|
|
34
|
-
## Paso 3 — formato de aviso al usuario
|
|
35
|
-
|
|
36
|
-
### Moderada (antes de ejecutar)
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
La query estimada toca ~5.200 filas (EXPLAIN: index scan sobre idx_solicitud_fecha,
|
|
40
|
-
ventana 30 días). Tiempo esperado <2s. Ejecuto?
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Costosa
|
|
44
|
-
|
|
45
|
-
**Dispara `AskUserQuestion`** con spec de C2 (`agent-workflow:prompts-catalog#C2`). Header `cost`, 2 opciones canónicas (Proceder / Cancelar) + preview ASCII obligatorio con el SQL y el plan EXPLAIN resumido. NO narrar la pregunta en texto plano (anti-patrón histórico: bloque "(a)/(b)/(c)/(d) — Decidí" como input libre).
|
|
46
|
-
|
|
47
|
-
Plantilla del preview:
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
⚠ Query potencialmente costosa
|
|
51
|
-
COUNT(*) estimado: ~85.000 filas
|
|
52
|
-
EXPLAIN: seq scan sobre solicitud (sin índice para WHERE estado='X')
|
|
53
|
-
Sin LIMIT — Servidor: <mcp-prod>
|
|
54
|
-
|
|
55
|
-
SQL:
|
|
56
|
-
SELECT * FROM solicitud WHERE estado = 'X' ORDER BY fecha DESC;
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Si el usuario activa el Other auto-inyectado puede pedir variantes (LIMIT, sample por mod(id,N), filtros adicionales) en texto libre — el AI reformula la query y vuelve a aplicar el guard sobre la versión revisada antes de ejecutar.
|
|
60
|
-
|
|
61
|
-
NO ejecutar la versión costosa sin confirmación explícita, aunque el usuario haya autorizado queries genéricas en la sesión.
|
|
62
|
-
|
|
63
|
-
## Paso 4 — registrar el costo real
|
|
64
|
-
|
|
65
|
-
Tras ejecutar, agregar al header del archivo SQL:
|
|
66
|
-
|
|
67
|
-
```sql
|
|
68
|
-
-- Costo real: <filas devueltas> filas en <duración>; servidor=<cert|prod>
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Esto cierra el loop: la próxima sesión que toque la misma tabla tiene referencia.
|
|
72
|
-
|
|
73
|
-
## Excepciones permitidas (sin guard explícito)
|
|
74
|
-
|
|
75
|
-
- `SELECT 1` y healthchecks.
|
|
76
|
-
- `SELECT * FROM <tabla> WHERE <pk> = <valor>` (PK lookup determinístico).
|
|
77
|
-
- Queries contra `information_schema` / `pg_catalog` (metadata, casi gratis).
|
|
78
|
-
- Re-ejecución de una query que ya tenía guard documentado en una sesión previa.
|
|
79
|
-
|
|
80
|
-
## Anti-patrones
|
|
81
|
-
|
|
82
|
-
- **`SELECT * FROM tabla` sin WHERE**: nunca, salvo confirmación con `(a)` arriba.
|
|
83
|
-
- **JOIN cartesiano accidental**: revisar siempre que cada JOIN tenga ON con clave indexada.
|
|
84
|
-
- **Loop de queries pequeñas**: si vas a correr 50 queries similares, 1 query con `IN (...)` o `JOIN` es preferible. Documentar la decisión.
|
|
85
|
-
- **Saltarse el guard porque "es solo cert"**: cert también tiene costo y se comparte con otros equipos.
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: analyze-synthesize
|
|
3
|
-
description: Estructura información en un plan accionable. Skill CLAVE invocada por agent-workflow:session durante la fase planning para descomponer el OBJECTIVE en TASKS.md (cuando auto-plan dice `lite` o `full`). También se invoca durante execution para sintetizar FINDINGS.md a partir de evidencia recolectada por analyze-investigate. Output siempre estructurado con criterios + dependencias + ordenamiento.
|
|
4
|
-
version: 1.1.0
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# analyze-synthesize — qtc v1.1+
|
|
8
|
-
|
|
9
|
-
Specialty skill **analyze**: estructura información de manera accionable. Doble rol:
|
|
10
|
-
|
|
11
|
-
1. **En `planning`** (uso primario): descompone OBJECTIVE en TASKS.md cuando `agent-workflow auto-plan-decide` retorna `lite` o `full`. La invoca `agent-workflow:session` directamente.
|
|
12
|
-
2. **En `execution`** (analyze-only): sintetiza FINDINGS.md a partir de EVIDENCE.md después de `analyze-investigate`.
|
|
13
|
-
|
|
14
|
-
Es la **skill más importante** del flow=analyze porque participa en planning de TODOS los flows (no solo analyze).
|
|
15
|
-
|
|
16
|
-
## Cuándo se invoca
|
|
17
|
-
|
|
18
|
-
- **Composición desde `agent-workflow:session` en planning** cuando `auto-plan-decide` retorna `lite` o `full`.
|
|
19
|
-
- **Composición en sesión analyze en execution** después de `analyze-investigate` cuando hay evidencia que organizar.
|
|
20
|
-
- NL del usuario: "estructurá el plan", "organizá los hallazgos", "armá las tareas".
|
|
21
|
-
- Devuelta por `specialty-choose --phase planning`.
|
|
22
|
-
|
|
23
|
-
## Acción: estructurar plan (uso primario, planning)
|
|
24
|
-
|
|
25
|
-
Output: `.workflow/sessions/<folder>/TASKS.md` con descomposición ordenada.
|
|
26
|
-
|
|
27
|
-
### Estructura canónica de TASKS.md
|
|
28
|
-
|
|
29
|
-
```markdown
|
|
30
|
-
# Tasks — sessionNNN-<flow>-<slug>
|
|
31
|
-
|
|
32
|
-
## Plan summary
|
|
33
|
-
|
|
34
|
-
[1-2 oraciones: qué se va a hacer, en qué orden, criterio de hecho.]
|
|
35
|
-
|
|
36
|
-
## Tasks
|
|
37
|
-
|
|
38
|
-
- [ ] **T1**: <título imperativo> — <criterio: cómo sé que está hecha>
|
|
39
|
-
- Depende de: ninguna
|
|
40
|
-
- Estima: <S|M|L>
|
|
41
|
-
- [ ] **T2**: <título> — <criterio>
|
|
42
|
-
- Depende de: T1
|
|
43
|
-
- Estima: <S|M|L>
|
|
44
|
-
- [ ] **T3**: ... — <criterio>
|
|
45
|
-
- Depende de: T1
|
|
46
|
-
- Estima: <S|M|L>
|
|
47
|
-
|
|
48
|
-
## Risks / external dependencies
|
|
49
|
-
|
|
50
|
-
- <riesgo 1: qué podría romper la ejecución, mitigación>
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Reglas de estructuración
|
|
54
|
-
|
|
55
|
-
- **3-7 tareas para `full`**, 1-3 para `lite`. Si exceden 7, agrupar.
|
|
56
|
-
- **Cada tarea con criterio de hecho explícito** (no solo título).
|
|
57
|
-
- **Dependencias declaradas** — el AI puede paralelizar tareas independientes.
|
|
58
|
-
- **Estima S|M|L** orientativa: S = <30min, M = 30min-2h, L = 2-8h. Si una L se acerca a 8h, considerá descomponer.
|
|
59
|
-
- **No prescribir solución técnica acá** — la decisión de "cómo" se toma durante execution con la specialty correspondiente (implement, design-deliver, etc.).
|
|
60
|
-
|
|
61
|
-
## Acción: sintetizar hallazgos (analyze execution)
|
|
62
|
-
|
|
63
|
-
Output: `.workflow/sessions/<folder>/FINDINGS.md` (legacy: `HALLAZGOS.md`).
|
|
64
|
-
|
|
65
|
-
```markdown
|
|
66
|
-
# Findings — sessionNNN-analyze-<slug>
|
|
67
|
-
|
|
68
|
-
## Patterns identified
|
|
69
|
-
|
|
70
|
-
- **Patrón A**: <qué+por qué+evidencia (link a EVIDENCE.md sección)>
|
|
71
|
-
|
|
72
|
-
## False positives discarded
|
|
73
|
-
|
|
74
|
-
- **<hipótesis descartada>**: por qué no aplica, evidencia.
|
|
75
|
-
|
|
76
|
-
## Model decision
|
|
77
|
-
|
|
78
|
-
[Cuál modelo / hipótesis explica mejor los datos. 1-2 párrafos.]
|
|
79
|
-
|
|
80
|
-
## What is NOT known (gaps)
|
|
81
|
-
|
|
82
|
-
- <pregunta abierta que requeriría más investigación>
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### Reglas de síntesis
|
|
86
|
-
|
|
87
|
-
- **Toda afirmación con evidencia**: link al `EVIDENCE.md#section` o al artefacto (query, screenshot, log).
|
|
88
|
-
- **Honest gaps**: lo que no se pudo probar o quedó incierto, declararlo. No inventar.
|
|
89
|
-
- **Convergencia**: el output debe ser una historia coherente, no un dump.
|
|
90
|
-
- **Próximo paso**: FINDINGS termina apuntando a `analyze-conclude` (produce CONCLUSIONS.md modulado por `## Modality`).
|
|
91
|
-
|
|
92
|
-
## Reglas
|
|
93
|
-
|
|
94
|
-
- **Sin imaginación creativa**: este skill es estructurador, no inventor. Trabaja con lo que el OBJECTIVE o EVIDENCE ya dice.
|
|
95
|
-
- **Single source of truth**: el TASKS.md es la fuente de qué se va a hacer; el FINDINGS.md es la fuente de qué se sabe. Otros artefactos (DECISIONS, CONCLUSIONS) referencian, no duplican.
|
|
96
|
-
- **Idempotente**: re-invocar sobre TASKS.md existente refina, no recrea.
|
|
97
|
-
- **No commits autónomos**: ver `agent-workflow:commits-policy`. Synthesize escribe TASKS/FINDINGS pero nunca commitea.
|
|
98
|
-
|
|
99
|
-
## Composición con otras skills
|
|
100
|
-
|
|
101
|
-
| Skill | Cuándo |
|
|
102
|
-
|---|---|
|
|
103
|
-
| `analyze-investigate` | en analyze sessions, EVIDENCE antes de sintetizar |
|
|
104
|
-
| `analyze-conclude` | siguiente paso en analyze sessions; produce CONCLUSIONS.md modulado por `## Modality` (technical/incident/data) |
|
|
105
|
-
| `agent-workflow:session` | invoca este skill en planning de cualquier flow |
|
|
106
|
-
|
|
107
|
-
## Sandbox read-only
|
|
108
|
-
|
|
109
|
-
Reglas universales en el canon (`sandbox-readonly-rules.md`). En plan mode esta skill describe en el plan file el output según el rol:
|
|
110
|
-
|
|
111
|
-
- **Rol planning** (invocado por `agent-workflow:session` durante phase planning):
|
|
112
|
-
- **Path destino**: `.workflow/sessions/<folder>/TASKS.md`.
|
|
113
|
-
- **Items propuestos** (≥3 si auto-plan = `full`, 1-3 si `lite`): cada uno con título, criterio de aceptación, dependencias (orden), estimación de esfuerzo.
|
|
114
|
-
- Sugerencias de skills a invocar para cada item (sin invocarlas).
|
|
115
|
-
|
|
116
|
-
- **Rol execution** (sesiones analyze, sintetizar evidencia):
|
|
117
|
-
- **Path destino**: `.workflow/sessions/<folder>/FINDINGS.md`.
|
|
118
|
-
- **Estructura**: hallazgo principal, sub-hallazgos numerados, conexiones entre ellos, gaps (qué falta investigar).
|
|
119
|
-
- Origen de cada hallazgo: link al item de EVIDENCE.md (sin re-pegar el contenido).
|
|
120
|
-
|
|
121
|
-
NO ejecuta: `Write` sobre TASKS.md ni FINDINGS.md.
|
|
122
|
-
|
|
123
|
-
## Recursos
|
|
124
|
-
|
|
125
|
-
- shared-contract §14 — fase planning del lifecycle universal.
|
|
126
|
-
- shared-contract §15 — naming convention specialty skills.
|
|
127
|
-
- shared-contract §19 — auto-plan trigger heurística (cuándo invocar este skill).
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: design-brief
|
|
3
|
-
description: Capta el brief inicial de una sesión de diseño y declara el `## Type` (project|system). Invocado desde la fase planning del lifecycle universal de agent-workflow cuando el OBJECTIVE menciona UI/UX/diseño/pantalla/mockup/wireframe. Produce OBJECTIVE.md con secciones Type, Brief, Context y Acceptance criteria. No produce código ni mocks aún — sólo capturar QUÉ y POR QUÉ.
|
|
4
|
-
version: 1.1.0
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# design-brief — agent-workflow v1.0+
|
|
8
|
-
|
|
9
|
-
Specialty skill **design**: capta el brief y el tipo de sesión durante la fase `planning` del lifecycle universal.
|
|
10
|
-
|
|
11
|
-
## Cuándo se invoca
|
|
12
|
-
|
|
13
|
-
- Composición desde `agent-workflow:session` en `planning` cuando el OBJECTIVE menciona UI/UX/diseño/pantalla/mockup/wireframe/layout/forma.
|
|
14
|
-
- Devuelta por `agent-workflow specialty-choose --phase planning` si el OBJECTIVE incluye keywords de design.
|
|
15
|
-
- NL del usuario: "abrí una sesión de diseño", "vamos a diseñar X", "necesito un mock de Y".
|
|
16
|
-
|
|
17
|
-
## Pre-requisitos
|
|
18
|
-
|
|
19
|
-
1. Bloque AW-PROJECT presente. Si no → proponer `/agent-workflow:project-init`.
|
|
20
|
-
2. Sesión nueva (o existente sin OBJECTIVE completo).
|
|
21
|
-
|
|
22
|
-
## Acción
|
|
23
|
-
|
|
24
|
-
### 1. Pedir al usuario
|
|
25
|
-
|
|
26
|
-
| Campo | Tipo | Ejemplos |
|
|
27
|
-
|---|---|---|
|
|
28
|
-
| **Type** | `project` \| `system` (legacy ES: `proyecto`/`sistema`) | `project` = pantalla/mantenimiento concreto. `system` = tokens/componentes compartidos. |
|
|
29
|
-
| **Nombre** | slug-kebab ≤4 palabras | `mock-lista-negra`, `tokens-spacing`, `wizard-nuevo-cliente` |
|
|
30
|
-
| **Brief corto** | 1-3 oraciones | quién (rol/usuario), qué problema, constraints clave |
|
|
31
|
-
| **Acceptance criteria** | lista | cómo sabemos que la sesión cumple su objetivo |
|
|
32
|
-
|
|
33
|
-
Si el OBJECTIVE no declara `## Type`, **dispara `AskUserQuestion`** con spec de S1 (`agent-workflow:prompts-catalog#S1`). Header `design-type`, 2 opciones (Project / System). Si el usuario activa el Other auto, pedir clarificación libre y NO inferir el type desde el texto — la sesión queda sin type hasta que el usuario lo declare.
|
|
34
|
-
|
|
35
|
-
NO narrar la pregunta en texto plano (ej. "¿Esto es proyecto o sistema?" en chat es un anti-patrón).
|
|
36
|
-
|
|
37
|
-
### 2. Crear sesión
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
agent-workflow session-create \
|
|
41
|
-
--name <slug> \
|
|
42
|
-
--objetivo "<brief>" \
|
|
43
|
-
--type <project|system>
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Crea `.workflow/sessions/sessionNNN-design-<slug>/OBJECTIVE.md` con `## Type` + `## Brief` pre-cargados. Las flags legacy `--tipo proyecto|sistema` siguen aceptadas y se normalizan a EN.
|
|
47
|
-
|
|
48
|
-
### 3. Iterar el brief si hace falta
|
|
49
|
-
|
|
50
|
-
Si el brief es vago o ambiguo:
|
|
51
|
-
- 1-2 preguntas de clarificación (no más).
|
|
52
|
-
- Editar OBJECTIVE.md (legacy: OBJETIVO.md) con la versión refinada.
|
|
53
|
-
- Confirmar con el usuario antes de avanzar.
|
|
54
|
-
|
|
55
|
-
### 4. Hand-off a planning del lifecycle universal
|
|
56
|
-
|
|
57
|
-
Reportar al `agent-workflow:session` que el brief está cerrado y el plan structurado puede empezar (si auto-plan dice `full` o `lite`). Para `type=system`, plan suele ser `lite` (tareas predecibles); para `type=project`, suele ser `full` (criterios + variantes).
|
|
58
|
-
|
|
59
|
-
## Reglas
|
|
60
|
-
|
|
61
|
-
- **Spec-only**: NO escribir código. NO escribir mocks aún (eso es design-develop).
|
|
62
|
-
- **Type es obligatorio**: sin `Type` no se crea la sesión. Convención shared-contract §11.
|
|
63
|
-
- **Brief corto**: si el usuario quiere extender, hacerlo en `## Context` o en `DISCOVERY.md` (más adelante).
|
|
64
|
-
- **No asumir framework de UI**: el brief habla del problema, no de Angular/React/Bootstrap. Eso lo decide el flow=dev al implementar.
|
|
65
|
-
|
|
66
|
-
## Composición con otras skills
|
|
67
|
-
|
|
68
|
-
| Skill | Cuándo |
|
|
69
|
-
|---|---|
|
|
70
|
-
| `design-discover` | siguiente paso, en fase `execution` (investigación de usuarios/flows/sistema existente) |
|
|
71
|
-
| `design-develop` | divergencia/convergencia de soluciones, en `execution` |
|
|
72
|
-
| `design-deliver` | spec final, al cerrar `execution` antes de `validation` |
|
|
73
|
-
| `frontend-design` | reglas agnósticas de UI (form/list/modal/navigation/feedback) — referenciar pero no invocar acá |
|
|
74
|
-
|
|
75
|
-
## Sandbox read-only
|
|
76
|
-
|
|
77
|
-
Reglas universales en el canon (`sandbox-readonly-rules.md`). En plan mode esta skill describe en el plan file:
|
|
78
|
-
|
|
79
|
-
- Campos a pedir al usuario para capturar el brief: nombre/slug, Type (`project`|`system`; legacy ES aceptado), Brief, Context, Acceptance criteria, Inspiración.
|
|
80
|
-
- Que el OBJECTIVE.md se crearía a partir del template `objetivo-design.md` (interno del CLI) con esos campos.
|
|
81
|
-
- Que `agent-workflow session-create` se invocaría — pero NO se ejecuta hasta salir de plan mode.
|
|
82
|
-
|
|
83
|
-
NO ejecuta: `agent-workflow session-create`, `Write` sobre OBJECTIVE.md.
|
|
84
|
-
|
|
85
|
-
## Recursos
|
|
86
|
-
|
|
87
|
-
- shared-contract §11 — convención `## Type` (project|system; legacy ES `proyecto`/`sistema`).
|
|
88
|
-
- shared-contract §14 — fase planning del lifecycle universal.
|
|
89
|
-
- `agent-workflow:prompts-catalog#S1` — spec literal del prompt design-type (header, opciones, manejo del Other).
|
|
90
|
-
- skill `frontend-design` — principios de UI agnósticos del framework.
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: design-deliver
|
|
3
|
-
description: Spec final estable para handoff al flow=dev. Componentes, estados, validaciones, tokens aplicados, decisiones UX racionalizadas. Sin código. Produce DELIVERY.md como entregable canónico (referenciado por handoff `--from design:NNN`). Invocado al final de execution cuando design-develop convergió en una variante elegida.
|
|
4
|
-
version: 2.2.0
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# design-deliver — qtc v2.1+
|
|
8
|
-
|
|
9
|
-
Specialty skill **design**: producción del spec final. Cierre creativo de `execution` antes de pasar a `validation`.
|
|
10
|
-
|
|
11
|
-
## Cuándo se invoca
|
|
12
|
-
|
|
13
|
-
- Composición desde `agent-workflow:session` al final de `execution` cuando design-develop convergió.
|
|
14
|
-
- NL del usuario: "spec final", "armá el entregable", "vamos a deliverable", "cerrá el diseño".
|
|
15
|
-
|
|
16
|
-
## Acción
|
|
17
|
-
|
|
18
|
-
Producir `.workflow/sessions/<folder>/DELIVERY.md` (legacy: `ENTREGA.md`) con el spec completo + canónico para handoff al flow=dev.
|
|
19
|
-
|
|
20
|
-
### Estructura canónica de DELIVERY.md
|
|
21
|
-
|
|
22
|
-
```markdown
|
|
23
|
-
# Delivery — sessionNNN-design-<slug>
|
|
24
|
-
|
|
25
|
-
## Summary
|
|
26
|
-
[2-3 oraciones del qué y para quién. Esto es el TL;DR del handoff.]
|
|
27
|
-
|
|
28
|
-
## Components
|
|
29
|
-
|
|
30
|
-
### <Component 1>
|
|
31
|
-
- Type: form | list | modal | navigation | feedback | custom
|
|
32
|
-
- States: idle | loading | error | success | disabled | …
|
|
33
|
-
- Validations (if form): [lista]
|
|
34
|
-
- Tokens applied: spacing.md, color.danger, font.body
|
|
35
|
-
- UX rules: [shortcuts, accesibilidad, responsive]
|
|
36
|
-
- Mock: docs/referencias/<nombre>.png o link Figma
|
|
37
|
-
|
|
38
|
-
### <Component 2>
|
|
39
|
-
- ...
|
|
40
|
-
|
|
41
|
-
## Flows / interactions
|
|
42
|
-
|
|
43
|
-
1. [paso 1]
|
|
44
|
-
2. [paso 2]
|
|
45
|
-
3. ...
|
|
46
|
-
|
|
47
|
-
## UX decisions
|
|
48
|
-
|
|
49
|
-
- [decisión clave + por qué + qué se descartó]
|
|
50
|
-
|
|
51
|
-
## Tokens / design-system applied
|
|
52
|
-
|
|
53
|
-
- (sólo si type=project): listar tokens consumidos del DS.
|
|
54
|
-
- (si type=system): listar tokens NUEVOS o MODIFICADOS, con migration impact.
|
|
55
|
-
|
|
56
|
-
## Validation criteria
|
|
57
|
-
|
|
58
|
-
- [cómo dev sabrá que la implementación cumple el spec]
|
|
59
|
-
|
|
60
|
-
## Out of scope
|
|
61
|
-
|
|
62
|
-
- [qué NO se implementa en este spec, para evitar scope creep en la sesión dev]
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Reglas
|
|
66
|
-
|
|
67
|
-
- **Sin código**: DELIVERY.md es markdown puro + referencias a mocks/Figma. El código lo escribe el flow=dev.
|
|
68
|
-
- **Componentes referenciados a frontend-design**: si un componente es una variante estándar, citar `frontend-design references/<patron>.md`. Si es nuevo/custom, especificarlo entero.
|
|
69
|
-
- **Estados explícitos**: cada componente declara TODOS sus estados (no asumir que el dev los infiere).
|
|
70
|
-
- **Validaciones con regex/longitud/required cuando aplica**: el dev no inventa.
|
|
71
|
-
- **Out of scope explícito**: cierra puertas; evita feature creep.
|
|
72
|
-
- **Si type=system**: DELIVERY.md describe los CAMBIOS al design system (delta + migration), no una pantalla. La distinción `## Type: project|system` queda como metadato interno del documento; **no** afecta la carpeta de graduación (todo va a `docs/especificaciones/` — path canónico ES preservado por compat con sesiones legacy).
|
|
73
|
-
- **No commits autónomos**: design-deliver **nunca** commitea DELIVERY.md ni `docs/referencias/` por iniciativa. Ver `agent-workflow:commits-policy` (Regla 3): cuando el usuario solicita un commit — closure auto, ad-hoc en cualquier fase, o sin sesión activa — el AI invoca el flujo M1 propose-then-execute con `AskUserQuestion`.
|
|
74
|
-
|
|
75
|
-
## Loop hasta convergencia final
|
|
76
|
-
|
|
77
|
-
Después del primer draft de DELIVERY.md:
|
|
78
|
-
|
|
79
|
-
1. Mostrar al usuario.
|
|
80
|
-
2. Recibir feedback.
|
|
81
|
-
3. Iterar sobre el archivo (Edit, no recreación).
|
|
82
|
-
4. Repetir hasta el usuario confirme: "OK, podemos handoff".
|
|
83
|
-
|
|
84
|
-
## Hand-off al flow=dev (post-cierre de la sesión design)
|
|
85
|
-
|
|
86
|
-
Cuando la sesión cierre, DELIVERY.md se gradúa a `docs/especificaciones/NNN-<slug>/DELIVERY.md` (kind=`especificacion`, modelo nuevo DEC-003). Sin distinción project/system en la carpeta destino — la distinción queda como `## Type` interno del documento. La carpeta destino conserva el nombre español `docs/especificaciones/` por compatibilidad con paths existentes en sesiones legacy.
|
|
87
|
-
|
|
88
|
-
Destino según workspace_mode (DEC-002):
|
|
89
|
-
- **hub mode** → `<hub>/docs/especificaciones/NNN-<slug>/DELIVERY.md`.
|
|
90
|
-
- **project mode** → `<cwd>/docs/especificaciones/NNN-<slug>/DELIVERY.md`.
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
/agent-workflow:session --from design:<code> "<objetivo de implementación>"
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
El OBJECTIVE de la sesión dev quedará con `## Origin` linkeado al `DELIVERY.md` y tag `origen:design-NNN` en HISTORY.md (shared-contract §10).
|
|
97
|
-
|
|
98
|
-
## Composición con otras skills
|
|
99
|
-
|
|
100
|
-
| Skill | Cuándo |
|
|
101
|
-
|---|---|
|
|
102
|
-
| `design-develop` | si el feedback del usuario invalida la convergencia, retroceder |
|
|
103
|
-
| `frontend-design` | para validar que cada componente referenciado existe en patterns |
|
|
104
|
-
|
|
105
|
-
## Sandbox read-only
|
|
106
|
-
|
|
107
|
-
Reglas universales en el canon (`sandbox-readonly-rules.md`). En plan mode esta skill describe en el plan file:
|
|
108
|
-
|
|
109
|
-
- **Path destino** del DELIVERY.md: `.workflow/sessions/<folder>/DELIVERY.md`.
|
|
110
|
-
- **Esqueleto propuesto**: secciones (Summary, Components, States, Tokens applied, Variants, Validation criteria, Hand-off a dev), longitud aproximada por sección.
|
|
111
|
-
- **Referencias del usuario**: lista de archivos en `<workspace-root>/docs/referencias/` (mockups, especificaciones de tokens, exportes que el usuario provea), con formato y propósito. Carpeta transversal — DEC-004 v2. **El AI no escribe ahí salvo solicitud explícita**.
|
|
112
|
-
- **Type declarado** en OBJECTIVE: `project` o `system` (legacy ES `proyecto`/`sistema` se normaliza). Metadato interno del documento. En cualquier caso gradúa a `docs/especificaciones/` (kind=`especificacion`). Si falta, plan dice "preguntar al usuario".
|
|
113
|
-
|
|
114
|
-
NO ejecuta: `Write` sobre DELIVERY.md ni `docs/referencias/`; `agent-workflow graduate --kind especificacion`.
|
|
115
|
-
|
|
116
|
-
## Recursos
|
|
117
|
-
|
|
118
|
-
- skill `frontend-design` — patterns canónicos para referenciar.
|
|
119
|
-
- shared-contract §10 — handoff `--from design:<code>`.
|
|
120
|
-
- shared-contract §11 — convención `## Type` (afecta destino de graduación).
|
|
121
|
-
- shared-contract §14 — fase execution del lifecycle universal.
|