@codyswann/lisa 1.47.0 → 1.48.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.
Files changed (216) hide show
  1. package/all/copy-overwrite/.claude/rules/lisa.md +23 -10
  2. package/all/copy-overwrite/.claude/settings.json +10 -230
  3. package/all/deletions.json +67 -1
  4. package/cdk/copy-overwrite/.claude/settings.json +80 -0
  5. package/cdk/create-only/.github/workflows/ci.yml +1 -1
  6. package/cdk/create-only/.github/workflows/deploy.yml +1 -1
  7. package/dist/core/lisa.d.ts +14 -0
  8. package/dist/core/lisa.d.ts.map +1 -1
  9. package/dist/core/lisa.js +47 -0
  10. package/dist/core/lisa.js.map +1 -1
  11. package/expo/copy-overwrite/.claude/settings.json +80 -0
  12. package/expo/copy-overwrite/eslint.expo.ts +2 -2
  13. package/expo/create-only/.github/workflows/ci.yml +1 -1
  14. package/expo/create-only/.github/workflows/deploy.yml +1 -1
  15. package/expo/deletions.json +33 -0
  16. package/expo/package-lisa/package.lisa.json +2 -2
  17. package/nestjs/copy-overwrite/.claude/settings.json +80 -0
  18. package/nestjs/create-only/.github/workflows/ci.yml +1 -1
  19. package/nestjs/create-only/.github/workflows/deploy.yml +1 -1
  20. package/nestjs/deletions.json +8 -0
  21. package/package.json +8 -4
  22. package/rails/copy-overwrite/.claude/settings.json +80 -0
  23. package/rails/create-only/.github/workflows/ci.yml +1 -1
  24. package/rails/deletions.json +11 -1
  25. package/typescript/copy-overwrite/.claude/settings.json +13 -231
  26. package/typescript/copy-overwrite/.github/workflows/claude-ci-auto-fix.yml +1 -0
  27. package/typescript/copy-overwrite/.github/workflows/claude-code-review-response.yml +11 -10
  28. package/typescript/copy-overwrite/.github/workflows/claude-deploy-auto-fix.yml +1 -0
  29. package/typescript/copy-overwrite/.github/workflows/claude-nightly-code-complexity.yml +1 -0
  30. package/typescript/copy-overwrite/.github/workflows/claude-nightly-test-coverage.yml +1 -0
  31. package/typescript/copy-overwrite/.github/workflows/claude-nightly-test-improvement.yml +2 -0
  32. package/typescript/copy-overwrite/.github/workflows/claude.yml +1 -0
  33. package/typescript/copy-overwrite/eslint.typescript.ts +1 -1
  34. package/typescript/create-only/.github/workflows/ci.yml +1 -1
  35. package/typescript/deletions.json +12 -1
  36. package/typescript/package-lisa/package.lisa.json +1 -1
  37. package/all/copy-overwrite/.claude/agents/agent-architect.md +0 -310
  38. package/all/copy-overwrite/.claude/agents/architecture-specialist.md +0 -53
  39. package/all/copy-overwrite/.claude/agents/debug-specialist.md +0 -204
  40. package/all/copy-overwrite/.claude/agents/git-history-analyzer.md +0 -183
  41. package/all/copy-overwrite/.claude/agents/hooks-expert.md +0 -74
  42. package/all/copy-overwrite/.claude/agents/implementer.md +0 -54
  43. package/all/copy-overwrite/.claude/agents/learner.md +0 -44
  44. package/all/copy-overwrite/.claude/agents/performance-specialist.md +0 -95
  45. package/all/copy-overwrite/.claude/agents/product-specialist.md +0 -72
  46. package/all/copy-overwrite/.claude/agents/quality-specialist.md +0 -55
  47. package/all/copy-overwrite/.claude/agents/security-specialist.md +0 -58
  48. package/all/copy-overwrite/.claude/agents/skill-evaluator.md +0 -246
  49. package/all/copy-overwrite/.claude/agents/slash-command-architect.md +0 -87
  50. package/all/copy-overwrite/.claude/agents/test-specialist.md +0 -64
  51. package/all/copy-overwrite/.claude/agents/verification-specialist.md +0 -189
  52. package/all/copy-overwrite/.claude/agents/web-search-researcher.md +0 -112
  53. package/all/copy-overwrite/.claude/commands/git/commit-and-submit-pr.md +0 -7
  54. package/all/copy-overwrite/.claude/commands/git/commit-submit-pr-and-verify.md +0 -7
  55. package/all/copy-overwrite/.claude/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  56. package/all/copy-overwrite/.claude/commands/git/commit.md +0 -7
  57. package/all/copy-overwrite/.claude/commands/git/prune.md +0 -6
  58. package/all/copy-overwrite/.claude/commands/git/submit-pr.md +0 -7
  59. package/all/copy-overwrite/.claude/commands/jira/create.md +0 -7
  60. package/all/copy-overwrite/.claude/commands/jira/sync.md +0 -7
  61. package/all/copy-overwrite/.claude/commands/jira/verify.md +0 -7
  62. package/all/copy-overwrite/.claude/commands/lisa/review-implementation.md +0 -7
  63. package/all/copy-overwrite/.claude/commands/plan/add-test-coverage.md +0 -7
  64. package/all/copy-overwrite/.claude/commands/plan/create.md +0 -6
  65. package/all/copy-overwrite/.claude/commands/plan/execute.md +0 -7
  66. package/all/copy-overwrite/.claude/commands/plan/fix-linter-error.md +0 -7
  67. package/all/copy-overwrite/.claude/commands/plan/local-code-review.md +0 -6
  68. package/all/copy-overwrite/.claude/commands/plan/lower-code-complexity.md +0 -6
  69. package/all/copy-overwrite/.claude/commands/plan/reduce-max-lines-per-function.md +0 -7
  70. package/all/copy-overwrite/.claude/commands/plan/reduce-max-lines.md +0 -7
  71. package/all/copy-overwrite/.claude/commands/pull-request/review.md +0 -7
  72. package/all/copy-overwrite/.claude/commands/security/zap-scan.md +0 -6
  73. package/all/copy-overwrite/.claude/commands/sonarqube/check.md +0 -6
  74. package/all/copy-overwrite/.claude/commands/sonarqube/fix.md +0 -6
  75. package/all/copy-overwrite/.claude/commands/tasks/load.md +0 -7
  76. package/all/copy-overwrite/.claude/commands/tasks/sync.md +0 -7
  77. package/all/copy-overwrite/.claude/hooks/check-tired-boss.sh +0 -61
  78. package/all/copy-overwrite/.claude/hooks/debug-hook.sh +0 -47
  79. package/all/copy-overwrite/.claude/hooks/enforce-plan-rules.sh +0 -15
  80. package/all/copy-overwrite/.claude/hooks/notify-ntfy.sh +0 -183
  81. package/all/copy-overwrite/.claude/hooks/setup-jira-cli.sh +0 -52
  82. package/all/copy-overwrite/.claude/hooks/sync-tasks.sh +0 -107
  83. package/all/copy-overwrite/.claude/hooks/ticket-sync-reminder.sh +0 -23
  84. package/all/copy-overwrite/.claude/hooks/track-plan-sessions.sh +0 -164
  85. package/all/copy-overwrite/.claude/rules/coding-philosophy.md +0 -428
  86. package/all/copy-overwrite/.claude/rules/verfication.md +0 -541
  87. package/all/copy-overwrite/.claude/skills/agent-design-best-practices/SKILL.md +0 -219
  88. package/all/copy-overwrite/.claude/skills/git-commit/SKILL.md +0 -48
  89. package/all/copy-overwrite/.claude/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  90. package/all/copy-overwrite/.claude/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  91. package/all/copy-overwrite/.claude/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  92. package/all/copy-overwrite/.claude/skills/git-prune/SKILL.md +0 -35
  93. package/all/copy-overwrite/.claude/skills/git-submit-pr/SKILL.md +0 -44
  94. package/all/copy-overwrite/.claude/skills/jira-create/SKILL.md +0 -41
  95. package/all/copy-overwrite/.claude/skills/jira-sync/SKILL.md +0 -63
  96. package/all/copy-overwrite/.claude/skills/jira-verify/SKILL.md +0 -29
  97. package/all/copy-overwrite/.claude/skills/lisa-review-implementation/SKILL.md +0 -209
  98. package/all/copy-overwrite/.claude/skills/plan-add-test-coverage/SKILL.md +0 -44
  99. package/all/copy-overwrite/.claude/skills/plan-execute/SKILL.md +0 -89
  100. package/all/copy-overwrite/.claude/skills/plan-fix-linter-error/SKILL.md +0 -45
  101. package/all/copy-overwrite/.claude/skills/plan-local-code-review/SKILL.md +0 -88
  102. package/all/copy-overwrite/.claude/skills/plan-lower-code-complexity/SKILL.md +0 -44
  103. package/all/copy-overwrite/.claude/skills/plan-reduce-max-lines/SKILL.md +0 -45
  104. package/all/copy-overwrite/.claude/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  105. package/all/copy-overwrite/.claude/skills/pull-request-review/SKILL.md +0 -68
  106. package/all/copy-overwrite/.claude/skills/security-zap-scan/SKILL.md +0 -33
  107. package/all/copy-overwrite/.claude/skills/skill-creator/LICENSE.txt +0 -202
  108. package/all/copy-overwrite/.claude/skills/skill-creator/SKILL.md +0 -210
  109. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-312.pyc +0 -0
  110. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/init_skill.py +0 -305
  111. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/package_skill.py +0 -112
  112. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/quick_validate.py +0 -67
  113. package/all/copy-overwrite/.claude/skills/sonarqube-check/SKILL.md +0 -11
  114. package/all/copy-overwrite/.claude/skills/sonarqube-fix/SKILL.md +0 -8
  115. package/all/copy-overwrite/.claude/skills/tasks-load/SKILL.md +0 -88
  116. package/all/copy-overwrite/.claude/skills/tasks-sync/SKILL.md +0 -108
  117. package/eslint-plugin-code-organization/README.md +0 -149
  118. package/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +0 -473
  119. package/eslint-plugin-code-organization/index.js +0 -28
  120. package/eslint-plugin-code-organization/package.json +0 -10
  121. package/eslint-plugin-code-organization/rules/enforce-statement-order.js +0 -162
  122. package/expo/copy-overwrite/.claude/agents/ops-specialist.md +0 -124
  123. package/expo/copy-overwrite/.claude/rules/expo-verification.md +0 -261
  124. package/expo/copy-overwrite/.claude/skills/apollo-client/SKILL.md +0 -238
  125. package/expo/copy-overwrite/.claude/skills/apollo-client/references/mutation-patterns.md +0 -360
  126. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/SKILL.md +0 -360
  127. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/atomic-levels.md +0 -417
  128. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/folder-structure.md +0 -257
  129. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/gluestack-mapping.md +0 -233
  130. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +0 -329
  131. package/expo/copy-overwrite/.claude/skills/container-view-pattern/SKILL.md +0 -299
  132. package/expo/copy-overwrite/.claude/skills/container-view-pattern/references/examples.md +0 -749
  133. package/expo/copy-overwrite/.claude/skills/container-view-pattern/references/patterns.md +0 -318
  134. package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/create_component.py +0 -200
  135. package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/validate_component.py +0 -209
  136. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/SKILL.md +0 -268
  137. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/common-issues.md +0 -619
  138. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/file-extensions.md +0 -340
  139. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/platform-api.md +0 -276
  140. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +0 -416
  141. package/expo/copy-overwrite/.claude/skills/directory-structure/SKILL.md +0 -202
  142. package/expo/copy-overwrite/.claude/skills/directory-structure/scripts/validate_structure.py +0 -445
  143. package/expo/copy-overwrite/.claude/skills/expo-env-config/SKILL.md +0 -309
  144. package/expo/copy-overwrite/.claude/skills/expo-env-config/references/validation-patterns.md +0 -417
  145. package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/SKILL.md +0 -431
  146. package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/references/official-docs.md +0 -290
  147. package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/scripts/generate-route.py +0 -171
  148. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/SKILL.md +0 -411
  149. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/color-tokens.md +0 -343
  150. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/component-mapping.md +0 -307
  151. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/spacing-scale.md +0 -300
  152. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/scripts/validate_styling.py +0 -315
  153. package/expo/copy-overwrite/.claude/skills/local-state/SKILL.md +0 -362
  154. package/expo/copy-overwrite/.claude/skills/local-state/references/async-storage.md +0 -505
  155. package/expo/copy-overwrite/.claude/skills/local-state/references/persistence-patterns.md +0 -711
  156. package/expo/copy-overwrite/.claude/skills/local-state/references/reactive-variables.md +0 -446
  157. package/expo/copy-overwrite/.claude/skills/ops-browser-uat/SKILL.md +0 -124
  158. package/expo/copy-overwrite/.claude/skills/ops-check-logs/SKILL.md +0 -211
  159. package/expo/copy-overwrite/.claude/skills/ops-db-ops/SKILL.md +0 -119
  160. package/expo/copy-overwrite/.claude/skills/ops-deploy/SKILL.md +0 -119
  161. package/expo/copy-overwrite/.claude/skills/ops-monitor-errors/SKILL.md +0 -99
  162. package/expo/copy-overwrite/.claude/skills/ops-performance/SKILL.md +0 -165
  163. package/expo/copy-overwrite/.claude/skills/ops-run-local/SKILL.md +0 -166
  164. package/expo/copy-overwrite/.claude/skills/ops-verify-health/SKILL.md +0 -101
  165. package/expo/copy-overwrite/.claude/skills/owasp-zap/SKILL.md +0 -56
  166. package/expo/copy-overwrite/.claude/skills/playwright-selectors/SKILL.md +0 -223
  167. package/expo/copy-overwrite/.claude/skills/testing-library/SKILL.md +0 -314
  168. package/expo/copy-overwrite/.claude/skills/testing-library/references/async-patterns.md +0 -420
  169. package/expo/copy-overwrite/.claude/skills/testing-library/references/expo-router-testing.md +0 -556
  170. package/expo/copy-overwrite/.claude/skills/testing-library/references/mocking-patterns.md +0 -590
  171. package/expo/copy-overwrite/.claude/skills/testing-library/references/query-priority.md +0 -291
  172. package/expo/copy-overwrite/eslint-plugin-component-structure/README.md +0 -234
  173. package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/plugin-index.test.js +0 -89
  174. package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/require-memo-in-view.test.js +0 -201
  175. package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/single-component-per-file.test.js +0 -294
  176. package/expo/copy-overwrite/eslint-plugin-component-structure/index.js +0 -37
  177. package/expo/copy-overwrite/eslint-plugin-component-structure/package.json +0 -10
  178. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/enforce-component-structure.js +0 -235
  179. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/no-return-in-view.js +0 -96
  180. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/require-memo-in-view.js +0 -183
  181. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/single-component-per-file.js +0 -243
  182. package/expo/copy-overwrite/eslint-plugin-ui-standards/README.md +0 -192
  183. package/expo/copy-overwrite/eslint-plugin-ui-standards/index.js +0 -31
  184. package/expo/copy-overwrite/eslint-plugin-ui-standards/package.json +0 -10
  185. package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-classname-outside-ui.js +0 -56
  186. package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-direct-rn-imports.js +0 -60
  187. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/SKILL.md +0 -176
  188. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/advanced-features.md +0 -527
  189. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/project-patterns.md +0 -483
  190. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/quick-start.md +0 -257
  191. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/resolvers-mutations.md +0 -413
  192. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/types-scalars.md +0 -513
  193. package/nestjs/copy-overwrite/.claude/skills/nestjs-rules/SKILL.md +0 -536
  194. package/nestjs/copy-overwrite/.claude/skills/security-zap-scan/SKILL.md +0 -33
  195. package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/SKILL.md +0 -275
  196. package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/configuration-patterns.md +0 -487
  197. package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/entity-patterns.md +0 -450
  198. package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/observability-patterns.md +0 -536
  199. package/rails/copy-overwrite/.claude/skills/action-controller-best-practices/SKILL.md +0 -374
  200. package/rails/copy-overwrite/.claude/skills/action-view-best-practices/SKILL.md +0 -335
  201. package/rails/copy-overwrite/.claude/skills/active-record-model-best-practices/SKILL.md +0 -166
  202. package/rails/copy-overwrite/.claude/skills/plan-add-test-coverage/SKILL.md +0 -45
  203. package/rails/copy-overwrite/.claude/skills/plan-fix-linter-error/SKILL.md +0 -45
  204. package/rails/copy-overwrite/.claude/skills/plan-lower-code-complexity/SKILL.md +0 -48
  205. package/rails/copy-overwrite/.claude/skills/plan-reduce-max-lines/SKILL.md +0 -46
  206. package/rails/copy-overwrite/.claude/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  207. package/typescript/copy-overwrite/.claude/hooks/format-on-edit.sh +0 -76
  208. package/typescript/copy-overwrite/.claude/hooks/install-pkgs.sh +0 -64
  209. package/typescript/copy-overwrite/.claude/hooks/lint-on-edit.sh +0 -105
  210. package/typescript/copy-overwrite/.claude/hooks/sg-scan-on-edit.sh +0 -68
  211. package/typescript/copy-overwrite/.claude/skills/jsdoc-best-practices/SKILL.md +0 -432
  212. package/typescript/copy-overwrite/eslint-plugin-code-organization/README.md +0 -149
  213. package/typescript/copy-overwrite/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +0 -473
  214. package/typescript/copy-overwrite/eslint-plugin-code-organization/index.js +0 -28
  215. package/typescript/copy-overwrite/eslint-plugin-code-organization/package.json +0 -10
  216. package/typescript/copy-overwrite/eslint-plugin-code-organization/rules/enforce-statement-order.js +0 -162
@@ -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,41 +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
- **Feature Flags**: All features behind flags with lifecycle plan
28
- **Cleanup**: Remove temporary code, scripts, dev configs
29
-
30
- ## Issue Requirements
31
-
32
- Each issue must clearly communicate to:
33
-
34
- - **Coding Assistants**: Implementation requirements
35
- - **Developers**: Technical approach
36
- - **Stakeholders**: Business value
37
-
38
- Default project: SE (override via arguments)
39
- Exclude unless requested: migration plans, performance tests
40
-
41
- Execute the analysis and create the complete JIRA structure with proper parent-child relationships.
@@ -1,63 +0,0 @@
1
- ---
2
- name: jira-sync
3
- description: "Syncs plan progress to a linked JIRA ticket. Posts plan contents, progress updates, branch links, and PR links at key milestones. Use this skill throughout the plan lifecycle to keep tickets in sync."
4
- allowed-tools: ["mcp__atlassian__*", "Bash", "Read", "Glob", "Grep"]
5
- ---
6
-
7
- # JIRA Ticket Sync
8
-
9
- Sync current plan progress to JIRA ticket: $ARGUMENTS
10
-
11
- If no argument provided, search for a ticket URL in the active plan file (most recently modified `.md` in `plans/`).
12
-
13
- ## Workflow
14
-
15
- ### Step 1: Identify Ticket and Context
16
-
17
- 1. **Parse ticket ID** from `$ARGUMENTS` or extract from the active plan file
18
- 2. **Fetch current ticket state** via JIRA MCP (`mcp__atlassian__getJiraIssue`)
19
- 3. **Determine current milestone** by checking:
20
- - Does a plan file exist? → Plan created
21
- - Is there a working branch? → Implementation started
22
- - Are tasks in progress? → Active implementation
23
- - Is there an open PR? → PR ready for review
24
- - Is the PR merged? → Complete
25
-
26
- ### Step 2: Gather Update Content
27
-
28
- Based on the current milestone:
29
-
30
- | Milestone | Content to Post |
31
- |-----------|-----------------|
32
- | **Plan created** | Plan summary, branch name, link to PR (if draft exists) |
33
- | **Implementation in progress** | Task completion summary (X of Y tasks done), any blockers |
34
- | **PR ready** | PR link, summary of changes, test results |
35
- | **PR merged** | Final summary, suggest moving ticket to "Done" |
36
-
37
- ### Step 3: Post Update
38
-
39
- 1. **Add a comment** to the ticket with the gathered content via JIRA MCP
40
- 2. **Update ticket fields** if applicable:
41
- - Add branch name to a custom field or comment
42
- - Add PR link to a custom field or comment
43
- 3. **Report** what was synced to the user
44
-
45
- ### Step 4: Suggest Status Transition
46
-
47
- Based on the milestone, suggest (but don't automatically perform) a status transition:
48
-
49
- | Milestone | Suggested Status |
50
- |-----------|-----------------|
51
- | Plan created | "In Progress" |
52
- | PR ready | "In Review" |
53
- | PR merged | "Done" |
54
-
55
- ## Important Notes
56
-
57
- - **Never auto-transition ticket status** — always suggest and let the user confirm
58
- - **Idempotent updates** — running sync multiple times at the same milestone should not create duplicate comments
59
- - **Comment format** — use JIRA markdown with clear headers and bullet points
60
-
61
- ## Execution
62
-
63
- Sync the ticket now.
@@ -1,29 +0,0 @@
1
- ---
2
- name: jira-verify
3
- description: This skill should be used when verifying that a JIRA ticket meets organizational standards for epic relationships and description quality. It checks epic parent relationships and validates description completeness for coding assistants, developers, and stakeholders.
4
- allowed-tools: ["mcp__atlassian__getJiraIssue", "mcp__atlassian__searchJiraIssuesUsingJql", "mcp__atlassian__getAccessibleAtlassianResources"]
5
- ---
6
-
7
- # Verify JIRA Ticket: $ARGUMENTS
8
-
9
- Fetch ticket $ARGUMENTS and verify it meets organizational standards.
10
-
11
- ## Verification Checks
12
-
13
- ### 1. Epic Parent Relationship
14
-
15
- **Rule**: Non-bug, non-epic tickets MUST have an epic parent
16
-
17
- - If missing: Search filter 10089 (Epic Backlog) and suggest appropriate epics
18
-
19
- ### 2. Description Quality
20
-
21
- Verify description adequately addresses:
22
-
23
- **Coding Assistants**: Acceptance criteria, requirements, constraints, I/O
24
- **Developers**: Technical context, integration points, testing, edge cases
25
- **Stakeholders**: Business value, user impact, success metrics, summary
26
-
27
- ## Execute Verification
28
-
29
- Retrieve ticket details, run both checks, and provide specific improvement recommendations for any failures.