@codyswann/lisa 1.12.9 → 1.13.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/package.json +1 -1
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Create conventional commits for current changes and submits the current branch as a PR for code review"
|
|
3
|
-
allowed-tools: ["
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
4
|
argument-hint: "[commit-message-hint]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
2. run /git:submit-pr $ARGUMENTS
|
|
7
|
+
Use the /git-commit-and-submit-pr skill to commit and submit a PR. $ARGUMENTS
|
|
@@ -1,48 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Create conventional commits for current changes"
|
|
3
|
-
allowed-tools: ["
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
4
|
argument-hint: "[commit-message-hint]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
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.
|
|
7
|
+
Use the /git-commit skill to create conventional commits for current changes. $ARGUMENTS
|
|
@@ -1,34 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Prune local branches that have been deleted on remote"
|
|
3
|
-
allowed-tools: ["
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Remove local branches whose upstream tracking branches have been deleted on remote.
|
|
9
|
-
|
|
10
|
-
## Workflow
|
|
11
|
-
|
|
12
|
-
### Fetch and prune remote-tracking references
|
|
13
|
-
|
|
14
|
-
!git fetch --prune
|
|
15
|
-
|
|
16
|
-
### Find and delete stale local branches
|
|
17
|
-
|
|
18
|
-
!git branch -vv | grep ': gone]' | awk '{print $1}'
|
|
19
|
-
|
|
20
|
-
### Apply these requirements
|
|
21
|
-
|
|
22
|
-
1. **Preview**: Show which branches will be deleted before deleting
|
|
23
|
-
2. **Safe Delete**: Use `-d` (safe delete) which refuses to delete unmerged branches
|
|
24
|
-
3. **Report**: Show summary of deleted branches
|
|
25
|
-
|
|
26
|
-
### Never
|
|
27
|
-
|
|
28
|
-
- Force delete (`-D`) without user confirmation
|
|
29
|
-
- Delete the current branch
|
|
30
|
-
- Delete protected branches (dev, staging, main)
|
|
31
|
-
|
|
32
|
-
## Execute
|
|
33
|
-
|
|
34
|
-
Execute the workflow now.
|
|
6
|
+
Use the /git-prune skill to prune local branches that have been deleted on remote.
|
|
@@ -1,50 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Push changes and create or update a pull request"
|
|
3
|
-
allowed-tools:
|
|
4
|
-
[
|
|
5
|
-
"Bash",
|
|
6
|
-
"mcp__github__create_pull_request",
|
|
7
|
-
"mcp__github__get_pull_request",
|
|
8
|
-
"mcp__github__update_pull_request",
|
|
9
|
-
]
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
10
4
|
argument-hint: "[pr-title-or-description-hint]"
|
|
11
5
|
---
|
|
12
6
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Push current branch and create or update a pull request. Optional hint: $ARGUMENTS
|
|
16
|
-
|
|
17
|
-
## Workflow
|
|
18
|
-
|
|
19
|
-
### Check current state
|
|
20
|
-
|
|
21
|
-
!git status
|
|
22
|
-
!git log --oneline -10
|
|
23
|
-
|
|
24
|
-
### Apply these requirements
|
|
25
|
-
|
|
26
|
-
1. **Branch Check**: Verify not on `dev`, `staging`, or `main` (cannot create PR from protected branches)
|
|
27
|
-
2. **Commit Check**: Ensure all changes are committed before pushing
|
|
28
|
-
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"
|
|
29
|
-
4. **PR Management**:
|
|
30
|
-
- Check for existing PR on this branch
|
|
31
|
-
- If exists: Update description with latest changes
|
|
32
|
-
- If not: Create PR with comprehensive description (not a draft)
|
|
33
|
-
5. **Auto-merge**: Enable auto-merge on the PR using `gh pr merge --auto --merge`
|
|
34
|
-
|
|
35
|
-
### PR Description Format
|
|
36
|
-
|
|
37
|
-
Include in the PR description:
|
|
38
|
-
|
|
39
|
-
- **Summary**: Brief overview of changes (1-3 bullet points)
|
|
40
|
-
- **Test plan**: How to verify the changes work correctly
|
|
41
|
-
|
|
42
|
-
### Never
|
|
43
|
-
|
|
44
|
-
- use `--force` push without explicit user request
|
|
45
|
-
- create PR from protected branches (dev, staging, main)
|
|
46
|
-
- skip pushing before PR creation
|
|
47
|
-
|
|
48
|
-
## Execute
|
|
49
|
-
|
|
50
|
-
Execute the workflow now.
|
|
7
|
+
Use the /git-submit-pr skill to push changes and create or update a pull request. $ARGUMENTS
|
|
@@ -1,50 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Create JIRA epics/stories/tasks from code files with comprehensive quality requirements"
|
|
3
|
-
allowed-tools:
|
|
4
|
-
[
|
|
5
|
-
"Read",
|
|
6
|
-
"Glob",
|
|
7
|
-
"LS",
|
|
8
|
-
"mcp__atlassian__createJiraIssue",
|
|
9
|
-
"mcp__atlassian__getVisibleJiraProjects",
|
|
10
|
-
"mcp__atlassian__getJiraProjectIssueTypesMetadata",
|
|
11
|
-
"mcp__atlassian__getAccessibleAtlassianResources",
|
|
12
|
-
]
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
13
4
|
argument-hint: "<file-or-directory-path> [project-key]"
|
|
14
5
|
---
|
|
15
6
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Analyze the provided file(s) and create a comprehensive JIRA hierarchy with all mandatory quality gates.
|
|
19
|
-
|
|
20
|
-
## Process
|
|
21
|
-
|
|
22
|
-
1. **Analyze**: Read $ARGUMENTS to understand scope
|
|
23
|
-
2. **Determine Structure**:
|
|
24
|
-
- Epic needed if: multiple features, major changes, >3 related files
|
|
25
|
-
- Direct tasks if: bug fix, single file, minor change
|
|
26
|
-
3. **Create Issues** with hierarchy:
|
|
27
|
-
```
|
|
28
|
-
Epic → User Story → Tasks (test, implement, document, cleanup)
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Mandatory for Every Code Issue
|
|
32
|
-
|
|
33
|
-
**Test-First**: Write tests before implementation
|
|
34
|
-
**Quality Gates**: All tests/checks must pass, no SonarCloud violations
|
|
35
|
-
**Documentation**: Check existing, update/create new, remove obsolete
|
|
36
|
-
**Feature Flags**: All features behind flags with lifecycle plan
|
|
37
|
-
**Cleanup**: Remove temporary code, scripts, dev configs
|
|
38
|
-
|
|
39
|
-
## Issue Requirements
|
|
40
|
-
|
|
41
|
-
Each issue must clearly communicate to:
|
|
42
|
-
|
|
43
|
-
- **Coding Assistants**: Implementation requirements
|
|
44
|
-
- **Developers**: Technical approach
|
|
45
|
-
- **Stakeholders**: Business value
|
|
46
|
-
|
|
47
|
-
Default project: SE (override via arguments)
|
|
48
|
-
Exclude unless requested: migration plans, performance tests
|
|
49
|
-
|
|
50
|
-
Execute the analysis and create the complete JIRA structure with proper parent-child relationships.
|
|
7
|
+
Use the /jira-create skill to create JIRA issues from the provided input. $ARGUMENTS
|
|
@@ -1,34 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Verify JIRA ticket meets standards for epic relationships and description quality"
|
|
3
|
-
allowed-tools:
|
|
4
|
-
[
|
|
5
|
-
"mcp__atlassian__getJiraIssue",
|
|
6
|
-
"mcp__atlassian__searchJiraIssuesUsingJql",
|
|
7
|
-
"mcp__atlassian__getAccessibleAtlassianResources",
|
|
8
|
-
]
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
9
4
|
argument-hint: "<TICKET-ID>"
|
|
10
5
|
---
|
|
11
6
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Fetch ticket $ARGUMENTS and verify it meets organizational standards.
|
|
15
|
-
|
|
16
|
-
## Verification Checks
|
|
17
|
-
|
|
18
|
-
### 1. Epic Parent Relationship
|
|
19
|
-
|
|
20
|
-
**Rule**: Non-bug, non-epic tickets MUST have an epic parent
|
|
21
|
-
|
|
22
|
-
- If missing: Search filter 10089 (Epic Backlog) and suggest appropriate epics
|
|
23
|
-
|
|
24
|
-
### 2. Description Quality
|
|
25
|
-
|
|
26
|
-
Verify description adequately addresses:
|
|
27
|
-
|
|
28
|
-
**Coding Assistants**: Acceptance criteria, requirements, constraints, I/O
|
|
29
|
-
**Developers**: Technical context, integration points, testing, edge cases
|
|
30
|
-
**Stakeholders**: Business value, user impact, success metrics, summary
|
|
31
|
-
|
|
32
|
-
## Execute Verification
|
|
33
|
-
|
|
34
|
-
Retrieve ticket details, run both checks, and provide specific improvement recommendations for any failures.
|
|
7
|
+
Use the /jira-verify skill to verify the JIRA ticket meets organizational standards. $ARGUMENTS
|
|
@@ -1,209 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Compare project's Lisa-managed files against Lisa source templates and offer to upstream changes
|
|
3
|
-
|
|
2
|
+
description: "Compare project's Lisa-managed files against Lisa source templates and offer to upstream changes"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "[lisa-dir]"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
This command compares the current project's Lisa-managed files against Lisa's source templates to identify drift and offer to upstream improvements back to Lisa.
|
|
9
|
-
|
|
10
|
-
## Prerequisites
|
|
11
|
-
|
|
12
|
-
This command requires access to the Lisa installation directory. Either:
|
|
13
|
-
1. Start Claude Code with `--add-dir ~/lisa` (or your Lisa path)
|
|
14
|
-
2. Pass the Lisa directory as an argument: `/lisa:review-implementation ~/lisa`
|
|
15
|
-
|
|
16
|
-
## Instructions
|
|
17
|
-
|
|
18
|
-
### Step 1: Locate Lisa Directory
|
|
19
|
-
|
|
20
|
-
First, determine the Lisa installation directory:
|
|
21
|
-
|
|
22
|
-
1. If an argument was provided, use that path
|
|
23
|
-
2. Otherwise, check if any `--add-dir` paths contain a `src/core/lisa.ts` file (Lisa's signature file)
|
|
24
|
-
3. Common locations to check: `~/lisa`, `~/workspace/lisa`, `../lisa`
|
|
25
|
-
|
|
26
|
-
If Lisa directory cannot be found, inform the user:
|
|
27
|
-
```
|
|
28
|
-
Unable to locate Lisa installation directory.
|
|
29
|
-
|
|
30
|
-
Please either:
|
|
31
|
-
1. Start Claude Code with: claude --add-dir /path/to/lisa
|
|
32
|
-
2. Run this command with the path: /lisa:review-implementation /path/to/lisa
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### Step 2: Read the Manifest
|
|
36
|
-
|
|
37
|
-
Read the project's `.lisa-manifest` file to get the list of managed files.
|
|
38
|
-
|
|
39
|
-
Parse each line to extract:
|
|
40
|
-
- `strategy`: The copy strategy used (copy-overwrite, copy-contents, merge, create-only)
|
|
41
|
-
- `relativePath`: The file path relative to project root
|
|
42
|
-
|
|
43
|
-
Skip:
|
|
44
|
-
- Lines starting with `#` (comments)
|
|
45
|
-
- Empty lines
|
|
46
|
-
- Files with `create-only` strategy (these are meant to be customized)
|
|
47
|
-
- Files with `merge` strategy (these are intentionally combined)
|
|
48
|
-
|
|
49
|
-
### Step 3: Find Source Templates
|
|
50
|
-
|
|
51
|
-
For each managed file, locate its source in Lisa by checking these directories in order:
|
|
52
|
-
1. `npm-package/copy-overwrite/` and `npm-package/copy-contents/`
|
|
53
|
-
2. `cdk/copy-overwrite/` and `cdk/copy-contents/`
|
|
54
|
-
3. `nestjs/copy-overwrite/` and `nestjs/copy-contents/`
|
|
55
|
-
4. `expo/copy-overwrite/` and `expo/copy-contents/`
|
|
56
|
-
5. `typescript/copy-overwrite/` and `typescript/copy-contents/`
|
|
57
|
-
6. `all/copy-overwrite/` and `all/copy-contents/`
|
|
58
|
-
|
|
59
|
-
The FIRST match wins (most specific type takes precedence).
|
|
60
|
-
|
|
61
|
-
Detect which project types apply by checking the project for:
|
|
62
|
-
- `npm-package`: package.json without `"private": true` AND has `main`, `bin`, `exports`, or `files`
|
|
63
|
-
- `cdk`: presence of `cdk.json` or `aws-cdk` in dependencies
|
|
64
|
-
- `nestjs`: presence of `nest-cli.json` or `@nestjs` in dependencies
|
|
65
|
-
- `expo`: presence of `app.json`, `eas.json`, or `expo` in dependencies
|
|
66
|
-
- `typescript`: presence of `tsconfig.json` or `typescript` in dependencies
|
|
67
|
-
|
|
68
|
-
Only check type directories that match the project.
|
|
69
|
-
|
|
70
|
-
### Step 4: Compare Files
|
|
71
|
-
|
|
72
|
-
For each file, compare the project version against the Lisa source:
|
|
73
|
-
|
|
74
|
-
1. Read both files
|
|
75
|
-
2. If identical, mark as "in sync"
|
|
76
|
-
3. If different, generate a diff summary
|
|
77
|
-
|
|
78
|
-
Use the Bash tool with `diff` to generate readable diffs:
|
|
79
|
-
```bash
|
|
80
|
-
diff -u "/path/to/lisa/source" "/path/to/project/file" || true
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### Step 5: Generate Report
|
|
84
|
-
|
|
85
|
-
Create a markdown report with these sections:
|
|
86
|
-
|
|
87
|
-
```markdown
|
|
88
|
-
# Lisa Implementation Review
|
|
89
|
-
|
|
90
|
-
**Project:** [project name from package.json]
|
|
91
|
-
**Lisa Source:** [lisa directory path]
|
|
92
|
-
**Generated:** [current date/time]
|
|
93
|
-
|
|
94
|
-
## Summary
|
|
95
|
-
|
|
96
|
-
- **Total managed files:** X
|
|
97
|
-
- **In sync:** X
|
|
98
|
-
- **Drifted:** X
|
|
99
|
-
- **Source not found:** X
|
|
100
|
-
|
|
101
|
-
## Drifted Files
|
|
102
|
-
|
|
103
|
-
### [relative/path/to/file]
|
|
104
|
-
|
|
105
|
-
**Source:** [lisa-type]/copy-overwrite/[path]
|
|
106
|
-
**Strategy:** copy-overwrite
|
|
107
|
-
|
|
108
|
-
<details>
|
|
109
|
-
<summary>View diff</summary>
|
|
110
|
-
|
|
111
|
-
```diff
|
|
112
|
-
[diff output]
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
</details>
|
|
116
|
-
|
|
117
|
-
**Recommendation:** [Brief analysis of whether this change should be upstreamed]
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
[Repeat for each drifted file]
|
|
122
|
-
|
|
123
|
-
## Files Not Found in Lisa
|
|
124
|
-
|
|
125
|
-
These files are in the manifest but their source templates couldn't be located:
|
|
126
|
-
|
|
127
|
-
- [list of files]
|
|
128
|
-
|
|
129
|
-
## In Sync Files
|
|
130
|
-
|
|
131
|
-
<details>
|
|
132
|
-
<summary>X files are in sync with Lisa</summary>
|
|
133
|
-
|
|
134
|
-
- [list of files]
|
|
135
|
-
|
|
136
|
-
</details>
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### Step 6: Offer to Upstream Changes
|
|
140
|
-
|
|
141
|
-
After presenting the report, ask the user which drifted files they want to copy back to Lisa.
|
|
142
|
-
|
|
143
|
-
For each file the user wants to upstream:
|
|
144
|
-
|
|
145
|
-
1. Confirm the target path in Lisa (e.g., `typescript/copy-overwrite/.github/workflows/ci.yml`)
|
|
146
|
-
2. Use the Write tool to copy the project's version to Lisa
|
|
147
|
-
3. Report success
|
|
148
|
-
|
|
149
|
-
Example prompt:
|
|
150
|
-
```
|
|
151
|
-
I found X files that have drifted from Lisa's templates.
|
|
152
|
-
|
|
153
|
-
Which files would you like to copy back to Lisa?
|
|
154
|
-
1. .github/workflows/ci.yml - [brief description of changes]
|
|
155
|
-
2. .claude/settings.json - [brief description of changes]
|
|
156
|
-
3. All of the above
|
|
157
|
-
4. None - just show me the report
|
|
158
|
-
|
|
159
|
-
Select an option (or list specific numbers):
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### Important Notes
|
|
163
|
-
|
|
164
|
-
- **Never auto-upstream without confirmation** - always ask the user first
|
|
165
|
-
- **Preserve the most specific type directory** - if a file exists in both `typescript/` and `all/`, upstream to where it currently exists
|
|
166
|
-
- **Handle binary files gracefully** - skip comparison for non-text files
|
|
167
|
-
- **Respect .gitignore patterns** - some generated files shouldn't be compared
|
|
168
|
-
- For `copy-contents` files like `.gitignore`, the comparison is trickier since the project may have additional lines - highlight only if Lisa's required lines are missing
|
|
169
|
-
|
|
170
|
-
## Example Usage
|
|
171
|
-
|
|
172
|
-
```
|
|
173
|
-
User: /lisa:review-implementation
|
|
174
|
-
|
|
175
|
-
Claude: I'll review your project's Lisa-managed files against the Lisa source templates.
|
|
176
|
-
|
|
177
|
-
[Locates Lisa directory]
|
|
178
|
-
[Reads manifest]
|
|
179
|
-
[Compares files]
|
|
180
|
-
[Generates report]
|
|
181
|
-
|
|
182
|
-
# Lisa Implementation Review
|
|
183
|
-
|
|
184
|
-
**Project:** my-awesome-app
|
|
185
|
-
**Lisa Source:** /Users/dev/lisa
|
|
186
|
-
**Generated:** 2026-01-18 10:30:00
|
|
187
|
-
|
|
188
|
-
## Summary
|
|
189
|
-
|
|
190
|
-
- **Total managed files:** 45
|
|
191
|
-
- **In sync:** 42
|
|
192
|
-
- **Drifted:** 3
|
|
193
|
-
- **Source not found:** 0
|
|
194
|
-
|
|
195
|
-
## Drifted Files
|
|
196
|
-
|
|
197
|
-
### .github/workflows/ci.yml
|
|
198
|
-
|
|
199
|
-
**Source:** typescript/copy-overwrite/.github/workflows/ci.yml
|
|
200
|
-
**Strategy:** copy-overwrite
|
|
201
|
-
|
|
202
|
-
[diff details]
|
|
203
|
-
|
|
204
|
-
**Recommendation:** This adds a new caching step that improves CI performance. Good candidate for upstreaming.
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
I found 3 files that have drifted. Would you like to upstream any of these changes back to Lisa?
|
|
209
|
-
```
|
|
7
|
+
Use the /lisa-review-implementation skill to compare project files against Lisa templates. $ARGUMENTS
|
|
@@ -1,57 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Increase test coverage to a specified threshold percentage
|
|
3
|
-
allowed-tools:
|
|
4
|
-
argument-hint: <threshold-percentage>
|
|
2
|
+
description: "Increase test coverage to a specified threshold percentage"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "<threshold-percentage>"
|
|
5
5
|
model: sonnet
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
Target threshold: $ARGUMENTS%
|
|
11
|
-
|
|
12
|
-
If no argument provided, prompt the user for a target.
|
|
13
|
-
|
|
14
|
-
## Step 1: Gather Requirements
|
|
15
|
-
|
|
16
|
-
1. **Find coverage config** (jest.config.js, vitest.config.ts, .nycrc, etc.)
|
|
17
|
-
2. **Run coverage report** to get current state:
|
|
18
|
-
```bash
|
|
19
|
-
bun run test:cov 2>&1 | head -100
|
|
20
|
-
```
|
|
21
|
-
3. **Identify the 20 files with lowest coverage**, noting:
|
|
22
|
-
- File path
|
|
23
|
-
- Current coverage % (lines, branches, functions)
|
|
24
|
-
- Which lines/branches are uncovered
|
|
25
|
-
|
|
26
|
-
## Step 2: Generate Brief
|
|
27
|
-
|
|
28
|
-
Compile findings into a detailed brief:
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
Increase test coverage from [current]% to $ARGUMENTS%.
|
|
32
|
-
|
|
33
|
-
## Files Needing Coverage (ordered by coverage gap)
|
|
34
|
-
|
|
35
|
-
1. src/services/user.ts - 23% coverage (target: $ARGUMENTS%)
|
|
36
|
-
- Uncovered: lines 45-67, 89-102
|
|
37
|
-
- Missing branch coverage: lines 34, 56
|
|
38
|
-
2. src/utils/helpers.ts - 34% coverage (target: $ARGUMENTS%)
|
|
39
|
-
- Uncovered: lines 12-45
|
|
40
|
-
...
|
|
41
|
-
|
|
42
|
-
## Configuration
|
|
43
|
-
- Config file: [path to coverage config]
|
|
44
|
-
- Update thresholds to $ARGUMENTS% for: lines, branches, functions, statements
|
|
45
|
-
|
|
46
|
-
## Acceptance Criteria
|
|
47
|
-
- All files meet $ARGUMENTS% coverage threshold
|
|
48
|
-
- `bun run test:cov` passes with no threshold violations
|
|
49
|
-
|
|
50
|
-
## Verification
|
|
51
|
-
Command: `bun run test:cov`
|
|
52
|
-
Expected: All thresholds pass at $ARGUMENTS%
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Step 3: Bootstrap Project
|
|
56
|
-
|
|
57
|
-
Run `/project:bootstrap` with the generated brief as a text prompt.
|
|
8
|
+
Use the /project-add-test-coverage skill to increase test coverage. $ARGUMENTS
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Moves a project to the projects/archive directory after it's completed
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
description: "Moves a project to the projects/archive directory after it's completed"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "<project-directory>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
2. Clear the active project marker: `rm -f .claude-active-project`
|
|
9
|
-
3. run /git:commit-and-submit-pr
|
|
7
|
+
Use the /project-archive skill to archive the completed project. $ARGUMENTS
|
|
@@ -1,28 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Automated project setup and research with gap detection
|
|
3
|
-
|
|
2
|
+
description: "Automated project setup and research with gap detection"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "<file-path|jira-issue|\"text description\">"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
## Step 1: Setup
|
|
9
|
-
|
|
10
|
-
Run `/project:setup $ARGUMENTS`
|
|
11
|
-
|
|
12
|
-
Capture the project name from the output for use in subsequent steps.
|
|
13
|
-
|
|
14
|
-
## Step 2: Research
|
|
15
|
-
|
|
16
|
-
Run `/project:research @projects/<project-name>`
|
|
17
|
-
|
|
18
|
-
## Step 3: Gap Detection
|
|
19
|
-
|
|
20
|
-
Read @projects/<project-name>/research.md.
|
|
21
|
-
|
|
22
|
-
Check '## Open Questions' section. If unresolved questions exist, STOP and report to human.
|
|
23
|
-
|
|
24
|
-
If no gaps, immediately run `/project:execute @projects/<project-name>`
|
|
25
|
-
|
|
26
|
-
## Output to Human
|
|
27
|
-
|
|
28
|
-
- If gaps exist: "⚠️ Bootstrap complete but needs human review - see Open Questions in research.md"
|
|
7
|
+
Use the /project-bootstrap skill to set up, research, and execute a project. $ARGUMENTS
|
|
@@ -1,43 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Aggregates learnings from tasks and findings, uses skill-evaluator to decide where each belongs (new skill, .claude/rules/PROJECT_RULES.md, or omit)
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
description: "Aggregates learnings from tasks and findings, uses skill-evaluator to decide where each belongs (new skill, .claude/rules/PROJECT_RULES.md, or omit)"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "<project-directory>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Set active project marker: `echo "$ARGUMENTS" | sed 's|.*/||' > .claude-active-project`
|
|
10
|
-
|
|
11
|
-
Extract `<project-name>` from the last segment of `$ARGUMENTS`.
|
|
12
|
-
|
|
13
|
-
## Create and Execute Tasks
|
|
14
|
-
|
|
15
|
-
Create workflow tracking tasks with `metadata.project` set to the project name:
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
TaskCreate:
|
|
19
|
-
subject: "Aggregate project learnings"
|
|
20
|
-
description: "Collect all learnings from two sources: 1) Read $ARGUMENTS/findings.md for manual findings. 2) Read all task files in $ARGUMENTS/tasks/*.json and extract metadata.learnings arrays. Compile into a single list of distinct findings/learnings."
|
|
21
|
-
metadata: { project: "<project-name>" }
|
|
22
|
-
|
|
23
|
-
TaskCreate:
|
|
24
|
-
subject: "Evaluate each learning"
|
|
25
|
-
description: "For each learning, use Task tool with subagent_type 'skill-evaluator' to determine: CREATE SKILL (complex, reusable pattern), ADD TO RULES (simple never/always rule), or OMIT ENTIRELY (already covered or too project-specific). Collect all decisions."
|
|
26
|
-
metadata: { project: "<project-name>" }
|
|
27
|
-
|
|
28
|
-
TaskCreate:
|
|
29
|
-
subject: "Apply decisions"
|
|
30
|
-
description: "For each learning based on skill-evaluator decision: CREATE SKILL → run /skill-creator with details. ADD TO RULES → add succinctly to .claude/rules/PROJECT_RULES.md. OMIT → no action. Report summary: skills created, rules added, omitted count."
|
|
31
|
-
metadata: { project: "<project-name>" }
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
**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.
|
|
35
|
-
|
|
36
|
-
## Important: Rules vs Skills
|
|
37
|
-
|
|
38
|
-
**⚠️ WARNING about PROJECT_RULES.md**: Rules in `.claude/rules/` are **always loaded** at session start for every request. Only add learnings to PROJECT_RULES.md if they:
|
|
39
|
-
- Apply to **every** request in this codebase (not just specific features)
|
|
40
|
-
- Are simple "never do X" or "always do Y" statements
|
|
41
|
-
- Cannot be scoped to a skill that's invoked on-demand
|
|
42
|
-
|
|
43
|
-
If a learning only applies to certain types of work (e.g., "when writing GraphQL resolvers..."), it should be a **skill** instead, not a rule.
|
|
7
|
+
Use the /project-debrief skill to aggregate and apply project learnings. $ARGUMENTS
|
|
@@ -1,51 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Updates all documentation related to changes implemented in the project
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
description: "Updates all documentation related to changes implemented in the project"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "<project-directory>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Changes on this branch need corresponding documentation updates to keep README, API docs, changelogs, and JSDoc current.
|
|
10
|
-
|
|
11
|
-
**IMPORTANT**: Perform each step and move to the next without stopping.
|
|
12
|
-
|
|
13
|
-
## Setup
|
|
14
|
-
|
|
15
|
-
Set active project marker: `echo "$ARGUMENTS" | sed 's|.*/||' > .claude-active-project`
|
|
16
|
-
|
|
17
|
-
Extract `<project-name>` from the last segment of `$ARGUMENTS`.
|
|
18
|
-
|
|
19
|
-
## Create and Execute Tasks
|
|
20
|
-
|
|
21
|
-
Create workflow tracking tasks with `metadata.project` set to the project name:
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
TaskCreate:
|
|
25
|
-
subject: "Identify changed files and documentation targets"
|
|
26
|
-
description: "Use git to identify files changed on this branch (git diff main...HEAD --name-only). For each changed file, identify related documentation: README sections, API docs, inline JSDoc, CHANGELOG entries, architecture docs, configuration docs. Compile a mapping of: changed file → related documentation file(s). Save to $ARGUMENTS/doc-targets.json with structure: { \"file.ts\": [\"README.md#section\", \"docs/api.md\"], ... }"
|
|
27
|
-
metadata: { project: "<project-name>" }
|
|
28
|
-
|
|
29
|
-
TaskCreate:
|
|
30
|
-
subject: "Update README and user-facing docs"
|
|
31
|
-
description: "For each documentation target in $ARGUMENTS/doc-targets.json that is a README section or user guide: Read the changed implementation file. Read the current documentation section. Update the documentation to accurately reflect the new/changed behavior, examples, or configuration. Preserve existing structure and tone."
|
|
32
|
-
metadata: { project: "<project-name>" }
|
|
33
|
-
|
|
34
|
-
TaskCreate:
|
|
35
|
-
subject: "Update API and technical documentation"
|
|
36
|
-
description: "For each documentation target that is API docs, architecture docs, or technical guides: Read the changed implementation. Read the current documentation. Update to reflect new endpoints, parameters, type signatures, behavior changes, or architectural decisions. Ensure consistency with code comments."
|
|
37
|
-
metadata: { project: "<project-name>" }
|
|
38
|
-
|
|
39
|
-
TaskCreate:
|
|
40
|
-
subject: "Update CHANGELOG"
|
|
41
|
-
description: "If CHANGELOG.md or CHANGELOG.{md,txt,rst} exists in project root: Add entry for all user-facing changes. Group by type (Added, Changed, Fixed, Deprecated). Reference relevant files or features. Follow existing CHANGELOG format and conventions."
|
|
42
|
-
metadata: { project: "<project-name>" }
|
|
43
|
-
|
|
44
|
-
TaskCreate:
|
|
45
|
-
subject: "Verify JSDoc on changed files"
|
|
46
|
-
description: "Read $ARGUMENTS/doc-targets.json. For each changed file (key), verify its JSDoc preamble and function/export documentation are current: Run /jsdoc-best-practices skill. Check that file-level preambles explain the module's purpose and when to use it. Check that exported functions/types have 'why' documentation (not just 'what'). Update any stale or missing documentation."
|
|
47
|
-
metadata: { project: "<project-name>" }
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
**Execute each task via a subagent** to preserve main context. Launch up to 5 in parallel where tasks don't have dependencies. Do not stop until all are completed.
|
|
51
|
-
|
|
7
|
+
Use the /project-document skill to update all project documentation. $ARGUMENTS
|