@codyswann/lisa 1.27.0 → 1.29.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 (38) hide show
  1. package/all/copy-overwrite/.claude/README.md +63 -37
  2. package/all/copy-overwrite/.claude/commands/jira/sync.md +7 -0
  3. package/all/copy-overwrite/.claude/commands/plan/add-test-coverage.md +0 -1
  4. package/all/copy-overwrite/.claude/commands/plan/create.md +3 -3
  5. package/all/copy-overwrite/.claude/commands/plan/fix-linter-error.md +0 -1
  6. package/all/copy-overwrite/.claude/commands/plan/implement.md +2 -2
  7. package/all/copy-overwrite/.claude/commands/plan/reduce-max-lines-per-function.md +0 -1
  8. package/all/copy-overwrite/.claude/commands/plan/reduce-max-lines.md +0 -1
  9. package/all/copy-overwrite/.claude/commands/security/zap-scan.md +6 -0
  10. package/all/copy-overwrite/.claude/hooks/ticket-sync-reminder.sh +20 -0
  11. package/all/copy-overwrite/.claude/rules/lisa.md +1 -1
  12. package/all/copy-overwrite/.claude/rules/plan.md +101 -39
  13. package/all/copy-overwrite/.claude/rules/verfication.md +3 -2
  14. package/all/copy-overwrite/.claude/settings.json +5 -0
  15. package/all/copy-overwrite/.claude/skills/git-commit/SKILL.md +0 -1
  16. package/all/copy-overwrite/.claude/skills/git-commit-and-submit-pr/SKILL.md +1 -2
  17. package/all/copy-overwrite/.claude/skills/git-submit-pr/SKILL.md +0 -1
  18. package/all/copy-overwrite/.claude/skills/jira-create/SKILL.md +0 -1
  19. package/all/copy-overwrite/.claude/skills/jira-sync/SKILL.md +63 -0
  20. package/all/copy-overwrite/.claude/skills/jira-verify/SKILL.md +0 -1
  21. package/all/copy-overwrite/.claude/skills/lisa-review-implementation/SKILL.md +0 -1
  22. package/all/copy-overwrite/.claude/skills/plan-add-test-coverage/SKILL.md +12 -22
  23. package/all/copy-overwrite/.claude/skills/plan-create/SKILL.md +173 -0
  24. package/all/copy-overwrite/.claude/skills/plan-fix-linter-error/SKILL.md +13 -31
  25. package/all/copy-overwrite/.claude/skills/plan-implement/SKILL.md +25 -0
  26. package/all/copy-overwrite/.claude/skills/plan-lower-code-complexity/SKILL.md +11 -25
  27. package/all/copy-overwrite/.claude/skills/plan-reduce-max-lines/SKILL.md +11 -25
  28. package/all/copy-overwrite/.claude/skills/plan-reduce-max-lines-per-function/SKILL.md +11 -27
  29. package/all/copy-overwrite/.claude/skills/pull-request-review/SKILL.md +0 -1
  30. package/all/copy-overwrite/.claude/skills/security-zap-scan/SKILL.md +33 -0
  31. package/all/copy-overwrite/.claude/skills/sonarqube-fix/SKILL.md +1 -1
  32. package/all/copy-overwrite/.claude/skills/tasks-load/SKILL.md +0 -1
  33. package/all/copy-overwrite/.claude/skills/tasks-sync/SKILL.md +0 -1
  34. package/all/copy-overwrite/CLAUDE.md +0 -1
  35. package/all/deletions.json +23 -1
  36. package/nestjs/copy-overwrite/.claude/skills/security-zap-scan/SKILL.md +33 -0
  37. package/package.json +1 -1
  38. package/typescript/copy-overwrite/.claude/commands/security/zap-scan.md +0 -12
@@ -10,9 +10,9 @@ This directory contains Claude Code configuration files that customize AI-assist
10
10
  ├── settings.local.json # Local overrides (gitignored)
11
11
  ├── settings.local.json.example # Template for local settings
12
12
  ├── agents/ # Custom agent definitions
13
- ├── commands/ # Slash command definitions
14
13
  ├── hooks/ # Automation hooks
15
- └── skills/ # Skill definitions
14
+ ├── rules/ # Always-on governance rules
15
+ └── skills/ # Skill definitions (colon-namespaced)
16
16
  ```
17
17
 
18
18
  ## Settings
@@ -109,31 +109,52 @@ Custom agent definitions in `agents/` provide specialized AI personas for differ
109
109
  | `slash-command-architect.md` | Command design |
110
110
  | `web-search-researcher.md` | Web research tasks |
111
111
 
112
- ## Commands
112
+ ## Skills
113
113
 
114
- Slash commands in `commands/` provide quick actions:
114
+ Skills use colon-namespaced directories (e.g., `plan:create/`) and are invoked via `/skill-name` in Claude Code.
115
115
 
116
- - `git/` - Git-related commands
117
- - `jira/` - Jira integration commands
118
- - `plan/` - Plan utility commands (test coverage, linting, code review, complexity)
119
- - `pull-request/` - PR workflow commands
120
- - `rules/` - Rule management commands
121
- - `sonarqube/` - Code quality commands
116
+ ### Plan Skills
122
117
 
123
- ## Skills
118
+ | Skill | Purpose |
119
+ |-------|---------|
120
+ | `plan:create` | Create implementation plans from ticket URLs, file paths, or text descriptions |
121
+ | `plan:implement` | Execute an existing plan with an Agent Team |
122
+ | `plan:add-test-coverage` | Increase test coverage to a target threshold |
123
+ | `plan:fix-linter-error` | Fix all violations of specific ESLint rules |
124
+ | `plan:local-code-review` | Review local branch changes against main |
125
+ | `plan:lower-code-complexity` | Reduce cognitive complexity threshold |
126
+ | `plan:reduce-max-lines` | Reduce max file lines threshold |
127
+ | `plan:reduce-max-lines-per-function` | Reduce max function lines threshold |
128
+
129
+ ### Git Skills
124
130
 
125
- Skills in `skills/` provide domain-specific knowledge:
131
+ | Skill | Purpose |
132
+ |-------|---------|
133
+ | `git:commit` | Create conventional commits for current changes |
134
+ | `git:commit-and-submit-pr` | Commit changes and create/update a pull request |
135
+ | `git:submit-pr` | Push changes and create or update a pull request |
136
+ | `git:prune` | Prune local branches deleted on remote |
137
+
138
+ ### Integration Skills
126
139
 
127
140
  | Skill | Purpose |
128
141
  |-------|---------|
129
- | `jsdoc-best-practices/` | JSDoc documentation standards |
130
- | `skill-creator/` | Creating new skills |
131
- | `plan-add-test-coverage/` | Increase test coverage via plan mode |
132
- | `plan-fix-linter-error/` | Fix ESLint violations via plan mode |
133
- | `plan-local-code-review/` | Review local branch changes |
134
- | `plan-lower-code-complexity/` | Reduce cognitive complexity via plan mode |
135
- | `plan-reduce-max-lines/` | Reduce max file lines via plan mode |
136
- | `plan-reduce-max-lines-per-function/` | Reduce max function lines via plan mode |
142
+ | `jira:create` | Create JIRA epics, stories, and tasks |
143
+ | `jira:verify` | Verify JIRA ticket meets organizational standards |
144
+ | `jira:sync` | Sync plan progress to linked JIRA tickets |
145
+ | `sonarqube:check` | Check SonarQube/SonarCloud quality gate failures |
146
+ | `sonarqube:fix` | Fix SonarQube quality gate failures |
147
+ | `pull-request:review` | Check and implement PR review comments |
148
+ | `security:zap-scan` | Run OWASP ZAP baseline security scan |
149
+
150
+ ### Utility Skills
151
+
152
+ | Skill | Purpose |
153
+ |-------|---------|
154
+ | `tasks:load` | Load tasks from project directory into session |
155
+ | `tasks:sync` | Export session tasks to project directory |
156
+ | `skill-creator` | Guide for creating new skills |
157
+ | `jsdoc-best-practices` | JSDoc documentation standards |
137
158
 
138
159
  See each skill's `SKILL.md` for detailed documentation.
139
160
 
@@ -141,31 +162,36 @@ See each skill's `SKILL.md` for detailed documentation.
141
162
 
142
163
  ### Adding Custom Skills
143
164
 
165
+ Skills contain implementation logic and use hyphen-separated naming:
166
+
144
167
  ```bash
145
- mkdir -p .claude/skills/my-skill
146
- cat > .claude/skills/my-skill/SKILL.md << 'EOF'
147
- # My Skill
168
+ mkdir -p .claude/skills/my-namespace-my-skill
169
+ cat > .claude/skills/my-namespace-my-skill/SKILL.md << 'EOF'
170
+ ---
171
+ name: my-namespace-my-skill
172
+ description: "What this skill does"
173
+ ---
148
174
 
149
- ## When to Use
150
- - Situation 1
151
- - Situation 2
175
+ # My Skill
152
176
 
153
- ## Instructions
154
- Step-by-step guidance...
177
+ Instructions for the skill...
155
178
  EOF
156
179
  ```
157
180
 
158
181
  ### Adding Custom Commands
159
182
 
183
+ Commands are user-facing pass-throughs to skills. Directory nesting creates colon-separated names in the UI (e.g., `my-namespace/my-skill.md` becomes `/my-namespace:my-skill`):
184
+
160
185
  ```bash
161
- mkdir -p .claude/commands/my-category
162
- cat > .claude/commands/my-category/my-command.md << 'EOF'
186
+ mkdir -p .claude/commands/my-namespace
187
+ cat > .claude/commands/my-namespace/my-skill.md << 'EOF'
163
188
  ---
164
- name: my-command
165
- description: What this command does
189
+ description: "What this command does"
190
+ allowed-tools: ["Skill"]
191
+ argument-hint: "<arguments>"
166
192
  ---
167
193
 
168
- Instructions for the command...
194
+ Use the /my-namespace-my-skill skill to do the thing. $ARGUMENTS
169
195
  EOF
170
196
  ```
171
197
 
@@ -201,8 +227,8 @@ EOF
201
227
  2. Check marketplace access if using marketplace plugins
202
228
  3. Review Claude Code logs for plugin errors
203
229
 
204
- ### Commands Not Found
230
+ ### Skills Not Found
205
231
 
206
- 1. Ensure command file has correct frontmatter format
207
- 2. Restart Claude Code to reload commands
208
- 3. Check for syntax errors in command definition
232
+ 1. Ensure skill directory contains a `SKILL.md` file with correct frontmatter
233
+ 2. Restart Claude Code to reload skills
234
+ 3. Check for syntax errors in skill definition
@@ -0,0 +1,7 @@
1
+ ---
2
+ description: "Sync plan progress to a linked JIRA ticket"
3
+ allowed-tools: ["Skill"]
4
+ argument-hint: "<ticket-id>"
5
+ ---
6
+
7
+ Use the /jira-sync skill to sync plan progress to the linked JIRA ticket. $ARGUMENTS
@@ -2,7 +2,6 @@
2
2
  description: "Increase test coverage to a specified threshold percentage"
3
3
  allowed-tools: ["Skill"]
4
4
  argument-hint: "<threshold-percentage>"
5
-
6
5
  ---
7
6
 
8
7
  Use the /plan-add-test-coverage skill to increase test coverage. $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
- description: "Creates an implementation plan for the given prompt"
3
- argument-hint: "[request]"
2
+ description: "Creates an implementation plan from a ticket URL, file path, or text description"
3
+ argument-hint: "<ticket-url | @file-path | description>"
4
4
  ---
5
5
 
6
- Use plan mode to create a plan for $ARGUMENTS
6
+ Use the /plan-create skill to create an implementation plan for $ARGUMENTS
@@ -2,7 +2,6 @@
2
2
  description: "Fix all violations of one or more ESLint rules across the codebase"
3
3
  allowed-tools: ["Skill"]
4
4
  argument-hint: "<rule-1> [rule-2] [rule-3] ..."
5
-
6
5
  ---
7
6
 
8
7
  Use the /plan-fix-linter-error skill to fix linter errors. $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: "Implement a plan"
3
- argument-hint: "[plan-file]"
3
+ argument-hint: "<plan-file>"
4
4
  ---
5
5
 
6
- Implement the requirements in $ARGUMENTS
6
+ Use the /plan-implement skill to implement the plan. $ARGUMENTS
@@ -2,7 +2,6 @@
2
2
  description: "Reduce max lines per function threshold and fix violations"
3
3
  allowed-tools: ["Skill"]
4
4
  argument-hint: "<max-lines-per-function-value>"
5
-
6
5
  ---
7
6
 
8
7
  Use the /plan-reduce-max-lines-per-function skill to reduce max function lines. $ARGUMENTS
@@ -2,7 +2,6 @@
2
2
  description: "Reduce max file lines threshold and fix violations"
3
3
  allowed-tools: ["Skill"]
4
4
  argument-hint: "<max-lines-value>"
5
-
6
5
  ---
7
6
 
8
7
  Use the /plan-reduce-max-lines skill to reduce max lines. $ARGUMENTS
@@ -0,0 +1,6 @@
1
+ ---
2
+ description: "Run an OWASP ZAP baseline security scan locally using Docker"
3
+ allowed-tools: ["Skill"]
4
+ ---
5
+
6
+ Use the /security-zap-scan skill to run an OWASP ZAP baseline security scan.
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env bash
2
+ # Ticket sync reminder hook
3
+ # Runs on TaskUpdate to remind about updating linked tickets
4
+ # Non-blocking (exit 0) - this is a reminder, not enforcement
5
+
6
+ PLANS_DIR="${CLAUDE_PROJECT_DIR}/plans"
7
+
8
+ # Find the active plan file (most recently modified .md in plans/)
9
+ ACTIVE_PLAN=$(find "$PLANS_DIR" -maxdepth 1 -name "*.md" -type f 2>/dev/null | head -1)
10
+
11
+ if [ -z "$ACTIVE_PLAN" ]; then
12
+ exit 0
13
+ fi
14
+
15
+ # Check if the plan contains a ticket URL (JIRA, Linear, GitHub Issues)
16
+ if grep -qiE "(https?://.*(atlassian|jira|linear|github\.com/.*/issues))" "$ACTIVE_PLAN" 2>/dev/null; then
17
+ echo "REMINDER: This plan is linked to a ticket. Consider running /jira:sync to update the ticket with current progress."
18
+ fi
19
+
20
+ exit 0
@@ -26,7 +26,7 @@ The following files are managed by Lisa and will be overwritten on every `lisa`
26
26
  - `tsconfig.base.json`, `tsconfig.typescript.json`, `tsconfig.expo.json`, `tsconfig.nestjs.json`, `tsconfig.cdk.json`
27
27
  - `tsconfig.eslint.json`, `tsconfig.build.json`, `tsconfig.spec.json`
28
28
  - `eslint-plugin-code-organization/*`, `eslint-plugin-component-structure/*`, `eslint-plugin-ui-standards/*`
29
- - `.claude/settings.json`, `.claude/hooks/*`, `.claude/skills/*`, `.claude/commands/*`, `.claude/agents/*`
29
+ - `.claude/settings.json`, `.claude/hooks/*`, `.claude/skills/*` (hyphen-named, e.g. `plan-create`), `.claude/commands/*`, `.claude/agents/*`
30
30
  - `.claude/README.md`, `.claude/REFERENCE.md`
31
31
  - `.github/workflows/quality.yml`, `.github/workflows/release.yml`, `.github/workflows/claude.yml`
32
32
  - `.github/workflows/build.yml`, `.github/workflows/lighthouse.yml` (Expo)
@@ -1,46 +1,88 @@
1
1
  # Plan Mode Rules
2
2
 
3
- These rules are enforced whenever Claude is in plan mode. They are loaded at session start via `.claude/rules/` and reinforced on every prompt via the `enforce-plan-rules.sh` `UserPromptSubmit` hook.
3
+ These rules are enforced whenever Claude is in plan mode. Loaded at session start via `.claude/rules/` and reinforced on every prompt via the `enforce-plan-rules.sh` `UserPromptSubmit` hook.
4
4
 
5
5
  ## Required Behaviors
6
6
 
7
7
  When making a plan:
8
8
 
9
- - Always determine which skills should be used during execution of the plan and include them in the plan
10
- - Always make sure you understand the correct versions of third party libraries
11
- - Always look for code that can be reused for implementation
12
- - The plan MUST include written instructions to create a task list using TaskCreate for each task (following the Task Creation Specification below). The list should contain items related to the plan and specify that subagents should handle as many in parallel as possible. The following should always be included in the task list:
13
- - (unless the plan includes only trivial changes) a task to be run after implementation to review the code with CodeRabbit
14
- - (unless the plan includes only trivial changes) a task to be run after implementation to review the code with /plan-local-code-review
15
- - (unless the plan includes only trivial changes) a task to be run after all code review to implement valid review suggestions
16
- - (unless the plan includes only trivial changes) a task to be run after code review implementation to simplify the implemented code with code simplifier agent
17
- - (unless the plan includes only trivial changes) a task to be run after code review implementation to update/add/remove tests, containing the tests that need to get updated, added or removed
18
- - (unless the plan includes only trivial changes) a task to be run after code review implementation to update/add/remove documentation (jsdocs, markdown files, etc), containing the documentation that need to get updated, added or removed
19
- - (unless the plan includes only trivial changes) a task to be run after code review implementation to verify all of the verification metadata in existing tasks
20
- - a task to be run after all other tasks have been completed to archive the plan. This task should explcitly say to:
21
- - create a folder named <plan-name> in ./plans/completed
22
- - rename this plan to a name befitting the actual plan contents
23
- - move it into ./plans/completed/<plan-name>
24
- - read the session ids from ./plans/completed/<plan-name>
25
- - For each session id, move the ~/.claude/tasks/<session-id> directory to ./plans/completed/<plan-name>/tasks
26
- - Update any "in_progress" task in ./plans/completed/<plan-name>/tasks to "completed"
27
- - commit changes.
28
- - push changes to the PR
29
- - If you're on a protected branch (dev, staging, main), create a new branch named based on the nature of the project and include in the plan pull requests should go to the protected branch you bracnehd from.
30
- - If you're on a non-protected branch with an open pull request, submit pushes to the open pull request
31
- - If you're on a non-protected branch with no existing PR, clarify which protected branch to open the pull request to.
32
- - If referencing a ticket (jira, linear, etc), always include the ticket url in your plan
33
- - If referencing a ticket (jira, linear, etc), always update the ticket with the branch you're working off of
34
- - If referencing a ticket (jira, linear, etc), always add a comment to the ticket with the finalized plan
9
+ - Determine which skills are needed and include them in the plan
10
+ - Verify correct versions of third-party libraries
11
+ - Look for reusable code
12
+ - If a decision is left unresolved by the human, use the recommended option
13
+ - The plan MUST include TaskCreate instructions for each task (following the Task Creation Specification below). Specify that subagents should handle as many tasks in parallel as possible.
14
+
15
+ ### Required Tasks
16
+
17
+ The following tasks are always required unless the plan includes only trivial changes:
18
+
19
+ - Product/UX review using `product-reviewer` agent (validate feature works from a non-technical perspective)
20
+ - CodeRabbit code review
21
+ - Local code review via `/plan-local-code-review`
22
+ - Technical review using `tech-reviewer` agent (beginner-friendly; correctness, security, performance)
23
+ - Implement valid review suggestions (run after all reviews complete)
24
+ - Simplify code using code simplifier agent (run after review implementation)
25
+ - Update/add/remove tests as needed (run after review implementation)
26
+ - Update/add/remove documentation -- JSDoc, markdown files, etc. (run after review implementation)
27
+ - Verify all verification metadata in existing tasks (run after review implementation)
28
+ - Collect learnings using `learner` agent (run after all reviews and simplification)
29
+
30
+ The following task is always required regardless of plan size:
31
+
32
+ - Archive the plan (run after all other tasks). This task must explicitly say to:
33
+ - Create a folder named `<plan-name>` in `./plans/completed`
34
+ - Rename the plan to reflect its actual contents
35
+ - Move it into `./plans/completed/<plan-name>`
36
+ - Read session IDs from `./plans/completed/<plan-name>`
37
+ - Move each `~/.claude/tasks/<session-id>` directory to `./plans/completed/<plan-name>/tasks`
38
+ - Update any "in_progress" task to "completed"
39
+ - Commit and push changes to the PR
40
+
41
+ ### Branch and PR Rules
42
+
43
+ - On a protected branch (dev, staging, main): create a new branch and target the PR to the protected branch you branched from
44
+ - On a non-protected branch with an open PR: push to the existing PR
45
+ - On a non-protected branch with no PR: clarify which protected branch to target
35
46
  - Open a draft pull request
36
- - Include the branch name and pull request in the plan
47
+ - Include the branch name and PR link in the plan
37
48
 
38
- IMPORTANT:
39
- - The `## Sessions` section in plan files is auto-maintained by the `track-plan-sessions.sh` hook — do not manually edit it
49
+ ### Ticket Integration
40
50
 
41
- ## Task Creation Specification
51
+ When referencing a ticket (JIRA, Linear, etc.):
52
+
53
+ - Include the ticket URL in the plan
54
+ - Update the ticket with the working branch
55
+ - Add a comment on the ticket with the finalized plan
56
+
57
+ NOTE: Do NOT include a separate task for linting, type-checking, or formatting. These are handled automatically by PostToolUse hooks (lint-on-edit.sh, format-on-edit.sh) and lint-staged pre-commit hooks (ESLint, Prettier, ast-grep).
58
+
59
+ IMPORTANT: The `## Sessions` section in plan files is auto-maintained by `track-plan-sessions.sh` -- do not manually edit it.
60
+
61
+ ## Git Workflow
62
+
63
+ Every plan follows this workflow to keep PRs clean:
64
+
65
+ 1. **First task:** Verify/create branch and open a draft PR (`gh pr create --draft`). No implementation before the draft PR exists.
66
+ 2. **During implementation:** Commits only, no pushes. Pre-commit hooks validate lint, format, and typecheck.
67
+ 3. **After archive task:** One final `git push`, then mark PR ready (`gh pr ready`), then enable auto-merge (`gh pr merge --auto --merge`).
68
+
69
+ ## Implementation Team Guidance
70
+
71
+ When plans spawn an Agent Team for implementation, recommend these specialized agents:
72
+
73
+ | Agent | Use For | Why |
74
+ |-------|---------|-----|
75
+ | `implementer` | Code implementation | Pre-loaded with project conventions, empirical verification |
76
+ | `tech-reviewer` | Technical review | Beginner-friendly findings; covers correctness, security, performance |
77
+ | `product-reviewer` | Product/UX review | Validates from non-technical perspective; runs feature empirically |
78
+ | `learner` | Post-implementation learning | Processes task learnings through `skill-evaluator` to create skills, add rules, or discard |
79
+ | `test-coverage-agent` | Writing tests | Specialized for comprehensive, meaningful test coverage |
80
+ | `code-simplifier` (plugin) | Code simplification | Simplifies and refines for clarity and maintainability |
81
+ | `coderabbit` (plugin) | CodeRabbit review | Automated AI code review |
42
82
 
43
- When plans include TaskCreate instructions, each task must use this format:
83
+ The **team lead** handles git operations (commits, pushes, PR management) -- teammates focus on their specialized work.
84
+
85
+ ## Task Creation Specification
44
86
 
45
87
  ### Parameters
46
88
 
@@ -55,19 +97,41 @@ Every task description must be a markdown document with these sections:
55
97
 
56
98
  **Description:** Clear description based on type (Bug: symptoms/root cause; Story: Gherkin Given/When/Then; Task: clear goal; Epic: goal with sub-tasks)
57
99
 
100
+ ### Type-Specific Requirements
101
+
102
+ When the plan type is determined, apply the corresponding requirements:
103
+
104
+ #### Bug
105
+ - **Replication step** (mandatory): Reproduce the bug empirically before any fix
106
+ - **Root cause analysis**: Identify why the bug occurs
107
+ - **Regression test**: Write a test that fails without the fix and passes with it
108
+ - **Verification**: Run the replication step again to confirm the fix
109
+
110
+ #### Story/Feature
111
+ - **UX review**: Product-reviewer agent validates from user perspective
112
+ - **Feature flag consideration**: Should this be behind a flag?
113
+ - **Documentation**: User-facing docs if applicable
114
+
115
+ #### Task
116
+ - **Standard implementation** with empirical verification
117
+
118
+ #### Epic
119
+ - **Decompose into sub-tasks** (Stories/Tasks/Bugs)
120
+ - **Each sub-task gets its own type-specific requirements**
121
+
58
122
  **Acceptance Criteria:** Checkbox list of completion criteria
59
123
 
60
- **Relevant Research:** Code references, patterns, architecture constraints extracted from research
124
+ **Relevant Research:** Code references, patterns, architecture constraints
61
125
 
62
- **Skills to Invoke:** `/coding-philosophy` is always required, plus other applicable skills
126
+ **Skills to Invoke:** List applicable skills (coding-philosophy is auto-loaded as a rule)
63
127
 
64
128
  **Implementation Details:** Files to modify, functions to implement, edge cases
65
129
 
66
- **Testing Requirements:** Unit tests (with `describe/it` structure), Integration tests, E2E tests (or "N/A")
130
+ **Testing Requirements:** Unit tests (with `describe/it` structure), integration tests, E2E tests (or "N/A")
67
131
 
68
132
  **Verification:** Every task MUST have empirical verification (see `verfication.md` for types). Include: verification type, proof command, and expected output.
69
133
 
70
- **Learnings:** On task completion, use `TaskUpdate` to save discoveries: `metadata: { learnings: ["Learning 1", ...] }`
134
+ **Learnings:** On completion, use `TaskUpdate` to save discoveries: `metadata: { learnings: ["Learning 1", ...] }`
71
135
 
72
136
  ### Metadata
73
137
 
@@ -75,7 +139,7 @@ Every task description must be a markdown document with these sections:
75
139
  {
76
140
  "plan": "<plan-name>",
77
141
  "type": "bug|task|epic|story",
78
- "skills": ["/coding-philosophy", ...],
142
+ "skills": ["..."],
79
143
  "verification": {
80
144
  "type": "test|ui-recording|test-coverage|api-test|manual-check|documentation",
81
145
  "command": "the proof command",
@@ -87,5 +151,3 @@ Every task description must be a markdown document with these sections:
87
151
  ### Task Sizing
88
152
 
89
153
  Each task must be small enough to have a **single, specific verification**. Ask: "Can I prove this is done with ONE command?" Split tasks that require multiple verifications.
90
-
91
-
@@ -1,6 +1,6 @@
1
1
  # Empirical Verification
2
2
 
3
- Every task requires a **proof command** - a single command that empirically demonstrates the work is done.
3
+ Every task and plan requires a **proof command** - a single command that empirically demonstrates the work is done.
4
4
 
5
5
  ## Core Principle
6
6
 
@@ -13,7 +13,7 @@ Never assume something works because the code "looks correct." Run a command, ob
13
13
  | `test` | Unit/integration tests | `npm test -- path/to/file.spec.ts` |
14
14
  | `api-test` | API endpoints | `curl -s localhost:3000/api/endpoint` |
15
15
  | `test-coverage` | Coverage thresholds | `npm run test:cov -- --collectCoverageFrom=...` |
16
- | `ui-recording` | UI changes | Playwright/Cypress test |
16
+ | `ui-recording` | UI changes | Start local server; recorded session with Playwright/Maestro/Chrome Browser |
17
17
  | `documentation` | Doc changes | `grep "expected" path/to/doc.md` |
18
18
  | `manual-check` | Config/setup | `cat config.json \| jq '.setting'` |
19
19
 
@@ -23,6 +23,7 @@ Never assume something works because the code "looks correct." Run a command, ob
23
23
  2. **Compare output** to expected result
24
24
  3. **If verification fails**: Fix and re-run, don't mark complete
25
25
  4. **If verification blocked** (missing Docker, services, etc.): Mark as blocked, not complete
26
+ 5. **Must not be dependent on CI/CD** if necessary, you may use local deploy methods found in `package.json`, but the verification methods must be listed in the pull request and therefore cannot be dependent on CI/CD completing
26
27
 
27
28
  ## Example
28
29
 
@@ -50,6 +50,11 @@
50
50
  "type": "command",
51
51
  "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/sync-tasks.sh",
52
52
  "timeout": 10
53
+ },
54
+ {
55
+ "type": "command",
56
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/ticket-sync-reminder.sh",
57
+ "timeout": 5
53
58
  }
54
59
  ]
55
60
  }
@@ -2,7 +2,6 @@
2
2
  name: git-commit
3
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
4
  allowed-tools: ["Bash"]
5
- argument-hint: "[commit-message-hint]"
6
5
  ---
7
6
 
8
7
  # Git Commit Workflow
@@ -1,8 +1,7 @@
1
1
  ---
2
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.
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
4
  allowed-tools: ["Bash"]
5
- argument-hint: "[commit-message-hint]"
6
5
  ---
7
6
 
8
7
  1. Run /git-commit $ARGUMENTS
@@ -2,7 +2,6 @@
2
2
  name: git-submit-pr
3
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
4
  allowed-tools: ["Bash", "mcp__github__create_pull_request", "mcp__github__get_pull_request", "mcp__github__update_pull_request"]
5
- argument-hint: "[pr-title-or-description-hint]"
6
5
  ---
7
6
 
8
7
  # Submit Pull Request Workflow
@@ -2,7 +2,6 @@
2
2
  name: jira-create
3
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
4
  allowed-tools: ["Read", "Glob", "LS", "mcp__atlassian__createJiraIssue", "mcp__atlassian__getVisibleJiraProjects", "mcp__atlassian__getJiraProjectIssueTypesMetadata", "mcp__atlassian__getAccessibleAtlassianResources"]
5
- argument-hint: "<file-or-directory-path> [project-key]"
6
5
  ---
7
6
 
8
7
  # Create JIRA Issues from $ARGUMENTS
@@ -0,0 +1,63 @@
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.
@@ -2,7 +2,6 @@
2
2
  name: jira-verify
3
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
4
  allowed-tools: ["mcp__atlassian__getJiraIssue", "mcp__atlassian__searchJiraIssuesUsingJql", "mcp__atlassian__getAccessibleAtlassianResources"]
5
- argument-hint: "<TICKET-ID>"
6
5
  ---
7
6
 
8
7
  # Verify JIRA Ticket: $ARGUMENTS
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: lisa-review-implementation
3
3
  description: This skill should be used when comparing a project's Lisa-managed files against Lisa's source templates to identify drift. It reads the project manifest, locates source templates, generates diffs for drifted files, and offers to upstream improvements back to Lisa.
4
- argument-hint: "[lisa-dir]"
5
4
  ---
6
5
 
7
6
  # Lisa Implementation Review