@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
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# roles/ — Capability role catalog
|
|
2
|
+
|
|
3
|
+
> Built-in default implementations of the **capability roles** that loops and exports compose.
|
|
4
|
+
> A role is a slot in the system; a skill is one concrete implementation of that slot.
|
|
5
|
+
> Changing implementation = changing one line in `skills.toml`.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Capability catalog
|
|
10
|
+
|
|
11
|
+
All 10 roles, their built-in defaults, their tier, and which loops/exports compose them:
|
|
12
|
+
|
|
13
|
+
| Role | Default built-in | Tier | Composed by |
|
|
14
|
+
|---|---|---|---|
|
|
15
|
+
| `ui-design` | [`ui-spec`](../ui-spec/SKILL.md) | must | `spec-refine-loop` (when requirement involves UI) |
|
|
16
|
+
| `sql` | `sql` | must | research sessions · `plan-exec-loop` · `quick-loop` · `export-scripts` |
|
|
17
|
+
| `git` | `git` | must | `plan-exec-loop` · `quick-loop` |
|
|
18
|
+
| `coding-standards` | `coding-standards` | must | `plan-exec-loop` · `quick-loop` |
|
|
19
|
+
| `writing` | `writing` | must | all loops · `export-manuals` · `export-reports` |
|
|
20
|
+
| `research` | [`research`](research/SKILL.md) | should | all loops (on-demand investigation) |
|
|
21
|
+
| `testing` | [`testing`](testing/SKILL.md) | should | `plan-exec-loop` · `quick-loop` |
|
|
22
|
+
| `tools` | [`tools`](tools/SKILL.md) | should | `plan-exec-loop` |
|
|
23
|
+
| `diagrams` | [`diagrams`](diagrams/SKILL.md) | should | `export-diagrams` |
|
|
24
|
+
| `overview` | `workflow` | should | any loop (orientation about the workflow itself) |
|
|
25
|
+
|
|
26
|
+
**Tiers:**
|
|
27
|
+
- `must` — core to almost every session; built-in always active unless explicitly `off`.
|
|
28
|
+
- `should` — loaded on-demand; active by default but lower priority to override.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Binding cascade
|
|
33
|
+
|
|
34
|
+
The CLI resolves which skill fulfills a role at compose-time using a 3-level cascade:
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
built-in default
|
|
38
|
+
↓ (overridden by, if present)
|
|
39
|
+
~/.workflow/skills.toml (global — applies to all workspaces on this machine)
|
|
40
|
+
↓ (overridden by, if present)
|
|
41
|
+
.workflow/skills.toml (workspace — applies only to this workspace)
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Resolution rules:**
|
|
45
|
+
|
|
46
|
+
1. **Role with a binding** (workspace, or global if not workspace) → use that skill name.
|
|
47
|
+
- If the name exists under `roles/<name>/` → it is a built-in skill.
|
|
48
|
+
- If not → it is a third-party skill installed by name on the host (e.g. via skills.sh).
|
|
49
|
+
2. **Role with no binding at any level** → use the built-in default (table above). No config needed for the common case.
|
|
50
|
+
3. **`off`** → capability disabled. The loop continues without it; if the task required it, the loop reports why it cannot proceed or asks the human.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## skills.toml format
|
|
55
|
+
|
|
56
|
+
```toml
|
|
57
|
+
[skills]
|
|
58
|
+
# Built-in defaults (no entry needed — listed here for reference only)
|
|
59
|
+
# ui-design = "ui-spec"
|
|
60
|
+
# sql = "sql"
|
|
61
|
+
# git = "git"
|
|
62
|
+
# coding-standards = "coding-standards"
|
|
63
|
+
# writing = "writing"
|
|
64
|
+
# research = "research"
|
|
65
|
+
# testing = "testing"
|
|
66
|
+
# tools = "tools"
|
|
67
|
+
# diagrams = "diagrams"
|
|
68
|
+
# overview = "workflow"
|
|
69
|
+
|
|
70
|
+
# Override examples:
|
|
71
|
+
testing = "off" # disable testing capability
|
|
72
|
+
ui-design = "acme/figma-spec" # third-party skill installed via skills.sh
|
|
73
|
+
diagrams = "mermaid-only" # custom built installed locally
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Override: point to a third-party skill
|
|
77
|
+
|
|
78
|
+
```toml
|
|
79
|
+
[skills]
|
|
80
|
+
ui-design = "acme/figma-spec"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
`acme/figma-spec` must be installed on the host (e.g. via `skills.sh install acme/figma-spec`). The CLI resolves the skill by name; if not found, it falls back to the built-in default and warns.
|
|
84
|
+
|
|
85
|
+
### Override: disable a capability
|
|
86
|
+
|
|
87
|
+
```toml
|
|
88
|
+
[skills]
|
|
89
|
+
testing = "off"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
The loop that composes `testing` will skip it. If the task required testing and the role is `off`, the loop should inform the human and ask how to proceed.
|
|
93
|
+
|
|
94
|
+
### Override: use a different built-in
|
|
95
|
+
|
|
96
|
+
```toml
|
|
97
|
+
[skills]
|
|
98
|
+
diagrams = "diagrams-lite" # if a "diagrams-lite" built-in were registered
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Only meaningful if multiple built-ins for the same role are registered. Currently each role has exactly one built-in default.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Inspecting resolved bindings
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
aw skills
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Lists the resolved binding for every role in the current workspace, showing which level of the cascade provided it (built-in / global / workspace) and whether it is `off`.
|
|
112
|
+
|
|
113
|
+
Example output:
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
Role Resolved skill Source
|
|
117
|
+
----------------- ------------------- -----------
|
|
118
|
+
ui-design ui-spec built-in
|
|
119
|
+
sql sql built-in
|
|
120
|
+
git git built-in
|
|
121
|
+
coding-standards coding-standards built-in
|
|
122
|
+
writing writing built-in
|
|
123
|
+
research research built-in
|
|
124
|
+
testing off workspace (.workflow/skills.toml)
|
|
125
|
+
tools tools built-in
|
|
126
|
+
diagrams mermaid-only global (~/.workflow/skills.toml)
|
|
127
|
+
overview workflow built-in
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Adding a new role
|
|
133
|
+
|
|
134
|
+
1. Define the role in this README (name, default built-in, tier, composed by).
|
|
135
|
+
2. Author the built-in skill under `roles/<name>/SKILL.md` following the schema.
|
|
136
|
+
3. Register it in the CLI resolver so `aw skills` lists it.
|
|
137
|
+
4. Document the binding key in the `skills.toml` reference above.
|
|
138
|
+
|
|
139
|
+
## Authoring a built-in skill
|
|
140
|
+
|
|
141
|
+
Each `SKILL.md` follows this schema:
|
|
142
|
+
|
|
143
|
+
| Section | Content |
|
|
144
|
+
|---|---|
|
|
145
|
+
| Frontmatter `name:` | kebab-case; MUST equal the binding name (`research`, `testing`, etc.) |
|
|
146
|
+
| Frontmatter `description:` | rich description: what + when; drives automatic selection |
|
|
147
|
+
| `## Role` | which capability role this implements (its skills.toml slot) |
|
|
148
|
+
| `## Purpose` | what it does |
|
|
149
|
+
| `## Composed by` | which loops/exports use it and when |
|
|
150
|
+
| `## Knowledge` | reusable know-how: vocabulary, rules, schema, examples |
|
|
151
|
+
| `## Output` | what it produces and where (if any) |
|
|
152
|
+
| `## Source` | recycled from (if applicable) |
|
|
153
|
+
|
|
154
|
+
See [`research/SKILL.md`](research/SKILL.md) as a reference implementation.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: coding-standards
|
|
3
|
+
description: >-
|
|
4
|
+
Coding standards capability — built-in default for the `coding-standards` role.
|
|
5
|
+
Stack-agnostic principles (SOLID, fail-fast, descriptive names, small methods,
|
|
6
|
+
reuse over duplication) plus per-stack conventions (Java/Spring, Angular/TypeScript,
|
|
7
|
+
Node), security (no secrets in code or logs, parametrized SQL, DB read-only via MCP),
|
|
8
|
+
HTTP error handling (never silence errors), logging levels, and FE-BE integration
|
|
9
|
+
rules (unified sparse DTO, PATCH for edit, no hidden fallbacks). Use when a loop
|
|
10
|
+
implements, reviews or refactors code.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# coding-standards — Coding standards capability
|
|
14
|
+
|
|
15
|
+
## Role
|
|
16
|
+
|
|
17
|
+
`coding-standards` — built-in default. Rebindable in `.workflow/skills.toml` (third-party skill or `off`).
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Aportar los estándares de código que la IA aplica al **implementar, revisar o refactorizar**. Read-only por diseño: carga reglas, no edita ni ejecuta nada por sí misma — el loop consumidor materializa el código.
|
|
22
|
+
|
|
23
|
+
## Composed by
|
|
24
|
+
|
|
25
|
+
- **`plan-exec-loop`** — al implementar/refactorizar las tasks del plan.
|
|
26
|
+
- **`quick-loop`** — al implementar el atajo liviano.
|
|
27
|
+
|
|
28
|
+
## Knowledge
|
|
29
|
+
|
|
30
|
+
### Principios generales
|
|
31
|
+
|
|
32
|
+
- **SOLID** — Single Responsibility, Open/Closed, Liskov, Interface Segregation, Dependency Inversion.
|
|
33
|
+
- **Fail fast** — validar y retornar al inicio del método (early returns, evitar nesting).
|
|
34
|
+
- **Nombres descriptivos** — el código habla por sí mismo; comentarios solo para el "por qué".
|
|
35
|
+
- **Métodos pequeños** — una sola responsabilidad por función.
|
|
36
|
+
- **Composición sobre herencia**.
|
|
37
|
+
- **Reutilización antes que duplicación (DRY)** — antes de crear componente/función/clase, revisar si ya existe en `shared/` (frontend) o `common/`/`util/` (backend). Si un patrón aparece 2-3 veces, proponer extracción.
|
|
38
|
+
|
|
39
|
+
### Estándares por stack
|
|
40
|
+
|
|
41
|
+
- **Java / Spring Boot**: Constructor Injection (sin Field Injection), `@Transactional(readOnly=true)` para lecturas, Java records para DTOs Request/Response, Jakarta Validation para inputs.
|
|
42
|
+
- **Angular / TypeScript**: constructor injection, `async` pipe en templates, evitar `any`, FormBuilder reactivo sobre `ngModel` directo, arquitectura `@data`/`@presentation`, normalización de tipos.
|
|
43
|
+
- **Node / otros**: mismos principios generales; aplicar las convenciones idiomáticas del proyecto detectado.
|
|
44
|
+
|
|
45
|
+
### Integración FE-BE (cuando el cambio cruza frontend y backend)
|
|
46
|
+
|
|
47
|
+
- **R1 — Sparse DTO unificado**: mismo DTO `<Feature>SaveRequest` para create + edit, todos los campos nullable. `null` = "no tocar".
|
|
48
|
+
- **R2 — PATCH para edit**: `@PatchMapping` en BE, `http.patch()` en FE. POST solo para create. PUT solo si replace total justificado.
|
|
49
|
+
- **R3 — FE envía solo cambios**: payload diff entre `formValue` y entidad original.
|
|
50
|
+
- **R4 — Sin fallbacks que oculten errores**: prohibido `catchError(() => of([]))` en FE; prohibido try/catch con fallback al método legacy en BE durante migraciones. Usar feature flags explícitas para rollout gradual.
|
|
51
|
+
- **R5 — Validación BE con Bean Validation + groups**: `@NotNull(groups = OnCreate.class)` para distinguir reglas POST vs PATCH cuando comparten DTO.
|
|
52
|
+
- **R6 — DB stub-first**: funciones/SP nuevas arrancan devolviendo mock (`RETURN '[]'::jsonb`); implementación real en una fase posterior.
|
|
53
|
+
|
|
54
|
+
### Seguridad
|
|
55
|
+
|
|
56
|
+
- **Nunca** exponer secrets, API keys ni credenciales en código.
|
|
57
|
+
- **Nunca** logear datos sensibles (contraseñas, tokens, datos personales).
|
|
58
|
+
- **Siempre** parametrizar queries SQL (nunca concatenar strings).
|
|
59
|
+
- **BD vía MCP es READONLY**. Modificaciones a BD solo como scripts SQL versionados (ver rol `sql`); las aplica el **usuario**, nunca la IA — ni por MCP, ni `Bash`, ni `psql`, ni driver. (Invariante 4.)
|
|
60
|
+
|
|
61
|
+
### Manejo de errores HTTP
|
|
62
|
+
|
|
63
|
+
- **Nunca** silenciar errores HTTP con `catchError(() => of([]))` ni equivalentes. Los errores del backend se propagan al usuario (toast/mensaje) para detectar regresiones en guardado/sincronización/creación. Para reintentos usar operadores explícitos (`retry`, `retryWhen`), no silenciar.
|
|
64
|
+
|
|
65
|
+
### Logging
|
|
66
|
+
|
|
67
|
+
- `ERROR` — fallos que requieren atención inmediata.
|
|
68
|
+
- `WARN` — situaciones inesperadas pero manejadas.
|
|
69
|
+
- `INFO` — eventos de negocio relevantes (inicio/fin de procesos).
|
|
70
|
+
- `DEBUG` — detalle técnico para diagnóstico.
|
|
71
|
+
|
|
72
|
+
### Convenciones de BD (nomenclatura)
|
|
73
|
+
|
|
74
|
+
Esquemas `esq_`, tablas `tb_`, sequences `seq_`, funciones `fn_`/procedimientos `sp_`, patrón maestra-detalle, auditoría en `esq_audit`. Para autoría de scripts SQL (estilo, header, categorías, rollback) usar el rol **`sql`**.
|
|
75
|
+
|
|
76
|
+
## Output
|
|
77
|
+
|
|
78
|
+
Ninguno propio. La skill aporta reglas; el código lo escribe el loop. Cuando el cambio toca BD, delega la autoría de scripts al rol `sql`. Nunca exporta a `docs/` (invariante 1).
|
|
79
|
+
|
|
80
|
+
## Source
|
|
81
|
+
|
|
82
|
+
Reciclada de `standards/coding-standards/` (SKILL.md + references Java/Spring, Angular/TypeScript, fe-be-integration, database-conventions, frontend-structure, project-structure). Los principios UX de mantenimientos CRUD (formularios, listados, modales) viven en el rol `ui-spec`/`ui-design`; la autoría de scripts SQL en el rol `sql`. Se descarta la dependencia de `profile.json` y de comandos CLI de la doctrina vieja.
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: diagrams
|
|
3
|
+
description: >
|
|
4
|
+
Autoría de diagramas de arquitectura y sistema: C4 (Context, Container, Component),
|
|
5
|
+
PlantUML y Structurizr DSL. Compuesta por export-diagrams para producir el contenido
|
|
6
|
+
de docs/diagrams/. Selecciona el motor de render según el flag --diagrams del export
|
|
7
|
+
(Structurizr default, Mermaid y PlantUML opt-in). Incluye link mermaid.ink por cada
|
|
8
|
+
bloque Mermaid para preview sin renderer local.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# diagrams — Diagram authoring capability
|
|
12
|
+
|
|
13
|
+
## Role
|
|
14
|
+
|
|
15
|
+
`diagrams` — implementación built-in por defecto. Rebindeable a otra skill (de tercero o `off`) en `.workflow/skills.toml`.
|
|
16
|
+
|
|
17
|
+
## Purpose
|
|
18
|
+
|
|
19
|
+
Autorar diagramas de arquitectura con notación C4 (Levels 1-3) usando el motor que el export configure. Produce source renderizable (DSL, PUML, Mermaid) — **no renderiza visualmente**; el render lo hace el lector con sus herramientas. Cubre el estándar C4 formal (Structurizr DSL), el opt-in embebido (Mermaid nativo) y el opt-in exportable (PlantUML).
|
|
20
|
+
|
|
21
|
+
## Composed by
|
|
22
|
+
|
|
23
|
+
| Export | Cuándo la compone |
|
|
24
|
+
|---|---|
|
|
25
|
+
| `export-diagrams` | para generar el contenido de `docs/diagrams/NNN-*/` |
|
|
26
|
+
|
|
27
|
+
Cualquier loop puede componerla también si necesita producir un diagrama inline durante ejecución (raro; el caso primario es `export-diagrams`).
|
|
28
|
+
|
|
29
|
+
## Knowledge
|
|
30
|
+
|
|
31
|
+
### Engine matrix
|
|
32
|
+
|
|
33
|
+
| `--diagrams` flag | Motor | Archivos producidos | Cuándo elegirlo |
|
|
34
|
+
|---|---|---|---|
|
|
35
|
+
| `structurizr` (default) | Structurizr DSL | `workspace.dsl` + Mermaid auxiliar embebido en `.md` | Dossier técnico formal; soporte de tooling externo (structurizr.com, structurizr-lite) |
|
|
36
|
+
| `mermaid` | Mermaid C4 nativo | solo `.md` con bloques Mermaid | Preferir render embebido sin DSL separado; GitHub/GitLab lo renderizan inline |
|
|
37
|
+
| `plantuml` | PlantUML C4-stdlib | `arquitectura.puml` + nota en `.md` | Equipos con pipeline PlantUML instalado |
|
|
38
|
+
|
|
39
|
+
**Regla canónica**: `export-diagrams` usa Structurizr DSL por defecto (C4 formal, separa modelo de vistas). Mermaid es opt-in cuando se prefiere render embebido.
|
|
40
|
+
|
|
41
|
+
### C4 model — levels
|
|
42
|
+
|
|
43
|
+
#### Level 1: Context (C4Context)
|
|
44
|
+
|
|
45
|
+
El sistema como caja única + actores + sistemas vecinos. Perspectiva de negocio.
|
|
46
|
+
|
|
47
|
+
```mermaid
|
|
48
|
+
C4Context
|
|
49
|
+
title Diagrama de Contexto: <PRODUCTO>
|
|
50
|
+
Person(dev, "Developer", "Miembro del equipo")
|
|
51
|
+
System(sistema, "<PRODUCTO>", "<descripcion corta>")
|
|
52
|
+
System_Ext(extA, "<Sistema A>", "<rol>")
|
|
53
|
+
Rel(dev, sistema, "Usa")
|
|
54
|
+
Rel(sistema, extA, "<integracion>")
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
#### Level 2: Container (C4Container)
|
|
58
|
+
|
|
59
|
+
Aplicaciones, servicios, data stores que componen el sistema. Una fuente declarada en `WORKSPACE` = un contenedor.
|
|
60
|
+
|
|
61
|
+
```mermaid
|
|
62
|
+
C4Container
|
|
63
|
+
title Diagrama de Contenedores: <PRODUCTO>
|
|
64
|
+
Person(dev, "Developer")
|
|
65
|
+
System_Boundary(sistema, "<PRODUCTO>") {
|
|
66
|
+
Container(svcA, "<Servicio A>", "<tech>", "<responsabilidad>")
|
|
67
|
+
Container(svcB, "<Servicio B>", "<tech>", "<responsabilidad>")
|
|
68
|
+
ContainerDb(db, "Base de datos", "<motor>", "<uso>")
|
|
69
|
+
}
|
|
70
|
+
System_Ext(extA, "<Sistema A>")
|
|
71
|
+
Rel(dev, svcA, "Usa")
|
|
72
|
+
Rel(svcA, db, "Lee/escribe")
|
|
73
|
+
Rel(svcA, extA, "<protocolo>")
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
#### Level 3: Component (C4Component)
|
|
77
|
+
|
|
78
|
+
Módulos internos relevantes de un contenedor. Solo para contenedores con complejidad interna suficiente. Un diagrama por contenedor; el resto se omite.
|
|
79
|
+
|
|
80
|
+
```mermaid
|
|
81
|
+
C4Component
|
|
82
|
+
title Componentes: <Contenedor>
|
|
83
|
+
Container_Boundary(cont, "<Contenedor>") {
|
|
84
|
+
Component(compA, "<Componente A>", "<tech>", "<responsabilidad>")
|
|
85
|
+
Component(compB, "<Componente B>", "<tech>", "<responsabilidad>")
|
|
86
|
+
}
|
|
87
|
+
Rel(compA, compB, "<interaccion>")
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Si ningún contenedor justifica C4 Component → omitir la sección con nota inline `_(Sin contenedores con complejidad interna suficiente para C4 Component.)_`.
|
|
91
|
+
|
|
92
|
+
### Structurizr DSL template
|
|
93
|
+
|
|
94
|
+
```dsl
|
|
95
|
+
workspace "<PRODUCTO>" "<descripcion>" {
|
|
96
|
+
|
|
97
|
+
model {
|
|
98
|
+
// Personas
|
|
99
|
+
dev = person "Developer" "Miembro del equipo"
|
|
100
|
+
|
|
101
|
+
// Sistema bajo análisis
|
|
102
|
+
sistema = softwareSystem "<PRODUCTO>" "<descripcion>" {
|
|
103
|
+
svcA = container "<Servicio A>" "<tech>" "<responsabilidad>"
|
|
104
|
+
svcB = container "<Servicio B>" "<tech>" "<responsabilidad>"
|
|
105
|
+
db = container "Base de datos" "<motor>" "<uso>" "Database"
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Sistemas externos
|
|
109
|
+
extA = softwareSystem "<Sistema A>" "<rol>" "External"
|
|
110
|
+
|
|
111
|
+
// Relaciones
|
|
112
|
+
dev -> sistema "Usa"
|
|
113
|
+
svcA -> db "Lee/escribe"
|
|
114
|
+
svcA -> extA "<protocolo>"
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
views {
|
|
118
|
+
systemContext sistema "Context" {
|
|
119
|
+
include *
|
|
120
|
+
autoLayout
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
container sistema "Container" {
|
|
124
|
+
include *
|
|
125
|
+
autoLayout
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// Una vista por contenedor con C4 Component relevante:
|
|
129
|
+
component svcA "SvcA-Components" {
|
|
130
|
+
include *
|
|
131
|
+
autoLayout
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
theme default
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Render online gratuito: [structurizr.com/dsl](https://structurizr.com/dsl) o structurizr-lite (Docker).
|
|
140
|
+
|
|
141
|
+
### PlantUML C4-stdlib template
|
|
142
|
+
|
|
143
|
+
```plantuml
|
|
144
|
+
@startuml arquitectura
|
|
145
|
+
|
|
146
|
+
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
|
|
147
|
+
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
|
|
148
|
+
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Component.puml
|
|
149
|
+
|
|
150
|
+
title <PRODUCTO> — Diagrama de Contexto C4
|
|
151
|
+
|
|
152
|
+
Person(dev, "Developer", "Miembro del equipo")
|
|
153
|
+
System(sistema, "<PRODUCTO>", "<descripcion>")
|
|
154
|
+
System_Ext(extA, "<Sistema A>", "<rol>")
|
|
155
|
+
|
|
156
|
+
Rel(dev, sistema, "Usa")
|
|
157
|
+
Rel(sistema, extA, "<protocolo>")
|
|
158
|
+
|
|
159
|
+
SHOW_LEGEND()
|
|
160
|
+
@enduml
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Render: [plantuml.com](https://plantuml.com) o `plantuml.jar` local.
|
|
164
|
+
|
|
165
|
+
### Mermaid auxiliar (bajo Structurizr default)
|
|
166
|
+
|
|
167
|
+
Cuando `--diagrams structurizr`, el archivo `.md` incluye también un bloque Mermaid derivado del DSL como **fallback offline** (lectores sin acceso a structurizr.com/dsl pueden leerlo directamente):
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
```mermaid
|
|
171
|
+
C4Context
|
|
172
|
+
title ...
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
> Ver diagrama renderizado: <https://mermaid.ink/img/BASE64>
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
El `BASE64` es el código Mermaid plano codificado en base64 URL-safe (RFC 4648 §5; alfabeto `A-Z a-z 0-9 - _`). **Cada bloque Mermaid lleva su propio link** inmediatamente después del fence de cierre.
|
|
179
|
+
|
|
180
|
+
### Sequence diagrams (opt-in)
|
|
181
|
+
|
|
182
|
+
Para flujos críticos de integración (no C4 estructural), un `sequenceDiagram` Mermaid complementa el C4 Container:
|
|
183
|
+
|
|
184
|
+
```mermaid
|
|
185
|
+
sequenceDiagram
|
|
186
|
+
participant Dev
|
|
187
|
+
participant SvcA
|
|
188
|
+
participant DB
|
|
189
|
+
Dev->>SvcA: POST /resource
|
|
190
|
+
SvcA->>DB: INSERT
|
|
191
|
+
DB-->>SvcA: OK
|
|
192
|
+
SvcA-->>Dev: 201 Created
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Solo si aporta claridad real — no agregar sequence diagrams por defecto.
|
|
196
|
+
|
|
197
|
+
### Entity-Relationship (modelo de datos)
|
|
198
|
+
|
|
199
|
+
Cuando `export-diagrams` incluye `--scope datos` y hay MCP configurado:
|
|
200
|
+
|
|
201
|
+
```mermaid
|
|
202
|
+
erDiagram
|
|
203
|
+
TABLA_A ||--o{ TABLA_B : "tiene"
|
|
204
|
+
TABLA_A {
|
|
205
|
+
int id PK
|
|
206
|
+
string nombre
|
|
207
|
+
}
|
|
208
|
+
TABLA_B {
|
|
209
|
+
int id PK
|
|
210
|
+
int a_id FK
|
|
211
|
+
string detalle
|
|
212
|
+
}
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
MCP read-only: `\d <tabla>` + `SELECT count(*)` para magnitud (aplicar cost guard: ver skill `research` o `sql`).
|
|
216
|
+
|
|
217
|
+
### Output file structure
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
docs/diagrams/NNN-export-diagrams-YYYY-MM-DD/
|
|
221
|
+
├── README.md # indice + how-to-read + motores usados
|
|
222
|
+
├── arquitectura.md # documento principal con C4 + Mermaid auxiliar
|
|
223
|
+
├── workspace.dsl # solo con --diagrams structurizr (default)
|
|
224
|
+
└── arquitectura.puml # solo con --diagrams plantuml
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Render rules
|
|
228
|
+
|
|
229
|
+
1. Sin cota de palabras — completitud > concisión para documentación técnica.
|
|
230
|
+
2. Diagrama principal (al menos C4Context + C4Container) es obligatorio; sin ellos el output no es válido.
|
|
231
|
+
3. C4Component solo si el contenedor lo justifica.
|
|
232
|
+
4. Sequence y erDiagram son opcionales; solo si aportan claridad real.
|
|
233
|
+
5. Cada bloque `mermaid` lleva el link `mermaid.ink` como blockquote inline.
|
|
234
|
+
6. Placeholders `{{PLACEHOLDER}}` siempre reemplazados — nunca dejar marcadores sin rellenar.
|
|
235
|
+
|
|
236
|
+
## Output
|
|
237
|
+
|
|
238
|
+
Produce en `docs/diagrams/NNN-export-diagrams-YYYY-MM-DD/`:
|
|
239
|
+
- `README.md`
|
|
240
|
+
- `arquitectura.md` (siempre)
|
|
241
|
+
- `workspace.dsl` (si `--diagrams structurizr`)
|
|
242
|
+
- `arquitectura.puml` (si `--diagrams plantuml`)
|
|
243
|
+
|
|
244
|
+
Escribe solo `docs/diagrams/` (invariant #1 y #2: solo `export-*` gradua a `docs/`; esta skill la compone `export-diagrams`).
|
|
245
|
+
|
|
246
|
+
## Source
|
|
247
|
+
|
|
248
|
+
Reciclado de `agent-workflow/exports/export-arq/` del bundle viejo (v1.3.0). Se conserva: el modelo C4 Levels 1-3, los tres motores (Structurizr default, Mermaid opt-in, PlantUML opt-in), las plantillas DSL y PUML, la regla de link `mermaid.ink` por bloque Mermaid, la estructura de output, el cost guard para MCP. Se descarta: la lógica de lectura de AW-PROJECT legacy, los comandos CLI `agent-workflow next-number`/`history-data`/etc. (son detalles de implementación del CLI, no de la skill), y el scope `--diagrams` como input flag (lo recibe el export que compone esta skill).
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: git
|
|
3
|
+
description: >-
|
|
4
|
+
Git-safe capability — built-in default for the `git` role. Verifies the expected
|
|
5
|
+
work branch per source before editing, proposes commits (one per source) and only
|
|
6
|
+
commits when the user approves, and NEVER runs push, --amend, --no-verify, force,
|
|
7
|
+
merge/rebase/cherry-pick, tags, or destructive resets without explicit user request.
|
|
8
|
+
Read-only git (status/log/diff/branch) is always allowed. Use when a loop is about
|
|
9
|
+
to edit code or when the user asks to commit / save / push changes.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# git — git-safe capability
|
|
13
|
+
|
|
14
|
+
## Role
|
|
15
|
+
|
|
16
|
+
`git` — built-in default. Rebindable in `.workflow/skills.toml` (third-party skill or `off`). This skill encodes invariant 5: **git seguro**.
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
|
|
20
|
+
Operar git de forma **segura y controlada**: verificar la rama esperada antes de editar, **proponer** commits por fuente, y nunca ejecutar operaciones destructivas o de publicación sin pedido explícito del usuario.
|
|
21
|
+
|
|
22
|
+
## Composed by
|
|
23
|
+
|
|
24
|
+
- **`plan-exec-loop`** — verifica rama antes de cada edit; propone commits al cerrar/checkpoint.
|
|
25
|
+
- **`quick-loop`** — igual, en el atajo liviano.
|
|
26
|
+
|
|
27
|
+
(Cualquier flujo que edite código o que el usuario quiera commitear lo usa.)
|
|
28
|
+
|
|
29
|
+
## Knowledge
|
|
30
|
+
|
|
31
|
+
### Operaciones prohibidas sin solicitud explícita del usuario
|
|
32
|
+
|
|
33
|
+
Lista cerrada. La IA **nunca** las ejecuta por iniciativa propia:
|
|
34
|
+
|
|
35
|
+
- `git commit` (incluye `--amend`)
|
|
36
|
+
- `git push` (incluye `--force` / `-f`)
|
|
37
|
+
- `git merge` · `git rebase` · `git cherry-pick`
|
|
38
|
+
- `git tag` (crear o editar)
|
|
39
|
+
- `git reset --hard` · `git restore .` · `git checkout -- .` · `git clean -fd` · `git stash` (cuando hay trabajo sin commit)
|
|
40
|
+
|
|
41
|
+
Y **siempre** prohibido, aún cuando el usuario pida commit: `--no-verify` (respetar los hooks pre-commit), `--force`, trailers `Co-Authored-By`, firmas de modelo.
|
|
42
|
+
|
|
43
|
+
### Operaciones read-only (siempre permitidas, sin preguntar)
|
|
44
|
+
|
|
45
|
+
`status` · `log` · `diff` · `branch --show-current` · `rev-parse` · `show`. `git checkout` (cambio de rama) **no** es read-only: requiere `AskUserQuestion` aunque no sea destructivo (ver verificación de rama).
|
|
46
|
+
|
|
47
|
+
### Verificación de rama (antes de editar)
|
|
48
|
+
|
|
49
|
+
La rama esperada **nunca se asume desde la rama actual** — el usuario pudo cambiarla a mano. Verificar contra la rama de trabajo declarada por fuente antes de cualquier `Write/Edit`.
|
|
50
|
+
|
|
51
|
+
Campos por fuente: `alias`, `path`, `main_branch` (base, default `certificacion`), `expected_work_branch`, `current_branch`, `match` (`current == expected`), `dirty` (cambios sin commit).
|
|
52
|
+
|
|
53
|
+
Casos:
|
|
54
|
+
|
|
55
|
+
- **`match=true`** → OK, editar.
|
|
56
|
+
- **`match=false, dirty=false`** (Caso A — rama distinta, repo limpio) → `AskUserQuestion`: hacer `git checkout <expected>` / mantener current y actualizar la expectativa de la sesión / cancelar.
|
|
57
|
+
- **`match=false, dirty=true`** (Caso B — rama distinta + cambios sin commit) → **pausar y esperar resolución manual**. No proponer checkout (podría perder trabajo). Pedir al usuario commit/stash/discard y avisar cuando continuar.
|
|
58
|
+
- **Cross-fuente (hub)**: si las fuentes tocadas apuntan a ramas distintas sin declararlo, **hard gate** — bloquear avance con `AskUserQuestion` (alinear todas / declarar divergencia explícita / cancelar).
|
|
59
|
+
- **HEAD detached** → tratar como Caso A.
|
|
60
|
+
- **Fuente fuera de git** (`is_repo=false`) → informar, no bloquear.
|
|
61
|
+
|
|
62
|
+
### Commits — propose-then-execute, una fuente a la vez
|
|
63
|
+
|
|
64
|
+
Ante cualquier pedido o disparo de commit (cierre de loop, "commitea esto", "guardá los cambios"):
|
|
65
|
+
|
|
66
|
+
1. Resolver las fuentes y su estado dirty/rama.
|
|
67
|
+
2. Si hay 1+ fuentes `dirty=true`, invocar **una sola** `AskUserQuestion` con un tab por fuente dirty (máx 4 simultáneas; si N>4, en tandas):
|
|
68
|
+
- Header del tab: el `alias` de la fuente.
|
|
69
|
+
- Opciones: "Aprobar sugerido (Recomendado)" con el mensaje canónico / "Saltar esta fuente". `Other` = mensaje custom.
|
|
70
|
+
3. Ejecutar `git -C <path> commit -m "<msg>"` solo en las fuentes aprobadas, **una a una**. Respetar hooks (sin `--no-verify`).
|
|
71
|
+
4. Si una fuente tiene `match=false` (rama distinta a la esperada): **omitirla y abortar su commit**; avisar para alinear la rama primero.
|
|
72
|
+
5. Si todas están `dirty=false` → skip silencioso, informar en chat que no hay nada que commitear.
|
|
73
|
+
|
|
74
|
+
**Bypass** (Regla 5): si el usuario aporta el mensaje literal exacto (`-m "..."`, comillas), commitear directo sin `AskUserQuestion`, pero seguir validando rama, hooks y formato. Si el literal viola el formato, avisar antes de ejecutar.
|
|
75
|
+
|
|
76
|
+
### Formato canónico del mensaje
|
|
77
|
+
|
|
78
|
+
- **Una sola línea**, corta (≤72 chars sugerido), descriptiva (qué cambia, no cómo).
|
|
79
|
+
- Incluir el código de sesión activa (`session<NNN>` como tag o en el prefijo) cuando aplique.
|
|
80
|
+
- Prefijo Conventional Commits **opcional** (`feat:` `fix:` `docs:` `chore:` `refactor:` `test:`).
|
|
81
|
+
- **Prohibido**: multi-línea/body, trailers `Co-Authored-By`, firmas de modelo, emojis (salvo pedido explícito), `--no-verify`.
|
|
82
|
+
|
|
83
|
+
Válidos:
|
|
84
|
+
```
|
|
85
|
+
session007: agrega politica de commits controlados
|
|
86
|
+
feat(session012): nuevo export-scripts
|
|
87
|
+
fix(session018): corrige drift en hooks.json
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Fuera de sesión activa: relajar a "1 línea + sin co-author"; el tag `session<NNN>` se omite. El propose-then-execute sigue activo.
|
|
91
|
+
|
|
92
|
+
## Output
|
|
93
|
+
|
|
94
|
+
Ninguno en `docs/`. Produce commits **solo** cuando el usuario aprueba, en los repos fuente. La verificación de rama puede actualizar la expectativa de rama de la sesión si el usuario lo elige.
|
|
95
|
+
|
|
96
|
+
## Source
|
|
97
|
+
|
|
98
|
+
Reciclada de la doctrina vieja: `doctrine/session/references/commits-policy.md` (Reglas 1-5: propose-then-execute, formato canónico, bypass) + `doctrine/session/references/branch-verification.md` (Casos A/B/C, cross-fuente hard gate). Se descarta la dependencia de comandos CLI específicos (`agent-workflow sources`): la verificación se hace con git read-only directo más la rama de trabajo declarada por la sesión.
|