@codyswann/lisa 1.56.0 → 1.56.2
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/.claude-plugin/marketplace.json +11 -5
- package/all/merge/.claude/settings.json +7 -0
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +148 -0
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +3 -159
- package/plugins/lisa-expo/.claude-plugin/plugin.json +2 -146
- package/plugins/lisa-expo/commands/jira/add-journey.md +1 -1
- package/plugins/lisa-expo/commands/jira/create.md +1 -1
- package/plugins/lisa-expo/commands/jira/evidence.md +1 -1
- package/plugins/lisa-expo/commands/jira/journey.md +1 -1
- package/plugins/lisa-expo/commands/jira/verify.md +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +3 -159
- package/plugins/lisa-rails/.claude-plugin/plugin.json +2 -120
- package/plugins/lisa-rails/commands/jira/add-journey.md +1 -1
- package/plugins/lisa-rails/commands/jira/create.md +1 -1
- package/plugins/lisa-rails/commands/jira/evidence.md +1 -1
- package/plugins/lisa-rails/commands/jira/journey.md +1 -1
- package/plugins/lisa-rails/commands/jira/verify.md +1 -1
- package/plugins/lisa-rails/commands/plan/add-test-coverage.md +1 -1
- package/plugins/lisa-rails/commands/plan/fix-linter-error.md +1 -1
- package/plugins/lisa-rails/commands/plan/lower-code-complexity.md +1 -1
- package/plugins/lisa-rails/commands/plan/reduce-max-lines-per-function.md +1 -1
- package/plugins/lisa-rails/commands/plan/reduce-max-lines.md +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +2 -127
- package/plugins/src/base/.claude-plugin/plugin.json +78 -0
- package/plugins/src/cdk/.claude-plugin/plugin.json +2 -81
- package/plugins/src/expo/.claude-plugin/plugin.json +1 -68
- package/plugins/{lisa-typescript → src/expo}/commands/jira/add-journey.md +1 -1
- package/plugins/{lisa-nestjs → src/expo}/commands/jira/create.md +1 -1
- package/plugins/{lisa-nestjs → src/expo}/commands/jira/evidence.md +1 -1
- package/plugins/{lisa-nestjs → src/expo}/commands/jira/journey.md +1 -1
- package/plugins/{lisa-nestjs → src/expo}/commands/jira/verify.md +1 -1
- package/plugins/src/nestjs/.claude-plugin/plugin.json +2 -81
- package/plugins/src/rails/.claude-plugin/plugin.json +1 -59
- package/plugins/{lisa-nestjs → src/rails}/commands/jira/add-journey.md +1 -1
- package/plugins/{lisa-typescript → src/rails}/commands/jira/create.md +1 -1
- package/plugins/{lisa-typescript → src/rails}/commands/jira/evidence.md +1 -1
- package/plugins/{lisa-typescript → src/rails}/commands/jira/journey.md +1 -1
- package/plugins/{lisa-typescript → src/rails}/commands/jira/verify.md +1 -1
- package/plugins/{lisa-expo → src/rails}/commands/plan/add-test-coverage.md +1 -1
- package/plugins/{lisa-expo → src/rails}/commands/plan/fix-linter-error.md +1 -1
- package/plugins/{lisa-expo → src/rails}/commands/plan/lower-code-complexity.md +1 -1
- package/plugins/{lisa-expo → src/rails}/commands/plan/reduce-max-lines-per-function.md +1 -1
- package/plugins/{lisa-expo → src/rails}/commands/plan/reduce-max-lines.md +1 -1
- package/plugins/src/typescript/.claude-plugin/plugin.json +1 -58
- package/scripts/build-plugins.sh +30 -17
- package/scripts/install-claude-plugins.sh +28 -11
- package/typescript/merge/.claude/settings.json +2 -2
- package/typescript/package-lisa/package.lisa.json +2 -1
- package/plugins/lisa-expo/agents/agent-architect.md +0 -310
- package/plugins/lisa-expo/agents/architecture-specialist.md +0 -53
- package/plugins/lisa-expo/agents/debug-specialist.md +0 -204
- package/plugins/lisa-expo/agents/git-history-analyzer.md +0 -183
- package/plugins/lisa-expo/agents/hooks-expert.md +0 -74
- package/plugins/lisa-expo/agents/implementer.md +0 -54
- package/plugins/lisa-expo/agents/learner.md +0 -44
- package/plugins/lisa-expo/agents/performance-specialist.md +0 -95
- package/plugins/lisa-expo/agents/product-specialist.md +0 -72
- package/plugins/lisa-expo/agents/quality-specialist.md +0 -55
- package/plugins/lisa-expo/agents/security-specialist.md +0 -58
- package/plugins/lisa-expo/agents/skill-evaluator.md +0 -246
- package/plugins/lisa-expo/agents/slash-command-architect.md +0 -87
- package/plugins/lisa-expo/agents/test-specialist.md +0 -64
- package/plugins/lisa-expo/agents/verification-specialist.md +0 -189
- package/plugins/lisa-expo/agents/web-search-researcher.md +0 -112
- package/plugins/lisa-expo/commands/git/commit-and-submit-pr.md +0 -7
- package/plugins/lisa-expo/commands/git/commit-submit-pr-and-verify.md +0 -7
- package/plugins/lisa-expo/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
- package/plugins/lisa-expo/commands/git/commit.md +0 -7
- package/plugins/lisa-expo/commands/git/prune.md +0 -6
- package/plugins/lisa-expo/commands/git/submit-pr.md +0 -7
- package/plugins/lisa-expo/commands/jira/fix.md +0 -7
- package/plugins/lisa-expo/commands/jira/implement.md +0 -7
- package/plugins/lisa-expo/commands/jira/sync.md +0 -7
- package/plugins/lisa-expo/commands/plan/create.md +0 -6
- package/plugins/lisa-expo/commands/plan/execute.md +0 -7
- package/plugins/lisa-expo/commands/plan/local-code-review.md +0 -6
- package/plugins/lisa-expo/commands/pull-request/review.md +0 -7
- package/plugins/lisa-expo/commands/review/implementation.md +0 -7
- package/plugins/lisa-expo/commands/security/zap-scan.md +0 -6
- package/plugins/lisa-expo/commands/sonarqube/check.md +0 -6
- package/plugins/lisa-expo/commands/sonarqube/fix.md +0 -6
- package/plugins/lisa-expo/commands/tasks/load.md +0 -7
- package/plugins/lisa-expo/commands/tasks/sync.md +0 -7
- package/plugins/lisa-expo/hooks/debug-hook.sh +0 -47
- package/plugins/lisa-expo/hooks/enforce-plan-rules.sh +0 -15
- package/plugins/lisa-expo/hooks/format-on-edit.sh +0 -76
- package/plugins/lisa-expo/hooks/install-pkgs.sh +0 -64
- package/plugins/lisa-expo/hooks/lint-on-edit.sh +0 -81
- package/plugins/lisa-expo/hooks/notify-ntfy.sh +0 -183
- package/plugins/lisa-expo/hooks/setup-jira-cli.sh +0 -52
- package/plugins/lisa-expo/hooks/sg-scan-on-edit.sh +0 -68
- package/plugins/lisa-expo/hooks/sync-tasks.sh +0 -107
- package/plugins/lisa-expo/hooks/ticket-sync-reminder.sh +0 -23
- package/plugins/lisa-expo/hooks/track-plan-sessions.sh +0 -164
- package/plugins/lisa-expo/hooks/verify-completion.sh +0 -77
- package/plugins/lisa-expo/rules/README.md +0 -240
- package/plugins/lisa-expo/rules/coding-philosophy.md +0 -428
- package/plugins/lisa-expo/rules/lisa.md +0 -37
- package/plugins/lisa-expo/rules/verfication.md +0 -596
- package/plugins/lisa-expo/skills/agent-design-best-practices/SKILL.md +0 -219
- package/plugins/lisa-expo/skills/git-commit/SKILL.md +0 -48
- package/plugins/lisa-expo/skills/git-commit-and-submit-pr/SKILL.md +0 -8
- package/plugins/lisa-expo/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
- package/plugins/lisa-expo/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
- package/plugins/lisa-expo/skills/git-prune/SKILL.md +0 -35
- package/plugins/lisa-expo/skills/git-submit-pr/SKILL.md +0 -44
- package/plugins/lisa-expo/skills/jira-fix/SKILL.md +0 -16
- package/plugins/lisa-expo/skills/jira-implement/SKILL.md +0 -18
- package/plugins/lisa-expo/skills/jira-sync/SKILL.md +0 -63
- package/plugins/lisa-expo/skills/jsdoc-best-practices/SKILL.md +0 -432
- package/plugins/lisa-expo/skills/lisa-review-implementation/SKILL.md +0 -209
- package/plugins/lisa-expo/skills/plan-add-test-coverage/SKILL.md +0 -44
- package/plugins/lisa-expo/skills/plan-execute/SKILL.md +0 -89
- package/plugins/lisa-expo/skills/plan-fix-linter-error/SKILL.md +0 -45
- package/plugins/lisa-expo/skills/plan-local-code-review/SKILL.md +0 -88
- package/plugins/lisa-expo/skills/plan-lower-code-complexity/SKILL.md +0 -44
- package/plugins/lisa-expo/skills/plan-reduce-max-lines/SKILL.md +0 -45
- package/plugins/lisa-expo/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
- package/plugins/lisa-expo/skills/pull-request-review/SKILL.md +0 -68
- package/plugins/lisa-expo/skills/security-zap-scan/SKILL.md +0 -33
- package/plugins/lisa-expo/skills/sonarqube-check/SKILL.md +0 -11
- package/plugins/lisa-expo/skills/sonarqube-fix/SKILL.md +0 -8
- package/plugins/lisa-expo/skills/tasks-load/SKILL.md +0 -88
- package/plugins/lisa-expo/skills/tasks-sync/SKILL.md +0 -108
- package/plugins/lisa-nestjs/agents/agent-architect.md +0 -310
- package/plugins/lisa-nestjs/agents/architecture-specialist.md +0 -53
- package/plugins/lisa-nestjs/agents/debug-specialist.md +0 -204
- package/plugins/lisa-nestjs/agents/git-history-analyzer.md +0 -183
- package/plugins/lisa-nestjs/agents/hooks-expert.md +0 -74
- package/plugins/lisa-nestjs/agents/implementer.md +0 -54
- package/plugins/lisa-nestjs/agents/learner.md +0 -44
- package/plugins/lisa-nestjs/agents/performance-specialist.md +0 -95
- package/plugins/lisa-nestjs/agents/product-specialist.md +0 -72
- package/plugins/lisa-nestjs/agents/quality-specialist.md +0 -55
- package/plugins/lisa-nestjs/agents/security-specialist.md +0 -58
- package/plugins/lisa-nestjs/agents/skill-evaluator.md +0 -246
- package/plugins/lisa-nestjs/agents/slash-command-architect.md +0 -87
- package/plugins/lisa-nestjs/agents/test-specialist.md +0 -64
- package/plugins/lisa-nestjs/agents/verification-specialist.md +0 -189
- package/plugins/lisa-nestjs/agents/web-search-researcher.md +0 -112
- package/plugins/lisa-nestjs/commands/git/commit-and-submit-pr.md +0 -7
- package/plugins/lisa-nestjs/commands/git/commit-submit-pr-and-verify.md +0 -7
- package/plugins/lisa-nestjs/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
- package/plugins/lisa-nestjs/commands/git/commit.md +0 -7
- package/plugins/lisa-nestjs/commands/git/prune.md +0 -6
- package/plugins/lisa-nestjs/commands/git/submit-pr.md +0 -7
- package/plugins/lisa-nestjs/commands/jira/fix.md +0 -7
- package/plugins/lisa-nestjs/commands/jira/implement.md +0 -7
- package/plugins/lisa-nestjs/commands/jira/sync.md +0 -7
- package/plugins/lisa-nestjs/commands/plan/add-test-coverage.md +0 -7
- package/plugins/lisa-nestjs/commands/plan/create.md +0 -6
- package/plugins/lisa-nestjs/commands/plan/execute.md +0 -7
- package/plugins/lisa-nestjs/commands/plan/fix-linter-error.md +0 -7
- package/plugins/lisa-nestjs/commands/plan/local-code-review.md +0 -6
- package/plugins/lisa-nestjs/commands/plan/lower-code-complexity.md +0 -6
- package/plugins/lisa-nestjs/commands/plan/reduce-max-lines-per-function.md +0 -7
- package/plugins/lisa-nestjs/commands/plan/reduce-max-lines.md +0 -7
- package/plugins/lisa-nestjs/commands/pull-request/review.md +0 -7
- package/plugins/lisa-nestjs/commands/review/implementation.md +0 -7
- package/plugins/lisa-nestjs/commands/security/zap-scan.md +0 -6
- package/plugins/lisa-nestjs/commands/sonarqube/check.md +0 -6
- package/plugins/lisa-nestjs/commands/sonarqube/fix.md +0 -6
- package/plugins/lisa-nestjs/commands/tasks/load.md +0 -7
- package/plugins/lisa-nestjs/commands/tasks/sync.md +0 -7
- package/plugins/lisa-nestjs/hooks/debug-hook.sh +0 -47
- package/plugins/lisa-nestjs/hooks/enforce-plan-rules.sh +0 -15
- package/plugins/lisa-nestjs/hooks/format-on-edit.sh +0 -76
- package/plugins/lisa-nestjs/hooks/install-pkgs.sh +0 -64
- package/plugins/lisa-nestjs/hooks/lint-on-edit.sh +0 -81
- package/plugins/lisa-nestjs/hooks/notify-ntfy.sh +0 -183
- package/plugins/lisa-nestjs/hooks/setup-jira-cli.sh +0 -52
- package/plugins/lisa-nestjs/hooks/sg-scan-on-edit.sh +0 -68
- package/plugins/lisa-nestjs/hooks/sync-tasks.sh +0 -107
- package/plugins/lisa-nestjs/hooks/ticket-sync-reminder.sh +0 -23
- package/plugins/lisa-nestjs/hooks/track-plan-sessions.sh +0 -164
- package/plugins/lisa-nestjs/hooks/verify-completion.sh +0 -77
- package/plugins/lisa-nestjs/rules/README.md +0 -240
- package/plugins/lisa-nestjs/rules/coding-philosophy.md +0 -428
- package/plugins/lisa-nestjs/rules/lisa.md +0 -37
- package/plugins/lisa-nestjs/rules/verfication.md +0 -596
- package/plugins/lisa-nestjs/skills/agent-design-best-practices/SKILL.md +0 -219
- package/plugins/lisa-nestjs/skills/git-commit/SKILL.md +0 -48
- package/plugins/lisa-nestjs/skills/git-commit-and-submit-pr/SKILL.md +0 -8
- package/plugins/lisa-nestjs/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
- package/plugins/lisa-nestjs/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
- package/plugins/lisa-nestjs/skills/git-prune/SKILL.md +0 -35
- package/plugins/lisa-nestjs/skills/git-submit-pr/SKILL.md +0 -44
- package/plugins/lisa-nestjs/skills/jira-add-journey/SKILL.md +0 -120
- package/plugins/lisa-nestjs/skills/jira-create/SKILL.md +0 -95
- package/plugins/lisa-nestjs/skills/jira-evidence/SKILL.md +0 -73
- package/plugins/lisa-nestjs/skills/jira-evidence/scripts/post-evidence.sh +0 -163
- package/plugins/lisa-nestjs/skills/jira-fix/SKILL.md +0 -16
- package/plugins/lisa-nestjs/skills/jira-implement/SKILL.md +0 -18
- package/plugins/lisa-nestjs/skills/jira-journey/SKILL.md +0 -125
- package/plugins/lisa-nestjs/skills/jira-journey/scripts/generate-templates.py +0 -233
- package/plugins/lisa-nestjs/skills/jira-journey/scripts/parse-plan.py +0 -368
- package/plugins/lisa-nestjs/skills/jira-sync/SKILL.md +0 -63
- package/plugins/lisa-nestjs/skills/jira-verify/SKILL.md +0 -48
- package/plugins/lisa-nestjs/skills/jsdoc-best-practices/SKILL.md +0 -432
- package/plugins/lisa-nestjs/skills/lisa-review-implementation/SKILL.md +0 -209
- package/plugins/lisa-nestjs/skills/plan-add-test-coverage/SKILL.md +0 -44
- package/plugins/lisa-nestjs/skills/plan-execute/SKILL.md +0 -89
- package/plugins/lisa-nestjs/skills/plan-fix-linter-error/SKILL.md +0 -45
- package/plugins/lisa-nestjs/skills/plan-local-code-review/SKILL.md +0 -88
- package/plugins/lisa-nestjs/skills/plan-lower-code-complexity/SKILL.md +0 -44
- package/plugins/lisa-nestjs/skills/plan-reduce-max-lines/SKILL.md +0 -45
- package/plugins/lisa-nestjs/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
- package/plugins/lisa-nestjs/skills/pull-request-review/SKILL.md +0 -68
- package/plugins/lisa-nestjs/skills/security-zap-scan/SKILL.md +0 -33
- package/plugins/lisa-nestjs/skills/sonarqube-check/SKILL.md +0 -11
- package/plugins/lisa-nestjs/skills/sonarqube-fix/SKILL.md +0 -8
- package/plugins/lisa-nestjs/skills/tasks-load/SKILL.md +0 -88
- package/plugins/lisa-nestjs/skills/tasks-sync/SKILL.md +0 -108
- package/plugins/lisa-rails/agents/agent-architect.md +0 -310
- package/plugins/lisa-rails/agents/architecture-specialist.md +0 -53
- package/plugins/lisa-rails/agents/debug-specialist.md +0 -204
- package/plugins/lisa-rails/agents/git-history-analyzer.md +0 -183
- package/plugins/lisa-rails/agents/hooks-expert.md +0 -74
- package/plugins/lisa-rails/agents/implementer.md +0 -54
- package/plugins/lisa-rails/agents/learner.md +0 -44
- package/plugins/lisa-rails/agents/performance-specialist.md +0 -95
- package/plugins/lisa-rails/agents/product-specialist.md +0 -72
- package/plugins/lisa-rails/agents/quality-specialist.md +0 -55
- package/plugins/lisa-rails/agents/security-specialist.md +0 -58
- package/plugins/lisa-rails/agents/skill-evaluator.md +0 -246
- package/plugins/lisa-rails/agents/slash-command-architect.md +0 -87
- package/plugins/lisa-rails/agents/test-specialist.md +0 -64
- package/plugins/lisa-rails/agents/verification-specialist.md +0 -189
- package/plugins/lisa-rails/agents/web-search-researcher.md +0 -112
- package/plugins/lisa-rails/commands/git/commit-and-submit-pr.md +0 -7
- package/plugins/lisa-rails/commands/git/commit-submit-pr-and-verify.md +0 -7
- package/plugins/lisa-rails/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
- package/plugins/lisa-rails/commands/git/commit.md +0 -7
- package/plugins/lisa-rails/commands/git/prune.md +0 -6
- package/plugins/lisa-rails/commands/git/submit-pr.md +0 -7
- package/plugins/lisa-rails/commands/jira/fix.md +0 -7
- package/plugins/lisa-rails/commands/jira/implement.md +0 -7
- package/plugins/lisa-rails/commands/jira/sync.md +0 -7
- package/plugins/lisa-rails/commands/plan/create.md +0 -6
- package/plugins/lisa-rails/commands/plan/execute.md +0 -7
- package/plugins/lisa-rails/commands/plan/local-code-review.md +0 -6
- package/plugins/lisa-rails/commands/pull-request/review.md +0 -7
- package/plugins/lisa-rails/commands/review/implementation.md +0 -7
- package/plugins/lisa-rails/commands/security/zap-scan.md +0 -6
- package/plugins/lisa-rails/commands/sonarqube/check.md +0 -6
- package/plugins/lisa-rails/commands/sonarqube/fix.md +0 -6
- package/plugins/lisa-rails/commands/tasks/load.md +0 -7
- package/plugins/lisa-rails/commands/tasks/sync.md +0 -7
- package/plugins/lisa-rails/hooks/debug-hook.sh +0 -47
- package/plugins/lisa-rails/hooks/enforce-plan-rules.sh +0 -15
- package/plugins/lisa-rails/hooks/format-on-edit.sh +0 -76
- package/plugins/lisa-rails/hooks/install-pkgs.sh +0 -64
- package/plugins/lisa-rails/hooks/lint-on-edit.sh +0 -81
- package/plugins/lisa-rails/hooks/notify-ntfy.sh +0 -183
- package/plugins/lisa-rails/hooks/setup-jira-cli.sh +0 -52
- package/plugins/lisa-rails/hooks/sg-scan-on-edit.sh +0 -68
- package/plugins/lisa-rails/hooks/sync-tasks.sh +0 -107
- package/plugins/lisa-rails/hooks/ticket-sync-reminder.sh +0 -23
- package/plugins/lisa-rails/hooks/track-plan-sessions.sh +0 -164
- package/plugins/lisa-rails/hooks/verify-completion.sh +0 -77
- package/plugins/lisa-rails/rules/README.md +0 -240
- package/plugins/lisa-rails/rules/coding-philosophy.md +0 -428
- package/plugins/lisa-rails/rules/verfication.md +0 -596
- package/plugins/lisa-rails/skills/agent-design-best-practices/SKILL.md +0 -219
- package/plugins/lisa-rails/skills/git-commit/SKILL.md +0 -48
- package/plugins/lisa-rails/skills/git-commit-and-submit-pr/SKILL.md +0 -8
- package/plugins/lisa-rails/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
- package/plugins/lisa-rails/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
- package/plugins/lisa-rails/skills/git-prune/SKILL.md +0 -35
- package/plugins/lisa-rails/skills/git-submit-pr/SKILL.md +0 -44
- package/plugins/lisa-rails/skills/jira-fix/SKILL.md +0 -16
- package/plugins/lisa-rails/skills/jira-implement/SKILL.md +0 -18
- package/plugins/lisa-rails/skills/jira-journey/scripts/generate-templates.py +0 -233
- package/plugins/lisa-rails/skills/jira-journey/scripts/parse-plan.py +0 -368
- package/plugins/lisa-rails/skills/jira-sync/SKILL.md +0 -63
- package/plugins/lisa-rails/skills/jsdoc-best-practices/SKILL.md +0 -432
- package/plugins/lisa-rails/skills/lisa-review-implementation/SKILL.md +0 -209
- package/plugins/lisa-rails/skills/plan-execute/SKILL.md +0 -89
- package/plugins/lisa-rails/skills/plan-local-code-review/SKILL.md +0 -88
- package/plugins/lisa-rails/skills/pull-request-review/SKILL.md +0 -68
- package/plugins/lisa-rails/skills/security-zap-scan/SKILL.md +0 -33
- package/plugins/lisa-rails/skills/sonarqube-check/SKILL.md +0 -11
- package/plugins/lisa-rails/skills/sonarqube-fix/SKILL.md +0 -8
- package/plugins/lisa-rails/skills/tasks-load/SKILL.md +0 -88
- package/plugins/lisa-rails/skills/tasks-sync/SKILL.md +0 -108
- package/plugins/lisa-typescript/agents/agent-architect.md +0 -310
- package/plugins/lisa-typescript/agents/architecture-specialist.md +0 -53
- package/plugins/lisa-typescript/agents/debug-specialist.md +0 -204
- package/plugins/lisa-typescript/agents/git-history-analyzer.md +0 -183
- package/plugins/lisa-typescript/agents/hooks-expert.md +0 -74
- package/plugins/lisa-typescript/agents/implementer.md +0 -54
- package/plugins/lisa-typescript/agents/learner.md +0 -44
- package/plugins/lisa-typescript/agents/performance-specialist.md +0 -95
- package/plugins/lisa-typescript/agents/product-specialist.md +0 -72
- package/plugins/lisa-typescript/agents/quality-specialist.md +0 -55
- package/plugins/lisa-typescript/agents/security-specialist.md +0 -58
- package/plugins/lisa-typescript/agents/skill-evaluator.md +0 -246
- package/plugins/lisa-typescript/agents/slash-command-architect.md +0 -87
- package/plugins/lisa-typescript/agents/test-specialist.md +0 -64
- package/plugins/lisa-typescript/agents/verification-specialist.md +0 -189
- package/plugins/lisa-typescript/agents/web-search-researcher.md +0 -112
- package/plugins/lisa-typescript/commands/git/commit-and-submit-pr.md +0 -7
- package/plugins/lisa-typescript/commands/git/commit-submit-pr-and-verify.md +0 -7
- package/plugins/lisa-typescript/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
- package/plugins/lisa-typescript/commands/git/commit.md +0 -7
- package/plugins/lisa-typescript/commands/git/prune.md +0 -6
- package/plugins/lisa-typescript/commands/git/submit-pr.md +0 -7
- package/plugins/lisa-typescript/commands/jira/fix.md +0 -7
- package/plugins/lisa-typescript/commands/jira/implement.md +0 -7
- package/plugins/lisa-typescript/commands/jira/sync.md +0 -7
- package/plugins/lisa-typescript/commands/plan/add-test-coverage.md +0 -7
- package/plugins/lisa-typescript/commands/plan/create.md +0 -6
- package/plugins/lisa-typescript/commands/plan/execute.md +0 -7
- package/plugins/lisa-typescript/commands/plan/fix-linter-error.md +0 -7
- package/plugins/lisa-typescript/commands/plan/local-code-review.md +0 -6
- package/plugins/lisa-typescript/commands/plan/lower-code-complexity.md +0 -6
- package/plugins/lisa-typescript/commands/plan/reduce-max-lines-per-function.md +0 -7
- package/plugins/lisa-typescript/commands/plan/reduce-max-lines.md +0 -7
- package/plugins/lisa-typescript/commands/pull-request/review.md +0 -7
- package/plugins/lisa-typescript/commands/review/implementation.md +0 -7
- package/plugins/lisa-typescript/commands/security/zap-scan.md +0 -6
- package/plugins/lisa-typescript/commands/sonarqube/check.md +0 -6
- package/plugins/lisa-typescript/commands/sonarqube/fix.md +0 -6
- package/plugins/lisa-typescript/commands/tasks/load.md +0 -7
- package/plugins/lisa-typescript/commands/tasks/sync.md +0 -7
- package/plugins/lisa-typescript/hooks/debug-hook.sh +0 -47
- package/plugins/lisa-typescript/hooks/enforce-plan-rules.sh +0 -15
- package/plugins/lisa-typescript/hooks/install-pkgs.sh +0 -64
- package/plugins/lisa-typescript/hooks/notify-ntfy.sh +0 -183
- package/plugins/lisa-typescript/hooks/setup-jira-cli.sh +0 -52
- package/plugins/lisa-typescript/hooks/sync-tasks.sh +0 -107
- package/plugins/lisa-typescript/hooks/ticket-sync-reminder.sh +0 -23
- package/plugins/lisa-typescript/hooks/track-plan-sessions.sh +0 -164
- package/plugins/lisa-typescript/hooks/verify-completion.sh +0 -77
- package/plugins/lisa-typescript/rules/README.md +0 -240
- package/plugins/lisa-typescript/rules/coding-philosophy.md +0 -428
- package/plugins/lisa-typescript/rules/verfication.md +0 -596
- package/plugins/lisa-typescript/skills/agent-design-best-practices/SKILL.md +0 -219
- package/plugins/lisa-typescript/skills/git-commit/SKILL.md +0 -48
- package/plugins/lisa-typescript/skills/git-commit-and-submit-pr/SKILL.md +0 -8
- package/plugins/lisa-typescript/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
- package/plugins/lisa-typescript/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
- package/plugins/lisa-typescript/skills/git-prune/SKILL.md +0 -35
- package/plugins/lisa-typescript/skills/git-submit-pr/SKILL.md +0 -44
- package/plugins/lisa-typescript/skills/jira-add-journey/SKILL.md +0 -120
- package/plugins/lisa-typescript/skills/jira-create/SKILL.md +0 -95
- package/plugins/lisa-typescript/skills/jira-evidence/SKILL.md +0 -73
- package/plugins/lisa-typescript/skills/jira-evidence/scripts/post-evidence.sh +0 -163
- package/plugins/lisa-typescript/skills/jira-fix/SKILL.md +0 -16
- package/plugins/lisa-typescript/skills/jira-implement/SKILL.md +0 -18
- package/plugins/lisa-typescript/skills/jira-journey/SKILL.md +0 -125
- package/plugins/lisa-typescript/skills/jira-journey/scripts/generate-templates.py +0 -233
- package/plugins/lisa-typescript/skills/jira-journey/scripts/parse-plan.py +0 -368
- package/plugins/lisa-typescript/skills/jira-sync/SKILL.md +0 -63
- package/plugins/lisa-typescript/skills/jira-verify/SKILL.md +0 -48
- package/plugins/lisa-typescript/skills/jsdoc-best-practices/SKILL.md +0 -432
- package/plugins/lisa-typescript/skills/lisa-review-implementation/SKILL.md +0 -209
- package/plugins/lisa-typescript/skills/plan-add-test-coverage/SKILL.md +0 -44
- package/plugins/lisa-typescript/skills/plan-execute/SKILL.md +0 -89
- package/plugins/lisa-typescript/skills/plan-fix-linter-error/SKILL.md +0 -45
- package/plugins/lisa-typescript/skills/plan-local-code-review/SKILL.md +0 -88
- package/plugins/lisa-typescript/skills/plan-lower-code-complexity/SKILL.md +0 -44
- package/plugins/lisa-typescript/skills/plan-reduce-max-lines/SKILL.md +0 -45
- package/plugins/lisa-typescript/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
- package/plugins/lisa-typescript/skills/pull-request-review/SKILL.md +0 -68
- package/plugins/lisa-typescript/skills/security-zap-scan/SKILL.md +0 -33
- package/plugins/lisa-typescript/skills/sonarqube-check/SKILL.md +0 -11
- package/plugins/lisa-typescript/skills/sonarqube-fix/SKILL.md +0 -8
- package/plugins/lisa-typescript/skills/tasks-load/SKILL.md +0 -88
- package/plugins/lisa-typescript/skills/tasks-sync/SKILL.md +0 -108
- package/plugins/src/base/hooks/format-on-edit.sh +0 -76
- package/plugins/src/base/hooks/lint-on-edit.sh +0 -81
- package/plugins/src/base/hooks/sg-scan-on-edit.sh +0 -68
- package/plugins/src/base/rules/lisa.md +0 -37
- /package/plugins/{lisa-cdk → lisa}/agents/agent-architect.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/architecture-specialist.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/debug-specialist.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/git-history-analyzer.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/hooks-expert.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/implementer.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/learner.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/performance-specialist.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/product-specialist.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/quality-specialist.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/security-specialist.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/skill-evaluator.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/slash-command-architect.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/test-specialist.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/verification-specialist.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/agents/web-search-researcher.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/git/commit-and-submit-pr.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/git/commit-submit-pr-and-verify.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/git/commit-submit-pr-deploy-and-verify.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/git/commit.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/git/prune.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/git/submit-pr.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/jira/add-journey.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/jira/create.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/jira/evidence.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/jira/fix.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/jira/implement.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/jira/journey.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/jira/sync.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/jira/verify.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/plan/add-test-coverage.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/plan/create.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/plan/execute.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/plan/fix-linter-error.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/plan/local-code-review.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/plan/lower-code-complexity.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/plan/reduce-max-lines-per-function.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/plan/reduce-max-lines.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/pull-request/review.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/review/implementation.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/security/zap-scan.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/sonarqube/check.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/sonarqube/fix.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/tasks/load.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/commands/tasks/sync.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/hooks/debug-hook.sh +0 -0
- /package/plugins/{lisa-cdk → lisa}/hooks/enforce-plan-rules.sh +0 -0
- /package/plugins/{lisa-cdk → lisa}/hooks/install-pkgs.sh +0 -0
- /package/plugins/{lisa-cdk → lisa}/hooks/notify-ntfy.sh +0 -0
- /package/plugins/{lisa-cdk → lisa}/hooks/setup-jira-cli.sh +0 -0
- /package/plugins/{lisa-cdk → lisa}/hooks/sync-tasks.sh +0 -0
- /package/plugins/{lisa-cdk → lisa}/hooks/ticket-sync-reminder.sh +0 -0
- /package/plugins/{lisa-cdk → lisa}/hooks/track-plan-sessions.sh +0 -0
- /package/plugins/{lisa-cdk → lisa}/hooks/verify-completion.sh +0 -0
- /package/plugins/{lisa-cdk → lisa}/rules/README.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/rules/coding-philosophy.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/rules/verfication.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/agent-design-best-practices/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/git-commit/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/git-commit-and-submit-pr/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/git-prune/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/git-submit-pr/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/jira-add-journey/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/jira-create/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/jira-evidence/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/jira-evidence/scripts/post-evidence.sh +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/jira-fix/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/jira-implement/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/jira-journey/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/jira-journey/scripts/generate-templates.py +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/jira-journey/scripts/parse-plan.py +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/jira-sync/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/jira-verify/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/jsdoc-best-practices/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/lisa-review-implementation/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/plan-add-test-coverage/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/plan-execute/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/plan-fix-linter-error/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/plan-local-code-review/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/plan-lower-code-complexity/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/plan-reduce-max-lines/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/pull-request-review/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/security-zap-scan/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/sonarqube-check/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/sonarqube-fix/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/tasks-load/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → lisa}/skills/tasks-sync/SKILL.md +0 -0
- /package/plugins/{lisa-cdk → src/typescript}/hooks/format-on-edit.sh +0 -0
- /package/plugins/{lisa-cdk → src/typescript}/hooks/lint-on-edit.sh +0 -0
- /package/plugins/{lisa-cdk → src/typescript}/hooks/sg-scan-on-edit.sh +0 -0
- /package/plugins/{lisa-cdk → src/typescript}/rules/lisa.md +0 -0
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: agent-design-best-practices
|
|
3
|
-
description: Best practices for designing Claude Code agent files (.claude/agents/*.md). This skill should be used when writing or reviewing agent markdown files to ensure proper design with focused domains, correct tool access, reusable definitions, and separation of capabilities from lifecycle. Combines Anthropic's official guidance with battle-tested patterns from agent team usage.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Agent Design Best Practices
|
|
7
|
-
|
|
8
|
-
## Overview
|
|
9
|
-
|
|
10
|
-
This skill defines best practices for designing Claude Code agent files (`.claude/agents/*.md`). Agent files define reusable roles that can be spawned as subagents or teammates. The core principle is that **agent files define capabilities, not lifecycle** -- the team lead's spawn prompt controls when and how the agent runs.
|
|
11
|
-
|
|
12
|
-
## Principles
|
|
13
|
-
|
|
14
|
-
### 1. Define Capabilities, Not Lifecycle
|
|
15
|
-
|
|
16
|
-
Agent files describe *what* an agent can do. The spawn prompt from the team lead controls *when* it runs and *what to focus on*.
|
|
17
|
-
|
|
18
|
-
```markdown
|
|
19
|
-
<!-- Wrong: Hardcodes workflow phase and interaction pattern -->
|
|
20
|
-
# Security Planner Agent
|
|
21
|
-
|
|
22
|
-
You are a security specialist in a plan-create Agent Team.
|
|
23
|
-
Given a Research Brief from the team lead, identify security
|
|
24
|
-
considerations for the planned changes.
|
|
25
|
-
|
|
26
|
-
## Output Format
|
|
27
|
-
|
|
28
|
-
Send your sub-plan to the team lead via `SendMessage` with this structure:
|
|
29
|
-
...
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
```markdown
|
|
33
|
-
<!-- Correct: Defines domain expertise, team lead controls usage -->
|
|
34
|
-
# Security Specialist Agent
|
|
35
|
-
|
|
36
|
-
You are a security specialist who identifies vulnerabilities,
|
|
37
|
-
evaluates threats, and recommends mitigations for code changes.
|
|
38
|
-
|
|
39
|
-
## Analysis Process
|
|
40
|
-
1. Read affected files
|
|
41
|
-
2. STRIDE analysis
|
|
42
|
-
3. Check input validation
|
|
43
|
-
...
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
The wrong version is coupled to one workflow ("plan-create Agent Team", "Given a Research Brief", "Send via SendMessage"). The correct version works in any context -- planning, review, ad-hoc analysis -- because the team lead's spawn prompt provides the specific instructions.
|
|
47
|
-
|
|
48
|
-
### 2. One Agent Per Domain, Not Per Phase
|
|
49
|
-
|
|
50
|
-
Prefer a single agent that covers a domain over multiple agents split by workflow phase. The team lead specializes the agent per phase via the spawn prompt.
|
|
51
|
-
|
|
52
|
-
| Wrong | Right |
|
|
53
|
-
|-------|-------|
|
|
54
|
-
| `security-planner` + `security-reviewer` | `security-specialist` |
|
|
55
|
-
| `test-strategist` + `test-coverage-agent` | `test-specialist` |
|
|
56
|
-
| `architecture-planner` + `architecture-reviewer` | `architecture-specialist` |
|
|
57
|
-
|
|
58
|
-
The same agent type can be spawned multiple times with different prompts for different phases. A `security-specialist` spawned during planning gets "evaluate this plan for security risks" while the same type spawned during review gets "review these code changes for vulnerabilities."
|
|
59
|
-
|
|
60
|
-
### 3. Design Focused Domains
|
|
61
|
-
|
|
62
|
-
Each agent should excel at one specific domain. The domain should be broad enough to avoid workflow coupling but narrow enough to provide real expertise.
|
|
63
|
-
|
|
64
|
-
```yaml
|
|
65
|
-
# Too narrow (coupled to one workflow step)
|
|
66
|
-
description: Performs STRIDE analysis on Research Briefs during plan-create Phase 2
|
|
67
|
-
|
|
68
|
-
# Too broad (no clear expertise)
|
|
69
|
-
description: General-purpose agent that can do anything
|
|
70
|
-
|
|
71
|
-
# Just right (focused domain, reusable across workflows)
|
|
72
|
-
description: Security specialist. Performs threat modeling (STRIDE), reviews code for OWASP Top 10 vulnerabilities, checks auth/validation/secrets handling.
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### 4. Write Detailed Descriptions
|
|
76
|
-
|
|
77
|
-
Claude uses the `description` field in YAML frontmatter to decide when to delegate tasks. Be specific about what the agent does and when it adds value.
|
|
78
|
-
|
|
79
|
-
```yaml
|
|
80
|
-
# Bad: Vague, Claude can't decide when to use it
|
|
81
|
-
description: Reviews code
|
|
82
|
-
|
|
83
|
-
# Good: Specific domain, clear trigger conditions
|
|
84
|
-
description: Security specialist. Performs threat modeling (STRIDE), reviews code for OWASP Top 10 vulnerabilities, checks auth/validation/secrets handling, and recommends mitigations.
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### 5. Limit Tool Access
|
|
88
|
-
|
|
89
|
-
Grant only the tools necessary for the agent's domain. This enforces focus and prevents agents from exceeding their intended scope.
|
|
90
|
-
|
|
91
|
-
| Agent Type | Appropriate Tools | Rationale |
|
|
92
|
-
|-----------|-------------------|-----------|
|
|
93
|
-
| Researcher / Reviewer | `Read, Grep, Glob, Bash` | Read-only analysis, no file modifications |
|
|
94
|
-
| Implementer | `Read, Write, Edit, Bash, Grep, Glob` | Needs to modify code |
|
|
95
|
-
| Planner | `Read, Grep, Glob` | Research only, no execution |
|
|
96
|
-
|
|
97
|
-
Read-only agents cannot implement code. Do not assign implementation tasks to agents without `Write` and `Edit` tools.
|
|
98
|
-
|
|
99
|
-
### 6. No Hardcoded Interaction Patterns
|
|
100
|
-
|
|
101
|
-
Do not prescribe how the agent communicates or what input format it expects. The team lead's spawn prompt handles interaction patterns.
|
|
102
|
-
|
|
103
|
-
```markdown
|
|
104
|
-
<!-- Wrong: Hardcodes communication protocol -->
|
|
105
|
-
## Input
|
|
106
|
-
You receive a **Research Brief** from the team lead containing...
|
|
107
|
-
|
|
108
|
-
## Output Format
|
|
109
|
-
Send your sub-plan to the team lead via `SendMessage` with this structure:
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
```markdown
|
|
113
|
-
<!-- Correct: Defines output structure without prescribing delivery mechanism -->
|
|
114
|
-
## Output Format
|
|
115
|
-
Structure your findings as:
|
|
116
|
-
|
|
117
|
-
### Threat Model (STRIDE)
|
|
118
|
-
| Threat | Applies? | Description | Mitigation |
|
|
119
|
-
...
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
The output format itself is fine to define -- it provides structure. But how the agent receives input and delivers output should be left to the team lead.
|
|
123
|
-
|
|
124
|
-
### 7. Context Window Isolation
|
|
125
|
-
|
|
126
|
-
Each teammate has its own context window. Teammates do not share context and cannot see what other teammates have done. Account for this in agent design:
|
|
127
|
-
|
|
128
|
-
- Do not assume the agent has seen previous analysis from other agents
|
|
129
|
-
- Include enough domain knowledge in the agent file for independent operation
|
|
130
|
-
- The team lead bridges context between agents via spawn prompts and messages
|
|
131
|
-
|
|
132
|
-
### 8. File Ownership in Teams
|
|
133
|
-
|
|
134
|
-
When agents work in teams, each teammate should own distinct files or directories. Two teammates editing the same file leads to conflicts and lost work.
|
|
135
|
-
|
|
136
|
-
Design agent domains so their file ownership naturally separates:
|
|
137
|
-
|
|
138
|
-
| Agent | Owns |
|
|
139
|
-
|-------|------|
|
|
140
|
-
| `implementer` | Source files (`src/`) |
|
|
141
|
-
| `test-specialist` | Test files (`tests/`) |
|
|
142
|
-
| `quality-specialist` | No files (read-only) |
|
|
143
|
-
|
|
144
|
-
## Agent File Structure
|
|
145
|
-
|
|
146
|
-
### Required Frontmatter
|
|
147
|
-
|
|
148
|
-
```yaml
|
|
149
|
-
---
|
|
150
|
-
name: agent-name # lowercase with hyphens
|
|
151
|
-
description: When and why to use this agent. Be specific.
|
|
152
|
-
tools: Read, Grep, Glob # comma-separated, minimal set
|
|
153
|
-
---
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
### Optional Frontmatter
|
|
157
|
-
|
|
158
|
-
```yaml
|
|
159
|
-
model: sonnet # sonnet, opus, haiku, or inherit (default)
|
|
160
|
-
permissionMode: default # default, acceptEdits, plan, bypassPermissions, etc.
|
|
161
|
-
maxTurns: 50 # limit agentic turns
|
|
162
|
-
skills: # skills to preload
|
|
163
|
-
- skill-name
|
|
164
|
-
memory: user # persistent memory: user, project, or local
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### Body Structure
|
|
168
|
-
|
|
169
|
-
The markdown body becomes the agent's system prompt. Structure it as:
|
|
170
|
-
|
|
171
|
-
1. **Role statement** -- one sentence describing what the agent is
|
|
172
|
-
2. **Analysis/workflow process** -- numbered steps for the agent's approach
|
|
173
|
-
3. **Output format** -- structure for findings (without prescribing delivery mechanism)
|
|
174
|
-
4. **Rules/constraints** -- guardrails for the agent's behavior
|
|
175
|
-
|
|
176
|
-
## Anti-Patterns
|
|
177
|
-
|
|
178
|
-
### Don't Create Phase-Specific Agents
|
|
179
|
-
|
|
180
|
-
```markdown
|
|
181
|
-
<!-- Wrong: Two agents for the same domain, split by phase -->
|
|
182
|
-
# Pre-Implementation Security Planner
|
|
183
|
-
...
|
|
184
|
-
# Post-Implementation Security Reviewer
|
|
185
|
-
...
|
|
186
|
-
|
|
187
|
-
<!-- Correct: One agent, team lead controls timing -->
|
|
188
|
-
# Security Specialist
|
|
189
|
-
...
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### Don't Hardcode Workflow Dependencies
|
|
193
|
-
|
|
194
|
-
```markdown
|
|
195
|
-
<!-- Wrong: Agent assumes specific workflow context -->
|
|
196
|
-
You are part of the plan-create Phase 2 team.
|
|
197
|
-
Wait for the Research Brief from Phase 1.
|
|
198
|
-
After your analysis, the Consistency Checker will validate your output.
|
|
199
|
-
|
|
200
|
-
<!-- Correct: Agent is self-contained -->
|
|
201
|
-
You are a security specialist who identifies vulnerabilities
|
|
202
|
-
and recommends mitigations for code changes.
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
### Don't Over-Specify the Model
|
|
206
|
-
|
|
207
|
-
Only set `model` when there's a clear reason. Most agents work well with `inherit` (the default), which uses the same model as the parent session. Use `haiku` for fast, simple tasks (exploration, search). Use `sonnet` or `opus` only when the domain requires stronger reasoning.
|
|
208
|
-
|
|
209
|
-
## Verification Checklist
|
|
210
|
-
|
|
211
|
-
Before committing an agent file, verify:
|
|
212
|
-
|
|
213
|
-
1. **Description is specific** -- Claude can determine when to delegate from the description alone
|
|
214
|
-
2. **Tools are minimal** -- only the tools the agent actually needs
|
|
215
|
-
3. **No workflow coupling** -- no references to specific team structures, phases, or input formats
|
|
216
|
-
4. **No hardcoded communication** -- no "send via SendMessage" or "given a Research Brief"
|
|
217
|
-
5. **Domain is reusable** -- the agent works in planning, review, and ad-hoc contexts
|
|
218
|
-
6. **Role statement is clear** -- first line of body explains what the agent is
|
|
219
|
-
7. **Output format is defined** -- structured output without prescribing delivery
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: git-commit
|
|
3
|
-
description: This skill should be used when creating conventional commits for current changes. It groups related changes into logical commits, ensures all files are committed, and verifies the working directory is clean afterward.
|
|
4
|
-
allowed-tools: ["Bash"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Git Commit Workflow
|
|
8
|
-
|
|
9
|
-
Create conventional commits for current changes. Optional hint: $ARGUMENTS
|
|
10
|
-
|
|
11
|
-
## Workflow
|
|
12
|
-
|
|
13
|
-
### See what has changed
|
|
14
|
-
|
|
15
|
-
!git status
|
|
16
|
-
!git diff --stat
|
|
17
|
-
|
|
18
|
-
### Apply these requirements
|
|
19
|
-
|
|
20
|
-
1. **Branch Check**: If on `dev`, `staging`, or `main`, create a feature branch named after the changes
|
|
21
|
-
2. **Commit Strategy**: Group related changes into logical conventional commits (feat, fix, chore, docs, etc.)
|
|
22
|
-
3. **Commit ALL Files**: Every file must be assigned to a commit group - no file gets left out or unstaged
|
|
23
|
-
4. **Commit Creation**: Stage and commit each group with clear messages
|
|
24
|
-
5. **Verification**: Run `git status` to confirm working directory is clean - must show "nothing to commit"
|
|
25
|
-
|
|
26
|
-
### Use conventional commit format
|
|
27
|
-
|
|
28
|
-
- `feat:` for new features
|
|
29
|
-
- `fix:` for bug fixes
|
|
30
|
-
- `docs:` for documentation
|
|
31
|
-
- `chore:` for maintenance
|
|
32
|
-
- `style:` for formatting
|
|
33
|
-
- `refactor:` for code restructuring
|
|
34
|
-
- `test:` for test additions
|
|
35
|
-
|
|
36
|
-
### Never
|
|
37
|
-
|
|
38
|
-
- use `--no-verify` flag
|
|
39
|
-
- attempt to bypass tests or quality checks
|
|
40
|
-
- skip tests or quality checks
|
|
41
|
-
- stash changes - ALL changes must be committed
|
|
42
|
-
- skip or exclude any files from the commit - even if they're unrelated
|
|
43
|
-
- leave uncommitted changes in the working directory
|
|
44
|
-
- ask the user which files to commit - commit everything
|
|
45
|
-
|
|
46
|
-
## Execute
|
|
47
|
-
|
|
48
|
-
Execute the workflow now.
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: git-commit-and-submit-pr
|
|
3
|
-
description: This skill should be used when creating conventional commits for current changes and then submitting the current branch as a pull request for code review. It combines the git:commit and git:submit-pr skills into a single workflow.
|
|
4
|
-
allowed-tools: ["Bash"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
1. Run /git-commit $ARGUMENTS
|
|
8
|
-
2. Run /git-submit-pr $ARGUMENTS
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: git-commit-submit-pr-and-verify
|
|
3
|
-
description: This skill should be used when creating conventional commits for current changes and then submitting the current branch as a pull request for code review. And then verifying the pull request was approved.
|
|
4
|
-
allowed-tools: ["Bash"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Run the /git-commit-and-submit-pr with $ARGUMENTS and set the PR to auto-merge. Fix any pre-commit or pre-push issues and then follow the pr, make sure all checks pass and comments are resolved or addressed. Fix anything that is broken and repeat.
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: git-commit-submit-pr-deploy-and-verify
|
|
3
|
-
description: This skill should be used when creating conventional commits for current changes and then submitting the current branch as a pull request for code review. And then verifying the pull request was approved. As well as making sure the resutling deploy succeeds.
|
|
4
|
-
allowed-tools: ["Bash"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Run the /git-commit-submit-pr-and-verify with $ARGUMENTS. Once the merge is complete, follow the resulting deploy and fix anything that breaks with the deploy and then follow this process again with a new PR until the deploy succeeds.
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: git-prune
|
|
3
|
-
description: This skill should be used when pruning local branches that have been deleted on the remote. It fetches remote changes, identifies stale local branches, and safely deletes them.
|
|
4
|
-
allowed-tools: ["Bash"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Git Prune Local Branches
|
|
8
|
-
|
|
9
|
-
Remove local branches whose upstream tracking branches have been deleted on remote.
|
|
10
|
-
|
|
11
|
-
## Workflow
|
|
12
|
-
|
|
13
|
-
### Fetch and prune remote-tracking references
|
|
14
|
-
|
|
15
|
-
!git fetch --prune
|
|
16
|
-
|
|
17
|
-
### Find and delete stale local branches
|
|
18
|
-
|
|
19
|
-
!git branch -vv | grep ': gone]' | awk '{print $1}'
|
|
20
|
-
|
|
21
|
-
### Apply these requirements
|
|
22
|
-
|
|
23
|
-
1. **Preview**: Show which branches will be deleted before deleting
|
|
24
|
-
2. **Safe Delete**: Use `-d` (safe delete) which refuses to delete unmerged branches
|
|
25
|
-
3. **Report**: Show summary of deleted branches
|
|
26
|
-
|
|
27
|
-
### Never
|
|
28
|
-
|
|
29
|
-
- Force delete (`-D`) without user confirmation
|
|
30
|
-
- Delete the current branch
|
|
31
|
-
- Delete protected branches (dev, staging, main)
|
|
32
|
-
|
|
33
|
-
## Execute
|
|
34
|
-
|
|
35
|
-
Execute the workflow now.
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: git-submit-pr
|
|
3
|
-
description: This skill should be used when pushing changes and creating or updating a pull request. It verifies the branch state, pushes to remote, creates or updates a PR with a comprehensive description, and enables auto-merge.
|
|
4
|
-
allowed-tools: ["Bash", "mcp__github__create_pull_request", "mcp__github__get_pull_request", "mcp__github__update_pull_request"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Submit Pull Request Workflow
|
|
8
|
-
|
|
9
|
-
Push current branch and create or update a pull request. Optional hint: $ARGUMENTS
|
|
10
|
-
|
|
11
|
-
## Workflow
|
|
12
|
-
|
|
13
|
-
### Check current state
|
|
14
|
-
|
|
15
|
-
!git status
|
|
16
|
-
!git log --oneline -10
|
|
17
|
-
|
|
18
|
-
### Apply these requirements
|
|
19
|
-
|
|
20
|
-
1. **Branch Check**: Verify not on `dev`, `staging`, or `main` (cannot create PR from protected branches)
|
|
21
|
-
2. **Commit Check**: Ensure all changes are committed before pushing
|
|
22
|
-
3. **Push**: Push current branch to remote with `-u` flag and the following environment variable - GIT_SSH_COMMAND="ssh -o ServerAliveInterval=30 -o ServerAliveCountMax=5"
|
|
23
|
-
4. **PR Management**:
|
|
24
|
-
- Check for existing PR on this branch
|
|
25
|
-
- If exists: Update description with latest changes
|
|
26
|
-
- If not: Create PR with comprehensive description (not a draft)
|
|
27
|
-
5. **Auto-merge**: Enable auto-merge on the PR using `gh pr merge --auto --merge`
|
|
28
|
-
|
|
29
|
-
### PR Description Format
|
|
30
|
-
|
|
31
|
-
Include in the PR description:
|
|
32
|
-
|
|
33
|
-
- **Summary**: Brief overview of changes (1-3 bullet points)
|
|
34
|
-
- **Test plan**: How to verify the changes work correctly
|
|
35
|
-
|
|
36
|
-
### Never
|
|
37
|
-
|
|
38
|
-
- use `--force` push without explicit user request
|
|
39
|
-
- create PR from protected branches (dev, staging, main)
|
|
40
|
-
- skip pushing before PR creation
|
|
41
|
-
|
|
42
|
-
## Execute
|
|
43
|
-
|
|
44
|
-
Execute the workflow now.
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: jira-add-journey
|
|
3
|
-
description: "Add a Validation Journey section to an existing JIRA ticket by analyzing the change type and generating appropriate verification steps with evidence markers."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Add Validation Journey to Existing JIRA Ticket
|
|
7
|
-
|
|
8
|
-
Read an existing JIRA ticket, analyze the change type, and generate a Validation Journey section with appropriate verification steps based on the project's verification patterns.
|
|
9
|
-
|
|
10
|
-
## Arguments
|
|
11
|
-
|
|
12
|
-
`$ARGUMENTS`: `<TICKET_ID>`
|
|
13
|
-
|
|
14
|
-
- `TICKET_ID` (required): JIRA ticket key (e.g., `PROJ-123`)
|
|
15
|
-
|
|
16
|
-
## Prerequisites
|
|
17
|
-
|
|
18
|
-
- `JIRA_API_TOKEN` environment variable set
|
|
19
|
-
- `jira-cli` configured (`~/.config/.jira/.config.yml`)
|
|
20
|
-
|
|
21
|
-
## Workflow
|
|
22
|
-
|
|
23
|
-
### Step 1: Read the Ticket
|
|
24
|
-
|
|
25
|
-
Use the Atlassian MCP or jira-cli to read the full ticket details:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
jira issue view <TICKET_ID>
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Extract: title, description, acceptance criteria, components, labels, linked tickets.
|
|
32
|
-
|
|
33
|
-
### Step 2: Check for Existing Journey
|
|
34
|
-
|
|
35
|
-
Run the parser to see if a Validation Journey already exists:
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
python3 .claude/skills/jira-journey/scripts/parse-plan.py <TICKET_ID> 2>&1
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
If the parser succeeds and returns steps, the ticket already has a journey. Report this to the user and stop.
|
|
42
|
-
|
|
43
|
-
### Step 3: Analyze the Change Type
|
|
44
|
-
|
|
45
|
-
Examine the ticket description, acceptance criteria, and codebase to determine the change type:
|
|
46
|
-
|
|
47
|
-
1. **API/GraphQL changes** — New or modified endpoints, request/response schemas
|
|
48
|
-
2. **Database migration** — Schema changes, new tables/columns, indexes
|
|
49
|
-
3. **Background job/queue** — New job processors, queue consumers, event handlers
|
|
50
|
-
4. **Library/utility** — Exported functions, shared modules, npm package changes
|
|
51
|
-
5. **Security fix** — Auth, authorization, input validation, OWASP vulnerabilities
|
|
52
|
-
6. **Authentication/authorization** — Role-based access, session management, tokens
|
|
53
|
-
|
|
54
|
-
Use the Explore agent or read the codebase directly to understand which files are affected and what verification approach is appropriate.
|
|
55
|
-
|
|
56
|
-
### Step 4: Map Change Type to Verification Pattern
|
|
57
|
-
|
|
58
|
-
Based on the change type, generate verification steps using patterns from `verfication.md`:
|
|
59
|
-
|
|
60
|
-
| Change Type | Verification Approach |
|
|
61
|
-
|---|---|
|
|
62
|
-
| API/GraphQL | curl commands verifying endpoints, status codes, response schemas |
|
|
63
|
-
| Database migration | Migration execution + schema verification + rollback check |
|
|
64
|
-
| Background job/queue | Enqueue + process + state change verification |
|
|
65
|
-
| Library/utility | Test execution + build verification + export check |
|
|
66
|
-
| Security fix | Exploit reproduction pre-fix + exploit failure post-fix |
|
|
67
|
-
| Auth/authz | Multi-role verification with explicit status codes |
|
|
68
|
-
|
|
69
|
-
### Step 5: Draft the Validation Journey
|
|
70
|
-
|
|
71
|
-
Compose the journey with `[EVIDENCE: name]` markers at key verification points:
|
|
72
|
-
|
|
73
|
-
```text
|
|
74
|
-
h2. Validation Journey
|
|
75
|
-
|
|
76
|
-
h3. Prerequisites
|
|
77
|
-
- List required services, database, env vars
|
|
78
|
-
|
|
79
|
-
h3. Steps
|
|
80
|
-
1. Verify current state before changes
|
|
81
|
-
2. Apply the change
|
|
82
|
-
3. Verify expected new state [EVIDENCE: state-name]
|
|
83
|
-
4. Test error/edge cases [EVIDENCE: error-case]
|
|
84
|
-
5. Verify rollback if applicable [EVIDENCE: rollback]
|
|
85
|
-
|
|
86
|
-
h3. Assertions
|
|
87
|
-
- Describe what must be true after verification
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### Guidelines for Drafting
|
|
91
|
-
|
|
92
|
-
1. **2-5 evidence markers** — Focus on proving the change works and handles errors
|
|
93
|
-
2. **Concrete, runnable steps** — "Run `curl -s localhost:3000/health | jq .status`" not "Check the endpoint"
|
|
94
|
-
3. **Include environment setup** — Database connection, running services, env vars
|
|
95
|
-
4. **Evidence names in kebab-case** — `api-response`, `schema-check`, `rate-limit-hit`
|
|
96
|
-
5. **Assertions are measurable** — "Returns 200 with `{status: ok}`" not "API works correctly"
|
|
97
|
-
6. **Cover happy path and error path** — At minimum, one success and one failure evidence marker
|
|
98
|
-
|
|
99
|
-
### Step 6: Present to User for Approval
|
|
100
|
-
|
|
101
|
-
Display the drafted Validation Journey to the user and ask for confirmation before appending it to the ticket.
|
|
102
|
-
|
|
103
|
-
### Step 7: Append to Ticket Description
|
|
104
|
-
|
|
105
|
-
After user approval, use the JIRA REST API to append the Validation Journey to the existing ticket description.
|
|
106
|
-
|
|
107
|
-
### Step 8: Verify
|
|
108
|
-
|
|
109
|
-
Run the parser again to confirm the journey was added correctly:
|
|
110
|
-
|
|
111
|
-
```bash
|
|
112
|
-
python3 .claude/skills/jira-journey/scripts/parse-plan.py <TICKET_ID>
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
## When to Use This Skill
|
|
116
|
-
|
|
117
|
-
- Ticket was created before the Validation Journey convention was established
|
|
118
|
-
- Ticket was created manually without following `jira-create` guidelines
|
|
119
|
-
- Ticket needs a journey added or updated based on implementation progress
|
|
120
|
-
- Before starting work on a ticket, to ensure verification steps are documented
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: jira-create
|
|
3
|
-
description: This skill should be used when creating JIRA epics, stories, and tasks from code files or descriptions. It analyzes the provided input, determines the appropriate issue hierarchy, and creates issues with comprehensive quality requirements including test-first development and documentation.
|
|
4
|
-
allowed-tools: ["Read", "Glob", "LS", "mcp__atlassian__createJiraIssue", "mcp__atlassian__getVisibleJiraProjects", "mcp__atlassian__getJiraProjectIssueTypesMetadata", "mcp__atlassian__getAccessibleAtlassianResources"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Create JIRA Issues from $ARGUMENTS
|
|
8
|
-
|
|
9
|
-
Analyze the provided file(s) and create a comprehensive JIRA hierarchy with all mandatory quality gates.
|
|
10
|
-
|
|
11
|
-
## Process
|
|
12
|
-
|
|
13
|
-
1. **Analyze**: Read $ARGUMENTS to understand scope
|
|
14
|
-
2. **Determine Structure**:
|
|
15
|
-
- Epic needed if: multiple features, major changes, >3 related files
|
|
16
|
-
- Direct tasks if: bug fix, single file, minor change
|
|
17
|
-
3. **Create Issues** with hierarchy:
|
|
18
|
-
```
|
|
19
|
-
Epic → User Story → Tasks (test, implement, document, cleanup)
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Mandatory for Every Code Issue
|
|
23
|
-
|
|
24
|
-
**Test-First**: Write tests before implementation
|
|
25
|
-
**Quality Gates**: All tests/checks must pass, no SonarCloud violations
|
|
26
|
-
**Documentation**: Check existing, update/create new, remove obsolete
|
|
27
|
-
**Cleanup**: Remove temporary code, scripts, dev configs
|
|
28
|
-
|
|
29
|
-
## Validation Journey
|
|
30
|
-
|
|
31
|
-
Tickets that change runtime behavior should include a `Validation Journey` section in the description. This section is consumed by the `jira-journey` skill to automate verification.
|
|
32
|
-
|
|
33
|
-
### When to Include
|
|
34
|
-
|
|
35
|
-
Include a Validation Journey when the ticket involves:
|
|
36
|
-
- API endpoint changes (new, modified, or removed routes)
|
|
37
|
-
- Database schema changes (migrations, new columns, index changes)
|
|
38
|
-
- Background job or queue processing changes
|
|
39
|
-
- Library or utility function changes that affect exports
|
|
40
|
-
- Security fixes (authentication, authorization, input validation)
|
|
41
|
-
- Performance-critical changes requiring measurement
|
|
42
|
-
|
|
43
|
-
### When to Skip
|
|
44
|
-
|
|
45
|
-
Skip the Validation Journey for:
|
|
46
|
-
- Documentation-only changes
|
|
47
|
-
- Config-only changes (env vars, CI/CD, feature flags with no code)
|
|
48
|
-
- Type-definition-only changes (interfaces, types, no runtime effect)
|
|
49
|
-
|
|
50
|
-
### How to Write
|
|
51
|
-
|
|
52
|
-
Design the journey based on the **change type**. The agent executing the journey determines how to verify each step using patterns from the project's `verfication.md`. Place `[EVIDENCE: name]` markers at key verification points.
|
|
53
|
-
|
|
54
|
-
Add this section to the ticket description:
|
|
55
|
-
|
|
56
|
-
```text
|
|
57
|
-
h2. Validation Journey
|
|
58
|
-
|
|
59
|
-
h3. Prerequisites
|
|
60
|
-
- Local dev server running
|
|
61
|
-
- Database accessible
|
|
62
|
-
- Required environment variables set
|
|
63
|
-
|
|
64
|
-
h3. Steps
|
|
65
|
-
1. Verify the current state before changes
|
|
66
|
-
2. Apply the change (run migration, deploy, etc.)
|
|
67
|
-
3. Verify the expected new state [EVIDENCE: state-after-change]
|
|
68
|
-
4. Test error/edge cases [EVIDENCE: error-handling]
|
|
69
|
-
5. Verify rollback or cleanup if applicable [EVIDENCE: rollback-check]
|
|
70
|
-
|
|
71
|
-
h3. Assertions
|
|
72
|
-
- Describe what must be true after verification
|
|
73
|
-
- Each assertion is verified against the captured evidence
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### Guidelines
|
|
77
|
-
|
|
78
|
-
1. **Steps must be concrete and verifiable** — "Run `curl -s localhost:3000/health`" not "Check the API"
|
|
79
|
-
2. **Evidence markers at verification points** — Place `[EVIDENCE: name]` at states that prove the change works. Use descriptive kebab-case names (e.g., `api-response`, `schema-check`, `rate-limit-hit`)
|
|
80
|
-
3. **Include 2-5 evidence markers** — Enough to prove the change works across happy path and error cases
|
|
81
|
-
4. **Assertions are testable statements** — "Health check returns 200 with status ok" not "API works"
|
|
82
|
-
5. **Prerequisites include environment setup** — Database connection, env vars, running services
|
|
83
|
-
|
|
84
|
-
## Issue Requirements
|
|
85
|
-
|
|
86
|
-
Each issue must clearly communicate to:
|
|
87
|
-
|
|
88
|
-
- **Coding Assistants**: Implementation requirements
|
|
89
|
-
- **Developers**: Technical approach
|
|
90
|
-
- **Stakeholders**: Business value
|
|
91
|
-
|
|
92
|
-
Default project: from jira-cli config (override via arguments)
|
|
93
|
-
Exclude unless requested: migration plans, performance tests
|
|
94
|
-
|
|
95
|
-
Execute the analysis and create the complete JIRA structure with proper parent-child relationships.
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: jira-evidence
|
|
3
|
-
description: "Upload text evidence to GitHub pr-assets release, update PR description, post JIRA comment with code blocks, and move ticket to Code Review. Reusable by any skill that captures evidence and generates evidence/comment.txt + evidence/comment.md."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# JIRA Evidence Posting
|
|
7
|
-
|
|
8
|
-
Upload captured evidence and generated templates to GitHub PR description and JIRA ticket. This skill is the posting step — it assumes evidence files and comment templates already exist in the evidence directory.
|
|
9
|
-
|
|
10
|
-
## Arguments
|
|
11
|
-
|
|
12
|
-
`$ARGUMENTS`: `<TICKET_ID> <EVIDENCE_DIR> <PR_NUMBER>`
|
|
13
|
-
|
|
14
|
-
- `TICKET_ID` (required): JIRA ticket key (e.g., `PROJ-123`)
|
|
15
|
-
- `EVIDENCE_DIR` (required): Directory containing evidence and templates (e.g., `./evidence`)
|
|
16
|
-
- `PR_NUMBER` (required): GitHub PR number to update description
|
|
17
|
-
|
|
18
|
-
## Prerequisites
|
|
19
|
-
|
|
20
|
-
- `JIRA_API_TOKEN` environment variable set
|
|
21
|
-
- `jira-cli` configured (`~/.config/.jira/.config.yml`) — server and login are read from there
|
|
22
|
-
- `gh` CLI authenticated
|
|
23
|
-
- Evidence directory containing:
|
|
24
|
-
- `NN-name.txt` or `NN-name.json` text evidence files (e.g., `01-health-check.json`)
|
|
25
|
-
- `comment.txt` — JIRA wiki markup (generated by `generate-templates.py`)
|
|
26
|
-
- `comment.md` — GitHub markdown (generated by `generate-templates.py`)
|
|
27
|
-
|
|
28
|
-
## Usage
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
bash .claude/skills/jira-evidence/scripts/post-evidence.sh <TICKET_ID> <EVIDENCE_DIR> <PR_NUMBER>
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### Example
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
bash .claude/skills/jira-evidence/scripts/post-evidence.sh PROJ-123 ./evidence 42
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## What It Does
|
|
41
|
-
|
|
42
|
-
1. **Read JIRA config** — Reads `~/.config/.jira/.config.yml` to obtain `server` and `login` dynamically
|
|
43
|
-
2. **Upload to GitHub `pr-assets` release** — Uploads evidence files via `gh release upload --clobber`
|
|
44
|
-
3. **Update PR description** — Replaces or appends the `## Evidence` section in the PR body
|
|
45
|
-
4. **Post JIRA comment** — Posts `comment.txt` as a new comment (wiki markup with code blocks)
|
|
46
|
-
5. **Move ticket to Code Review** — Transitions the JIRA ticket
|
|
47
|
-
|
|
48
|
-
## Evidence Naming Convention
|
|
49
|
-
|
|
50
|
-
Text evidence files are named: `{NN}-{evidence-name}.txt` or `{NN}-{evidence-name}.json`
|
|
51
|
-
|
|
52
|
-
```text
|
|
53
|
-
evidence/
|
|
54
|
-
01-health-check.json uploaded
|
|
55
|
-
02-schema-after-migration.txt uploaded
|
|
56
|
-
03-rate-limit-response.txt uploaded
|
|
57
|
-
comment.txt used for JIRA comment
|
|
58
|
-
comment.md used for PR description
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## Troubleshooting
|
|
62
|
-
|
|
63
|
-
### Evidence not appearing in GitHub PR
|
|
64
|
-
|
|
65
|
-
Evidence files must be in the `pr-assets` GitHub release. If the release does not exist:
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
gh release create pr-assets --title "PR Assets" --notes "CDN for PR evidence"
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### JIRA API returns 403
|
|
72
|
-
|
|
73
|
-
Ensure `JIRA_API_TOKEN` is set and `login` in `~/.config/.jira/.config.yml` matches your Atlassian account email.
|