@fro.bot/systematic 1.14.0 → 1.16.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/README.md +29 -3
- package/package.json +4 -2
- package/skills/agent-browser/SKILL.md +1 -0
- package/skills/agent-native-architecture/SKILL.md +4 -4
- package/skills/agent-native-architecture/references/files-universal-interface.md +1 -1
- package/skills/agent-native-architecture/references/product-implications.md +1 -1
- package/skills/brainstorming/SKILL.md +1 -0
- package/skills/compound-docs/SKILL.md +14 -13
- package/skills/compound-docs/assets/critical-pattern-template.md +1 -1
- package/skills/compound-docs/assets/resolution-template.md +3 -3
- package/skills/compound-docs/references/yaml-schema.md +2 -2
- package/skills/create-agent-skills/SKILL.md +169 -192
- package/skills/create-agent-skills/references/api-security.md +24 -24
- package/skills/create-agent-skills/references/executable-code.md +1 -1
- package/skills/create-agent-skills/references/official-spec.md +74 -125
- package/skills/create-agent-skills/references/skill-structure.md +109 -329
- package/skills/create-agent-skills/workflows/add-reference.md +3 -3
- package/skills/create-agent-skills/workflows/add-script.md +2 -2
- package/skills/create-agent-skills/workflows/add-template.md +1 -1
- package/skills/create-agent-skills/workflows/add-workflow.md +5 -5
- package/skills/create-agent-skills/workflows/audit-skill.md +6 -6
- package/skills/create-agent-skills/workflows/create-domain-expertise-skill.md +8 -8
- package/skills/create-agent-skills/workflows/create-new-skill.md +8 -8
- package/skills/create-agent-skills/workflows/upgrade-to-router.md +5 -5
- package/skills/create-agent-skills/workflows/verify-skill.md +4 -4
- package/skills/document-review/SKILL.md +88 -0
- package/skills/file-todos/SKILL.md +3 -2
- package/skills/file-todos/assets/todo-template.md +1 -1
- package/skills/frontend-design/SKILL.md +43 -0
- package/skills/git-worktree/SKILL.md +23 -22
- package/skills/git-worktree/scripts/worktree-manager.sh +2 -10
- package/skills/orchestrating-swarms/SKILL.md +1718 -0
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
**If user just invoked skill without context:**
|
|
19
19
|
→ Ask what they want to build
|
|
20
20
|
|
|
21
|
-
### Using
|
|
21
|
+
### Using question tool
|
|
22
22
|
|
|
23
23
|
Ask 2-4 domain-specific questions based on actual gaps. Each question should:
|
|
24
24
|
- Have specific options with descriptions
|
|
@@ -42,7 +42,7 @@ Options:
|
|
|
42
42
|
|
|
43
43
|
## Step 2: Research Trigger (If External API)
|
|
44
44
|
|
|
45
|
-
**When external service detected**, ask using
|
|
45
|
+
**When external service detected**, ask using question tool:
|
|
46
46
|
"This involves [service name] API. Would you like me to research current endpoints and patterns before building?"
|
|
47
47
|
|
|
48
48
|
Options:
|
|
@@ -90,13 +90,13 @@ See references/recommended-structure.md for templates.
|
|
|
90
90
|
## Step 4: Create Directory
|
|
91
91
|
|
|
92
92
|
```bash
|
|
93
|
-
mkdir -p ~/.
|
|
93
|
+
mkdir -p ~/.config/opencode/skills/{skill-name}
|
|
94
94
|
# If complex:
|
|
95
|
-
mkdir -p ~/.
|
|
96
|
-
mkdir -p ~/.
|
|
95
|
+
mkdir -p ~/.config/opencode/skills/{skill-name}/workflows
|
|
96
|
+
mkdir -p ~/.config/opencode/skills/{skill-name}/references
|
|
97
97
|
# If needed:
|
|
98
|
-
mkdir -p ~/.
|
|
99
|
-
mkdir -p ~/.
|
|
98
|
+
mkdir -p ~/.config/opencode/skills/{skill-name}/templates # for output structures
|
|
99
|
+
mkdir -p ~/.config/opencode/skills/{skill-name}/scripts # for reusable code
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
## Step 5: Write SKILL.md
|
|
@@ -154,7 +154,7 @@ Check:
|
|
|
154
154
|
## Step 9: Create Slash Command
|
|
155
155
|
|
|
156
156
|
```bash
|
|
157
|
-
cat > ~/.
|
|
157
|
+
cat > ~/.config/opencode/commands/{skill-name}.md << 'EOF'
|
|
158
158
|
---
|
|
159
159
|
description: {Brief description}
|
|
160
160
|
argument-hint: [{argument hint}]
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
## Step 1: Select the Skill
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
ls ~/.
|
|
13
|
+
ls ~/.config/opencode/skills/
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
Present numbered list, ask: "Which skill should be upgraded to the router pattern?"
|
|
@@ -19,8 +19,8 @@ Present numbered list, ask: "Which skill should be upgraded to the router patter
|
|
|
19
19
|
|
|
20
20
|
Read the skill:
|
|
21
21
|
```bash
|
|
22
|
-
cat ~/.
|
|
23
|
-
ls ~/.
|
|
22
|
+
cat ~/.config/opencode/skills/{skill-name}/SKILL.md
|
|
23
|
+
ls ~/.config/opencode/skills/{skill-name}/
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
**Already a router?** (has workflows/ and intake question)
|
|
@@ -65,8 +65,8 @@ Ask: "Does this breakdown look right? Any adjustments?"
|
|
|
65
65
|
## Step 4: Create Directory Structure
|
|
66
66
|
|
|
67
67
|
```bash
|
|
68
|
-
mkdir -p ~/.
|
|
69
|
-
mkdir -p ~/.
|
|
68
|
+
mkdir -p ~/.config/opencode/skills/{skill-name}/workflows
|
|
69
|
+
mkdir -p ~/.config/opencode/skills/{skill-name}/references
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
## Step 5: Extract Workflows
|
|
@@ -15,7 +15,7 @@ Skills contain claims about external things: APIs, CLI tools, frameworks, servic
|
|
|
15
15
|
## Step 1: Select the Skill
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
ls ~/.
|
|
18
|
+
ls ~/.config/opencode/skills/
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
Present numbered list, ask: "Which skill should I verify for accuracy?"
|
|
@@ -24,9 +24,9 @@ Present numbered list, ask: "Which skill should I verify for accuracy?"
|
|
|
24
24
|
|
|
25
25
|
Read the entire skill (SKILL.md + workflows/ + references/):
|
|
26
26
|
```bash
|
|
27
|
-
cat ~/.
|
|
28
|
-
cat ~/.
|
|
29
|
-
cat ~/.
|
|
27
|
+
cat ~/.config/opencode/skills/{skill-name}/SKILL.md
|
|
28
|
+
cat ~/.config/opencode/skills/{skill-name}/workflows/*.md 2>/dev/null
|
|
29
|
+
cat ~/.config/opencode/skills/{skill-name}/references/*.md 2>/dev/null
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
Categorize by primary dependency type:
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: document-review
|
|
3
|
+
description: This skill should be used to refine brainstorm or plan documents before proceeding to the next workflow step. It applies when a brainstorm or plan document exists and the user wants to improve it.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Document Review
|
|
7
|
+
|
|
8
|
+
Improve brainstorm or plan documents through structured review.
|
|
9
|
+
|
|
10
|
+
## Step 1: Get the Document
|
|
11
|
+
|
|
12
|
+
**If a document path is provided:** Read it, then proceed to Step 2.
|
|
13
|
+
|
|
14
|
+
**If no document is specified:** Ask which document to review, or look for the most recent brainstorm/plan in `docs/brainstorms/` or `docs/plans/`.
|
|
15
|
+
|
|
16
|
+
## Step 2: Assess
|
|
17
|
+
|
|
18
|
+
Read through the document and ask:
|
|
19
|
+
|
|
20
|
+
- What is unclear?
|
|
21
|
+
- What is unnecessary?
|
|
22
|
+
- What decision is being avoided?
|
|
23
|
+
- What assumptions are unstated?
|
|
24
|
+
- Where could scope accidentally expand?
|
|
25
|
+
|
|
26
|
+
These questions surface issues. Don't fix yet—just note what you find.
|
|
27
|
+
|
|
28
|
+
## Step 3: Evaluate
|
|
29
|
+
|
|
30
|
+
Score the document against these criteria:
|
|
31
|
+
|
|
32
|
+
| Criterion | What to Check |
|
|
33
|
+
|-----------|---------------|
|
|
34
|
+
| **Clarity** | Problem statement is clear, no vague language ("probably," "consider," "try to") |
|
|
35
|
+
| **Completeness** | Required sections present, constraints stated, open questions flagged |
|
|
36
|
+
| **Specificity** | Concrete enough for next step (brainstorm → can plan, plan → can implement) |
|
|
37
|
+
| **YAGNI** | No hypothetical features, simplest approach chosen |
|
|
38
|
+
|
|
39
|
+
If invoked within a workflow (after `/workflows:brainstorm` or `/workflows:plan`), also check:
|
|
40
|
+
- **User intent fidelity** — Document reflects what was discussed, assumptions validated
|
|
41
|
+
|
|
42
|
+
## Step 4: Identify the Critical Improvement
|
|
43
|
+
|
|
44
|
+
Among everything found in Steps 2-3, does one issue stand out? If something would significantly improve the document's quality, this is the "must address" item. Highlight it prominently.
|
|
45
|
+
|
|
46
|
+
## Step 5: Make Changes
|
|
47
|
+
|
|
48
|
+
Present your findings, then:
|
|
49
|
+
|
|
50
|
+
1. **Auto-fix** minor issues (vague language, formatting) without asking
|
|
51
|
+
2. **Ask approval** before substantive changes (restructuring, removing sections, changing meaning)
|
|
52
|
+
3. **Update** the document inline—no separate files, no metadata sections
|
|
53
|
+
|
|
54
|
+
### Simplification Guidance
|
|
55
|
+
|
|
56
|
+
Simplification is purposeful removal of unnecessary complexity, not shortening for its own sake.
|
|
57
|
+
|
|
58
|
+
**Simplify when:**
|
|
59
|
+
- Content serves hypothetical future needs, not current ones
|
|
60
|
+
- Sections repeat information already covered elsewhere
|
|
61
|
+
- Detail exceeds what's needed to take the next step
|
|
62
|
+
- Abstractions or structure add overhead without clarity
|
|
63
|
+
|
|
64
|
+
**Don't simplify:**
|
|
65
|
+
- Constraints or edge cases that affect implementation
|
|
66
|
+
- Rationale that explains why alternatives were rejected
|
|
67
|
+
- Open questions that need resolution
|
|
68
|
+
|
|
69
|
+
## Step 6: Offer Next Action
|
|
70
|
+
|
|
71
|
+
After changes are complete, ask:
|
|
72
|
+
|
|
73
|
+
1. **Refine again** - Another review pass
|
|
74
|
+
2. **Review complete** - Document is ready
|
|
75
|
+
|
|
76
|
+
### Iteration Guidance
|
|
77
|
+
|
|
78
|
+
After 2 refinement passes, recommend completion—diminishing returns are likely. But if the user wants to continue, allow it.
|
|
79
|
+
|
|
80
|
+
Return control to the caller (workflow or user) after selection.
|
|
81
|
+
|
|
82
|
+
## What NOT to Do
|
|
83
|
+
|
|
84
|
+
- Do not rewrite the entire document
|
|
85
|
+
- Do not add new sections or requirements the user didn't discuss
|
|
86
|
+
- Do not over-engineer or add complexity
|
|
87
|
+
- Do not create separate review files or add metadata sections
|
|
88
|
+
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: file-todos
|
|
3
3
|
description: This skill should be used when managing the file-based todo tracking system in the todos/ directory. It provides workflows for creating todos, managing status and dependencies, conducting triage, and integrating with slash commands and code review processes.
|
|
4
|
+
disable-model-invocation: true
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
# File-Based Todo Tracking Skill
|
|
@@ -149,7 +150,7 @@ done
|
|
|
149
150
|
```markdown
|
|
150
151
|
### YYYY-MM-DD - Session Title
|
|
151
152
|
|
|
152
|
-
**By:**
|
|
153
|
+
**By:** OpenCode / Developer Name
|
|
153
154
|
|
|
154
155
|
**Actions:**
|
|
155
156
|
- Specific changes made (include file:line references)
|
|
@@ -244,7 +245,7 @@ grep -r "payment" todos/
|
|
|
244
245
|
- Active Record CRUD operations
|
|
245
246
|
- Different from this file-based system
|
|
246
247
|
|
|
247
|
-
**
|
|
248
|
+
**todowrite tool:**
|
|
248
249
|
- In-memory task tracking during agent sessions
|
|
249
250
|
- Temporary tracking for single conversation
|
|
250
251
|
- Not persisted to disk
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-design
|
|
3
|
+
description: This skill should be used when creating distinctive, production-grade frontend interfaces with high design quality. It applies when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
|
|
4
|
+
license: Complete terms in LICENSE.txt
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices.
|
|
8
|
+
|
|
9
|
+
The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints.
|
|
10
|
+
|
|
11
|
+
## Design Thinking
|
|
12
|
+
|
|
13
|
+
Before coding, understand the context and commit to a BOLD aesthetic direction:
|
|
14
|
+
- **Purpose**: What problem does this interface solve? Who uses it?
|
|
15
|
+
- **Tone**: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction.
|
|
16
|
+
- **Constraints**: Technical requirements (framework, performance, accessibility).
|
|
17
|
+
- **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember?
|
|
18
|
+
|
|
19
|
+
**CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity.
|
|
20
|
+
|
|
21
|
+
Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:
|
|
22
|
+
- Production-grade and functional
|
|
23
|
+
- Visually striking and memorable
|
|
24
|
+
- Cohesive with a clear aesthetic point-of-view
|
|
25
|
+
- Meticulously refined in every detail
|
|
26
|
+
|
|
27
|
+
## Frontend Aesthetics Guidelines
|
|
28
|
+
|
|
29
|
+
Focus on:
|
|
30
|
+
- **Typography**: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt instead for distinctive choices that elevate the frontend's aesthetics; unexpected, characterful font choices. Pair a distinctive display font with a refined body font.
|
|
31
|
+
- **Color & Theme**: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
|
|
32
|
+
- **Motion**: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions. Use scroll-triggering and hover states that surprise.
|
|
33
|
+
- **Spatial Composition**: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density.
|
|
34
|
+
- **Backgrounds & Visual Details**: Create atmosphere and depth rather than defaulting to solid colors. Add contextual effects and textures that match the overall aesthetic. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays.
|
|
35
|
+
|
|
36
|
+
NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character.
|
|
37
|
+
|
|
38
|
+
Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations.
|
|
39
|
+
|
|
40
|
+
**IMPORTANT**: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well.
|
|
41
|
+
|
|
42
|
+
Remember: Claude is capable of extraordinary creative work. Don't hold back, show what can truly be created when thinking outside the box and committing fully to a distinctive vision.
|
|
43
|
+
|
|
@@ -28,7 +28,7 @@ The script handles critical setup that raw git commands don't:
|
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
30
|
# ✅ CORRECT - Always use the script
|
|
31
|
-
bash
|
|
31
|
+
bash scripts/worktree-manager.sh create feature-name
|
|
32
32
|
|
|
33
33
|
# ❌ WRONG - Never do this directly
|
|
34
34
|
git worktree add .worktrees/feature-name -b feature-name main
|
|
@@ -45,7 +45,7 @@ Use this skill in these scenarios:
|
|
|
45
45
|
|
|
46
46
|
## How to Use
|
|
47
47
|
|
|
48
|
-
### In
|
|
48
|
+
### In OpenCode Workflows
|
|
49
49
|
|
|
50
50
|
The skill is automatically called from `/workflows:review` and `/workflows:work` commands:
|
|
51
51
|
|
|
@@ -60,19 +60,19 @@ You can also invoke the skill directly from bash:
|
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
62
|
# Create a new worktree (copies .env files automatically)
|
|
63
|
-
bash
|
|
63
|
+
bash scripts/worktree-manager.sh create feature-login
|
|
64
64
|
|
|
65
65
|
# List all worktrees
|
|
66
|
-
bash
|
|
66
|
+
bash scripts/worktree-manager.sh list
|
|
67
67
|
|
|
68
68
|
# Switch to a worktree
|
|
69
|
-
bash
|
|
69
|
+
bash scripts/worktree-manager.sh switch feature-login
|
|
70
70
|
|
|
71
71
|
# Copy .env files to an existing worktree (if they weren't copied)
|
|
72
|
-
bash
|
|
72
|
+
bash scripts/worktree-manager.sh copy-env feature-login
|
|
73
73
|
|
|
74
74
|
# Clean up completed worktrees
|
|
75
|
-
bash
|
|
75
|
+
bash scripts/worktree-manager.sh cleanup
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
## Commands
|
|
@@ -87,7 +87,7 @@ Creates a new worktree with the given branch name.
|
|
|
87
87
|
|
|
88
88
|
**Example:**
|
|
89
89
|
```bash
|
|
90
|
-
bash
|
|
90
|
+
bash scripts/worktree-manager.sh create feature-login
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
**What happens:**
|
|
@@ -103,7 +103,7 @@ Lists all available worktrees with their branches and current status.
|
|
|
103
103
|
|
|
104
104
|
**Example:**
|
|
105
105
|
```bash
|
|
106
|
-
bash
|
|
106
|
+
bash scripts/worktree-manager.sh list
|
|
107
107
|
```
|
|
108
108
|
|
|
109
109
|
**Output shows:**
|
|
@@ -118,7 +118,7 @@ Switches to an existing worktree and cd's into it.
|
|
|
118
118
|
|
|
119
119
|
**Example:**
|
|
120
120
|
```bash
|
|
121
|
-
bash
|
|
121
|
+
bash scripts/worktree-manager.sh switch feature-login
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
**Optional:**
|
|
@@ -130,7 +130,7 @@ Interactively cleans up inactive worktrees with confirmation.
|
|
|
130
130
|
|
|
131
131
|
**Example:**
|
|
132
132
|
```bash
|
|
133
|
-
bash
|
|
133
|
+
bash scripts/worktree-manager.sh cleanup
|
|
134
134
|
```
|
|
135
135
|
|
|
136
136
|
**What happens:**
|
|
@@ -144,39 +144,39 @@ bash ${CLAUDE_PLUGIN_ROOT}/skills/git-worktree/scripts/worktree-manager.sh clean
|
|
|
144
144
|
### Code Review with Worktree
|
|
145
145
|
|
|
146
146
|
```bash
|
|
147
|
-
#
|
|
147
|
+
# OpenCode recognizes you're not on the PR branch
|
|
148
148
|
# Offers: "Use worktree for isolated review? (y/n)"
|
|
149
149
|
|
|
150
150
|
# You respond: yes
|
|
151
151
|
# Script runs (copies .env files automatically):
|
|
152
|
-
bash
|
|
152
|
+
bash scripts/worktree-manager.sh create pr-123-feature-name
|
|
153
153
|
|
|
154
154
|
# You're now in isolated worktree for review with all env vars
|
|
155
155
|
cd .worktrees/pr-123-feature-name
|
|
156
156
|
|
|
157
157
|
# After review, return to main:
|
|
158
158
|
cd ../..
|
|
159
|
-
bash
|
|
159
|
+
bash scripts/worktree-manager.sh cleanup
|
|
160
160
|
```
|
|
161
161
|
|
|
162
162
|
### Parallel Feature Development
|
|
163
163
|
|
|
164
164
|
```bash
|
|
165
165
|
# For first feature (copies .env files):
|
|
166
|
-
bash
|
|
166
|
+
bash scripts/worktree-manager.sh create feature-login
|
|
167
167
|
|
|
168
168
|
# Later, start second feature (also copies .env files):
|
|
169
|
-
bash
|
|
169
|
+
bash scripts/worktree-manager.sh create feature-notifications
|
|
170
170
|
|
|
171
171
|
# List what you have:
|
|
172
|
-
bash
|
|
172
|
+
bash scripts/worktree-manager.sh list
|
|
173
173
|
|
|
174
174
|
# Switch between them as needed:
|
|
175
|
-
bash
|
|
175
|
+
bash scripts/worktree-manager.sh switch feature-login
|
|
176
176
|
|
|
177
177
|
# Return to main and cleanup when done:
|
|
178
178
|
cd .
|
|
179
|
-
bash
|
|
179
|
+
bash scripts/worktree-manager.sh cleanup
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
## Key Design Principles
|
|
@@ -242,7 +242,7 @@ Switch out of the worktree first (to main repo), then cleanup:
|
|
|
242
242
|
|
|
243
243
|
```bash
|
|
244
244
|
cd $(git rev-parse --show-toplevel)
|
|
245
|
-
bash
|
|
245
|
+
bash scripts/worktree-manager.sh cleanup
|
|
246
246
|
```
|
|
247
247
|
|
|
248
248
|
### Lost in a worktree?
|
|
@@ -250,7 +250,7 @@ bash ${CLAUDE_PLUGIN_ROOT}/skills/git-worktree/scripts/worktree-manager.sh clean
|
|
|
250
250
|
See where you are:
|
|
251
251
|
|
|
252
252
|
```bash
|
|
253
|
-
bash
|
|
253
|
+
bash scripts/worktree-manager.sh list
|
|
254
254
|
```
|
|
255
255
|
|
|
256
256
|
### .env files missing in worktree?
|
|
@@ -258,7 +258,7 @@ bash ${CLAUDE_PLUGIN_ROOT}/skills/git-worktree/scripts/worktree-manager.sh list
|
|
|
258
258
|
If a worktree was created without .env files (e.g., via raw `git worktree add`), copy them:
|
|
259
259
|
|
|
260
260
|
```bash
|
|
261
|
-
bash
|
|
261
|
+
bash scripts/worktree-manager.sh copy-env feature-name
|
|
262
262
|
```
|
|
263
263
|
|
|
264
264
|
Navigate back to main:
|
|
@@ -300,3 +300,4 @@ cd $(git rev-parse --show-toplevel)
|
|
|
300
300
|
- No repository duplication
|
|
301
301
|
- Shared git objects for efficiency
|
|
302
302
|
- Much faster than cloning or stashing/switching
|
|
303
|
+
|
|
@@ -91,14 +91,6 @@ create_worktree() {
|
|
|
91
91
|
echo -e "${BLUE}Creating worktree: $branch_name${NC}"
|
|
92
92
|
echo " From: $from_branch"
|
|
93
93
|
echo " Path: $worktree_path"
|
|
94
|
-
echo ""
|
|
95
|
-
echo "Proceed? (y/n)"
|
|
96
|
-
read -r response
|
|
97
|
-
|
|
98
|
-
if [[ "$response" != "y" ]]; then
|
|
99
|
-
echo -e "${YELLOW}Cancelled${NC}"
|
|
100
|
-
return
|
|
101
|
-
fi
|
|
102
94
|
|
|
103
95
|
# Update main branch
|
|
104
96
|
echo -e "${BLUE}Updating $from_branch...${NC}"
|
|
@@ -134,7 +126,7 @@ list_worktrees() {
|
|
|
134
126
|
|
|
135
127
|
local count=0
|
|
136
128
|
for worktree_path in "$WORKTREE_DIR"/*; do
|
|
137
|
-
if [[ -d "$worktree_path" && -
|
|
129
|
+
if [[ -d "$worktree_path" && -e "$worktree_path/.git" ]]; then
|
|
138
130
|
count=$((count + 1))
|
|
139
131
|
local worktree_name=$(basename "$worktree_path")
|
|
140
132
|
local branch=$(git -C "$worktree_path" rev-parse --abbrev-ref HEAD 2>/dev/null || echo "unknown")
|
|
@@ -231,7 +223,7 @@ cleanup_worktrees() {
|
|
|
231
223
|
local to_remove=()
|
|
232
224
|
|
|
233
225
|
for worktree_path in "$WORKTREE_DIR"/*; do
|
|
234
|
-
if [[ -d "$worktree_path" && -
|
|
226
|
+
if [[ -d "$worktree_path" && -e "$worktree_path/.git" ]]; then
|
|
235
227
|
local worktree_name=$(basename "$worktree_path")
|
|
236
228
|
|
|
237
229
|
# Skip if current worktree
|