@codyswann/lisa 1.19.0 → 1.19.1

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 (40) hide show
  1. package/all/copy-overwrite/.claude/README.md +7 -1
  2. package/all/copy-overwrite/.claude/commands/plan/create.md +6 -0
  3. package/all/copy-overwrite/.claude/commands/plan/implement.md +6 -0
  4. package/all/copy-overwrite/HUMAN.md +114 -265
  5. package/all/deletions.json +18 -0
  6. package/package.json +1 -1
  7. package/all/copy-overwrite/.claude/commands/project/add-test-coverage.md +0 -11
  8. package/all/copy-overwrite/.claude/commands/project/archive.md +0 -11
  9. package/all/copy-overwrite/.claude/commands/project/bootstrap.md +0 -11
  10. package/all/copy-overwrite/.claude/commands/project/debrief.md +0 -11
  11. package/all/copy-overwrite/.claude/commands/project/document.md +0 -11
  12. package/all/copy-overwrite/.claude/commands/project/execute.md +0 -11
  13. package/all/copy-overwrite/.claude/commands/project/fix-linter-error.md +0 -11
  14. package/all/copy-overwrite/.claude/commands/project/implement.md +0 -11
  15. package/all/copy-overwrite/.claude/commands/project/local-code-review.md +0 -10
  16. package/all/copy-overwrite/.claude/commands/project/lower-code-complexity.md +0 -9
  17. package/all/copy-overwrite/.claude/commands/project/plan.md +0 -11
  18. package/all/copy-overwrite/.claude/commands/project/reduce-max-lines-per-function.md +0 -11
  19. package/all/copy-overwrite/.claude/commands/project/reduce-max-lines.md +0 -11
  20. package/all/copy-overwrite/.claude/commands/project/research.md +0 -11
  21. package/all/copy-overwrite/.claude/commands/project/review.md +0 -11
  22. package/all/copy-overwrite/.claude/commands/project/setup.md +0 -11
  23. package/all/copy-overwrite/.claude/commands/project/verify.md +0 -11
  24. package/all/copy-overwrite/.claude/skills/project-add-test-coverage/SKILL.md +0 -61
  25. package/all/copy-overwrite/.claude/skills/project-archive/SKILL.md +0 -14
  26. package/all/copy-overwrite/.claude/skills/project-bootstrap/SKILL.md +0 -33
  27. package/all/copy-overwrite/.claude/skills/project-debrief/SKILL.md +0 -48
  28. package/all/copy-overwrite/.claude/skills/project-document/SKILL.md +0 -55
  29. package/all/copy-overwrite/.claude/skills/project-execute/SKILL.md +0 -72
  30. package/all/copy-overwrite/.claude/skills/project-fix-linter-error/SKILL.md +0 -70
  31. package/all/copy-overwrite/.claude/skills/project-implement/SKILL.md +0 -43
  32. package/all/copy-overwrite/.claude/skills/project-local-code-review/SKILL.md +0 -92
  33. package/all/copy-overwrite/.claude/skills/project-lower-code-complexity/SKILL.md +0 -65
  34. package/all/copy-overwrite/.claude/skills/project-plan/SKILL.md +0 -183
  35. package/all/copy-overwrite/.claude/skills/project-reduce-max-lines/SKILL.md +0 -66
  36. package/all/copy-overwrite/.claude/skills/project-reduce-max-lines-per-function/SKILL.md +0 -69
  37. package/all/copy-overwrite/.claude/skills/project-research/SKILL.md +0 -170
  38. package/all/copy-overwrite/.claude/skills/project-review/SKILL.md +0 -53
  39. package/all/copy-overwrite/.claude/skills/project-setup/SKILL.md +0 -60
  40. package/all/copy-overwrite/.claude/skills/project-verify/SKILL.md +0 -46
@@ -1,92 +0,0 @@
1
- ---
2
- name: project-local-code-review
3
- description: This skill should be used when performing a code review on local changes on the current branch compared to the main branch. It uses multiple parallel agents to check for bugs, CLAUDE.md compliance, git history context, previous PR comments, and code comment adherence, then scores and filters findings by confidence level.
4
- disable-model-invocation: false
5
- argument-hint: "<project-directory>"
6
- ---
7
-
8
- > **DEPRECATED**: This skill is deprecated. Use `/plan-local-code-review` instead, which integrates with Claude's native plan mode.
9
- > This skill will be removed in a future release.
10
-
11
- Provide a code review for the local changes on the current branch compared to the main branch.
12
-
13
- To do this, follow these steps precisely:
14
-
15
- 1. Use a Haiku agent to check the current git state:
16
- - Run `git branch --show-current` to get the current branch name
17
- - Run `git log main..HEAD --oneline` to see commits on this branch
18
- - Run `git diff main...HEAD --stat` to see changed files
19
- - If the current branch IS main, or there are no commits/changes compared to main, do not proceed.
20
- 2. Use another Haiku agent to give you a list of file paths to (but not the contents of) any relevant CLAUDE.md files from the codebase: the root CLAUDE.md file (if one exists), as well as any CLAUDE.md files in the directories whose files were modified on this branch
21
- 3. Use a Haiku agent to analyze the branch changes:
22
- - Run `git log main..HEAD --format="%s%n%b"` to get commit messages
23
- - Run `git diff main...HEAD` to get the full diff
24
- - Return a summary of the changes
25
- 4. Then, launch 5 parallel Sonnet agents to independently code review the change. The agents should do the following, then return a list of issues and the reason each issue was flagged (eg. CLAUDE.md adherence, bug, historical git context, etc.):
26
- a. Agent #1: Audit the changes to make sure they comply with the CLAUDE.md. Note that CLAUDE.md is guidance for Claude as it writes code, so not all instructions will be applicable during code review.
27
- b. Agent #2: Read the file changes (via `git diff main...HEAD`), then do a shallow scan for obvious bugs. Avoid reading extra context beyond the changes, focusing just on the changes themselves. Focus on large bugs, and avoid small issues and nitpicks. Ignore likely false positives.
28
- c. Agent #3: Read the git blame and history of the code modified, to identify any bugs in light of that historical context
29
- d. Agent #4: Read previous pull requests that touched these files, and check for any comments on those pull requests that may also apply to the current changes.
30
- e. Agent #5: Read code comments in the modified files, and make sure the changes comply with any guidance in the comments.
31
- 5. For each issue found in #4, launch a parallel Haiku agent that takes the diff, issue description, and list of CLAUDE.md files (from step 2), and returns a score to indicate the agent's level of confidence for whether the issue is real or false positive. To do that, the agent should score each issue on a scale from 0-100, indicating its level of confidence. For issues that were flagged due to CLAUDE.md instructions, the agent should double check that the CLAUDE.md actually calls out that issue specifically. The scale is (give this rubric to the agent verbatim):
32
- a. 0: Not confident at all. This is a false positive that doesn't stand up to light scrutiny, or is a pre-existing issue.
33
- b. 25: Somewhat confident. This might be a real issue, but may also be a false positive. The agent wasn't able to verify that it's a real issue. If the issue is stylistic, it is one that was not explicitly called out in the relevant CLAUDE.md.
34
- c. 50: Moderately confident. The agent was able to verify this is a real issue, but it might be a nitpick or not happen very often in practice. Relative to the rest of the changes, it's not very important.
35
- d. 75: Highly confident. The agent double checked the issue, and verified that it is very likely it is a real issue that will be hit in practice. The existing approach is insufficient. The issue is very important and will directly impact the code's functionality, or it is an issue that is directly mentioned in the relevant CLAUDE.md.
36
- e. 100: Absolutely certain. The agent double checked the issue, and confirmed that it is definitely a real issue, that will happen frequently in practice. The evidence directly confirms this.
37
- 6. Filter out any issues with a score less than 80.
38
- 7. Write the review to $ARGUMENTS/claude-review.md. When writing your review, keep in mind to:
39
- a. Keep your output brief
40
- b. Avoid emojis
41
- c. Reference relevant files and line numbers
42
- 8. Briefly summarize $ARGUMENTS/claude-review.md as direct output to the user
43
-
44
- Examples of false positives, for steps 4 and 5:
45
-
46
- - Pre-existing issues
47
- - Something that looks like a bug but is not actually a bug
48
- - Pedantic nitpicks that a senior engineer wouldn't call out
49
- - Issues that a linter, typechecker, or compiler would catch (eg. missing or incorrect imports, type errors, broken tests, formatting issues, pedantic style issues like newlines). No need to run these build steps yourself -- it is safe to assume that they will be run separately as part of CI.
50
- - General code quality issues (eg. lack of test coverage, general security issues, poor documentation), unless explicitly required in CLAUDE.md
51
- - Issues that are called out in CLAUDE.md, but explicitly silenced in the code (eg. due to a lint ignore comment)
52
- - Changes in functionality that are likely intentional or are directly related to the broader change
53
- - Real issues, but on lines that were not modified in the current branch
54
-
55
- Notes:
56
-
57
- - Do not check build signal or attempt to build or typecheck the app. These will run separately, and are not relevant to your code review.
58
- - Use git commands to analyze local changes (not `gh` commands for remote PRs)
59
- - Make a todo list first
60
- - You must cite each bug with file path and line number (eg. if referring to a CLAUDE.md, you must reference it)
61
- - For your final output, follow the following format precisely (assuming for this example that you found 3 issues):
62
-
63
- ---
64
-
65
- ### Code review for branch `<branch-name>`
66
-
67
- Reviewed X commits with changes to Y files.
68
-
69
- Found 3 issues:
70
-
71
- 1. **<brief description of bug>** (CLAUDE.md says "<...>")
72
- - File: `path/to/file.ts:L10-L15`
73
-
74
- 2. **<brief description of bug>** (some/other/CLAUDE.md says "<...>")
75
- - File: `path/to/other-file.ts:L25-L30`
76
-
77
- 3. **<brief description of bug>** (bug due to <reasoning>)
78
- - File: `path/to/another-file.ts:L5-L8`
79
-
80
- ---
81
-
82
- - Or, if you found no issues:
83
-
84
- ---
85
-
86
- ### Code review for branch `<branch-name>`
87
-
88
- Reviewed X commits with changes to Y files.
89
-
90
- No issues found. Checked for bugs and CLAUDE.md compliance.
91
-
92
- ---
@@ -1,65 +0,0 @@
1
- ---
2
- name: project-lower-code-complexity
3
- description: This skill should be used when reducing the cognitive complexity threshold of the codebase. It lowers the threshold by 2, identifies functions that exceed the new limit, generates a brief with refactoring strategies, and bootstraps a project to fix all violations.
4
- allowed-tools: ["Read", "Bash", "Glob", "Grep"]
5
- ---
6
-
7
- > **DEPRECATED**: This skill is deprecated. Use `/plan-lower-code-complexity` instead, which integrates with Claude's native plan mode.
8
- > This skill will be removed in a future release.
9
-
10
- # Lower Code Complexity
11
-
12
- Reduces the cognitive complexity threshold by 2 and fixes all violations.
13
-
14
- ## Step 1: Gather Requirements
15
-
16
- 1. **Read current threshold** from eslint config (cognitive-complexity rule)
17
- 2. **Calculate new threshold**: current - 2 (e.g., 15 -> 13)
18
- 3. **Run lint** with the new threshold to find violations:
19
- ```bash
20
- bun run lint 2>&1 | grep "cognitive-complexity"
21
- ```
22
- 4. **Note for each violation**:
23
- - File path and line number
24
- - Function name
25
- - Current complexity score
26
-
27
- If no violations at new threshold, report success and exit.
28
-
29
- ## Step 2: Generate Brief
30
-
31
- Compile findings into a detailed brief:
32
-
33
- ```
34
- Reduce cognitive complexity threshold from [current] to [new].
35
-
36
- ## Functions Exceeding Threshold (ordered by complexity)
37
-
38
- 1. src/services/user.ts:processUser (complexity: 18, target: [new])
39
- - Line 45, function spans lines 45-120
40
- 2. src/utils/helpers.ts:validateInput (complexity: 15, target: [new])
41
- - Line 23, function spans lines 23-67
42
- ...
43
-
44
- ## Configuration Change
45
- - File: [eslint config path]
46
- - Change: cognitive-complexity threshold from [current] to [new]
47
-
48
- ## Refactoring Strategies
49
- - **Extract functions**: Break complex logic into smaller, named functions
50
- - **Early returns**: Reduce nesting with guard clauses
51
- - **Extract conditions**: Move complex boolean logic into named variables
52
- - **Use lookup tables**: Replace complex switch/if-else chains with object maps
53
-
54
- ## Acceptance Criteria
55
- - All functions at or below complexity [new]
56
- - `bun run lint` passes with no cognitive-complexity violations
57
-
58
- ## Verification
59
- Command: `bun run lint 2>&1 | grep "cognitive-complexity" | wc -l`
60
- Expected: 0
61
- ```
62
-
63
- ## Step 3: Bootstrap Project
64
-
65
- Run `/project-bootstrap` with the generated brief as a text prompt.
@@ -1,183 +0,0 @@
1
- ---
2
- name: project-plan
3
- description: This skill should be used when creating a detailed list of implementation tasks from research.md and brief.md files. It validates research completeness, discovers available skills, creates granular tasks with verification commands, and establishes task dependencies.
4
- allowed-tools: ["Read", "Bash", "Glob", "Grep", "TaskCreate", "TaskUpdate", "TaskList", "Skill"]
5
- argument-hint: "<project-directory>"
6
- ---
7
-
8
- > **DEPRECATED**: This skill is deprecated. Use Claude's native plan mode instead.
9
- > Enter plan mode with `/plan`, describe your requirements, and Claude will create a plan with tasks automatically.
10
- > This skill will be removed in a future release.
11
-
12
- ## Setup
13
-
14
- Set active project marker: `echo "$ARGUMENTS" | sed 's|.*/||' > .claude-active-project`
15
-
16
- Extract `<project-name>` from the last segment of `$ARGUMENTS`.
17
-
18
- ## Step 1: Read Project Files
19
-
20
- Read `$ARGUMENTS/brief.md` and `$ARGUMENTS/research.md` FULLY (no limit/offset).
21
-
22
- ## Step 2: Validate Research
23
-
24
- Locate "## Open Questions" in research.md.
25
-
26
- **Valid states** (proceed):
27
- - Section contains "None", "[None identified]", "N/A", or is empty
28
- - Section doesn't exist
29
- - All `**Answer**:` fields are filled
30
-
31
- **Invalid state** (stop immediately):
32
- - Questions with unfilled `**Answer**:` fields
33
-
34
- If invalid, report:
35
- ```
36
- CANNOT PROCEED WITH PLANNING
37
-
38
- The research.md file has unanswered open questions.
39
-
40
- Unanswered Questions Found:
41
- [List each question]
42
-
43
- Action Required:
44
- 1. Review $ARGUMENTS/research.md "## Open Questions"
45
- 2. Fill in the **Answer**: field for each question
46
- 3. Re-run /project-plan
47
- ```
48
-
49
- **IMPORTANT**: NEVER modify research.md during validation.
50
-
51
- ## Step 3: Discover Skills
52
-
53
- Read `.claude/skills/*/SKILL.md` files (first 10 lines each) to map skills to applicable tasks.
54
-
55
- ## Step 4: Create Tasks
56
-
57
- ### Determine Task List
58
-
59
- Each task must be small enough to have a **single, specific verification**.
60
- - Ask: "Can I prove this task is done with ONE command or check?"
61
- - Exception: `ui-recording` tasks may verify per-platform (web/iOS/Android)
62
-
63
- **Properly-sized tasks:**
64
- - "Add logout button to header" → single Playwright test
65
- - "Add unit tests for UserService" → single coverage command
66
- - "Create API endpoint for user profile" → single curl command
67
-
68
- **Too large (split these):**
69
- - "Build authentication system" → split into login, logout, session, etc.
70
- - "Add user management feature" → split into list, create, edit, etc.
71
-
72
- ### Create Tasks with TaskCreate
73
-
74
- For each task, use **TaskCreate** with:
75
-
76
- **subject**: Task name in imperative form (e.g., "Add logout button to header")
77
-
78
- **activeForm**: Present continuous form (e.g., "Adding logout button to header")
79
-
80
- **description**: Full task specification in markdown:
81
-
82
- ```markdown
83
- **Type:** Bug | Task | Epic | Story
84
-
85
- ## Description
86
- [Clear description based on type:
87
- - Bug: Symptoms, root cause approach
88
- - Story: Gherkin BDD format (Given/When/Then)
89
- - Task: Straightforward with clear goal
90
- - Epic: Goal overview with sub-tasks]
91
-
92
- ## Acceptance Criteria
93
- - [ ] Criterion 1
94
- - [ ] Criterion 2
95
-
96
- ## Relevant Research
97
- [Extract from research.md: code references, patterns, architecture constraints]
98
-
99
- ## Skills to Invoke
100
- - `/coding-philosophy` - Always required
101
- - [Other applicable skills from Step 3]
102
-
103
- ## Implementation Details
104
- [Files to modify, functions to implement, edge cases]
105
-
106
- ## Testing Requirements
107
- ### Unit Tests
108
- - [ ] `describe('X')/it('should Y')`: Description
109
-
110
- ### Integration Tests
111
- [Or "N/A - no integration points"]
112
-
113
- ### E2E Tests
114
- [Or "N/A - no user-facing changes"]
115
-
116
- ## Verification
117
-
118
- Every task MUST have empirical verification - a command that proves the work is done.
119
-
120
- **Why?** Code that "looks correct" often isn't. The only way to know something works is to run it and observe the result. Verification isn't "I wrote the code" - it's running a command and seeing expected output.
121
-
122
- **Type:** `test` | `ui-recording` | `test-coverage` | `api-test` | `manual-check` | `documentation`
123
-
124
- | Type | When to Use | Example |
125
- |------|-------------|---------|
126
- | `test` | Run specific tests | `npm test -- src/services/user.spec.ts` |
127
- | `ui-recording` | UI/UX changes | `npm run playwright:test ...` |
128
- | `test-coverage` | Coverage threshold | `npm run test:cov -- --collectCoverageFrom='...'` |
129
- | `api-test` | API endpoints | `curl -s http://localhost:3000/api/endpoint` |
130
- | `documentation` | Docs, README | `cat path/to/doc.md \| grep "expected content"` |
131
- | `manual-check` | Config, setup | `cat config.json \| jq '.setting'` |
132
-
133
- **Proof Command:**
134
- ```bash
135
- [Single command that outputs observable proof of completion]
136
- ```
137
-
138
- **Expected Output:**
139
- [Exact or pattern-matched output that proves success]
140
-
141
- ## Learnings
142
- During implementation, collect any discoveries valuable for future developers:
143
- - Gotchas or unexpected behavior encountered
144
- - Edge cases that weren't obvious from requirements
145
- - Better approaches discovered during implementation
146
- - Patterns that should be reused or avoided
147
- - Documentation gaps or misleading information found
148
-
149
- **On task completion**, use `TaskUpdate` to save learnings:
150
- ```
151
- TaskUpdate:
152
- taskId: "<this-task-id>"
153
- metadata: { learnings: ["Learning 1", "Learning 2", ...] }
154
- ```
155
- ```
156
-
157
- **metadata**:
158
- ```json
159
- {
160
- "project": "<project-name>",
161
- "type": "bug|task|epic|story",
162
- "skills": ["/coding-philosophy", ...],
163
- "verification": {
164
- "type": "test|ui-recording|test-coverage|api-test|manual-check|documentation",
165
- "command": "the proof command",
166
- "expected": "what success looks like"
167
- }
168
- }
169
- ```
170
-
171
- ### Set Up Dependencies
172
-
173
- After creating all tasks, use **TaskUpdate** with `addBlockedBy` to establish task order where needed.
174
-
175
- ## Step 5: Report
176
-
177
- Report: "Planning complete - X tasks created for project <project-name>"
178
-
179
- Use **TaskList** to show the created tasks.
180
-
181
- ---
182
-
183
- **IMPORTANT**: Each task description should contain all necessary information from `brief.md` and `research.md` to complete in isolation. Tasks should be independent and as small in scope as possible.
@@ -1,66 +0,0 @@
1
- ---
2
- name: project-reduce-max-lines
3
- description: This skill should be used when reducing the maximum file lines threshold and fixing all violations. It updates the eslint threshold configuration, identifies files exceeding the new limit, generates a brief with refactoring strategies, and bootstraps a project to split oversized files.
4
- allowed-tools: ["Read", "Bash", "Glob", "Grep"]
5
- argument-hint: "<max-lines-value>"
6
-
7
- ---
8
-
9
- > **DEPRECATED**: This skill is deprecated. Use `/plan-reduce-max-lines` instead, which integrates with Claude's native plan mode.
10
- > This skill will be removed in a future release.
11
-
12
- # Reduce Max Lines
13
-
14
- Target threshold: $ARGUMENTS lines per file
15
-
16
- If no argument provided, prompt the user for a target.
17
-
18
- ## Step 1: Gather Requirements
19
-
20
- 1. **Read current config** from eslint thresholds (eslint.thresholds.json or similar)
21
- 2. **Run lint** with the new threshold to find violations:
22
- ```bash
23
- bun run lint 2>&1 | grep "max-lines"
24
- ```
25
- 3. **Note for each violation**:
26
- - File path
27
- - Current line count
28
-
29
- If no violations at $ARGUMENTS, report success and exit.
30
-
31
- ## Step 2: Generate Brief
32
-
33
- Compile findings into a detailed brief:
34
-
35
- ```
36
- Reduce max file lines threshold to $ARGUMENTS.
37
-
38
- ## Files Exceeding Threshold (ordered by line count)
39
-
40
- 1. src/services/user.ts (450 lines, target: $ARGUMENTS)
41
- 2. src/utils/helpers.ts (380 lines, target: $ARGUMENTS)
42
- 3. src/components/Dashboard.tsx (320 lines, target: $ARGUMENTS)
43
- ...
44
-
45
- ## Configuration Change
46
- - File: eslint.thresholds.json
47
- - Change: maxLines to $ARGUMENTS
48
-
49
- ## Refactoring Strategies
50
- - **Extract modules**: Break file into smaller focused modules
51
- - **Remove duplication**: Consolidate repeated logic
52
- - **Delete dead code**: Remove unused functions/code paths
53
- - **Simplify logic**: Use early returns, reduce nesting
54
-
55
- ## Acceptance Criteria
56
- - All files at or below $ARGUMENTS lines
57
- - `bun run lint` passes with no max-lines violations
58
-
59
- ## Verification
60
- Command: `bun run lint 2>&1 | grep "max-lines" | wc -l`
61
- Expected: 0
62
- ```
63
-
64
- ## Step 3: Bootstrap Project
65
-
66
- Run `/project-bootstrap` with the generated brief as a text prompt.
@@ -1,69 +0,0 @@
1
- ---
2
- name: project-reduce-max-lines-per-function
3
- description: This skill should be used when reducing the maximum lines per function threshold and fixing all violations. It updates the eslint threshold configuration, identifies functions exceeding the new limit, generates a brief with refactoring strategies, and bootstraps a project to split oversized functions.
4
- allowed-tools: ["Read", "Bash", "Glob", "Grep"]
5
- argument-hint: "<max-lines-per-function-value>"
6
-
7
- ---
8
-
9
- > **DEPRECATED**: This skill is deprecated. Use `/plan-reduce-max-lines-per-function` instead, which integrates with Claude's native plan mode.
10
- > This skill will be removed in a future release.
11
-
12
- # Reduce Max Lines Per Function
13
-
14
- Target threshold: $ARGUMENTS lines per function
15
-
16
- If no argument provided, prompt the user for a target.
17
-
18
- ## Step 1: Gather Requirements
19
-
20
- 1. **Read current config** from eslint thresholds (eslint.thresholds.json or similar)
21
- 2. **Run lint** with the new threshold to find violations:
22
- ```bash
23
- bun run lint 2>&1 | grep "max-lines-per-function"
24
- ```
25
- 3. **Note for each violation**:
26
- - File path and line number
27
- - Function name
28
- - Current line count
29
-
30
- If no violations at $ARGUMENTS, report success and exit.
31
-
32
- ## Step 2: Generate Brief
33
-
34
- Compile findings into a detailed brief:
35
-
36
- ```
37
- Reduce max lines per function threshold to $ARGUMENTS.
38
-
39
- ## Functions Exceeding Threshold (ordered by line count)
40
-
41
- 1. src/services/user.ts:processUser (95 lines, target: $ARGUMENTS)
42
- - Line 45, function spans lines 45-140
43
- 2. src/utils/helpers.ts:validateInput (82 lines, target: $ARGUMENTS)
44
- - Line 23, function spans lines 23-105
45
- ...
46
-
47
- ## Configuration Change
48
- - File: eslint.thresholds.json
49
- - Change: maxLinesPerFunction to $ARGUMENTS
50
-
51
- ## Refactoring Strategies
52
- - **Extract functions**: Break function into smaller named functions
53
- - **Early returns**: Reduce nesting with guard clauses
54
- - **Extract conditions**: Move complex boolean logic into named variables
55
- - **Use lookup tables**: Replace complex switch/if-else chains with object maps
56
- - **Consolidate logic**: Merge similar code paths
57
-
58
- ## Acceptance Criteria
59
- - All functions at or below $ARGUMENTS lines
60
- - `bun run lint` passes with no max-lines-per-function violations
61
-
62
- ## Verification
63
- Command: `bun run lint 2>&1 | grep "max-lines-per-function" | wc -l`
64
- Expected: 0
65
- ```
66
-
67
- ## Step 3: Bootstrap Project
68
-
69
- Run `/project-bootstrap` with the generated brief as a text prompt.
@@ -1,170 +0,0 @@
1
- ---
2
- name: project-research
3
- description: This skill should be used when conducting comprehensive research across the codebase and web relevant to a project. It spawns parallel research agents, documents existing code patterns, testing patterns, and architecture, and compiles findings into a research.md file for the planning phase.
4
- allowed-tools: ["Read", "Write", "Bash", "Glob", "Grep", "Task", "TaskCreate", "TaskUpdate", "TaskList", "WebSearch", "WebFetch"]
5
- argument-hint: "<project-directory>"
6
- ---
7
-
8
- > **DEPRECATED**: This skill is deprecated. Use Claude's native plan mode instead.
9
- > Enter plan mode with `/plan`, describe your requirements, and Claude will create a plan with tasks automatically.
10
- > This skill will be removed in a future release.
11
-
12
- # Research Codebase
13
-
14
- Conduct comprehensive research across the codebase and web to help create an implementation plan for the brief in $ARGUMENTS.
15
-
16
- ## Goals
17
-
18
- 1. Determine what existing documentation in the codebase will be needed
19
- 2. Determine any gaps in the spec that would prevent fulfilling acceptance criteria
20
- 3. Determine potential pitfalls (performance, security concerns)
21
- 4. Determine reusable code, functions, and modules in the codebase
22
- 5. Determine testing patterns and locations (frameworks, conventions, examples)
23
- 6. Determine documentation patterns (JSDoc, DB comments, GraphQL descriptions)
24
-
25
- ## Critical Rule
26
-
27
- **THE ONLY JOB IS TO DOCUMENT AND EXPLAIN THE CODEBASE AS IT EXISTS TODAY**
28
-
29
- - DO NOT suggest improvements or changes
30
- - DO NOT perform root cause analysis
31
- - DO NOT propose future enhancements
32
- - DO NOT critique or identify problems
33
- - ONLY describe what exists, where it exists, how it works, and how components interact
34
-
35
- ## Workflow Tasks
36
-
37
- Create workflow tracking tasks with `metadata: { "project": "<project-name>", "phase": "research" }`:
38
-
39
- 1. Read mentioned files
40
- 2. Analyze and decompose
41
- 3. Spawn research agents
42
- 4. Wait and synthesize
43
- 5. Generate document
44
- 6. Commit
45
-
46
- ## Step 1: Read Mentioned Files
47
-
48
- Read any directly mentioned files FULLY first (no limit/offset). This ensures full context before spawning sub-tasks.
49
-
50
- ## Step 2: Analyze and Decompose
51
-
52
- - Break down the brief into composable research areas
53
- - Identify specific components, patterns, or concepts to investigate
54
- - Consider which directories, files, or architectural patterns are relevant
55
-
56
- ## Step 3: Spawn Research Agents
57
-
58
- Spawn parallel sub-agent tasks for comprehensive research:
59
-
60
- **For codebase research:**
61
- - **codebase-locator**: Find WHERE files and components live
62
- - **codebase-analyzer**: Understand HOW specific code works
63
- - **codebase-pattern-finder**: Find examples of existing patterns
64
- - **git-history-analyzer**: Understand file change history
65
-
66
- **For e2e test research:**
67
- - Find existing e2e tests in `e2e/` or `tests/` directories
68
- - Document what scenarios each test covers
69
- - Identify tests needing modification or gaps for new functionality
70
-
71
- **For web research:**
72
- - **web-search-researcher**: External documentation and resources
73
- - Include LINKS with findings in the final report
74
-
75
- Run multiple agents in parallel when searching for different things.
76
-
77
- ## Step 4: Wait and Synthesize
78
-
79
- **CRITICAL**: Wait for ALL sub-agent tasks to complete before proceeding.
80
-
81
- - Compile all sub-agent results
82
- - Prioritize live codebase findings as primary source of truth
83
- - Connect findings across different components
84
- - Include specific file paths and line numbers
85
- - Note any frameworks used (Rails, NestJS, Expo, React, etc.)
86
-
87
- ## Step 5: Generate Document
88
-
89
- Create `$ARGUMENTS/research.md` with this structure:
90
-
91
- ```markdown
92
- ---
93
- date: [ISO format with timezone]
94
- status: complete
95
- last_updated: [YYYY-MM-DD]
96
- ---
97
-
98
- # Research
99
-
100
- ## Summary
101
- [High-level documentation of findings]
102
-
103
- ## Detailed Findings
104
- ### [Component/Area]
105
- - Description of what exists ([file.ext:line](link))
106
- - How it connects to other components
107
-
108
- ## Code References
109
- - `path/to/file.py:123` - Description
110
-
111
- ## Reusable Code
112
- ### Existing Functions/Modules
113
- - `path/to/utils.ts:45` - `functionName()` - description of what it does and how it can be reused
114
- - `path/to/service.ts:120` - `ClassName` - description of reusable functionality
115
-
116
- ### Existing Patterns to Follow
117
- - Similar feature implemented in `path/to/feature/` - follow same structure
118
- - Existing implementation of X in `path/to/file.ts` - can be extended/adapted
119
-
120
- ## Architecture Documentation
121
- [Patterns, conventions, design implementations]
122
-
123
- ## Testing Patterns
124
- ### Unit Test Patterns
125
- - **Location**: pattern found
126
- - **Framework**: Jest/Vitest/etc.
127
- - **Example to follow**: path:line-range
128
- - **Conventions**: naming, structure, mocks
129
-
130
- ### Integration Test Patterns
131
- [Similar structure]
132
-
133
- ### E2E Test Patterns
134
- [Similar structure]
135
-
136
- ## Impacted Tests
137
- ### Tests Requiring Modification
138
- - `tests/example.spec.ts` - tests X functionality, will need updates for Y
139
- - `e2e/feature.spec.ts` - may need new assertions for Z
140
-
141
- ### Test Gaps
142
- - No existing tests for X functionality - will need new test file
143
- - Missing edge case coverage for Y scenario
144
-
145
- ## Documentation Patterns
146
- ### JSDoc Conventions
147
- ### Database Comments (Backend)
148
- ### GraphQL Descriptions (Backend)
149
-
150
- ## Open Questions
151
-
152
- ### Q1: [Short Title]
153
- **Question**: [Full question]
154
- **Context**: [Why this arose]
155
- **Impact**: [What it affects]
156
- **Recommendation**: [Researcher's best recommendation based on findings]
157
- **Answer**: _[Human fills before /project-plan]_
158
- ```
159
-
160
- ## Step 6: Commit
161
-
162
- Run `/git-commit`
163
-
164
- ## Important Notes
165
-
166
- - Always use parallel Task agents to maximize efficiency
167
- - Always run fresh codebase research - never rely solely on existing documents
168
- - Focus on finding concrete file paths and line numbers
169
- - Each sub-agent prompt should be specific and focused on read-only documentation
170
- - **REMEMBER**: Document what IS, not what SHOULD BE