cc-dev-template 0.1.79 → 0.1.81
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/package.json +1 -1
- package/src/commands/done.md +1 -1
- package/src/skills/agent-browser/SKILL.md +7 -133
- package/src/skills/agent-browser/references/common-patterns.md +64 -0
- package/src/skills/agent-browser/references/ios-simulator.md +25 -0
- package/src/skills/agent-browser/references/reflect.md +9 -0
- package/src/skills/agent-browser/references/semantic-locators.md +11 -0
- package/src/skills/claude-md/SKILL.md +1 -3
- package/src/skills/claude-md/references/audit-reflect.md +0 -4
- package/src/skills/claude-md/references/audit.md +1 -3
- package/src/skills/claude-md/references/create-reflect.md +0 -4
- package/src/skills/claude-md/references/create.md +1 -3
- package/src/skills/claude-md/references/modify-reflect.md +0 -4
- package/src/skills/claude-md/references/modify.md +1 -3
- package/src/skills/creating-agent-skills/SKILL.md +2 -2
- package/src/skills/creating-agent-skills/references/create-step-1-understand.md +1 -1
- package/src/skills/creating-agent-skills/references/create-step-2-design.md +3 -3
- package/src/skills/creating-agent-skills/references/create-step-3-write.md +42 -10
- package/src/skills/creating-agent-skills/references/create-step-4-review.md +2 -2
- package/src/skills/creating-agent-skills/references/create-step-5-install.md +1 -3
- package/src/skills/creating-agent-skills/references/create-step-6-reflect.md +1 -3
- package/src/skills/creating-agent-skills/references/fix-step-1-diagnose.md +5 -4
- package/src/skills/creating-agent-skills/references/fix-step-2-apply.md +2 -2
- package/src/skills/creating-agent-skills/references/fix-step-3-validate.md +1 -3
- package/src/skills/creating-agent-skills/references/fix-step-4-reflect.md +1 -3
- package/src/skills/creating-agent-skills/templates/router-skill.md +3 -3
- package/src/skills/creating-sub-agents/references/create-step-1-understand.md +1 -1
- package/src/skills/creating-sub-agents/references/create-step-2-design.md +1 -1
- package/src/skills/creating-sub-agents/references/create-step-3-write.md +1 -1
- package/src/skills/creating-sub-agents/references/create-step-4-review.md +1 -1
- package/src/skills/creating-sub-agents/references/create-step-5-install.md +1 -3
- package/src/skills/creating-sub-agents/references/create-step-6-reflect.md +0 -4
- package/src/skills/creating-sub-agents/references/fix-step-3-validate.md +1 -3
- package/src/skills/creating-sub-agents/references/fix-step-4-reflect.md +0 -4
- package/src/skills/execute-spec/SKILL.md +9 -17
- package/src/skills/execute-spec/references/phase-1-hydrate.md +4 -1
- package/src/skills/execute-spec/references/phase-2-build.md +5 -3
- package/src/skills/execute-spec/references/phase-3-validate.md +5 -4
- package/src/skills/execute-spec/references/phase-4-triage.md +4 -0
- package/src/skills/execute-spec/references/phase-5-reflect.md +1 -3
- package/src/skills/initialize-project/SKILL.md +2 -4
- package/src/skills/initialize-project/references/reflect.md +0 -4
- package/src/skills/project-setup/references/step-5-verify.md +1 -3
- package/src/skills/project-setup/references/step-6-reflect.md +0 -4
- package/src/skills/prompting/SKILL.md +1 -1
- package/src/skills/prompting/references/create-reflect.md +0 -4
- package/src/skills/prompting/references/create.md +1 -3
- package/src/skills/prompting/references/review-reflect.md +0 -4
- package/src/skills/prompting/references/review.md +1 -3
- package/src/skills/research/SKILL.md +1 -1
- package/src/skills/research/references/step-2-conduct-research.md +1 -3
- package/src/skills/research/references/step-3-reflect.md +0 -4
- package/src/skills/setup-lsp/SKILL.md +15 -0
- package/src/skills/setup-lsp/references/lsp-registry.md +148 -0
- package/src/skills/setup-lsp/references/step-1-scan.md +28 -0
- package/src/skills/setup-lsp/references/step-2-install-configure.md +83 -0
- package/src/skills/setup-lsp/references/step-3-verify.md +41 -0
- package/src/skills/setup-lsp/references/step-4-reflect.md +20 -0
- package/src/skills/spec-interview/SKILL.md +1 -32
- package/src/skills/spec-interview/references/step-1-opening.md +32 -1
- package/src/skills/spec-interview/references/step-2-ideation.md +2 -2
- package/src/skills/spec-interview/references/step-4-deep-dive.md +18 -0
- package/src/skills/spec-interview/references/step-7-finalize.md +1 -3
- package/src/skills/spec-interview/references/step-8-reflect.md +1 -3
- package/src/skills/spec-review/SKILL.md +8 -9
- package/src/skills/spec-sanity-check/SKILL.md +2 -2
- package/src/skills/spec-to-tasks/SKILL.md +3 -3
- package/src/skills/spec-to-tasks/references/step-3-generate.md +5 -7
- package/src/skills/spec-to-tasks/references/step-4-review.md +9 -14
- package/src/skills/task-review/SKILL.md +2 -2
- package/src/skills/task-review/references/checklist.md +14 -16
- package/src/skills/execute-spec/references/workflow.md +0 -82
|
@@ -75,6 +75,4 @@ Summarize what was created:
|
|
|
75
75
|
- Memory scope (if any)
|
|
76
76
|
- Skills preloaded (if any)
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
Read `references/create-step-6-reflect.md` now.
|
|
78
|
+
Use the Read tool on `references/create-step-6-reflect.md` to reflect on the creation process and note any skill issues.
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Step 6: Reflect and Improve
|
|
2
2
|
|
|
3
|
-
**IMPORTANT: This step is mandatory. The sub-agent creation workflow is not complete until this step is finished. Do not skip this.**
|
|
4
|
-
|
|
5
|
-
Reflect on your experience creating this sub-agent. The purpose is to improve the creating-sub-agents skill itself based on what you just learned.
|
|
6
|
-
|
|
7
3
|
## Assess
|
|
8
4
|
|
|
9
5
|
Answer these questions honestly:
|
|
@@ -51,6 +51,4 @@ Summarize what was fixed:
|
|
|
51
51
|
- What was wrong and how it was resolved
|
|
52
52
|
- Confirm with the user that the sub-agent now behaves as expected
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
Read `references/fix-step-4-reflect.md` now.
|
|
54
|
+
Use the Read tool on `references/fix-step-4-reflect.md` to reflect on the fix process and note any skill issues.
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Step 4: Reflect and Improve
|
|
2
2
|
|
|
3
|
-
**IMPORTANT: This step is mandatory. The sub-agent fix workflow is not complete until this step is finished. Do not skip this.**
|
|
4
|
-
|
|
5
|
-
Reflect on your experience fixing this sub-agent. The purpose is to improve the creating-sub-agents skill itself based on what you just learned.
|
|
6
|
-
|
|
7
3
|
## Assess
|
|
8
4
|
|
|
9
5
|
Answer these questions honestly:
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: execute-spec
|
|
3
|
+
description: Orchestrates implementation and validation of a spec's task breakdown by dispatching agents — never reads task files or edits code directly.
|
|
2
4
|
allowed-tools: Grep, Glob, Task, TaskCreate, TaskList, TaskUpdate, TaskGet, AskUserQuestion, Bash
|
|
3
5
|
hooks:
|
|
4
6
|
PreToolUse:
|
|
@@ -12,8 +14,6 @@ hooks:
|
|
|
12
14
|
|
|
13
15
|
Orchestrates the implementation and validation of a spec's task breakdown.
|
|
14
16
|
|
|
15
|
-
**Important**: This skill is an orchestrator only. It does NOT read task files or edit code directly. It dispatches agents and receives minimal status responses. All detailed work happens in the agents; all detailed findings live in the task files.
|
|
16
|
-
|
|
17
17
|
## When to Use
|
|
18
18
|
|
|
19
19
|
Invoke when you have a complete spec with a `tasks/` folder containing task files (T001-*.md, T002-*.md, etc.) ready for implementation.
|
|
@@ -23,26 +23,18 @@ Invoke when you have a complete spec with a `tasks/` folder containing task file
|
|
|
23
23
|
This skill takes a spec path as an argument:
|
|
24
24
|
- `docs/specs/my-feature` - path to the spec folder containing `spec.md` and `tasks/`
|
|
25
25
|
|
|
26
|
-
## Workflow
|
|
27
|
-
|
|
28
|
-
Read `references/workflow.md` for the full orchestration flow.
|
|
29
|
-
|
|
30
|
-
## Phases
|
|
31
|
-
|
|
32
|
-
1. **Hydrate** - Run parse script, create tasks with dependencies (NO file reading)
|
|
33
|
-
2. **Build** - Dispatch spec-implementer agents, receive minimal status
|
|
34
|
-
3. **Validate** - Dispatch spec-validator agents, receive pass/fail
|
|
35
|
-
4. **Triage** - Re-dispatch implementers for failed tasks, loop until clean
|
|
36
|
-
5. **Reflect** - Assess orchestration experience, improve skill files (mandatory)
|
|
37
|
-
|
|
38
26
|
## Key Principles
|
|
39
27
|
|
|
40
|
-
- **Never read task files**
|
|
41
|
-
- **Minimal context**
|
|
42
|
-
- **
|
|
28
|
+
- **Never read task files** — Use the parse script for hydration, pass paths to agents. A PreToolUse hook blocks task file reads.
|
|
29
|
+
- **Minimal context** — Agent returns are pass/fail only, details live in task files.
|
|
30
|
+
- **Dispatch only** — All implementation and fixes go to spec-implementer agents, all validation to spec-validator agents. The orchestrator dispatches and collects status.
|
|
43
31
|
|
|
44
32
|
## Requirements
|
|
45
33
|
|
|
46
34
|
- Spec folder must contain `spec.md` and `tasks/` directory
|
|
47
35
|
- Task files must have YAML frontmatter with `id`, `title`, `status`, `depends_on`
|
|
48
36
|
- The `spec-implementer` and `spec-validator` agents must be installed
|
|
37
|
+
|
|
38
|
+
## Start
|
|
39
|
+
|
|
40
|
+
Read `references/phase-1-hydrate.md` to begin the workflow.
|
|
@@ -68,4 +68,7 @@ Maintain a mapping of task IDs (T001, T002) to Claude task system IDs.
|
|
|
68
68
|
|
|
69
69
|
- All tasks in Claude Code task system
|
|
70
70
|
- Dependencies configured
|
|
71
|
-
|
|
71
|
+
|
|
72
|
+
## Next
|
|
73
|
+
|
|
74
|
+
Use the Read tool on `references/phase-2-build.md` to start dispatching implementers.
|
|
@@ -25,8 +25,7 @@ Loop until all tasks complete:
|
|
|
25
25
|
)
|
|
26
26
|
|
|
27
27
|
4. Wait for completions:
|
|
28
|
-
-
|
|
29
|
-
- Poll TaskList periodically to check status
|
|
28
|
+
- Background agents will notify you when they finish — wait for their completion messages
|
|
30
29
|
- As tasks complete, newly unblocked tasks become ready
|
|
31
30
|
|
|
32
31
|
5. Repeat until no pending tasks remain
|
|
@@ -60,4 +59,7 @@ Build Progress:
|
|
|
60
59
|
|
|
61
60
|
- All tasks implemented (or failed with notes)
|
|
62
61
|
- Implementation Notes written to each task file
|
|
63
|
-
|
|
62
|
+
|
|
63
|
+
## Next
|
|
64
|
+
|
|
65
|
+
Use the Read tool on `references/phase-3-validate.md` to validate the implementations.
|
|
@@ -29,9 +29,7 @@ Dispatch spec-validator agents for each completed task.
|
|
|
29
29
|
|
|
30
30
|
4. Wait for all validators to complete
|
|
31
31
|
|
|
32
|
-
5. Collect results
|
|
33
|
-
- Read Review Notes from each task file
|
|
34
|
-
- Aggregate issues by severity
|
|
32
|
+
5. Collect results from validator returns (pass/fail status only)
|
|
35
33
|
```
|
|
36
34
|
|
|
37
35
|
## Validator Behavior
|
|
@@ -69,4 +67,7 @@ Validation Results:
|
|
|
69
67
|
|
|
70
68
|
- Validation complete for all tasks
|
|
71
69
|
- Issues collected and categorized
|
|
72
|
-
|
|
70
|
+
|
|
71
|
+
## Next
|
|
72
|
+
|
|
73
|
+
Use the Read tool on `references/phase-4-triage.md` to process results and fix any failures.
|
|
@@ -73,3 +73,7 @@ Phase completes when:
|
|
|
73
73
|
1. All validators return "Pass: TXXX"
|
|
74
74
|
2. User explicitly defers remaining issues
|
|
75
75
|
3. Max retry limit reached (suggest user intervention)
|
|
76
|
+
|
|
77
|
+
## Next
|
|
78
|
+
|
|
79
|
+
Use the Read tool on `references/phase-5-reflect.md` to present final results to the user and reflect on the workflow.
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# Phase 5: Reflect and Improve
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Reflect on your experience orchestrating this spec execution. The purpose is to improve the execute-spec skill itself based on what you just learned.
|
|
3
|
+
Reflect on your experience orchestrating this spec execution.
|
|
6
4
|
|
|
7
5
|
## Assess
|
|
8
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: initialize-project
|
|
3
|
-
description: Scaffold docs structure for Claude Code sessions. Use when starting a new project, when
|
|
3
|
+
description: Scaffold docs structure for Claude Code sessions. Use when starting a new project, when the project lacks docs/CURRENT_WORK.md, or when the user wants session tracking initialized.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Initialize Project
|
|
@@ -32,6 +32,4 @@ Report what was created:
|
|
|
32
32
|
|
|
33
33
|
End with: "Run `/prime` to start a session."
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
Read references/reflect.md now.
|
|
35
|
+
Use the Read tool on `references/reflect.md` to reflect on the setup and note any skill issues.
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Reflect and Improve
|
|
2
2
|
|
|
3
|
-
**IMPORTANT: This step is mandatory. The initialize-project workflow is not complete until this step is finished. Do not skip this.**
|
|
4
|
-
|
|
5
|
-
Reflect on your experience using this skill. The purpose is to improve the initialize-project skill itself based on what you just learned.
|
|
6
|
-
|
|
7
3
|
## Assess
|
|
8
4
|
|
|
9
5
|
Answer these questions honestly:
|
|
@@ -69,6 +69,4 @@ Tell the user:
|
|
|
69
69
|
|
|
70
70
|
If everything passed, the setup is complete.
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
Read `references/step-6-reflect.md` now.
|
|
72
|
+
Use the Read tool on `references/step-6-reflect.md` to reflect on the setup experience and note any skill issues.
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Step 6: Reflect and Improve
|
|
2
2
|
|
|
3
|
-
**IMPORTANT: This step is mandatory. The project setup workflow is not complete until this step is finished. Do not skip this.**
|
|
4
|
-
|
|
5
|
-
Reflect on your experience setting up this project. The purpose is to improve the project-setup skill itself based on what you just learned.
|
|
6
|
-
|
|
7
3
|
## Assess
|
|
8
4
|
|
|
9
5
|
Answer these questions honestly:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prompting
|
|
3
|
-
description:
|
|
3
|
+
description: Guide prompt creation and improvement using Claude 4.x best practices. Use for reviewing existing prompts, creating new prompts, or improving prompt effectiveness.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Prompting
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Reflect on Prompt Creation
|
|
2
2
|
|
|
3
|
-
**IMPORTANT: This step is mandatory. The prompt creation workflow is not complete until this step is finished. Do not skip this.**
|
|
4
|
-
|
|
5
|
-
Reflect on your experience using this skill to create the prompt. The purpose is to improve the prompting skill itself based on what you just learned.
|
|
6
|
-
|
|
7
3
|
## Assess
|
|
8
4
|
|
|
9
5
|
Answer these questions honestly:
|
|
@@ -58,6 +58,4 @@ Ask: "Does this capture what you need? Any adjustments?"
|
|
|
58
58
|
|
|
59
59
|
Incorporate feedback until the user is satisfied.
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
Read `references/create-reflect.md` now.
|
|
61
|
+
Use the Read tool on `references/create-reflect.md` to reflect on the prompt creation and note any skill issues.
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Reflect on Prompt Review
|
|
2
2
|
|
|
3
|
-
**IMPORTANT: This step is mandatory. The prompt review workflow is not complete until this step is finished. Do not skip this.**
|
|
4
|
-
|
|
5
|
-
Reflect on your experience using this skill to review the prompt. The purpose is to improve the prompting skill itself based on what you just learned.
|
|
6
|
-
|
|
7
3
|
## Assess
|
|
8
4
|
|
|
9
5
|
Answer these questions honestly:
|
|
@@ -77,6 +77,4 @@ Ask: "Would you like me to adjust anything in the improved version?"
|
|
|
77
77
|
|
|
78
78
|
Incorporate feedback and present updated version until the user is satisfied.
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
Read `references/review-reflect.md` now.
|
|
80
|
+
Use the Read tool on `references/review-reflect.md` to reflect on the prompt review and note any skill issues.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: research
|
|
3
|
-
description: Deep research on unfamiliar paradigms, libraries, or patterns before implementation.
|
|
3
|
+
description: Deep research on unfamiliar paradigms, libraries, or patterns before implementation. Use when a topic needs investigation before coding, or when spec-interview identifies research needs. Outputs to docs/research/ with YAML frontmatter.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Research
|
|
@@ -62,6 +62,4 @@ After writing the document:
|
|
|
62
62
|
2. Summarize the key takeaways
|
|
63
63
|
3. Return to the invoking context (spec-interview or user)
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
Read `references/step-3-reflect.md` now.
|
|
65
|
+
Use the Read tool on `references/step-3-reflect.md` to reflect on the research process and note any skill issues.
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Step 3: Reflect and Improve
|
|
2
2
|
|
|
3
|
-
**IMPORTANT: This step is mandatory. The research workflow is not complete until this step is finished. Do not skip this.**
|
|
4
|
-
|
|
5
|
-
Reflect on your experience using this skill. The purpose is to improve the research skill itself based on what you just learned.
|
|
6
|
-
|
|
7
3
|
## Assess
|
|
8
4
|
|
|
9
5
|
Answer these questions honestly:
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: setup-lsp
|
|
3
|
+
description: Set up LSP language servers for the current project. Use when the project needs code intelligence configured, or to verify an existing LSP setup. Pass "verify" argument after restart to confirm LSP is working.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
argument-hint: "[verify]"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Setup LSP
|
|
9
|
+
|
|
10
|
+
Configure LSP (Language Server Protocol) for the current project so Claude Code uses precise code intelligence instead of grep-based search.
|
|
11
|
+
|
|
12
|
+
| Argument | Action |
|
|
13
|
+
|----------|--------|
|
|
14
|
+
| No argument | Read `references/step-1-scan.md` |
|
|
15
|
+
| `verify` | Read `references/step-3-verify.md` |
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# LSP Registry
|
|
2
|
+
|
|
3
|
+
## Language Detection
|
|
4
|
+
|
|
5
|
+
Detect languages by file extensions AND project config files. Config files are more reliable — a `go.mod` is definitive proof of Go usage; a stray `.go` file might not be.
|
|
6
|
+
|
|
7
|
+
| Config File | Language |
|
|
8
|
+
|-------------|----------|
|
|
9
|
+
| `package.json`, `tsconfig.json`, `jsconfig.json` | TypeScript/JavaScript |
|
|
10
|
+
| `pyproject.toml`, `setup.py`, `setup.cfg`, `requirements.txt`, `Pipfile` | Python |
|
|
11
|
+
| `go.mod` | Go |
|
|
12
|
+
| `Cargo.toml` | Rust |
|
|
13
|
+
| `pom.xml`, `build.gradle`, `build.gradle.kts` | Java |
|
|
14
|
+
| `*.csproj`, `*.sln` | C# |
|
|
15
|
+
| `composer.json` | PHP |
|
|
16
|
+
| `Package.swift` | Swift |
|
|
17
|
+
| `build.gradle.kts` with `kotlin` | Kotlin |
|
|
18
|
+
| `CMakeLists.txt`, `Makefile` with `.c`/`.cpp` | C/C++ |
|
|
19
|
+
|
|
20
|
+
| Extension | Language |
|
|
21
|
+
|-----------|----------|
|
|
22
|
+
| `.ts`, `.tsx`, `.js`, `.jsx`, `.mts`, `.cts`, `.mjs`, `.cjs` | TypeScript/JavaScript |
|
|
23
|
+
| `.py`, `.pyi` | Python |
|
|
24
|
+
| `.go` | Go |
|
|
25
|
+
| `.rs` | Rust |
|
|
26
|
+
| `.java` | Java |
|
|
27
|
+
| `.cs` | C# |
|
|
28
|
+
| `.php` | PHP |
|
|
29
|
+
| `.swift` | Swift |
|
|
30
|
+
| `.kt`, `.kts` | Kotlin |
|
|
31
|
+
| `.c`, `.h`, `.cpp`, `.cc`, `.cxx`, `.hpp`, `.hxx` | C/C++ |
|
|
32
|
+
| `.lua` | Lua |
|
|
33
|
+
|
|
34
|
+
## Language Server Details
|
|
35
|
+
|
|
36
|
+
Each entry: plugin name, binary command, install command, and verification command.
|
|
37
|
+
|
|
38
|
+
| Language | Plugin | Binary | Install | Verify |
|
|
39
|
+
|----------|--------|--------|---------|--------|
|
|
40
|
+
| TypeScript/JS | `typescript-lsp` | `typescript-language-server` | `npm i -g typescript-language-server typescript` | `which typescript-language-server` |
|
|
41
|
+
| Python | `pyright-lsp` | `pyright-langserver` | `npm i -g pyright` | `which pyright-langserver` |
|
|
42
|
+
| Go | `gopls-lsp` | `gopls` | `go install golang.org/x/tools/gopls@latest` | `which gopls` |
|
|
43
|
+
| Rust | `rust-analyzer-lsp` | `rust-analyzer` | `rustup component add rust-analyzer` | `which rust-analyzer` |
|
|
44
|
+
| Java | `jdtls-lsp` | `jdtls` | `brew install jdtls` | `which jdtls` |
|
|
45
|
+
| C/C++ | `clangd-lsp` | `clangd` | `brew install llvm` | `which clangd` |
|
|
46
|
+
| C# | `csharp-lsp` | `csharp-ls` | `dotnet tool install -g csharp-ls` | `which csharp-ls` |
|
|
47
|
+
| PHP | `php-lsp` | `intelephense` | `npm i -g intelephense` | `which intelephense` |
|
|
48
|
+
| Kotlin | `kotlin-lsp` | `kotlin-lsp` | Install from GitHub releases | `which kotlin-lsp` |
|
|
49
|
+
| Swift | `swift-lsp` | `sourcekit-lsp` | Included with Xcode | `which sourcekit-lsp` |
|
|
50
|
+
| Lua | `lua-lsp` | `lua-language-server` | Install from GitHub releases | `which lua-language-server` |
|
|
51
|
+
|
|
52
|
+
## Plugin Naming Convention
|
|
53
|
+
|
|
54
|
+
Plugins are referenced as `{plugin-name}@{marketplace}`. The official marketplace is `claude-plugins-official`.
|
|
55
|
+
|
|
56
|
+
Example: `typescript-lsp@claude-plugins-official`
|
|
57
|
+
|
|
58
|
+
## Known Issue: Official Marketplace Plugin Cache Bug
|
|
59
|
+
|
|
60
|
+
As of early 2026, there is a known bug (GitHub #15148) where plugins installed from `claude-plugins-official` cache only a `README.md` — missing the `.lsp.json` server configuration. This can cause `"No LSP server available for file type"` errors.
|
|
61
|
+
|
|
62
|
+
**Primary workaround:** Use the `Piebald-AI/claude-code-lsps` community marketplace, which properly structures plugins with `.lsp.json` files and supports additional languages (Ruby, PowerShell, HTML/CSS, Vue, etc.).
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
claude plugin marketplace add Piebald-AI/claude-code-lsps
|
|
66
|
+
claude plugin install {plugin-name}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Fallback workaround:** Manually create `.lsp.json` in the cached plugin directory. The `.lsp.json` format:
|
|
70
|
+
|
|
71
|
+
```json
|
|
72
|
+
{
|
|
73
|
+
"language-id": {
|
|
74
|
+
"command": "language-server-binary",
|
|
75
|
+
"args": ["--stdio"],
|
|
76
|
+
"extensionToLanguage": {
|
|
77
|
+
".ext": "language-id"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Example for TypeScript (`~/.claude/plugins/cache/claude-plugins-official/typescript-lsp/1.0.0/.lsp.json`):
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"typescript": {
|
|
88
|
+
"command": "typescript-language-server",
|
|
89
|
+
"args": ["--stdio"],
|
|
90
|
+
"extensionToLanguage": {
|
|
91
|
+
".ts": "typescript",
|
|
92
|
+
".tsx": "typescriptreact",
|
|
93
|
+
".js": "javascript",
|
|
94
|
+
".jsx": "javascriptreact",
|
|
95
|
+
".mts": "typescript",
|
|
96
|
+
".cts": "typescript",
|
|
97
|
+
".mjs": "javascript",
|
|
98
|
+
".cjs": "javascript"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Example for Python (`~/.claude/plugins/cache/claude-plugins-official/pyright-lsp/1.0.0/.lsp.json`):
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"python": {
|
|
109
|
+
"command": "pyright-langserver",
|
|
110
|
+
"args": ["--stdio"],
|
|
111
|
+
"extensionToLanguage": {
|
|
112
|
+
".py": "python",
|
|
113
|
+
".pyi": "python"
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Example for Go (`~/.claude/plugins/cache/claude-plugins-official/gopls-lsp/1.0.0/.lsp.json`):
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"go": {
|
|
124
|
+
"command": "gopls",
|
|
125
|
+
"args": [],
|
|
126
|
+
"extensionToLanguage": {
|
|
127
|
+
".go": "go"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## LSP Operations
|
|
134
|
+
|
|
135
|
+
Claude Code's LSP tool provides these operations. All use the same `LSP` tool — the operation is chosen based on what the agent needs.
|
|
136
|
+
|
|
137
|
+
| Operation | What It Does | Use When |
|
|
138
|
+
|-----------|-------------|----------|
|
|
139
|
+
| `workspaceSymbol` | Search for a symbol across the entire project | Finding where something is defined |
|
|
140
|
+
| `goToDefinition` | Jump to the exact definition of a symbol | Navigating to source code |
|
|
141
|
+
| `goToImplementation` | Find concrete implementations of interfaces | Understanding polymorphism |
|
|
142
|
+
| `findReferences` | Find every usage of a symbol | Impact analysis before refactoring |
|
|
143
|
+
| `hover` | Get type signature and docs for a symbol | Understanding types without reading files |
|
|
144
|
+
| `documentSymbol` | List all symbols in a file | Getting an overview of a file's structure |
|
|
145
|
+
| `incomingCalls` | Trace what calls a function | Understanding callers |
|
|
146
|
+
| `outgoingCalls` | Trace what a function calls | Understanding dependencies |
|
|
147
|
+
|
|
148
|
+
Not every language server supports every operation. If an operation returns no results, it may be unsupported for that language — fall back to Grep.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Step 1: Scan the Codebase
|
|
2
|
+
|
|
3
|
+
Determine which languages are used in this project and which LSP servers to install.
|
|
4
|
+
|
|
5
|
+
## Detect Languages
|
|
6
|
+
|
|
7
|
+
Read `references/lsp-registry.md` for the detection tables.
|
|
8
|
+
|
|
9
|
+
1. Use Glob to check for config files first (they are definitive): `go.mod`, `Cargo.toml`, `package.json`, `tsconfig.json`, `pyproject.toml`, `setup.py`, `requirements.txt`, `pom.xml`, `build.gradle`, `*.csproj`, `*.sln`, `composer.json`, `Package.swift`, `CMakeLists.txt`
|
|
10
|
+
2. Then check file extensions as a secondary signal: `.py`, `.ts`, `.go`, `.rs`, `.java`, `.cs`, `.php`, `.swift`, `.kt`, `.c`, `.cpp`, `.lua`
|
|
11
|
+
3. Check existing LSP configuration — read `.claude/settings.json` if it exists to see what's already configured
|
|
12
|
+
|
|
13
|
+
## Check Prerequisites
|
|
14
|
+
|
|
15
|
+
Run `claude --version` to verify Claude Code version is 2.0.74 or later.
|
|
16
|
+
|
|
17
|
+
## Present Findings
|
|
18
|
+
|
|
19
|
+
Show the user:
|
|
20
|
+
- Which languages were detected and how (config file vs extension)
|
|
21
|
+
- Which LSP servers are recommended for each language
|
|
22
|
+
- Which language server binaries are already installed (check with `which`)
|
|
23
|
+
- Which Claude Code plugins are already installed (check `~/.claude/plugins/installed_plugins.json` if it exists)
|
|
24
|
+
- Any languages detected but not supported by available LSP plugins
|
|
25
|
+
|
|
26
|
+
Ask the user to confirm which LSPs to install. They may want to skip some languages.
|
|
27
|
+
|
|
28
|
+
Use the Read tool on `references/step-2-install-configure.md` to install language server binaries and configure Claude Code plugins.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Step 2: Install and Configure
|
|
2
|
+
|
|
3
|
+
Read `references/lsp-registry.md` for install commands, plugin names, and known issues.
|
|
4
|
+
|
|
5
|
+
## Install Language Server Binaries
|
|
6
|
+
|
|
7
|
+
For each confirmed language, check if the binary is already installed (`which <binary>`). Install only what's missing using the install commands from the registry.
|
|
8
|
+
|
|
9
|
+
Verify each installation succeeded by running the verify command from the registry.
|
|
10
|
+
|
|
11
|
+
## Install and Enable Claude Code Plugins
|
|
12
|
+
|
|
13
|
+
For each language, install the Claude Code plugin:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
claude plugin install <plugin-name>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
If this fails with "Plugin not found in any marketplace", update the marketplace catalog first:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
claude plugin marketplace update claude-plugins-official
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
If plugins still fail or produce errors about missing LSP server configuration, follow the workaround in `references/lsp-registry.md` under "Known Issue: Official Marketplace Plugin Cache Bug" — try the Piebald-AI community marketplace, or manually create `.lsp.json` files using the examples in the registry.
|
|
26
|
+
|
|
27
|
+
## Configure Project-Level Settings
|
|
28
|
+
|
|
29
|
+
Create or update `.claude/settings.json` in the project root (NOT `~/.claude/settings.json`).
|
|
30
|
+
|
|
31
|
+
Merge these settings, preserving any existing configuration:
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"env": {
|
|
36
|
+
"ENABLE_LSP_TOOL": "1"
|
|
37
|
+
},
|
|
38
|
+
"enabledPlugins": {
|
|
39
|
+
"<plugin-name>@<marketplace>": true
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Add an `enabledPlugins` entry for each installed plugin. Use the correct marketplace name (either `claude-plugins-official` or `Piebald-AI/claude-code-lsps`).
|
|
45
|
+
|
|
46
|
+
## Update CLAUDE.md
|
|
47
|
+
|
|
48
|
+
Read the project's root `CLAUDE.md`. Append the following section if no LSP instructions exist yet. If LSP instructions already exist, update them to match this format.
|
|
49
|
+
|
|
50
|
+
Tailor the snippet to the languages actually installed — list the language servers that were set up:
|
|
51
|
+
|
|
52
|
+
```markdown
|
|
53
|
+
## Code Intelligence (LSP)
|
|
54
|
+
|
|
55
|
+
This project has LSP language servers configured for: [list languages].
|
|
56
|
+
|
|
57
|
+
Prefer LSP over Grep/Read for code navigation — LSP returns exact, structural results instantly:
|
|
58
|
+
|
|
59
|
+
| Task | LSP Operation |
|
|
60
|
+
|------|--------------|
|
|
61
|
+
| Find where a symbol is defined | `workspaceSymbol` or `goToDefinition` |
|
|
62
|
+
| Find all usages of a symbol | `findReferences` |
|
|
63
|
+
| Get type info without reading the file | `hover` |
|
|
64
|
+
| List all symbols in a file | `documentSymbol` |
|
|
65
|
+
| Find implementations of an interface | `goToImplementation` |
|
|
66
|
+
| Trace callers/callees of a function | `incomingCalls` / `outgoingCalls` |
|
|
67
|
+
|
|
68
|
+
Use Grep only for text/pattern searches (comments, strings, config values, regex patterns).
|
|
69
|
+
|
|
70
|
+
After writing or editing code, check LSP diagnostics and fix type errors before proceeding.
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Tell the User to Restart
|
|
74
|
+
|
|
75
|
+
LSP servers initialize at startup. The plugins just installed require a full restart of Claude Code to take effect.
|
|
76
|
+
|
|
77
|
+
Tell the user:
|
|
78
|
+
|
|
79
|
+
1. Exit Claude Code
|
|
80
|
+
2. Restart Claude Code in this project directory
|
|
81
|
+
3. Run `/setup-lsp verify` to confirm LSP is working
|
|
82
|
+
|
|
83
|
+
Use the Read tool on `references/step-4-reflect.md` to reflect on the setup and capture any workarounds for future runs.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Step 3: Verify LSP
|
|
2
|
+
|
|
3
|
+
This step runs after the user restarts Claude Code and invokes `/setup-lsp verify`.
|
|
4
|
+
|
|
5
|
+
## Check LSP is Available
|
|
6
|
+
|
|
7
|
+
1. Read `.claude/settings.json` to confirm `ENABLE_LSP_TOOL` and `enabledPlugins` are set
|
|
8
|
+
2. Try a `workspaceSymbol` search for a common symbol in the project (pick any function or class name visible in the codebase)
|
|
9
|
+
|
|
10
|
+
If `workspaceSymbol` returns results, LSP is working.
|
|
11
|
+
|
|
12
|
+
## Test Operations
|
|
13
|
+
|
|
14
|
+
Run a quick smoke test — try 3-4 different LSP operations against real symbols in the codebase:
|
|
15
|
+
|
|
16
|
+
- `workspaceSymbol` — search for a known class or function name
|
|
17
|
+
- `documentSymbol` — list symbols in a file that clearly has functions/classes
|
|
18
|
+
- `hover` — get type info on a symbol
|
|
19
|
+
- `findReferences` — find usages of a commonly-used function
|
|
20
|
+
|
|
21
|
+
Report which operations succeeded and which returned no results. Some operations may not be supported by all language servers — that's expected.
|
|
22
|
+
|
|
23
|
+
## If LSP is Not Working
|
|
24
|
+
|
|
25
|
+
Check these in order:
|
|
26
|
+
|
|
27
|
+
1. **"LSP tool not available"** — `ENABLE_LSP_TOOL` is not set. Verify `.claude/settings.json` has it under `env`
|
|
28
|
+
2. **"No server available for file type"** — the plugin is installed but its `.lsp.json` config is missing (known bug). Read `references/lsp-registry.md` under "Known Issue" for the manual `.lsp.json` fix
|
|
29
|
+
3. **Plugin is disabled** — run `claude plugin list` to check status. Run `claude plugin enable <name>` if disabled
|
|
30
|
+
4. **Binary not in PATH** — verify with `which <binary>`. The language server must be in PATH when Claude Code starts
|
|
31
|
+
|
|
32
|
+
After fixing, the user needs to restart Claude Code again and re-run `/setup-lsp verify`.
|
|
33
|
+
|
|
34
|
+
## Report Results
|
|
35
|
+
|
|
36
|
+
Tell the user:
|
|
37
|
+
- Which LSP servers are active
|
|
38
|
+
- Which operations were tested and their results
|
|
39
|
+
- Any operations that didn't work (with explanation)
|
|
40
|
+
|
|
41
|
+
Use the Read tool on `references/step-4-reflect.md` to reflect on the setup and capture any workarounds for future runs.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Step 4: Reflect
|
|
2
|
+
|
|
3
|
+
## Assess
|
|
4
|
+
|
|
5
|
+
- Were any install commands wrong, outdated, or platform-specific in a way the registry didn't account for?
|
|
6
|
+
- Did any plugin installations fail? What was the cause and fix?
|
|
7
|
+
- Did the official marketplace plugin cache bug occur? Was the workaround effective?
|
|
8
|
+
- Were there languages detected that had no available LSP plugin?
|
|
9
|
+
- Did the CLAUDE.md snippet accurately reflect the operations that actually worked?
|
|
10
|
+
- Was any step confusing, missing information, or in the wrong order?
|
|
11
|
+
|
|
12
|
+
## Act
|
|
13
|
+
|
|
14
|
+
If any instructions were wrong, incomplete, or misleading — identify the specific file, read it, and apply the fix.
|
|
15
|
+
|
|
16
|
+
Apply the tribal knowledge test: only add information that a fresh Claude instance would not already know. Standard tool usage (npm install, which, etc.) does not need documenting. Workarounds for bugs, non-obvious configuration details, and platform-specific gotchas do.
|
|
17
|
+
|
|
18
|
+
## Report
|
|
19
|
+
|
|
20
|
+
Tell the user what you changed and why, or confirm that no updates were needed.
|