@codyswann/lisa 1.12.9 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/all/copy-overwrite/.claude/commands/git/commit-and-submit-pr.md +2 -3
- package/all/copy-overwrite/.claude/commands/git/commit.md +2 -43
- package/all/copy-overwrite/.claude/commands/git/prune.md +2 -30
- package/all/copy-overwrite/.claude/commands/git/submit-pr.md +2 -45
- package/all/copy-overwrite/.claude/commands/jira/create.md +2 -45
- package/all/copy-overwrite/.claude/commands/jira/verify.md +2 -29
- package/all/copy-overwrite/.claude/commands/lisa/review-implementation.md +4 -206
- package/all/copy-overwrite/.claude/commands/project/add-test-coverage.md +4 -53
- package/all/copy-overwrite/.claude/commands/project/archive.md +4 -6
- package/all/copy-overwrite/.claude/commands/project/bootstrap.md +4 -25
- package/all/copy-overwrite/.claude/commands/project/debrief.md +4 -40
- package/all/copy-overwrite/.claude/commands/project/document.md +4 -48
- package/all/copy-overwrite/.claude/commands/project/execute.md +4 -64
- package/all/copy-overwrite/.claude/commands/project/fix-linter-error.md +4 -62
- package/all/copy-overwrite/.claude/commands/project/implement.md +4 -35
- package/all/copy-overwrite/.claude/commands/project/local-code-review.md +4 -85
- package/all/copy-overwrite/.claude/commands/project/lower-code-complexity.md +3 -58
- package/all/copy-overwrite/.claude/commands/project/plan.md +4 -175
- package/all/copy-overwrite/.claude/commands/project/reduce-max-lines-per-function.md +4 -61
- package/all/copy-overwrite/.claude/commands/project/reduce-max-lines.md +4 -58
- package/all/copy-overwrite/.claude/commands/project/research.md +4 -162
- package/all/copy-overwrite/.claude/commands/project/review.md +4 -45
- package/all/copy-overwrite/.claude/commands/project/setup.md +4 -52
- package/all/copy-overwrite/.claude/commands/project/verify.md +4 -38
- package/all/copy-overwrite/.claude/commands/pull-request/review.md +4 -69
- package/all/copy-overwrite/.claude/commands/sonarqube/check.md +3 -3
- package/all/copy-overwrite/.claude/commands/sonarqube/fix.md +6 -3
- package/all/copy-overwrite/.claude/commands/tasks/load.md +4 -85
- package/all/copy-overwrite/.claude/commands/tasks/sync.md +4 -106
- package/all/copy-overwrite/.claude/skills/git-commit/SKILL.md +49 -0
- package/all/copy-overwrite/.claude/skills/git-commit-and-submit-pr/SKILL.md +9 -0
- package/all/copy-overwrite/.claude/skills/git-prune/SKILL.md +35 -0
- package/all/copy-overwrite/.claude/skills/git-submit-pr/SKILL.md +45 -0
- package/all/copy-overwrite/.claude/skills/jira-create/SKILL.md +42 -0
- package/all/copy-overwrite/.claude/skills/jira-verify/SKILL.md +30 -0
- package/all/copy-overwrite/.claude/skills/lisa-review-implementation/SKILL.md +210 -0
- package/all/copy-overwrite/.claude/skills/project-add-test-coverage/SKILL.md +58 -0
- package/all/copy-overwrite/.claude/skills/project-archive/SKILL.md +10 -0
- package/all/copy-overwrite/.claude/skills/project-bootstrap/SKILL.md +29 -0
- package/all/copy-overwrite/.claude/skills/project-debrief/SKILL.md +44 -0
- package/all/copy-overwrite/.claude/skills/project-document/SKILL.md +51 -0
- package/all/copy-overwrite/.claude/skills/project-execute/SKILL.md +68 -0
- package/all/copy-overwrite/.claude/skills/project-fix-linter-error/SKILL.md +67 -0
- package/all/copy-overwrite/.claude/skills/project-implement/SKILL.md +39 -0
- package/all/copy-overwrite/.claude/skills/project-local-code-review/SKILL.md +89 -0
- package/all/copy-overwrite/.claude/skills/project-lower-code-complexity/SKILL.md +62 -0
- package/all/copy-overwrite/.claude/skills/project-plan/SKILL.md +179 -0
- package/all/copy-overwrite/.claude/skills/project-reduce-max-lines/SKILL.md +63 -0
- package/all/copy-overwrite/.claude/skills/project-reduce-max-lines-per-function/SKILL.md +66 -0
- package/all/copy-overwrite/.claude/skills/project-research/SKILL.md +166 -0
- package/all/copy-overwrite/.claude/skills/project-review/SKILL.md +49 -0
- package/all/copy-overwrite/.claude/skills/project-setup/SKILL.md +56 -0
- package/all/copy-overwrite/.claude/skills/project-verify/SKILL.md +42 -0
- package/all/copy-overwrite/.claude/skills/pull-request-review/SKILL.md +73 -0
- package/all/copy-overwrite/.claude/skills/sonarqube-check/SKILL.md +11 -0
- package/all/copy-overwrite/.claude/skills/sonarqube-fix/SKILL.md +8 -0
- package/all/copy-overwrite/.claude/skills/tasks-load/SKILL.md +89 -0
- package/all/copy-overwrite/.claude/skills/tasks-sync/SKILL.md +109 -0
- package/cdk/copy-overwrite/jest.cdk.ts +71 -0
- package/cdk/copy-overwrite/jest.config.ts +28 -0
- package/cdk/copy-overwrite/tsconfig.cdk.json +14 -0
- package/cdk/copy-overwrite/tsconfig.json +3 -0
- package/cdk/create-only/tsconfig.local.json +4 -0
- package/expo/copy-overwrite/jest.config.ts +28 -0
- package/expo/copy-overwrite/jest.expo.ts +76 -0
- package/expo/copy-overwrite/tsconfig.expo.json +9 -0
- package/expo/copy-overwrite/tsconfig.json +3 -0
- package/expo/create-only/tsconfig.local.json +9 -0
- package/nestjs/copy-overwrite/jest.config.ts +28 -0
- package/nestjs/copy-overwrite/jest.nestjs.ts +89 -0
- package/nestjs/copy-overwrite/tsconfig.build.json +5 -0
- package/nestjs/copy-overwrite/tsconfig.json +5 -0
- package/nestjs/copy-overwrite/tsconfig.nestjs.json +13 -0
- package/nestjs/copy-overwrite/tsconfig.spec.json +7 -0
- package/nestjs/create-only/tsconfig.local.json +6 -0
- package/package.json +1 -1
- package/typescript/copy-overwrite/jest.base.ts +112 -0
- package/typescript/copy-overwrite/jest.config.ts +34 -0
- package/typescript/copy-overwrite/jest.typescript.ts +72 -0
- package/typescript/copy-overwrite/tsconfig.base.json +15 -0
- package/typescript/copy-overwrite/tsconfig.json +5 -0
- package/typescript/copy-overwrite/tsconfig.typescript.json +11 -0
- package/typescript/create-only/jest.config.local.ts +30 -0
- package/typescript/create-only/jest.thresholds.json +8 -0
- package/typescript/create-only/tsconfig.local.json +6 -0
|
@@ -1,165 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Conducts research of your code base and the web relevant to your project and compiles it for the planning phase
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
description: "Conducts research of your code base and the web relevant to your project and compiles it for the planning phase"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "<project-directory>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Conduct comprehensive research across the codebase and web to help create an implementation plan for the brief in $ARGUMENTS.
|
|
10
|
-
|
|
11
|
-
## Goals
|
|
12
|
-
|
|
13
|
-
1. Determine what existing documentation in the codebase will be needed
|
|
14
|
-
2. Determine any gaps in the spec that would prevent fulfilling acceptance criteria
|
|
15
|
-
3. Determine potential pitfalls (performance, security concerns)
|
|
16
|
-
4. Determine reusable code, functions, and modules in the codebase
|
|
17
|
-
5. Determine testing patterns and locations (frameworks, conventions, examples)
|
|
18
|
-
6. Determine documentation patterns (JSDoc, DB comments, GraphQL descriptions)
|
|
19
|
-
|
|
20
|
-
## Critical Rule
|
|
21
|
-
|
|
22
|
-
**YOUR ONLY JOB IS TO DOCUMENT AND EXPLAIN THE CODEBASE AS IT EXISTS TODAY**
|
|
23
|
-
|
|
24
|
-
- DO NOT suggest improvements or changes
|
|
25
|
-
- DO NOT perform root cause analysis
|
|
26
|
-
- DO NOT propose future enhancements
|
|
27
|
-
- DO NOT critique or identify problems
|
|
28
|
-
- ONLY describe what exists, where it exists, how it works, and how components interact
|
|
29
|
-
|
|
30
|
-
## Workflow Tasks
|
|
31
|
-
|
|
32
|
-
Create workflow tracking tasks with `metadata: { "project": "<project-name>", "phase": "research" }`:
|
|
33
|
-
|
|
34
|
-
1. Read mentioned files
|
|
35
|
-
2. Analyze and decompose
|
|
36
|
-
3. Spawn research agents
|
|
37
|
-
4. Wait and synthesize
|
|
38
|
-
5. Generate document
|
|
39
|
-
6. Commit
|
|
40
|
-
|
|
41
|
-
## Step 1: Read Mentioned Files
|
|
42
|
-
|
|
43
|
-
Read any directly mentioned files FULLY first (no limit/offset). This ensures full context before spawning sub-tasks.
|
|
44
|
-
|
|
45
|
-
## Step 2: Analyze and Decompose
|
|
46
|
-
|
|
47
|
-
- Break down the brief into composable research areas
|
|
48
|
-
- Identify specific components, patterns, or concepts to investigate
|
|
49
|
-
- Consider which directories, files, or architectural patterns are relevant
|
|
50
|
-
|
|
51
|
-
## Step 3: Spawn Research Agents
|
|
52
|
-
|
|
53
|
-
Spawn parallel sub-agent tasks for comprehensive research:
|
|
54
|
-
|
|
55
|
-
**For codebase research:**
|
|
56
|
-
- **codebase-locator**: Find WHERE files and components live
|
|
57
|
-
- **codebase-analyzer**: Understand HOW specific code works
|
|
58
|
-
- **codebase-pattern-finder**: Find examples of existing patterns
|
|
59
|
-
- **git-history-analyzer**: Understand file change history
|
|
60
|
-
|
|
61
|
-
**For e2e test research:**
|
|
62
|
-
- Find existing e2e tests in `e2e/` or `tests/` directories
|
|
63
|
-
- Document what scenarios each test covers
|
|
64
|
-
- Identify tests needing modification or gaps for new functionality
|
|
65
|
-
|
|
66
|
-
**For web research:**
|
|
67
|
-
- **web-search-researcher**: External documentation and resources
|
|
68
|
-
- Include LINKS with findings in the final report
|
|
69
|
-
|
|
70
|
-
Run multiple agents in parallel when searching for different things.
|
|
71
|
-
|
|
72
|
-
## Step 4: Wait and Synthesize
|
|
73
|
-
|
|
74
|
-
**CRITICAL**: Wait for ALL sub-agent tasks to complete before proceeding.
|
|
75
|
-
|
|
76
|
-
- Compile all sub-agent results
|
|
77
|
-
- Prioritize live codebase findings as primary source of truth
|
|
78
|
-
- Connect findings across different components
|
|
79
|
-
- Include specific file paths and line numbers
|
|
80
|
-
- Note any frameworks used (Rails, NestJS, Expo, React, etc.)
|
|
81
|
-
|
|
82
|
-
## Step 5: Generate Document
|
|
83
|
-
|
|
84
|
-
Create `$ARGUMENTS/research.md` with this structure:
|
|
85
|
-
|
|
86
|
-
```markdown
|
|
87
|
-
---
|
|
88
|
-
date: [ISO format with timezone]
|
|
89
|
-
status: complete
|
|
90
|
-
last_updated: [YYYY-MM-DD]
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
# Research
|
|
94
|
-
|
|
95
|
-
## Summary
|
|
96
|
-
[High-level documentation of findings]
|
|
97
|
-
|
|
98
|
-
## Detailed Findings
|
|
99
|
-
### [Component/Area]
|
|
100
|
-
- Description of what exists ([file.ext:line](link))
|
|
101
|
-
- How it connects to other components
|
|
102
|
-
|
|
103
|
-
## Code References
|
|
104
|
-
- `path/to/file.py:123` - Description
|
|
105
|
-
|
|
106
|
-
## Reusable Code
|
|
107
|
-
### Existing Functions/Modules
|
|
108
|
-
- `path/to/utils.ts:45` - `functionName()` - description of what it does and how it can be reused
|
|
109
|
-
- `path/to/service.ts:120` - `ClassName` - description of reusable functionality
|
|
110
|
-
|
|
111
|
-
### Existing Patterns to Follow
|
|
112
|
-
- Similar feature implemented in `path/to/feature/` - follow same structure
|
|
113
|
-
- Existing implementation of X in `path/to/file.ts` - can be extended/adapted
|
|
114
|
-
|
|
115
|
-
## Architecture Documentation
|
|
116
|
-
[Patterns, conventions, design implementations]
|
|
117
|
-
|
|
118
|
-
## Testing Patterns
|
|
119
|
-
### Unit Test Patterns
|
|
120
|
-
- **Location**: pattern found
|
|
121
|
-
- **Framework**: Jest/Vitest/etc.
|
|
122
|
-
- **Example to follow**: path:line-range
|
|
123
|
-
- **Conventions**: naming, structure, mocks
|
|
124
|
-
|
|
125
|
-
### Integration Test Patterns
|
|
126
|
-
[Similar structure]
|
|
127
|
-
|
|
128
|
-
### E2E Test Patterns
|
|
129
|
-
[Similar structure]
|
|
130
|
-
|
|
131
|
-
## Impacted Tests
|
|
132
|
-
### Tests Requiring Modification
|
|
133
|
-
- `tests/example.spec.ts` - tests X functionality, will need updates for Y
|
|
134
|
-
- `e2e/feature.spec.ts` - may need new assertions for Z
|
|
135
|
-
|
|
136
|
-
### Test Gaps
|
|
137
|
-
- No existing tests for X functionality - will need new test file
|
|
138
|
-
- Missing edge case coverage for Y scenario
|
|
139
|
-
|
|
140
|
-
## Documentation Patterns
|
|
141
|
-
### JSDoc Conventions
|
|
142
|
-
### Database Comments (Backend)
|
|
143
|
-
### GraphQL Descriptions (Backend)
|
|
144
|
-
|
|
145
|
-
## Open Questions
|
|
146
|
-
|
|
147
|
-
### Q1: [Short Title]
|
|
148
|
-
**Question**: [Full question]
|
|
149
|
-
**Context**: [Why this arose]
|
|
150
|
-
**Impact**: [What it affects]
|
|
151
|
-
**Recommendation**: [Researcher's best recommendation based on findings]
|
|
152
|
-
**Answer**: _[Human fills before /project:plan]_
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
## Step 6: Commit
|
|
156
|
-
|
|
157
|
-
Run `/git:commit`
|
|
158
|
-
|
|
159
|
-
## Important Notes
|
|
160
|
-
|
|
161
|
-
- Always use parallel Task agents to maximize efficiency
|
|
162
|
-
- Always run fresh codebase research - never rely solely on existing documents
|
|
163
|
-
- Focus on finding concrete file paths and line numbers
|
|
164
|
-
- Each sub-agent prompt should be specific and focused on read-only documentation
|
|
165
|
-
- **REMEMBER**: Document what IS, not what SHOULD BE
|
|
7
|
+
Use the /project-research skill to conduct comprehensive research for the project. $ARGUMENTS
|
|
@@ -1,48 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Performs extensive code review and optimization on the current project
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
description: "Performs extensive code review and optimization on the current project"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "<project-directory>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
**IMPORTANT**: Perform each step and move to the next without stopping.
|
|
10
|
-
|
|
11
|
-
## Setup
|
|
12
|
-
|
|
13
|
-
Set active project marker: `echo "$ARGUMENTS" | sed 's|.*/||' > .claude-active-project`
|
|
14
|
-
|
|
15
|
-
Extract `<project-name>` from the last segment of `$ARGUMENTS`.
|
|
16
|
-
|
|
17
|
-
## Create and Execute Tasks
|
|
18
|
-
|
|
19
|
-
Create workflow tracking tasks with `metadata.project` set to the project name:
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
TaskCreate:
|
|
23
|
-
subject: "Perform Claude review"
|
|
24
|
-
description: "If $ARGUMENTS/claude-review.md already exists, skip this task. Otherwise, run /project:local-code-review $ARGUMENTS"
|
|
25
|
-
metadata: { project: "<project-name>" }
|
|
26
|
-
|
|
27
|
-
TaskCreate:
|
|
28
|
-
subject: "Implement Claude review fixes"
|
|
29
|
-
description: "Read $ARGUMENTS/claude-review.md and fix any suggestions that score above 45."
|
|
30
|
-
metadata: { project: "<project-name>" }
|
|
31
|
-
|
|
32
|
-
TaskCreate:
|
|
33
|
-
subject: "Perform CodeRabbit review"
|
|
34
|
-
description: "If $ARGUMENTS/coderabbit-review.md already exists, skip this task. Otherwise, run `/coderabbit:review` and write results to $ARGUMENTS/coderabbit-review.md"
|
|
35
|
-
metadata: { project: "<project-name>" }
|
|
36
|
-
|
|
37
|
-
TaskCreate:
|
|
38
|
-
subject: "Implement CodeRabbit review fixes"
|
|
39
|
-
description: "Evaluate suggestions in $ARGUMENTS/coderabbit-review.md and implement fixes for valid findings."
|
|
40
|
-
metadata: { project: "<project-name>" }
|
|
41
|
-
|
|
42
|
-
TaskCreate:
|
|
43
|
-
subject: "Perform Claude optimizations"
|
|
44
|
-
description: "Use the code simplifier agent to clean up code added to the current branch."
|
|
45
|
-
metadata: { project: "<project-name>" }
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
**Execute each task via a subagent** to preserve main context. Launch up to 6 in parallel where tasks don't have dependencies. Do not stop until all are completed.
|
|
7
|
+
Use the /project-review skill to perform code review and optimization. $ARGUMENTS
|
|
@@ -1,55 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Initialize a project with full requirements analysis, planning, and structure setup
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
description: "Initialize a project with full requirements analysis, planning, and structure setup"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "<file-path|jira-issue|text-description>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Examine $ARGUMENTS to determine which type:
|
|
10
|
-
- **Jira issue**: Matches pattern like `SE-123`, `PROJ-456` (letters-dash-numbers)
|
|
11
|
-
- **File path**: Path exists as a file (check with Glob or Read)
|
|
12
|
-
- **Text prompt**: Everything else - a description of work to be done
|
|
13
|
-
|
|
14
|
-
## Step 2: Get Brief Content
|
|
15
|
-
|
|
16
|
-
Based on input type:
|
|
17
|
-
|
|
18
|
-
**If Jira issue:**
|
|
19
|
-
1. Use the atlassian MCP server to Read the issue FULLY
|
|
20
|
-
2. If MCP server not working, STOP and let human know
|
|
21
|
-
|
|
22
|
-
**If file path:**
|
|
23
|
-
1. Read the file FULLY (no limit/offset)
|
|
24
|
-
|
|
25
|
-
**If text prompt:**
|
|
26
|
-
1. The prompt IS the brief content - use $ARGUMENTS directly
|
|
27
|
-
|
|
28
|
-
## Step 3: Create Project Structure
|
|
29
|
-
|
|
30
|
-
1. Create project directory in `projects/` named `YYYY-MM-DD-<project-name>` where `<project-name>` is derived from:
|
|
31
|
-
- Jira: the issue key and title (e.g., `2026-01-26-se-123-add-auth`)
|
|
32
|
-
- File: the filename without extension
|
|
33
|
-
- Text prompt: a kebab-case summary of the prompt (e.g., `2026-01-26-add-user-authentication`)
|
|
34
|
-
|
|
35
|
-
2. Create `brief.md` in the project directory:
|
|
36
|
-
- Jira: populate with issue number, title, and description
|
|
37
|
-
- File: copy contents of the file to `brief.md`
|
|
38
|
-
- Text prompt: create `brief.md` with the prompt text as content
|
|
39
|
-
|
|
40
|
-
3. Create empty `findings.md` in the project directory
|
|
41
|
-
|
|
42
|
-
4. Create `.claude-active-project` marker file:
|
|
43
|
-
```bash
|
|
44
|
-
echo "YYYY-MM-DD-<project-name>" > .claude-active-project
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Step 4: Git and Finalize
|
|
48
|
-
|
|
49
|
-
1. If Jira issue:
|
|
50
|
-
- run /git:commit with branch name including issue number (e.g., `feature/SE-111-<branch-name>`)
|
|
51
|
-
- Use atlassian MCP server to update issue status to "In Progress"
|
|
52
|
-
2. Otherwise:
|
|
53
|
-
- run /git:commit
|
|
54
|
-
|
|
55
|
-
3. Output: "Project created: `YYYY-MM-DD-<project-name>`"
|
|
7
|
+
Use the /project-setup skill to initialize a new project. $ARGUMENTS
|
|
@@ -1,41 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Comprehensive verification that a feature branch fully implements all project requirements with proper code quality, tests, and documentation
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
description: "Comprehensive verification that a feature branch fully implements all project requirements with proper code quality, tests, and documentation"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "<project-directory>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
## Setup
|
|
10
|
-
|
|
11
|
-
Set active project marker: `echo "$ARGUMENTS" | sed 's|.*/||' > .claude-active-project`
|
|
12
|
-
|
|
13
|
-
Extract `<project-name>` from the last segment of `$ARGUMENTS`.
|
|
14
|
-
|
|
15
|
-
## Create and Execute Tasks
|
|
16
|
-
|
|
17
|
-
Create workflow tracking tasks with `metadata.project` set to the project name:
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
TaskCreate:
|
|
21
|
-
subject: "Review requirements"
|
|
22
|
-
description: "Read all requirements for $ARGUMENTS (brief.md, research.md, task files)."
|
|
23
|
-
metadata: { project: "<project-name>" }
|
|
24
|
-
|
|
25
|
-
TaskCreate:
|
|
26
|
-
subject: "Verify implementation"
|
|
27
|
-
description: "Verify the implementation completely and fully satisfies all requirements from the brief and research."
|
|
28
|
-
metadata: { project: "<project-name>" }
|
|
29
|
-
|
|
30
|
-
TaskCreate:
|
|
31
|
-
subject: "Run task verification commands"
|
|
32
|
-
description: "Read all task files in $ARGUMENTS/tasks/. For each task with verification metadata (JSON: metadata.verification, or Markdown: ## Verification section), create a verification task with subject 'Verify: <original-subject>' and metadata including originalTaskId and verification details. Then execute each verification task: run the command, compare output to expected. If pass, mark completed. If fail, keep in_progress and document failure in $ARGUMENTS/drift.md. Report summary: total tasks, passed, failed, blocked."
|
|
33
|
-
metadata: { project: "<project-name>" }
|
|
34
|
-
|
|
35
|
-
TaskCreate:
|
|
36
|
-
subject: "Document drift"
|
|
37
|
-
description: "If there is any divergence from requirements or verification failures, ensure all drift is documented in $ARGUMENTS/drift.md."
|
|
38
|
-
metadata: { project: "<project-name>" }
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
**Execute each task via a subagent** to preserve main context. Launch up to 6 in parallel where tasks don't have dependencies. Do not stop until all are completed.
|
|
7
|
+
Use the /project-verify skill to verify the project implementation. $ARGUMENTS
|
|
@@ -1,72 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Checks for code review comments on a PR and implements them if required.
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
description: "Checks for code review comments on a PR and implements them if required."
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "<github-pr-link>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Target PR: $ARGUMENTS
|
|
10
|
-
|
|
11
|
-
If no argument provided, prompt the user for a PR link or number.
|
|
12
|
-
|
|
13
|
-
## Step 1: Gather Requirements
|
|
14
|
-
|
|
15
|
-
1. **Fetch PR metadata and comments** using the GitHub CLI:
|
|
16
|
-
```bash
|
|
17
|
-
gh pr view $ARGUMENTS --json number,title,body,reviews,comments
|
|
18
|
-
gh api repos/{owner}/{repo}/pulls/{pr_number}/comments
|
|
19
|
-
```
|
|
20
|
-
2. **Extract each unresolved review comment**:
|
|
21
|
-
- Comment ID
|
|
22
|
-
- File path
|
|
23
|
-
- Line number
|
|
24
|
-
- Comment body
|
|
25
|
-
- Author
|
|
26
|
-
|
|
27
|
-
If no unresolved comments exist, report success and exit.
|
|
28
|
-
|
|
29
|
-
## Step 2: Generate Brief
|
|
30
|
-
|
|
31
|
-
Compile findings into a detailed brief:
|
|
32
|
-
|
|
33
|
-
```markdown
|
|
34
|
-
Implement PR review feedback for $ARGUMENTS.
|
|
35
|
-
|
|
36
|
-
## PR Overview
|
|
37
|
-
- Title: [PR title]
|
|
38
|
-
- Description: [PR description summary]
|
|
39
|
-
|
|
40
|
-
## Review Comments to Address (ordered by file)
|
|
41
|
-
|
|
42
|
-
### 1. [file_path]:[line_number] (Comment ID: [id])
|
|
43
|
-
**Reviewer**: [author]
|
|
44
|
-
**Comment**: [full comment body]
|
|
45
|
-
**Action Required**: [brief description of what needs to change]
|
|
46
|
-
|
|
47
|
-
### 2. [file_path]:[line_number] (Comment ID: [id])
|
|
48
|
-
**Reviewer**: [author]
|
|
49
|
-
**Comment**: [full comment body]
|
|
50
|
-
**Action Required**: [brief description of what needs to change]
|
|
51
|
-
|
|
52
|
-
...
|
|
53
|
-
|
|
54
|
-
## Implementation Guidelines
|
|
55
|
-
- Evaluate each comment for validity before implementing
|
|
56
|
-
- If a comment is not valid, document the reasoning
|
|
57
|
-
- Ensure changes follow project coding standards
|
|
58
|
-
- Run relevant tests to verify changes work
|
|
59
|
-
|
|
60
|
-
## Acceptance Criteria
|
|
61
|
-
- All valid review comments addressed
|
|
62
|
-
- Tests pass after changes
|
|
63
|
-
- `bun run lint` passes
|
|
64
|
-
|
|
65
|
-
## Verification
|
|
66
|
-
Command: `bun run lint && bun run test`
|
|
67
|
-
Expected: All checks pass
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Step 3: Bootstrap Project
|
|
71
|
-
|
|
72
|
-
Run `/project:bootstrap` with the generated brief as a text prompt.
|
|
7
|
+
Use the /pull-request-review skill to check for code review comments and implement them. $ARGUMENTS
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Uses SonarQube / SonarCloud to get the reason that last pull request failed to pass checks
|
|
3
|
-
allowed-tools: ["
|
|
2
|
+
description: "Uses SonarQube / SonarCloud to get the reason that last pull request failed to pass checks"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Use the /sonarqube-check skill to check why the last PR failed SonarQube quality gates.
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
---
|
|
2
|
+
description: "Run SonarQube check, fix failures, and commit"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use the /sonarqube-fix skill to check, fix, and commit SonarQube quality gate failures.
|
|
@@ -1,88 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Load tasks from a project directory into the current session
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
description: "Load tasks from a project directory into the current session"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "<project-name>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Load tasks from `projects/$ARGUMENTS/tasks/` into the current Claude Code session.
|
|
10
|
-
|
|
11
|
-
Tasks are stored in session subdirectories to preserve history across `/clear` commands:
|
|
12
|
-
```
|
|
13
|
-
projects/$ARGUMENTS/tasks/
|
|
14
|
-
├── {session-1-uuid}/
|
|
15
|
-
│ ├── 1.json
|
|
16
|
-
│ └── 2.json
|
|
17
|
-
└── {session-2-uuid}/
|
|
18
|
-
├── 1.json
|
|
19
|
-
└── 2.json
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Process
|
|
23
|
-
|
|
24
|
-
### Step 1: Validate Project
|
|
25
|
-
|
|
26
|
-
Check if the project exists and has task files:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
find projects/$ARGUMENTS/tasks -name "*.json" 2>/dev/null | head -5
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
If no task files exist, report: "No tasks found in projects/$ARGUMENTS/tasks/"
|
|
33
|
-
|
|
34
|
-
List available sessions:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
ls -dt projects/$ARGUMENTS/tasks/*/ 2>/dev/null | head -10
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### Step 2: Set Active Project
|
|
41
|
-
|
|
42
|
-
Create the active project marker:
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
echo "$ARGUMENTS" > .claude-active-project
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
This ensures any new tasks created will sync back to this project.
|
|
49
|
-
|
|
50
|
-
### Step 3: Load Tasks
|
|
51
|
-
|
|
52
|
-
Find and load all task JSON files from ALL session directories:
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
find projects/$ARGUMENTS/tasks -name "*.json" -type f
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
For each JSON file found:
|
|
59
|
-
|
|
60
|
-
1. Read the task JSON file
|
|
61
|
-
2. Use TaskCreate to recreate the task with:
|
|
62
|
-
- subject from JSON
|
|
63
|
-
- description from JSON
|
|
64
|
-
- activeForm from JSON
|
|
65
|
-
- metadata: `{ "project": "$ARGUMENTS" }`
|
|
66
|
-
3. If the task was already completed (status: "completed"), use TaskUpdate to mark it completed
|
|
67
|
-
|
|
68
|
-
### Step 4: Report
|
|
69
|
-
|
|
70
|
-
After loading all tasks, report:
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
Loaded X tasks from projects/$ARGUMENTS/tasks/
|
|
74
|
-
- Sessions found: N
|
|
75
|
-
- Pending: Y
|
|
76
|
-
- Completed: Z
|
|
77
|
-
|
|
78
|
-
Active project set to: $ARGUMENTS
|
|
79
|
-
New tasks will automatically sync to this project.
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
## Notes
|
|
83
|
-
|
|
84
|
-
- Tasks are recreated with new IDs in the current session
|
|
85
|
-
- The original task IDs from the project are not preserved
|
|
86
|
-
- Tasks from ALL sessions are loaded (full history)
|
|
87
|
-
- Task dependencies (blocks/blockedBy) are NOT currently preserved across load/sync cycles
|
|
88
|
-
- Use TaskList to see the loaded tasks
|
|
7
|
+
Use the /tasks-load skill to load tasks from a project directory. $ARGUMENTS
|
|
@@ -1,109 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Sync current session tasks to a project directory
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
description: "Sync current session tasks to a project directory"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "<project-name>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Sync all tasks from the current session to `projects/$ARGUMENTS/tasks/{session-id}/`.
|
|
10
|
-
|
|
11
|
-
This command is for manual syncing when you started work without setting an active project.
|
|
12
|
-
Once synced, the automatic hook will handle future task updates.
|
|
13
|
-
|
|
14
|
-
## Process
|
|
15
|
-
|
|
16
|
-
### Step 1: Validate Project
|
|
17
|
-
|
|
18
|
-
Check if the project directory exists:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
ls -d projects/$ARGUMENTS 2>/dev/null
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
If the project doesn't exist, ask: "Project '$ARGUMENTS' doesn't exist. Create it?"
|
|
25
|
-
|
|
26
|
-
If yes, create the project structure:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
mkdir -p projects/$ARGUMENTS/tasks
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
### Step 2: Determine Session ID
|
|
33
|
-
|
|
34
|
-
Find the current session by looking for the most recently modified task directory:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
ls -dt ~/.claude/tasks/*/ 2>/dev/null | head -1 | xargs basename
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
If no session found, use a timestamp-based identifier:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
echo "manual-$(date +%Y%m%d-%H%M%S)"
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Store the session ID for use in subsequent steps.
|
|
47
|
-
|
|
48
|
-
### Step 3: Set Active Project
|
|
49
|
-
|
|
50
|
-
Create/update the active project marker:
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
echo "$ARGUMENTS" > .claude-active-project
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Step 4: Get Current Tasks
|
|
57
|
-
|
|
58
|
-
Use TaskList to get all tasks in the current session.
|
|
59
|
-
|
|
60
|
-
### Step 5: Sync Each Task
|
|
61
|
-
|
|
62
|
-
For each task from TaskList:
|
|
63
|
-
|
|
64
|
-
1. Use TaskGet to get full task details
|
|
65
|
-
2. Create the session directory:
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
mkdir -p projects/$ARGUMENTS/tasks/{session-id}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
3. Create a JSON file with the task data:
|
|
72
|
-
|
|
73
|
-
```json
|
|
74
|
-
{
|
|
75
|
-
"id": "<task-id>",
|
|
76
|
-
"subject": "<subject>",
|
|
77
|
-
"description": "<description>",
|
|
78
|
-
"activeForm": "<activeForm>",
|
|
79
|
-
"status": "<status>",
|
|
80
|
-
"blocks": [],
|
|
81
|
-
"blockedBy": []
|
|
82
|
-
}
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
4. Write to `projects/$ARGUMENTS/tasks/{session-id}/<id>.json`
|
|
86
|
-
|
|
87
|
-
### Step 6: Stage for Git
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
git add projects/$ARGUMENTS/tasks/{session-id}/*.json
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Step 7: Report
|
|
94
|
-
|
|
95
|
-
```
|
|
96
|
-
Synced X tasks to projects/$ARGUMENTS/tasks/{session-id}/
|
|
97
|
-
- Pending: Y
|
|
98
|
-
- In Progress: Z
|
|
99
|
-
- Completed: W
|
|
100
|
-
|
|
101
|
-
Files staged for commit. Run /git:commit when ready.
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
## Notes
|
|
105
|
-
|
|
106
|
-
- This command manually syncs all current tasks to a project
|
|
107
|
-
- Use this when you started work without a project context
|
|
108
|
-
- After syncing, the active project is set so future tasks auto-sync via the hook
|
|
109
|
-
- Each sync creates a new session directory to preserve history
|
|
7
|
+
Use the /tasks-sync skill to sync current session tasks to a project directory. $ARGUMENTS
|
|
@@ -0,0 +1,49 @@
|
|
|
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
|
+
argument-hint: "[commit-message-hint]"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Git Commit Workflow
|
|
9
|
+
|
|
10
|
+
Create conventional commits for current changes. Optional hint: $ARGUMENTS
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
### See what has changed
|
|
15
|
+
|
|
16
|
+
!git status
|
|
17
|
+
!git diff --stat
|
|
18
|
+
|
|
19
|
+
### Apply these requirements
|
|
20
|
+
|
|
21
|
+
1. **Branch Check**: If on `dev`, `staging`, or `main`, create a feature branch named after the changes
|
|
22
|
+
2. **Commit Strategy**: Group related changes into logical conventional commits (feat, fix, chore, docs, etc.)
|
|
23
|
+
3. **Commit ALL Files**: Every file must be assigned to a commit group - no file gets left out or unstaged
|
|
24
|
+
4. **Commit Creation**: Stage and commit each group with clear messages
|
|
25
|
+
5. **Verification**: Run `git status` to confirm working directory is clean - must show "nothing to commit"
|
|
26
|
+
|
|
27
|
+
### Use conventional commit format
|
|
28
|
+
|
|
29
|
+
- `feat:` for new features
|
|
30
|
+
- `fix:` for bug fixes
|
|
31
|
+
- `docs:` for documentation
|
|
32
|
+
- `chore:` for maintenance
|
|
33
|
+
- `style:` for formatting
|
|
34
|
+
- `refactor:` for code restructuring
|
|
35
|
+
- `test:` for test additions
|
|
36
|
+
|
|
37
|
+
### Never
|
|
38
|
+
|
|
39
|
+
- use `--no-verify` flag
|
|
40
|
+
- attempt to bypass tests or quality checks
|
|
41
|
+
- skip tests or quality checks
|
|
42
|
+
- stash changes - ALL changes must be committed
|
|
43
|
+
- skip or exclude any files from the commit - even if they're unrelated
|
|
44
|
+
- leave uncommitted changes in the working directory
|
|
45
|
+
- ask the user which files to commit - commit everything
|
|
46
|
+
|
|
47
|
+
## Execute
|
|
48
|
+
|
|
49
|
+
Execute the workflow now.
|