@tacuchi/agent-workflow-cli 11.0.1 → 12.2.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 +52 -95
- package/dist/adapters/git-cli.d.ts +7 -1
- package/dist/adapters/git-cli.d.ts.map +1 -1
- package/dist/adapters/git-cli.js +47 -0
- package/dist/adapters/git-cli.js.map +1 -1
- 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/git-flow-service.d.ts +44 -0
- package/dist/application/git-flow-service.d.ts.map +1 -0
- package/dist/application/git-flow-service.js +220 -0
- package/dist/application/git-flow-service.js.map +1 -0
- 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 +1 -8
- package/dist/application/parsers/project-block.d.ts.map +1 -1
- package/dist/application/parsers/project-block.js +19 -51
- package/dist/application/parsers/project-block.js.map +1 -1
- package/dist/application/paths-service.d.ts +9 -8
- package/dist/application/paths-service.d.ts.map +1 -1
- package/dist/application/paths-service.js +16 -8
- package/dist/application/paths-service.js.map +1 -1
- package/dist/application/project-md-upsert-service.d.ts +5 -11
- package/dist/application/project-md-upsert-service.d.ts.map +1 -1
- package/dist/application/project-md-upsert-service.js +11 -56
- package/dist/application/project-md-upsert-service.js.map +1 -1
- package/dist/application/project-tab-data.d.ts +16 -42
- package/dist/application/project-tab-data.d.ts.map +1 -1
- package/dist/application/project-tab-data.js +28 -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 +2 -3
- package/dist/application/render/project-block.d.ts.map +1 -1
- package/dist/application/render/project-block.js +16 -26
- 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 +11 -3
- package/dist/application/self/install-skill.d.ts.map +1 -1
- package/dist/application/self/install-skill.js +65 -14
- 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.d.ts +1 -1
- package/dist/application/self/uninstall.d.ts.map +1 -1
- package/dist/application/self/uninstall.js +39 -29
- 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 +62 -0
- package/dist/application/workspace-init-service.d.ts.map +1 -0
- package/dist/application/workspace-init-service.js +228 -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/git-flow.d.ts +3 -0
- package/dist/cli/commands/git-flow.d.ts.map +1 -0
- package/dist/cli/commands/git-flow.js +50 -0
- package/dist/cli/commands/git-flow.js.map +1 -0
- 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-qa-branch.d.ts +3 -0
- package/dist/cli/commands/set-qa-branch.d.ts.map +1 -0
- package/dist/cli/commands/set-qa-branch.js +34 -0
- package/dist/cli/commands/set-qa-branch.js.map +1 -0
- 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 +71 -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 +10 -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 +33 -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 +6 -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/git-flow-actions.d.ts +22 -0
- package/dist/cli/tui/components/git-flow-actions.d.ts.map +1 -0
- package/dist/cli/tui/components/git-flow-actions.js +0 -0
- package/dist/cli/tui/components/git-flow-actions.js.map +1 -0
- 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 +49 -105
- 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/ports/git.d.ts +17 -0
- package/dist/ports/git.d.ts.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
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: testing
|
|
3
|
+
description: >
|
|
4
|
+
Estrategia y ejecución de pruebas: selecciona niveles (unit / integration / e2e),
|
|
5
|
+
resuelve comandos por stack detectado, guía la convención de nombres y estructura de tests.
|
|
6
|
+
Pregunta al humano antes de ejecutar; nunca lanza el test runner sin confirmación explícita.
|
|
7
|
+
Compuesta por plan-exec-loop y quick-loop durante la fase de validación de cambios.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# testing — Test strategy and execution capability
|
|
11
|
+
|
|
12
|
+
## Role
|
|
13
|
+
|
|
14
|
+
`testing` — implementación built-in por defecto. Rebindeable a otra skill (de tercero o `off`) en `.workflow/skills.toml`.
|
|
15
|
+
|
|
16
|
+
## Purpose
|
|
17
|
+
|
|
18
|
+
Dar a los loops la capacidad de razonar sobre tests: qué nivel aplicar, con qué comando, con qué convención. **No ejecuta tests de forma autónoma** — primero pregunta al humano si quiere que el loop los corra, o si los correrá manualmente, o si no hacen falta en esta sesión.
|
|
19
|
+
|
|
20
|
+
## Composed by
|
|
21
|
+
|
|
22
|
+
| Loop | Cuándo la compone |
|
|
23
|
+
|---|---|
|
|
24
|
+
| `plan-exec-loop` | durante validation de cada task ejecutada |
|
|
25
|
+
| `quick-loop` | cuando el cambio quick requiere verificación |
|
|
26
|
+
|
|
27
|
+
## Knowledge
|
|
28
|
+
|
|
29
|
+
### Execution rule
|
|
30
|
+
|
|
31
|
+
Por defecto, **no ejecutar pruebas automáticamente**. Antes de correr cualquier test runner:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
AskUserQuestion:
|
|
35
|
+
"¿Correr los tests?"
|
|
36
|
+
[a] Sí, el loop los ejecuta
|
|
37
|
+
[b] Los corro yo manualmente
|
|
38
|
+
[c] No hace falta en esta sesión
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Solo saltear la pregunta si el workspace declara `Validation mode: auto` en `.workflow/config.toml`.
|
|
42
|
+
|
|
43
|
+
### Test levels
|
|
44
|
+
|
|
45
|
+
Tres niveles universales (adaptados al stack detectado):
|
|
46
|
+
|
|
47
|
+
| Nivel | Alcance | Cuándo usarlo |
|
|
48
|
+
|---|---|---|
|
|
49
|
+
| **a) Unit** | Lógica aislada (servicios, utils, mappers) | Fix puntual, lógica sin dependencias externas |
|
|
50
|
+
| **b) Integration** | Unit + capa de API/controladores | Endpoint nuevo o modificado |
|
|
51
|
+
| **c) Full** | Integration + contexto completo + e2e | Feature completa, flujo crítico, integración entre capas |
|
|
52
|
+
|
|
53
|
+
### Stack resolution
|
|
54
|
+
|
|
55
|
+
El stack se detecta por archivos de manifest presentes en el workspace. Precedencia: si el bloque `WORKSPACE → Stack` declara override de build/wrapper, usarlo.
|
|
56
|
+
|
|
57
|
+
#### Spring Boot (Maven)
|
|
58
|
+
|
|
59
|
+
| Nivel | Framework | Comando |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| a) Unit | JUnit 5 + Mockito | `./mvnw test -Dtest=ClaseTest` |
|
|
62
|
+
| b) Integration | + MockMvc | `./mvnw test` |
|
|
63
|
+
| c) Full | + @SpringBootTest | `./mvnw verify` |
|
|
64
|
+
|
|
65
|
+
> Windows: `mvnw.cmd` en lugar de `./mvnw`.
|
|
66
|
+
|
|
67
|
+
#### Spring Boot (Gradle)
|
|
68
|
+
|
|
69
|
+
| Nivel | Comando |
|
|
70
|
+
|---|---|
|
|
71
|
+
| a) Unit | `./gradlew test --tests ClaseTest` |
|
|
72
|
+
| b) Integration | `./gradlew test` |
|
|
73
|
+
| c) Full | `./gradlew integrationTest` (o `check`) |
|
|
74
|
+
|
|
75
|
+
#### Angular
|
|
76
|
+
|
|
77
|
+
| Nivel | Framework | Comando |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| a) Unit | Jasmine + Karma (o Jest) | `ng test --watch=false` |
|
|
80
|
+
| b) Integration | + TestBed + ComponentFixture | `ng test --watch=false` |
|
|
81
|
+
| c) Full | + Cypress/Playwright si configurado | `npm run e2e` |
|
|
82
|
+
|
|
83
|
+
#### Node / TypeScript genérico
|
|
84
|
+
|
|
85
|
+
| Nivel | Comando |
|
|
86
|
+
|---|---|
|
|
87
|
+
| a) Unit | `npm test` (script `test` en `package.json`) |
|
|
88
|
+
| b) Integration | `npm test` con suites de integración |
|
|
89
|
+
| c) Full | `npm run test:e2e` o según config |
|
|
90
|
+
|
|
91
|
+
#### Resolución automática
|
|
92
|
+
|
|
93
|
+
1. `mvnw` / `mvnw.cmd` → Maven wrapper.
|
|
94
|
+
2. `gradlew` → Gradle wrapper.
|
|
95
|
+
3. `angular.json` → `ng test`.
|
|
96
|
+
4. `package.json` con script `test` → `npm test`.
|
|
97
|
+
5. Si hay override en `WORKSPACE → Stack` → usarlo.
|
|
98
|
+
|
|
99
|
+
### Naming conventions
|
|
100
|
+
|
|
101
|
+
**Java:** clase `[Objetivo]Test.java`, método `[metodo]_[escenario]_[resultado]`. Estructura Arrange-Act-Assert.
|
|
102
|
+
|
|
103
|
+
```java
|
|
104
|
+
@Test
|
|
105
|
+
void enviar_conEmailValido_retornaExito() {
|
|
106
|
+
// Arrange
|
|
107
|
+
var request = new NotificacionRequest("user@example.com", "Asunto", "template", Map.of());
|
|
108
|
+
when(emailProvider.send(any())).thenReturn(true);
|
|
109
|
+
// Act
|
|
110
|
+
var resultado = service.enviar(request);
|
|
111
|
+
// Assert
|
|
112
|
+
assertThat(resultado).isTrue();
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Angular / TypeScript:** archivo `[nombre].spec.ts`, bloques `describe` / `it`. Usar `TestBed` para componentes.
|
|
117
|
+
|
|
118
|
+
```typescript
|
|
119
|
+
describe('AuthService', () => {
|
|
120
|
+
it('should return token on login', () => {
|
|
121
|
+
// ...
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Level selection prompt (to show the human)
|
|
127
|
+
|
|
128
|
+
Adaptar al stack resuelto. Ejemplo para Spring Boot:
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
¿Qué nivel de pruebas aplicamos?
|
|
132
|
+
a) Unitarios — JUnit 5 + Mockito (rápido, aislado)
|
|
133
|
+
b) Integración — + MockMvc controllers
|
|
134
|
+
c) Completo — + @SpringBootTest (contexto Spring completo)
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
El humano puede cambiar de nivel en cualquier momento o decidir no ejecutar desde el loop.
|
|
138
|
+
|
|
139
|
+
### Execution and logging
|
|
140
|
+
|
|
141
|
+
1. Confirmar que el humano quiere ejecución desde el loop (ver "Execution rule").
|
|
142
|
+
2. Ejecutar el comando resuelto según stack y nivel.
|
|
143
|
+
3. Registrar resultado en `TEST_LOG.md` **solo si** el humano pidió registro formal o la ejecución fue desde el loop.
|
|
144
|
+
4. Si el humano ya validó manualmente, no repetir; anotar una línea breve si aporta trazabilidad.
|
|
145
|
+
5. Si hay fallos y el humano quiere continuar: corregir y re-ejecutar.
|
|
146
|
+
|
|
147
|
+
### TestBuilder pattern (Java)
|
|
148
|
+
|
|
149
|
+
Para construir fixtures reutilizables sin acoplar los tests al constructor de producción:
|
|
150
|
+
|
|
151
|
+
```java
|
|
152
|
+
public class NotificacionTestBuilder {
|
|
153
|
+
private String destinatario = "test@example.com";
|
|
154
|
+
private String estado = "PENDIENTE";
|
|
155
|
+
|
|
156
|
+
public static NotificacionTestBuilder builder() { return new NotificacionTestBuilder(); }
|
|
157
|
+
|
|
158
|
+
public NotificacionTestBuilder destinatario(String val) { this.destinatario = val; return this; }
|
|
159
|
+
public NotificacionTestBuilder estado(String val) { this.estado = val; return this; }
|
|
160
|
+
|
|
161
|
+
public Notificacion build() {
|
|
162
|
+
var e = new Notificacion();
|
|
163
|
+
e.setDestinatario(destinatario);
|
|
164
|
+
e.setEstado(estado);
|
|
165
|
+
return e;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Output
|
|
171
|
+
|
|
172
|
+
No produce artefactos de forma autónoma. Cuando el humano confirma ejecución:
|
|
173
|
+
- Corre el comando resuelto y reporta el resultado inline.
|
|
174
|
+
- Escribe `TEST_LOG.md` en la sesión activa solo si fue pedido explícitamente.
|
|
175
|
+
|
|
176
|
+
No gradua a `docs/` (invariant #1).
|
|
177
|
+
|
|
178
|
+
## Source
|
|
179
|
+
|
|
180
|
+
Reciclado de `agent-workflow/standards/testing-strategy/` del bundle viejo (v0.1.0). Se conserva: los tres niveles (a/b/c), la regla de confirmación antes de ejecutar, la resolución de stack por manifest, los naming conventions, la tabla de comandos por framework. Se descarta: la referencia al bloque `AW-PROJECT → Stack` (reemplazado por `WORKSPACE → Stack`), el `TEST_LOG.md` obligatorio, el sandbox-readonly-rules legacy, referencias a `plan mode` del sistema anterior.
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tools
|
|
3
|
+
description: >
|
|
4
|
+
Capacidad de autoría de herramientas y utilidades que el plan crea: scripts, CLIs, helpers,
|
|
5
|
+
configuraciones reutilizables. Produce el código de la herramienta y su documentación en
|
|
6
|
+
docs/tools/. Compuesta por plan-exec-loop cuando una task crea una utilidad nueva (no un
|
|
7
|
+
cambio de producto). No aplica a código de producto — solo a tooling auxiliar.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# tools — Tool authoring capability
|
|
11
|
+
|
|
12
|
+
## Role
|
|
13
|
+
|
|
14
|
+
`tools` — implementación built-in por defecto. Rebindeable a otra skill (de tercero o `off`) en `.workflow/skills.toml`.
|
|
15
|
+
|
|
16
|
+
## Purpose
|
|
17
|
+
|
|
18
|
+
Dar al `plan-exec-loop` la capacidad de crear herramientas y utilidades auxiliares con una estructura consistente: el código de la tool + su documentación en `docs/tools/`. Cubre scripts de automatización, CLIs auxiliares, helpers de CI/CD, configuraciones reutilizables, y cualquier artefacto de tooling que el plan genere como producto de una task.
|
|
19
|
+
|
|
20
|
+
**Distinciones clave:**
|
|
21
|
+
|
|
22
|
+
| Tipo | Rol | ¿Quién lo maneja? |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| Código de producto (services, controllers, components) | cambio en el repo fuente | `plan-exec-loop` + `coding-standards` |
|
|
25
|
+
| Tool / utilidad auxiliar creada por el plan | herramienta de soporte | esta skill (`tools`) |
|
|
26
|
+
| Script SQL de migración | dato persistente | `sql` + `export-scripts` |
|
|
27
|
+
|
|
28
|
+
## Composed by
|
|
29
|
+
|
|
30
|
+
| Loop | Cuándo la compone |
|
|
31
|
+
|---|---|
|
|
32
|
+
| `plan-exec-loop` | cuando una task del plan crea una herramienta nueva (helper, script CLI, configuración reutilizable) |
|
|
33
|
+
|
|
34
|
+
## Knowledge
|
|
35
|
+
|
|
36
|
+
### Tool vs. product code
|
|
37
|
+
|
|
38
|
+
Una **tool** es cualquier artefacto que el plan crea para soportar el trabajo, no para el usuario final del producto:
|
|
39
|
+
|
|
40
|
+
- Scripts de seed/fixtures para desarrollo local.
|
|
41
|
+
- CLIs auxiliares (`validate-schema.js`, `sync-env.sh`).
|
|
42
|
+
- Helpers de CI/CD (scripts de deploy, linters de configuración).
|
|
43
|
+
- Configuraciones reutilizables (templates de entorno, fixtures de test).
|
|
44
|
+
- Generadores o scaffolders para tareas repetitivas.
|
|
45
|
+
|
|
46
|
+
Si el artefacto es lógica de negocio del producto → no es una tool, es código de producto.
|
|
47
|
+
|
|
48
|
+
### Tool anatomy
|
|
49
|
+
|
|
50
|
+
Cada tool tiene dos partes:
|
|
51
|
+
|
|
52
|
+
1. **El código** — en el repo fuente apropiado (en su carpeta natural: `scripts/`, `tools/`, `bin/`, etc.).
|
|
53
|
+
2. **La doc** — en `docs/tools/NNN-<slug>.md` del workspace (invariant #2: PLAN escribe `docs/tools`).
|
|
54
|
+
|
|
55
|
+
### docs/tools/NNN-<slug>.md schema
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
# <Nombre de la tool>
|
|
59
|
+
|
|
60
|
+
> **Tipo**: <script | cli | helper | config-template | generator>
|
|
61
|
+
> **Repo**: <alias de la fuente donde vive el código>
|
|
62
|
+
> **Path**: <path relativo al repo>
|
|
63
|
+
> **Creada en**: <sesion-slug>
|
|
64
|
+
|
|
65
|
+
## Purpose
|
|
66
|
+
|
|
67
|
+
[1-2 oraciones: qué hace y cuándo usarla.]
|
|
68
|
+
|
|
69
|
+
## Usage
|
|
70
|
+
|
|
71
|
+
```<lenguaje o bash>
|
|
72
|
+
<ejemplo de invocación>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Parameters
|
|
76
|
+
|
|
77
|
+
| Param | Tipo | Requerido | Default | Descripcion |
|
|
78
|
+
|---|---|---|---|---|
|
|
79
|
+
| `--foo` | string | sí | — | ... |
|
|
80
|
+
|
|
81
|
+
## Output
|
|
82
|
+
|
|
83
|
+
[Qué produce: archivos, stdout, efectos secundarios.]
|
|
84
|
+
|
|
85
|
+
## Dependencies
|
|
86
|
+
|
|
87
|
+
- <prerequisito 1: binario, env var, servicio>
|
|
88
|
+
- <prerequisito 2>
|
|
89
|
+
|
|
90
|
+
## Examples
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Caso de uso principal
|
|
94
|
+
./scripts/validate-schema.sh --env staging
|
|
95
|
+
|
|
96
|
+
# Caso edge
|
|
97
|
+
./scripts/validate-schema.sh --env staging --dry-run
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Notes
|
|
101
|
+
|
|
102
|
+
[Advertencias, limitaciones, cuándo NO usar.]
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Numbering
|
|
106
|
+
|
|
107
|
+
`docs/tools/` usa numeración secuencial `NNN` (001, 002, ...). Consultar el número siguiente con el filesystem antes de escribir; no asumir el siguiente en base a lo que el loop ya sabe.
|
|
108
|
+
|
|
109
|
+
### Git-safe authoring (invariant #5)
|
|
110
|
+
|
|
111
|
+
- Verificar la rama esperada antes de escribir código.
|
|
112
|
+
- Proponer el commit; nunca hacer `push`/`--amend`/`--no-verify` autónomamente.
|
|
113
|
+
- Si la tool modifica scripts ya existentes: leer el archivo completo primero.
|
|
114
|
+
|
|
115
|
+
### DB scripts rule (invariant #4)
|
|
116
|
+
|
|
117
|
+
Si la tool genera o manipula SQL:
|
|
118
|
+
- Nunca generar DML/DDL que se ejecute inline — el SQL va a `SCRIPTS.sql` y se entrega vía `export-scripts`.
|
|
119
|
+
- Una tool puede generar un archivo `.sql`; no puede ejecutarlo contra la BD.
|
|
120
|
+
|
|
121
|
+
### Code quality baseline
|
|
122
|
+
|
|
123
|
+
Al autorar el código de la tool, aplicar lo que la capacidad `coding-standards` del workspace establezca. Si `coding-standards` está `off` o no está configurada, usar los estándares del lenguaje detectado:
|
|
124
|
+
- **Shell**: shellcheck-compatible, variables entre comillas, `set -euo pipefail`.
|
|
125
|
+
- **Node/TS**: tipado explícito, sin `any` salvo justificación, error handling explícito.
|
|
126
|
+
- **Python**: type hints, docstring en funciones públicas, manejo de excepciones específico.
|
|
127
|
+
- **Java**: Javadoc mínimo en clases públicas, excepciones tipadas.
|
|
128
|
+
|
|
129
|
+
### Self-contained tools
|
|
130
|
+
|
|
131
|
+
Preferir tools que declaren explícitamente sus dependencias (en doc + en el propio script). Una tool que falla silenciosamente porque le falta un binario es peor que una que no existe.
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# Pattern: check dependencies al inicio
|
|
135
|
+
command -v jq >/dev/null 2>&1 || { echo "jq requerido: brew install jq"; exit 1; }
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Output
|
|
139
|
+
|
|
140
|
+
Por cada tool creada:
|
|
141
|
+
- **Código**: en el repo fuente, en la carpeta que corresponda (`scripts/`, `tools/`, `bin/`).
|
|
142
|
+
- **Doc**: en `docs/tools/NNN-<slug>.md` del workspace.
|
|
143
|
+
|
|
144
|
+
Writes `docs/tools/` (invariant #2: PLAN es el dueño de esta carpeta). No gradua a ninguna otra carpeta de `docs/`.
|
|
145
|
+
|
|
146
|
+
## Source
|
|
147
|
+
|
|
148
|
+
Autoria original (no hay skill equivalente en el bundle viejo). Basado en la descripción del rol en `workflow-skills/README.md` y en el invariant #2 del diseño (`docs/tools/` es del flujo PLAN). Las convenciones de estructura de doc (`## Purpose`, `## Usage`, `## Parameters`, `## Output`, `## Examples`) siguen el patrón de calidad del bundle.
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ui-spec
|
|
3
|
+
description: >-
|
|
4
|
+
UI spec authoring — built-in default for the `ui-design` capability. Given a UI
|
|
5
|
+
requirement, author a structured, framework-agnostic screen specification (the
|
|
6
|
+
universal `Screen` model in JSON) plus its readable Markdown render. Knows the
|
|
7
|
+
`Screen` schema, the kind/region vocabulary, the authoring rules, design-system /
|
|
8
|
+
theme / variant handling, and the exact Markdown render format. Use when a loop is
|
|
9
|
+
refining a spec that involves screens, forms, dashboards, modals or any UI surface
|
|
10
|
+
— primarily `spec-refine-loop`. Recycled from the `ui-spec-generator` service.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# ui-spec — UI spec authoring
|
|
14
|
+
|
|
15
|
+
## Role
|
|
16
|
+
|
|
17
|
+
`ui-design` — this is its **built-in default implementation**. Rebindable in `.workflow/skills.toml` to a third-party skill (installed via skills.sh) or `off`. Resolution: built-in default → `~/.workflow/skills.toml` (global) → `.workflow/skills.toml` (workspace).
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Dado un requerimiento de UI, autorar una **especificación de pantalla estructurada** — un modelo universal, agnóstico de framework — más su render Markdown legible. **Reemplaza** al servicio single-shot `ui-spec-generator`: ahora la IA la autora **nativamente**, guiada por esta skill. No hay endpoint que llamar; el saber del servicio vive aquí.
|
|
22
|
+
|
|
23
|
+
## Composed by
|
|
24
|
+
|
|
25
|
+
La carga el **`spec-refine-loop`** (ver `../../loops/spec-refine-loop.md`) cuando el requerimiento involucra UI. El loop aporta lo que el servicio viejo no tenía:
|
|
26
|
+
|
|
27
|
+
- **Pregunta al humano** (design-system, tema, ambigüedades de pantalla) vía `AskUserQuestion`.
|
|
28
|
+
- **Itera** gap-driven hasta converger.
|
|
29
|
+
- Ofrece **variantes** y **cura** el resultado.
|
|
30
|
+
|
|
31
|
+
Cualquier loop podría componerla; el caso primario es SPEC. El `Screen` y su Markdown aterrizan como una sección dentro del documento spec (`docs/specs/NNN-spec.md`) — nunca como artefacto suelto (invariante 3: el spec es un documento).
|
|
32
|
+
|
|
33
|
+
## Knowledge
|
|
34
|
+
|
|
35
|
+
### Schema (modelo `Screen` — universal, recursivo)
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
Screen {
|
|
39
|
+
name: string # nombre de la pantalla
|
|
40
|
+
purpose: string # "tipo" semántico: auth, dashboard, form, list, detail, error, ...
|
|
41
|
+
platform: string # web (default), mobile, ...
|
|
42
|
+
description?: string
|
|
43
|
+
regions?: Region[] # pantallas complejas
|
|
44
|
+
components?: Component[] # pantallas simples
|
|
45
|
+
} # usar regions O components, no ambos
|
|
46
|
+
Region { type: string, components: Component[] }
|
|
47
|
+
Component { kind: string, role?: string, label?: string, children?: Component[] } # recursive
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
- `type` (region) ∈ `header · main · footer · sidebar · filters · summary`
|
|
51
|
+
- `kind` (component) por categoría:
|
|
52
|
+
- **Contenedores**: `card · panel · modal`
|
|
53
|
+
- **Datos**: `table · list · grid`
|
|
54
|
+
- **Visualización**: `chart · metric · badge · image`
|
|
55
|
+
- **Entrada**: `textInput · select · checkbox · datePicker · toggle`
|
|
56
|
+
- **Acciones**: `button · link · actionGroup`
|
|
57
|
+
- **Navegación**: `navBar · tabs · breadcrumb`
|
|
58
|
+
- **Feedback**: `alert · progress`
|
|
59
|
+
|
|
60
|
+
JSON serializado en **camelCase**, **claves null omitidas** (no emitir `"description": null`).
|
|
61
|
+
|
|
62
|
+
### Rules
|
|
63
|
+
|
|
64
|
+
1. **Conciso** — solo lo esencial. Nada de relleno ni componentes especulativos.
|
|
65
|
+
2. Pantalla simple (login, recuperar contraseña, error) → `components` directo, **sin** `regions`.
|
|
66
|
+
3. Pantalla compleja (dashboard, mantenimiento CRUD) → `regions` para organizar.
|
|
67
|
+
4. `role` es **opcional** — solo si aporta claridad (`role:"logo"`, `role:"primary"`).
|
|
68
|
+
5. Límites: **≤100 componentes**, **≤5 niveles** de anidación.
|
|
69
|
+
6. Un solo `Screen` por sección; si el requerimiento son varias pantallas, una sección por pantalla.
|
|
70
|
+
|
|
71
|
+
### Design options (las pregunta el loop al humano)
|
|
72
|
+
|
|
73
|
+
Estas opciones **guían contenido/labels**; el modelo `Screen` es **agnóstico** de design-system y NO las lleva como campos. Se **anotan en el spec** (encabezado de la sección), no en el JSON:
|
|
74
|
+
|
|
75
|
+
- **Design system**: `material3 · bootstrap5 · tailwind3 · antDesign · chakraUI · custom`.
|
|
76
|
+
- **Tema**: `light · dark · auto`.
|
|
77
|
+
- **Idioma**: `es · en · …` (afecta los `label`).
|
|
78
|
+
- **Densidad** (opcional): `compact · comfortable · spacious`.
|
|
79
|
+
- **maxWidth** (opcional): pixeles, 320–3840 (anotación de layout).
|
|
80
|
+
|
|
81
|
+
### Variants
|
|
82
|
+
|
|
83
|
+
Cuando el requerimiento admite más de un layout razonable (ej. tabla vs. grid de cards; tabs vs. acordeón), ofrecer **2-3 variantes** como `Screen` alternativos y pedir al humano que elija. Una sola variante se cura y queda; las descartadas no se persisten.
|
|
84
|
+
|
|
85
|
+
### Disambiguation
|
|
86
|
+
|
|
87
|
+
Antes de autorar, resolver ambigüedades con `AskUserQuestion` (lo dispara el loop):
|
|
88
|
+
|
|
89
|
+
- Pantalla simple o compleja (¿necesita `regions`?).
|
|
90
|
+
- Qué acciones primarias/secundarias existen.
|
|
91
|
+
- Qué datos muestra (tabla, métricas, ambos).
|
|
92
|
+
- Si hay estados (loading, empty, error) que el spec deba enumerar.
|
|
93
|
+
|
|
94
|
+
Si el humano no responde, asumir el caso más simple coherente con la descripción y anotar el supuesto.
|
|
95
|
+
|
|
96
|
+
### Examples (few-shot)
|
|
97
|
+
|
|
98
|
+
```json
|
|
99
|
+
// Simple (sin regions)
|
|
100
|
+
{"name":"Recuperar Contraseña","purpose":"auth","platform":"web","components":[{"kind":"image","role":"logo"},{"kind":"textInput","label":"Correo electrónico"},{"kind":"button","label":"Enviar enlace"},{"kind":"link","label":"Volver al login"}]}
|
|
101
|
+
|
|
102
|
+
// Complejo (con regions)
|
|
103
|
+
{"name":"Dashboard","purpose":"dashboard","platform":"web","regions":[{"type":"summary","components":[{"kind":"metric","label":"Total"},{"kind":"metric","label":"Pendientes"}]},{"type":"main","components":[{"kind":"table","label":"Registros"}]}]}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Output — sección `## UI spec` dentro del spec (`docs/specs/NNN-spec.md`)
|
|
107
|
+
|
|
108
|
+
La escribe el loop (no esta skill por sí sola). Encabezar la sección con las opciones de diseño elegidas (design system, tema, idioma) en una línea. Luego dos representaciones:
|
|
109
|
+
|
|
110
|
+
1. **`Screen` (JSON)** — camelCase, claves null omitidas, en bloque ```json.
|
|
111
|
+
2. **Markdown** — render legible (reglas exactas, recicladas del `MarkdownFormatter`):
|
|
112
|
+
- `# {name}`
|
|
113
|
+
- `**Tipo**: {purpose} | **Plataforma**: {platform}`
|
|
114
|
+
- `description` como párrafo aparte (solo si existe).
|
|
115
|
+
- Con `regions`: un `## {Type capitalizado}` por región (capitalizar la primera letra del `type`).
|
|
116
|
+
- Sin `regions`: un `## Componentes`.
|
|
117
|
+
- Cada componente: `- **{label || role || kind}**`, seguido de ` ({kind})` **solo si** había `label` o `role`.
|
|
118
|
+
- `children` indentados **2 espacios por nivel**.
|
|
119
|
+
|
|
120
|
+
Ejemplo de render para el dashboard de arriba:
|
|
121
|
+
|
|
122
|
+
```markdown
|
|
123
|
+
# Dashboard
|
|
124
|
+
**Tipo**: dashboard | **Plataforma**: web
|
|
125
|
+
|
|
126
|
+
## Summary
|
|
127
|
+
- **Total** (metric)
|
|
128
|
+
- **Pendientes** (metric)
|
|
129
|
+
|
|
130
|
+
## Main
|
|
131
|
+
- **Registros** (table)
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Source
|
|
135
|
+
|
|
136
|
+
Reciclada de `ui-spec-generator` (Spring Boot/Kotlin). Se **conservan**: el prompt de sistema (vocabulario, kinds, reglas), el esquema `Screen`/`Region`/`Component`, los pocos-shot, el enum de design systems, los constraints (theme/density/maxWidth) y las reglas exactas del `MarkdownFormatter`. Se **descarta**: el transporte HTTP, OpenRouter/Gemini y el modo single-shot — los reemplaza la iteración del `spec-refine-loop`. El endpoint del servicio deja de usarse. También absorbe los principios UX de la vieja skill `standards/frontend-design/` cuando el spec describe mantenimientos CRUD (formularios, listados, modales, navegación, feedback).
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: writing
|
|
3
|
+
description: >-
|
|
4
|
+
Clear technical writing capability — built-in default for the `writing` role. Rules
|
|
5
|
+
for any prose the AI produces in agent-workflow context: spec/plan/session artifacts,
|
|
6
|
+
commit messages, PR descriptions, export deliverables (manuals/reports). Short
|
|
7
|
+
sentences, lists over prose, one idea per line, "what + why" on one line, no jargon,
|
|
8
|
+
no filler. Use across all loops and in export-manuals / export-reports.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# writing — Clear technical writing
|
|
12
|
+
|
|
13
|
+
## Role
|
|
14
|
+
|
|
15
|
+
`writing` — built-in default. Rebindable in `.workflow/skills.toml` (third-party skill or `off`). The most broadly composed role.
|
|
16
|
+
|
|
17
|
+
## Purpose
|
|
18
|
+
|
|
19
|
+
Reglas de estilo y formato para **toda la prosa** que la IA produce en contexto agent-workflow. Read-only por diseño: carga reglas; el `.md` lo materializa el consumidor (loop o export).
|
|
20
|
+
|
|
21
|
+
## Composed by
|
|
22
|
+
|
|
23
|
+
- **Todos los loops** — al escribir specs, planes, artefactos de sesión, mensajes de commit, descripciones de PR.
|
|
24
|
+
- **`export-manuals`** — al redactar manuales técnicos (`docs/manuals`).
|
|
25
|
+
- **`export-reports`** — al redactar informes ejecutivos (`docs/reports`).
|
|
26
|
+
|
|
27
|
+
(También aplica a respuestas en chat sobre temas agent-workflow.)
|
|
28
|
+
|
|
29
|
+
## Knowledge
|
|
30
|
+
|
|
31
|
+
### Las 6 reglas
|
|
32
|
+
|
|
33
|
+
1. **Frases cortas**: máximo ~15 palabras. Si pasa de 20, partir en dos.
|
|
34
|
+
2. **Listas sobre prosa**: 3+ ideas paralelas van en bullets. Prosa solo para narrar.
|
|
35
|
+
3. **Una idea por línea**: si el bullet usa "y" o ";" para meter una segunda idea, separar.
|
|
36
|
+
4. **"Qué + por qué" en una línea**: formato `<qué>: <por qué corto>`. Sin párrafo aparte para el "por qué".
|
|
37
|
+
5. **Sin jerga ni abreviaturas raras**: palabras comunes. Términos técnicos (MCP, C4) OK; abreviaturas inventadas (ej. "TLDR del CTX") no.
|
|
38
|
+
6. **Sin relleno**: borrar "es importante notar que…", "cabe destacar…", "como se mencionó…", "en conclusión…". La idea va directo.
|
|
39
|
+
|
|
40
|
+
### Palabras a evitar / preferir
|
|
41
|
+
|
|
42
|
+
| Evitar | Preferir |
|
|
43
|
+
|---|---|
|
|
44
|
+
| "es importante notar que" / "cabe destacar" | (borrar, empezar con la idea) |
|
|
45
|
+
| "en otras palabras" / "asimismo" | (borrar) / "también" |
|
|
46
|
+
| "se procede a" / "llevar a cabo" | verbo directo / "hacer" |
|
|
47
|
+
| "implementar la funcionalidad de X" | "implementar X" |
|
|
48
|
+
| "realizar la validación de" | "validar" |
|
|
49
|
+
| "a los efectos de" / "en el marco de" | "para" / "en" |
|
|
50
|
+
| "no obstante" / "previamente mencionado" | "pero" / "antes" |
|
|
51
|
+
| "TLDR", "FYI", "WIP" | escribir la palabra completa |
|
|
52
|
+
|
|
53
|
+
### Ejemplo antes / después
|
|
54
|
+
|
|
55
|
+
Antes:
|
|
56
|
+
> Es importante notar que cada llamada implica un round-trip al servidor MCP además del consumo de tokens correspondiente al JSON de respuesta.
|
|
57
|
+
|
|
58
|
+
Después (-50%):
|
|
59
|
+
> Cada llamada MCP cuesta un round-trip y los tokens del JSON.
|
|
60
|
+
|
|
61
|
+
Decisión densa, antes:
|
|
62
|
+
> Se decidió, luego de analizar las alternativas, implementar la validación de roles solo en el frontend, dado que el backend no requiere la lógica y evita duplicar la regla.
|
|
63
|
+
|
|
64
|
+
Después:
|
|
65
|
+
> **Decisión**: validar permisos solo en el frontend.
|
|
66
|
+
> **Por qué**: el backend no necesita la lógica; evita duplicar la regla.
|
|
67
|
+
|
|
68
|
+
### Cuándo SÍ se permite prosa larga
|
|
69
|
+
|
|
70
|
+
- Resúmenes ejecutivos donde la decisión necesita 4-6 oraciones para sostenerse.
|
|
71
|
+
- Cadena causal de un incidente (causa raíz puede requerir un párrafo).
|
|
72
|
+
- Tradeoffs de UX que necesitan explicación.
|
|
73
|
+
|
|
74
|
+
Aún ahí: oraciones simples encadenadas, no oraciones largas.
|
|
75
|
+
|
|
76
|
+
### Aplicación a los documentos del modelo nuevo
|
|
77
|
+
|
|
78
|
+
- **spec** (`docs/specs`): brief y criterios de aceptación claros; la sección `## UI spec` la formatea el rol `ui-design`.
|
|
79
|
+
- **plan** (`docs/plans`): resumen + fases + tasks con dependencias; tasks sin código inline (el código va en evidencia y se referencia).
|
|
80
|
+
- **decisiones**: `**Decisión**:` + `**Por qué**:`, 3-6 líneas; si es obvia, no se registra.
|
|
81
|
+
- **commit messages / PR**: mismas reglas (frases cortas, sin jerga, sin relleno). Formato canónico del mensaje en el rol `git`.
|
|
82
|
+
- **export manuals/reports**: audiencia operadores/gerencia; bullets sobre prosa, sin relleno corporativo.
|
|
83
|
+
|
|
84
|
+
## Output
|
|
85
|
+
|
|
86
|
+
Ninguno propio. La skill aporta reglas; el `.md` lo escribe el consumidor (loop o export). Cuando escribe a `docs/`, lo hace solo el export que la compone (invariante 1) y solo en su carpeta (invariante 2).
|
|
87
|
+
|
|
88
|
+
## Source
|
|
89
|
+
|
|
90
|
+
Reciclada de `standards/redaccion-simple/` (las 6 reglas, tabla evitar/preferir, ejemplos, cuándo permitir prosa larga). Se descarta el catálogo de estructuras por artefacto del modelo viejo (OBJETIVO/DECISIONES/etc.); los documentos del modelo nuevo son spec/plan + artefactos de sesión, y su estructura la definen los loops y exports.
|