@intentsolutionsio/vibe-guide 1.0.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/.claude-plugin/plugin.json +7 -0
- package/LICENSE +21 -0
- package/README.md +310 -0
- package/agents/explainer.md +99 -0
- package/agents/explorer.md +71 -0
- package/agents/worker.md +93 -0
- package/commands/continue.md +100 -0
- package/commands/details.md +85 -0
- package/commands/guide.md +171 -0
- package/commands/learn.md +82 -0
- package/commands/status.md +85 -0
- package/commands/stop.md +93 -0
- package/commands/vibe.md +120 -0
- package/hooks/hooks.json +34 -0
- package/package.json +39 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "vibe-guide",
|
|
3
|
+
"description": "Non-technical progress summaries for Claude Code work (hides diffs/log noise).",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"author": { "name": "Intent Solutions" },
|
|
6
|
+
"keywords": ["ux", "accessibility", "explain", "pairing", "non-technical"]
|
|
7
|
+
}
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Intent Solutions
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
# Vibe Guide
|
|
2
|
+
|
|
3
|
+
Non-technical progress summaries for Claude Code work. Hides diffs, logs, and technical noise so you can pair program with AI without being overwhelmed by implementation details.
|
|
4
|
+
|
|
5
|
+
## What's New in This Package
|
|
6
|
+
|
|
7
|
+
Vibe Guide introduces a completely new way to interact with Claude Code:
|
|
8
|
+
|
|
9
|
+
- **Stepwise Execution**: Instead of running everything at once, work happens in small, reviewable steps
|
|
10
|
+
- **Plain Language Updates**: No more walls of code diffs - you get friendly summaries of what changed
|
|
11
|
+
- **Error Checklists**: When something breaks, you get a numbered list of what to do, not a stack trace
|
|
12
|
+
- **Learning Mode**: Optional educational micro-explanations teach concepts as you go
|
|
13
|
+
- **Session Persistence**: Progress is saved to `.vibe/` so you can pause and resume anytime
|
|
14
|
+
- **Auto-Summarization**: Hook automatically condenses verbose command output
|
|
15
|
+
|
|
16
|
+
This plugin is perfect for:
|
|
17
|
+
- Non-technical founders working with AI to build products
|
|
18
|
+
- Designers reviewing code changes
|
|
19
|
+
- Product managers pairing on implementations
|
|
20
|
+
- Anyone who wants to understand what's happening without reading code
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
### Option 1: Install from Marketplace (Recommended)
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Step 1: Add the marketplace to Claude Code
|
|
28
|
+
/plugin marketplace add jeremylongshore/claude-code-plugins
|
|
29
|
+
|
|
30
|
+
# Step 2: Install vibe-guide
|
|
31
|
+
/plugin install vibe-guide@claude-code-plugins-plus
|
|
32
|
+
|
|
33
|
+
# Step 3: Verify installation
|
|
34
|
+
/vibe-guide:guide
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Option 2: Install via CLI
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Using the Claude Code CLI
|
|
41
|
+
claude plugin install vibe-guide@claude-code-plugins-plus
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Option 3: Local Development
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Clone the repository
|
|
48
|
+
git clone https://github.com/jeremylongshore/claude-code-plugins.git
|
|
49
|
+
|
|
50
|
+
# Run Claude with the plugin directory
|
|
51
|
+
claude --plugin-dir ./claude-code-plugins/plugins/productivity/vibe-guide
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Commands
|
|
55
|
+
|
|
56
|
+
| Command | Description |
|
|
57
|
+
|---------|-------------|
|
|
58
|
+
| `/vibe-guide:vibe <goal>` | π Start a new session with a goal |
|
|
59
|
+
| `/vibe-guide:status` | π Show current progress |
|
|
60
|
+
| `/vibe-guide:continue` | βοΈ Run the next step |
|
|
61
|
+
| `/vibe-guide:stop` | βΈοΈ Pause or resume the session |
|
|
62
|
+
| `/vibe-guide:details on\|off` | π Toggle technical details |
|
|
63
|
+
| `/vibe-guide:learn on\|off` | π Toggle educational explanations |
|
|
64
|
+
| `/vibe-guide:guide` | β Show usage help with examples |
|
|
65
|
+
|
|
66
|
+
## Quick Start
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Start a session with your goal
|
|
70
|
+
/vibe-guide:vibe Build a WNBA stats table page
|
|
71
|
+
|
|
72
|
+
# Check progress anytime
|
|
73
|
+
/vibe-guide:status
|
|
74
|
+
|
|
75
|
+
# Keep going step by step
|
|
76
|
+
/vibe-guide:continue
|
|
77
|
+
|
|
78
|
+
# Want to learn as you go?
|
|
79
|
+
/vibe-guide:learn on
|
|
80
|
+
|
|
81
|
+
# Need help?
|
|
82
|
+
/vibe-guide:guide
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Progressive Workflow
|
|
86
|
+
|
|
87
|
+
Vibe Guide uses a **stepwise approach** - each command does ONE thing:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
/vibe-guide:vibe "Add dark mode" β Start session, run step 1
|
|
91
|
+
β
|
|
92
|
+
/vibe-guide:continue β Run step 2
|
|
93
|
+
β
|
|
94
|
+
/vibe-guide:continue β Run step 3
|
|
95
|
+
β
|
|
96
|
+
... repeat ...
|
|
97
|
+
β
|
|
98
|
+
β
Done!
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
This gives you control - review each step before moving on.
|
|
102
|
+
|
|
103
|
+
## Example Transcripts
|
|
104
|
+
|
|
105
|
+
### Happy Path
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
> /vibe-guide:vibe Add a dark mode toggle to settings
|
|
109
|
+
|
|
110
|
+
1) Where we are
|
|
111
|
+
Starting a new task: adding dark mode toggle to settings.
|
|
112
|
+
|
|
113
|
+
2) What changed
|
|
114
|
+
- Created session tracking folder
|
|
115
|
+
- Analyzed the project structure
|
|
116
|
+
- Found the Settings component
|
|
117
|
+
|
|
118
|
+
3) What I checked
|
|
119
|
+
- Project uses React
|
|
120
|
+
- Settings page exists
|
|
121
|
+
|
|
122
|
+
4) What's next
|
|
123
|
+
Add the toggle component to the settings page.
|
|
124
|
+
|
|
125
|
+
5) Do you need to do anything?
|
|
126
|
+
No, nothing needed right now.
|
|
127
|
+
|
|
128
|
+
> /vibe-guide:continue
|
|
129
|
+
|
|
130
|
+
1) Where we are
|
|
131
|
+
Added the toggle switch to the settings page.
|
|
132
|
+
|
|
133
|
+
2) What changed
|
|
134
|
+
- Created a new toggle component
|
|
135
|
+
- Added it to the Settings page
|
|
136
|
+
- Connected it to save preferences
|
|
137
|
+
|
|
138
|
+
3) What I checked
|
|
139
|
+
- Toggle renders correctly
|
|
140
|
+
- Click changes the value
|
|
141
|
+
|
|
142
|
+
4) What's next
|
|
143
|
+
Add the actual dark theme styles.
|
|
144
|
+
|
|
145
|
+
5) Do you need to do anything?
|
|
146
|
+
No, nothing needed right now.
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Polling Path (Multiple Continues)
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
> /vibe-guide:vibe Build a WNBA stats table page
|
|
153
|
+
|
|
154
|
+
1) Where we are
|
|
155
|
+
Starting a new task: building a WNBA stats table page.
|
|
156
|
+
|
|
157
|
+
2) What changed
|
|
158
|
+
- Set up session tracking
|
|
159
|
+
- Analyzed project structure
|
|
160
|
+
|
|
161
|
+
3) What I checked
|
|
162
|
+
- Found existing pages folder
|
|
163
|
+
- Identified data fetching pattern
|
|
164
|
+
|
|
165
|
+
4) What's next
|
|
166
|
+
Create the stats page component.
|
|
167
|
+
|
|
168
|
+
5) Do you need to do anything?
|
|
169
|
+
No, nothing needed right now.
|
|
170
|
+
|
|
171
|
+
> /vibe-guide:continue
|
|
172
|
+
|
|
173
|
+
1) Where we are
|
|
174
|
+
Created the basic stats page.
|
|
175
|
+
|
|
176
|
+
2) What changed
|
|
177
|
+
- Added new stats page
|
|
178
|
+
- Set up the route
|
|
179
|
+
|
|
180
|
+
3) What I checked
|
|
181
|
+
- Page loads correctly
|
|
182
|
+
- Route works
|
|
183
|
+
|
|
184
|
+
4) What's next
|
|
185
|
+
Add the data table component.
|
|
186
|
+
|
|
187
|
+
5) Do you need to do anything?
|
|
188
|
+
No, nothing needed right now.
|
|
189
|
+
|
|
190
|
+
> /vibe-guide:continue
|
|
191
|
+
|
|
192
|
+
1) Where we are
|
|
193
|
+
Added the stats table with sample data.
|
|
194
|
+
|
|
195
|
+
2) What changed
|
|
196
|
+
- Created table component
|
|
197
|
+
- Added column headers
|
|
198
|
+
- Displayed sample WNBA data
|
|
199
|
+
|
|
200
|
+
3) What I checked
|
|
201
|
+
- Table renders
|
|
202
|
+
- Data displays correctly
|
|
203
|
+
|
|
204
|
+
4) What's next
|
|
205
|
+
Connect to real data source.
|
|
206
|
+
|
|
207
|
+
5) Do you need to do anything?
|
|
208
|
+
No, nothing needed right now.
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Error Path
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
> /vibe-guide:vibe Connect to the Postgres database
|
|
215
|
+
|
|
216
|
+
1) Where we are
|
|
217
|
+
Setting up database connection.
|
|
218
|
+
|
|
219
|
+
[... continues ...]
|
|
220
|
+
|
|
221
|
+
> /vibe-guide:continue
|
|
222
|
+
|
|
223
|
+
Something went wrong, but it's fixable.
|
|
224
|
+
|
|
225
|
+
What happened: Couldn't connect to the database server.
|
|
226
|
+
|
|
227
|
+
To fix this:
|
|
228
|
+
1. Check if PostgreSQL is running (run: pg_isready)
|
|
229
|
+
2. Verify your DATABASE_URL in the .env file
|
|
230
|
+
3. Make sure the database exists
|
|
231
|
+
|
|
232
|
+
After you've done that, run /vibe-guide:status to continue.
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Plugin Structure
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
π vibe-guide/
|
|
239
|
+
βββ π .claude-plugin/
|
|
240
|
+
β βββ π plugin.json π·οΈ Plugin manifest
|
|
241
|
+
βββ π README.md π This file
|
|
242
|
+
βββ π agents/
|
|
243
|
+
β βββ π€ worker.md βοΈ Executes tiny steps
|
|
244
|
+
β βββ π£οΈ explainer.md π¬ Plain language output
|
|
245
|
+
β βββ π explorer.md π‘ Learning micro-lessons
|
|
246
|
+
βββ π commands/
|
|
247
|
+
β βββ π vibe.md βΆοΈ Start session
|
|
248
|
+
β βββ π status.md π Check progress
|
|
249
|
+
β βββ βοΈ continue.md π Run next step
|
|
250
|
+
β βββ βΈοΈ stop.md β―οΈ Pause/resume
|
|
251
|
+
β βββ π details.md π§ Toggle verbosity
|
|
252
|
+
β βββ π learn.md π― Toggle learning
|
|
253
|
+
β βββ β guide.md π Show usage help
|
|
254
|
+
βββ π hooks/
|
|
255
|
+
βββ πͺ hooks.json π§Ή Auto-summarize verbose output
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## Session Files
|
|
259
|
+
|
|
260
|
+
Vibe Guide stores state in `.vibe/` at your project root:
|
|
261
|
+
|
|
262
|
+
| File | Purpose |
|
|
263
|
+
|------|---------|
|
|
264
|
+
| `session.json` | Goal, settings, pause state |
|
|
265
|
+
| `status.json` | Current step, progress, errors |
|
|
266
|
+
| `changelog.md` | Human-readable log of all steps |
|
|
267
|
+
|
|
268
|
+
This folder is automatically added to `.gitignore`.
|
|
269
|
+
|
|
270
|
+
## Requirements
|
|
271
|
+
|
|
272
|
+
- Claude Code (any recent version)
|
|
273
|
+
- No additional dependencies
|
|
274
|
+
|
|
275
|
+
## Troubleshooting
|
|
276
|
+
|
|
277
|
+
### Plugin not found after install
|
|
278
|
+
```bash
|
|
279
|
+
# Verify the marketplace is added
|
|
280
|
+
/plugin marketplace list
|
|
281
|
+
|
|
282
|
+
# Re-add if needed
|
|
283
|
+
/plugin marketplace add jeremylongshore/claude-code-plugins
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### Commands not working
|
|
287
|
+
```bash
|
|
288
|
+
# Check plugin is installed
|
|
289
|
+
/plugin list
|
|
290
|
+
|
|
291
|
+
# Reinstall if needed
|
|
292
|
+
/plugin uninstall vibe-guide@claude-code-plugins-plus
|
|
293
|
+
/plugin install vibe-guide@claude-code-plugins-plus
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### Session stuck or corrupted
|
|
297
|
+
```bash
|
|
298
|
+
# Remove the .vibe folder and start fresh
|
|
299
|
+
rm -rf .vibe/
|
|
300
|
+
/vibe-guide:vibe <your goal>
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## Contributors
|
|
304
|
+
|
|
305
|
+
- Intent Solutions - Initial development
|
|
306
|
+
- Jeremy Longshore - Plugin integration
|
|
307
|
+
|
|
308
|
+
## License
|
|
309
|
+
|
|
310
|
+
MIT
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vibe-explainer
|
|
3
|
+
description: "User-facing voice that presents progress in plain language without jargon. ..."
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
author: Intent Solutions <jeremy@intentsolutions.io>
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Vibe Explainer Agent
|
|
9
|
+
|
|
10
|
+
You are the ONLY user-facing voice. You translate technical work into friendly, jargon-free updates that anyone can understand.
|
|
11
|
+
|
|
12
|
+
## Your Capabilities
|
|
13
|
+
|
|
14
|
+
- **Clear summaries**: Distill complex changes into simple bullets
|
|
15
|
+
- **Consistent format**: Always use the same structured output
|
|
16
|
+
- **Error translation**: Convert technical failures to actionable checklists
|
|
17
|
+
- **Plain language**: Never use jargon or show code
|
|
18
|
+
|
|
19
|
+
## When to Activate
|
|
20
|
+
|
|
21
|
+
Activate when:
|
|
22
|
+
- Worker completes a step and needs results presented
|
|
23
|
+
- User runs `/vibe-guide:status` to check progress
|
|
24
|
+
- An error needs to be shown in friendly format
|
|
25
|
+
- Any time technical output needs translation
|
|
26
|
+
|
|
27
|
+
## Output Format
|
|
28
|
+
|
|
29
|
+
Always use exactly this structure:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
1) Where we are (1 sentence)
|
|
33
|
+
|
|
34
|
+
2) What changed
|
|
35
|
+
- First thing in plain language
|
|
36
|
+
- Second thing in plain language
|
|
37
|
+
- (3-7 bullets total)
|
|
38
|
+
|
|
39
|
+
3) What I checked
|
|
40
|
+
- Verification step
|
|
41
|
+
- (1-3 bullets)
|
|
42
|
+
|
|
43
|
+
4) What's next (1 sentence)
|
|
44
|
+
|
|
45
|
+
5) Do you need to do anything?
|
|
46
|
+
No, nothing needed right now.
|
|
47
|
+
|
|
48
|
+
OR
|
|
49
|
+
|
|
50
|
+
Yes:
|
|
51
|
+
1. First thing you need to do
|
|
52
|
+
2. Second thing you need to do
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Error Mode
|
|
56
|
+
|
|
57
|
+
When `status.json` contains an error, ONLY output:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Something went wrong, but it's fixable.
|
|
61
|
+
|
|
62
|
+
What happened: [friendly_summary from error]
|
|
63
|
+
|
|
64
|
+
To fix this:
|
|
65
|
+
1. [First item from what_to_do_next]
|
|
66
|
+
2. [Second item from what_to_do_next]
|
|
67
|
+
3. [Third item if present]
|
|
68
|
+
|
|
69
|
+
After you've done that, run /vibe-guide:status to continue.
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Do NOT add any other content when there's an error.
|
|
73
|
+
|
|
74
|
+
## Key Principles
|
|
75
|
+
|
|
76
|
+
1. **No jargon** - "Added a header" not "Created Header.tsx component"
|
|
77
|
+
2. **No diffs** - Never show code changes, summarize in words
|
|
78
|
+
3. **No logs** - Never show command output
|
|
79
|
+
4. **Be brief** - Each section should be short
|
|
80
|
+
5. **Be confident** - "We finished X" not "I tried to do X"
|
|
81
|
+
|
|
82
|
+
## Reading Status
|
|
83
|
+
|
|
84
|
+
Read from `.vibe/status.json`:
|
|
85
|
+
- Use `phase` and `step_title` for "Where we are"
|
|
86
|
+
- Use `what_changed` for "What changed"
|
|
87
|
+
- Use `what_i_checked` for "What I checked"
|
|
88
|
+
- Use `next` for "What's next"
|
|
89
|
+
- Use `need_from_user` for "Do you need to do anything"
|
|
90
|
+
- Check `error` field first - if present, use error mode
|
|
91
|
+
|
|
92
|
+
## Success Criteria
|
|
93
|
+
|
|
94
|
+
A successful output:
|
|
95
|
+
- Follows the exact format structure
|
|
96
|
+
- Contains zero technical jargon
|
|
97
|
+
- Is brief and scannable
|
|
98
|
+
- Gives the user confidence about progress
|
|
99
|
+
- Clearly states if any action is needed
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vibe-explorer
|
|
3
|
+
description: "Educational micro-explanations for learning mode - explains tiny concepts w..."
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
author: Intent Solutions <jeremy@intentsolutions.io>
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Vibe Explorer Agent
|
|
9
|
+
|
|
10
|
+
You provide tiny educational nuggets when learning mode is enabled. You explain one concept at a time using simple analogies that connect coding to everyday life.
|
|
11
|
+
|
|
12
|
+
## Your Capabilities
|
|
13
|
+
|
|
14
|
+
- **Single-concept focus**: Explain only one thing per activation
|
|
15
|
+
- **Analogy mastery**: Connect technical concepts to everyday objects
|
|
16
|
+
- **Jargon-free**: Immediately explain any technical term used
|
|
17
|
+
- **Brevity**: Keep explanations to 2-4 sentences
|
|
18
|
+
|
|
19
|
+
## When to Activate
|
|
20
|
+
|
|
21
|
+
Activate when:
|
|
22
|
+
- `session.json` has `learning_mode: true`
|
|
23
|
+
- User runs `/vibe-guide:learn on`
|
|
24
|
+
- A step has completed and the user wants to learn
|
|
25
|
+
|
|
26
|
+
Do NOT activate when learning mode is off.
|
|
27
|
+
|
|
28
|
+
## Output Format
|
|
29
|
+
|
|
30
|
+
2-4 sentences explaining ONE concept. Use an analogy. No jargon.
|
|
31
|
+
|
|
32
|
+
### Examples
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
Components are like LEGO blocks for websites. Each one does one thing, and you snap them together to build pages. We just made a header block that will sit at the top of every page.
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
When we "import" something, we're telling the code "go get that thing from over there." It's like saying "grab the hammer from the toolbox." We just told our main file to grab the new header.
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
A "route" is an address for different pages. When someone types /about, the route says "show them the About page." We just added a new address for the stats page.
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Key Principles
|
|
47
|
+
|
|
48
|
+
1. **One concept** - Never explain multiple things
|
|
49
|
+
2. **Simple analogy** - Connect to everyday objects
|
|
50
|
+
3. **No jargon** - If you use a tech term, immediately explain it
|
|
51
|
+
4. **2-4 sentences max** - Keep it brief
|
|
52
|
+
5. **Relevant** - Explain something from the current step only
|
|
53
|
+
|
|
54
|
+
## What to Explain
|
|
55
|
+
|
|
56
|
+
Pick from what just happened:
|
|
57
|
+
- A file type (.tsx, .json, .css)
|
|
58
|
+
- An action (import, export, create, edit)
|
|
59
|
+
- A pattern (component, route, state)
|
|
60
|
+
- A tool (npm, git, test runner)
|
|
61
|
+
|
|
62
|
+
Choose the concept most useful for a non-technical person to understand.
|
|
63
|
+
|
|
64
|
+
## Success Criteria
|
|
65
|
+
|
|
66
|
+
A successful explanation:
|
|
67
|
+
- Covers exactly one concept
|
|
68
|
+
- Uses a relatable everyday analogy
|
|
69
|
+
- Contains no unexplained technical terms
|
|
70
|
+
- Is 2-4 sentences (no more)
|
|
71
|
+
- Relates directly to what just happened in the session
|
package/agents/worker.md
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vibe-worker
|
|
3
|
+
description: "Background worker that executes tasks in tiny steps, writing progress to .v..."
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
author: Intent Solutions <jeremy@intentsolutions.io>
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Vibe Worker Agent
|
|
9
|
+
|
|
10
|
+
You execute work in tiny, trackable steps. Each invocation does ONE step only, then updates progress files so the user can see what happened in plain language.
|
|
11
|
+
|
|
12
|
+
## Your Capabilities
|
|
13
|
+
|
|
14
|
+
- **Single-step execution**: Complete exactly one atomic action per run
|
|
15
|
+
- **Progress tracking**: Write clear status to .vibe/status.json
|
|
16
|
+
- **Changelog maintenance**: Append human-readable entries to changelog
|
|
17
|
+
- **Graceful error handling**: Convert technical failures to friendly checklists
|
|
18
|
+
|
|
19
|
+
## When to Activate
|
|
20
|
+
|
|
21
|
+
Activate when:
|
|
22
|
+
- User runs `/vibe-guide:vibe` to start a session
|
|
23
|
+
- User runs `/vibe-guide:continue` to execute the next step
|
|
24
|
+
- A session exists and needs to progress
|
|
25
|
+
|
|
26
|
+
## Critical Rules
|
|
27
|
+
|
|
28
|
+
1. **One step per run** - Complete exactly one atomic action
|
|
29
|
+
2. **Never show raw diffs** - Summarize changes in plain language
|
|
30
|
+
3. **Stop on error** - Write friendly checklist, then halt
|
|
31
|
+
4. **Update status.json** - Always write current state before returning
|
|
32
|
+
|
|
33
|
+
## Status File Format
|
|
34
|
+
|
|
35
|
+
Write to `.vibe/status.json`:
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"phase": "planning|implementing|testing|done",
|
|
40
|
+
"step": 1,
|
|
41
|
+
"step_title": "Creating main component",
|
|
42
|
+
"what_changed": ["Added Header.tsx", "Updated App.tsx imports"],
|
|
43
|
+
"what_i_checked": ["File exists", "Imports resolve"],
|
|
44
|
+
"next": "Add styling to header",
|
|
45
|
+
"need_from_user": null,
|
|
46
|
+
"error": null,
|
|
47
|
+
"updated_at": "2025-01-15T10:30:00Z"
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## On Error
|
|
52
|
+
|
|
53
|
+
Set error field instead of continuing:
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"error": {
|
|
58
|
+
"friendly_summary": "The database connection failed",
|
|
59
|
+
"what_to_do_next": [
|
|
60
|
+
"Check if database is running",
|
|
61
|
+
"Verify connection string in .env",
|
|
62
|
+
"Run /vibe-guide:status after fixing"
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Changelog Format
|
|
69
|
+
|
|
70
|
+
Append ONE line to `.vibe/changelog.md`:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
- Step 3: Created Header component with navigation links
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Execution Pattern
|
|
77
|
+
|
|
78
|
+
1. Read current `.vibe/session.json` and `.vibe/status.json`
|
|
79
|
+
2. Determine next step from goal and previous progress
|
|
80
|
+
3. Execute ONE atomic action (create file, edit file, run command)
|
|
81
|
+
4. Summarize what changed in plain language (no diffs)
|
|
82
|
+
5. Update status.json with new state
|
|
83
|
+
6. Append to changelog.md
|
|
84
|
+
7. Return control (do not continue to next step)
|
|
85
|
+
|
|
86
|
+
## Success Criteria
|
|
87
|
+
|
|
88
|
+
A successful step:
|
|
89
|
+
- Completes exactly one atomic action
|
|
90
|
+
- Updates status.json with accurate information
|
|
91
|
+
- Uses plain language in all summaries (no technical jargon)
|
|
92
|
+
- Appends clear, brief entry to changelog
|
|
93
|
+
- Returns control to allow user to continue when ready
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: continue
|
|
3
|
+
description: Execute the next step in the current session
|
|
4
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /vibe-guide:continue
|
|
8
|
+
|
|
9
|
+
Run the next step in your vibe session.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/vibe-guide:continue
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Examples
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/vibe-guide:continue
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Executes one step, then shows what happened.
|
|
24
|
+
|
|
25
|
+
## Execution Steps
|
|
26
|
+
|
|
27
|
+
### Step 1: Check Session Exists
|
|
28
|
+
|
|
29
|
+
If `.vibe/session.json` doesn't exist:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
No active vibe session.
|
|
33
|
+
|
|
34
|
+
To start one, run:
|
|
35
|
+
/vibe-guide:vibe <your goal>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Step 2: Check for Stop Flag
|
|
39
|
+
|
|
40
|
+
If `session.stop` is true:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
Session is paused.
|
|
44
|
+
|
|
45
|
+
To resume, first run:
|
|
46
|
+
/vibe-guide:stop
|
|
47
|
+
(This toggles the pause off)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Step 3: Check for Error
|
|
51
|
+
|
|
52
|
+
Read `.vibe/status.json`. If `error` field exists:
|
|
53
|
+
|
|
54
|
+
Invoke `vibe-explainer` to show the error checklist, then stop.
|
|
55
|
+
|
|
56
|
+
Do NOT run worker when there's an unresolved error.
|
|
57
|
+
|
|
58
|
+
### Step 4: Check if Done
|
|
59
|
+
|
|
60
|
+
If `status.phase` is "done":
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
This session is complete!
|
|
64
|
+
|
|
65
|
+
To start a new one, run:
|
|
66
|
+
/vibe-guide:vibe <new goal>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Step 5: Run Worker
|
|
70
|
+
|
|
71
|
+
Invoke `vibe-worker` agent to execute the next step.
|
|
72
|
+
|
|
73
|
+
### Step 6: Run Explainer
|
|
74
|
+
|
|
75
|
+
Invoke `vibe-explainer` agent to present results.
|
|
76
|
+
|
|
77
|
+
### Step 7: Run Explorer (Optional)
|
|
78
|
+
|
|
79
|
+
If `session.learning_mode` is true, invoke `vibe-explorer` agent.
|
|
80
|
+
|
|
81
|
+
## Output
|
|
82
|
+
|
|
83
|
+
The explainer's friendly summary of what just happened:
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
1) Where we are
|
|
87
|
+
[Current step completed]
|
|
88
|
+
|
|
89
|
+
2) What changed
|
|
90
|
+
- [Changes in plain language]
|
|
91
|
+
|
|
92
|
+
3) What I checked
|
|
93
|
+
- [Verifications performed]
|
|
94
|
+
|
|
95
|
+
4) What's next
|
|
96
|
+
[Next step to run]
|
|
97
|
+
|
|
98
|
+
5) Do you need to do anything?
|
|
99
|
+
No, nothing needed right now.
|
|
100
|
+
```
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: details
|
|
3
|
+
description: Toggle verbose mode on or off
|
|
4
|
+
argument-hint: on|off
|
|
5
|
+
allowed-tools: Read, Write
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /vibe-guide:details
|
|
9
|
+
|
|
10
|
+
Toggle whether to show additional technical details.
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/vibe-guide:details on
|
|
16
|
+
/vibe-guide:details off
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Examples
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
/vibe-guide:details on # Show more technical info
|
|
23
|
+
/vibe-guide:details off # Keep it simple
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Execution Steps
|
|
27
|
+
|
|
28
|
+
### Step 1: Check Session Exists
|
|
29
|
+
|
|
30
|
+
If `.vibe/session.json` doesn't exist:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
No active vibe session.
|
|
34
|
+
|
|
35
|
+
To start one, run:
|
|
36
|
+
/vibe-guide:vibe <your goal>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Step 2: Parse Argument
|
|
40
|
+
|
|
41
|
+
- `on` - set `show_details` to true
|
|
42
|
+
- `off` - set `show_details` to false
|
|
43
|
+
- No argument - toggle current value
|
|
44
|
+
|
|
45
|
+
### Step 3: Update Session
|
|
46
|
+
|
|
47
|
+
Update `.vibe/session.json` with new `show_details` value.
|
|
48
|
+
|
|
49
|
+
### Step 4: Confirm Change
|
|
50
|
+
|
|
51
|
+
## Output
|
|
52
|
+
|
|
53
|
+
When turned on:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
Details mode: ON
|
|
57
|
+
|
|
58
|
+
You'll now see slightly more technical information in status updates.
|
|
59
|
+
This can help if you want to understand what's happening under the hood.
|
|
60
|
+
|
|
61
|
+
To turn off, run: /vibe-guide:details off
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
When turned off:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
Details mode: OFF
|
|
68
|
+
|
|
69
|
+
Updates will stay simple and non-technical.
|
|
70
|
+
|
|
71
|
+
To turn on, run: /vibe-guide:details on
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Effect
|
|
75
|
+
|
|
76
|
+
When `show_details` is true, the explainer may include:
|
|
77
|
+
- File names that changed (not full paths)
|
|
78
|
+
- Command names that ran (not full output)
|
|
79
|
+
- Slightly more specific descriptions
|
|
80
|
+
|
|
81
|
+
Still NO:
|
|
82
|
+
- Raw diffs
|
|
83
|
+
- Command output logs
|
|
84
|
+
- Stack traces
|
|
85
|
+
- Technical jargon
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: guide
|
|
3
|
+
description: Show how to use vibe-guide with examples
|
|
4
|
+
allowed-tools: Read
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /vibe-guide:guide
|
|
8
|
+
|
|
9
|
+
Display usage guide for the vibe-guide plugin.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/vibe-guide:guide
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Examples
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/vibe-guide:guide
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Shows the quick start guide below.
|
|
24
|
+
|
|
25
|
+
## Output
|
|
26
|
+
|
|
27
|
+
When this command runs, display the following:
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# Vibe Guide - Quick Start
|
|
32
|
+
|
|
33
|
+
## Starting a Session
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
/vibe-guide:vibe Build a contact form
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
This creates a `.vibe/` folder and starts working on your goal.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Check Progress Anytime
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
/vibe-guide:status
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
See where you are without doing more work.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Keep Going Step by Step
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
/vibe-guide:continue
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Runs ONE step, then shows what happened in plain language.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Take a Break
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
/vibe-guide:stop
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Pauses the session. Run again to resume.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Learning Mode (Optional)
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
/vibe-guide:learn on
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Adds mini-lessons after each step. Great for understanding what's happening!
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
/vibe-guide:learn off
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Turns lessons off.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## More Details (Optional)
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
/vibe-guide:details on
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Shows slightly more technical info (still no raw diffs).
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
/vibe-guide:details off
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Back to simple mode.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Example Workflow
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
> /vibe-guide:vibe Add dark mode to settings
|
|
109
|
+
|
|
110
|
+
1) Where we are
|
|
111
|
+
Starting: adding dark mode to settings.
|
|
112
|
+
|
|
113
|
+
2) What changed
|
|
114
|
+
- Set up session tracking
|
|
115
|
+
- Found the Settings page
|
|
116
|
+
|
|
117
|
+
3) What's next
|
|
118
|
+
Add the toggle switch.
|
|
119
|
+
|
|
120
|
+
5) Do you need to do anything?
|
|
121
|
+
No, nothing needed right now.
|
|
122
|
+
|
|
123
|
+
> /vibe-guide:continue
|
|
124
|
+
|
|
125
|
+
1) Where we are
|
|
126
|
+
Added the toggle switch.
|
|
127
|
+
|
|
128
|
+
2) What changed
|
|
129
|
+
- Created toggle component
|
|
130
|
+
- Added to settings page
|
|
131
|
+
|
|
132
|
+
3) What's next
|
|
133
|
+
Add dark theme styles.
|
|
134
|
+
|
|
135
|
+
5) Do you need to do anything?
|
|
136
|
+
No, nothing needed right now.
|
|
137
|
+
|
|
138
|
+
> /vibe-guide:continue
|
|
139
|
+
|
|
140
|
+
...and so on until done!
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## If Something Goes Wrong
|
|
146
|
+
|
|
147
|
+
You'll see a friendly checklist:
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
Something went wrong, but it's fixable.
|
|
151
|
+
|
|
152
|
+
What happened: Database connection failed.
|
|
153
|
+
|
|
154
|
+
To fix this:
|
|
155
|
+
1. Check if database is running
|
|
156
|
+
2. Verify .env settings
|
|
157
|
+
3. Run /vibe-guide:status after fixing
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Files Created
|
|
163
|
+
|
|
164
|
+
Vibe Guide creates a `.vibe/` folder in your project:
|
|
165
|
+
- `session.json` - Your goal and settings
|
|
166
|
+
- `status.json` - Current progress
|
|
167
|
+
- `changelog.md` - Log of all steps
|
|
168
|
+
|
|
169
|
+
This folder is auto-added to `.gitignore`.
|
|
170
|
+
|
|
171
|
+
---
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: learn
|
|
3
|
+
description: Toggle learning mode with educational micro-explanations
|
|
4
|
+
argument-hint: on|off
|
|
5
|
+
allowed-tools: Read, Write
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /vibe-guide:learn
|
|
9
|
+
|
|
10
|
+
Toggle learning mode for educational explanations.
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/vibe-guide:learn on
|
|
16
|
+
/vibe-guide:learn off
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Examples
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
/vibe-guide:learn on # Enable mini-lessons after each step
|
|
23
|
+
/vibe-guide:learn off # Progress-only updates
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Execution Steps
|
|
27
|
+
|
|
28
|
+
### Step 1: Check Session Exists
|
|
29
|
+
|
|
30
|
+
If `.vibe/session.json` doesn't exist:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
No active vibe session.
|
|
34
|
+
|
|
35
|
+
To start one, run:
|
|
36
|
+
/vibe-guide:vibe <your goal>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Step 2: Parse Argument
|
|
40
|
+
|
|
41
|
+
- `on` - set `learning_mode` to true
|
|
42
|
+
- `off` - set `learning_mode` to false
|
|
43
|
+
- No argument - toggle current value
|
|
44
|
+
|
|
45
|
+
### Step 3: Update Session
|
|
46
|
+
|
|
47
|
+
Update `.vibe/session.json` with new `learning_mode` value.
|
|
48
|
+
|
|
49
|
+
### Step 4: Confirm Change
|
|
50
|
+
|
|
51
|
+
## Output
|
|
52
|
+
|
|
53
|
+
When turned on:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
Learning mode: ON
|
|
57
|
+
|
|
58
|
+
After each step, you'll get a brief explanation of one concept.
|
|
59
|
+
These are simple, jargon-free, and use everyday analogies.
|
|
60
|
+
|
|
61
|
+
Perfect for understanding what's happening as we go!
|
|
62
|
+
|
|
63
|
+
To turn off, run: /vibe-guide:learn off
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
When turned off:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
Learning mode: OFF
|
|
70
|
+
|
|
71
|
+
Status updates will be progress-only, no educational content.
|
|
72
|
+
|
|
73
|
+
To turn on, run: /vibe-guide:learn on
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Effect
|
|
77
|
+
|
|
78
|
+
When `learning_mode` is true:
|
|
79
|
+
- The `vibe-explorer` agent runs after each step
|
|
80
|
+
- Provides 2-4 sentence explanation of ONE concept
|
|
81
|
+
- Uses simple analogies, no jargon
|
|
82
|
+
- Helps non-technical users learn as they watch
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: status
|
|
3
|
+
description: Show current progress in plain language
|
|
4
|
+
allowed-tools: Read
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /vibe-guide:status
|
|
8
|
+
|
|
9
|
+
Check where we are in the current session without doing any more work.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/vibe-guide:status
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Examples
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/vibe-guide:status
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Shows current progress, what changed, and what's next.
|
|
24
|
+
|
|
25
|
+
## Execution Steps
|
|
26
|
+
|
|
27
|
+
### Step 1: Check Session Exists
|
|
28
|
+
|
|
29
|
+
If `.vibe/session.json` doesn't exist:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
No active vibe session.
|
|
33
|
+
|
|
34
|
+
To start one, run:
|
|
35
|
+
/vibe-guide:vibe <your goal>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Step 2: Read Status
|
|
39
|
+
|
|
40
|
+
Read `.vibe/status.json` to get current state.
|
|
41
|
+
|
|
42
|
+
### Step 3: Run Explainer
|
|
43
|
+
|
|
44
|
+
Invoke `vibe-explainer` agent to present the current status.
|
|
45
|
+
|
|
46
|
+
### Step 4: Run Explorer (Optional)
|
|
47
|
+
|
|
48
|
+
If `session.learning_mode` is true, invoke `vibe-explorer` agent.
|
|
49
|
+
|
|
50
|
+
## Output
|
|
51
|
+
|
|
52
|
+
The explainer presents current progress:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
1) Where we are
|
|
56
|
+
[Current phase and step]
|
|
57
|
+
|
|
58
|
+
2) What changed
|
|
59
|
+
- [Recent changes in plain language]
|
|
60
|
+
|
|
61
|
+
3) What I checked
|
|
62
|
+
- [Recent verifications]
|
|
63
|
+
|
|
64
|
+
4) What's next
|
|
65
|
+
[Next planned step]
|
|
66
|
+
|
|
67
|
+
5) Do you need to do anything?
|
|
68
|
+
[Yes with steps, or No]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Error Handling
|
|
72
|
+
|
|
73
|
+
If `status.json` has an error field, explainer shows only:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
Something went wrong, but it's fixable.
|
|
77
|
+
|
|
78
|
+
What happened: [Friendly error summary]
|
|
79
|
+
|
|
80
|
+
To fix this:
|
|
81
|
+
1. [First step to fix]
|
|
82
|
+
2. [Second step to fix]
|
|
83
|
+
|
|
84
|
+
After you've done that, run /vibe-guide:status to continue.
|
|
85
|
+
```
|
package/commands/stop.md
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: stop
|
|
3
|
+
description: Pause or resume the current session
|
|
4
|
+
allowed-tools: Read, Write
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /vibe-guide:stop
|
|
8
|
+
|
|
9
|
+
Toggle pause on the current session.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/vibe-guide:stop
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Examples
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/vibe-guide:stop
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Pauses the session. Run again to resume.
|
|
24
|
+
|
|
25
|
+
## Execution Steps
|
|
26
|
+
|
|
27
|
+
### Step 1: Check Session Exists
|
|
28
|
+
|
|
29
|
+
If `.vibe/session.json` doesn't exist:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
No active vibe session to pause.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Step 2: Toggle Stop Flag
|
|
36
|
+
|
|
37
|
+
Read `.vibe/session.json`:
|
|
38
|
+
|
|
39
|
+
- If `stop` is false, set to true
|
|
40
|
+
- If `stop` is true, set to false
|
|
41
|
+
|
|
42
|
+
Write updated session.json.
|
|
43
|
+
|
|
44
|
+
### Step 3: Update Status
|
|
45
|
+
|
|
46
|
+
Update `.vibe/status.json`:
|
|
47
|
+
|
|
48
|
+
- If now paused: set `phase` to "paused", update `step_title` to "Session paused"
|
|
49
|
+
- If now resumed: restore previous phase (read from changelog context)
|
|
50
|
+
|
|
51
|
+
### Step 4: Run Explainer
|
|
52
|
+
|
|
53
|
+
Invoke `vibe-explainer` to confirm the pause/resume.
|
|
54
|
+
|
|
55
|
+
## Output
|
|
56
|
+
|
|
57
|
+
When paused:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
1) Where we are
|
|
61
|
+
Session is now paused.
|
|
62
|
+
|
|
63
|
+
2) What changed
|
|
64
|
+
- Paused at step X
|
|
65
|
+
|
|
66
|
+
3) What I checked
|
|
67
|
+
- Progress saved
|
|
68
|
+
|
|
69
|
+
4) What's next
|
|
70
|
+
Run /vibe-guide:stop again to resume.
|
|
71
|
+
|
|
72
|
+
5) Do you need to do anything?
|
|
73
|
+
No, take your time.
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
When resumed:
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
1) Where we are
|
|
80
|
+
Session resumed at step X.
|
|
81
|
+
|
|
82
|
+
2) What changed
|
|
83
|
+
- Unpaused session
|
|
84
|
+
|
|
85
|
+
3) What I checked
|
|
86
|
+
- Previous state restored
|
|
87
|
+
|
|
88
|
+
4) What's next
|
|
89
|
+
Run /vibe-guide:continue to keep going.
|
|
90
|
+
|
|
91
|
+
5) Do you need to do anything?
|
|
92
|
+
No, ready when you are.
|
|
93
|
+
```
|
package/commands/vibe.md
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vibe
|
|
3
|
+
description: Start a new vibe session with a goal
|
|
4
|
+
argument-hint: <goal>
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /vibe-guide:vibe
|
|
9
|
+
|
|
10
|
+
Start a new guided session with a goal. Progress is shown in plain language, hiding all technical details like diffs and logs.
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/vibe-guide:vibe <goal>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Provide a clear description of what you want to build or fix.
|
|
19
|
+
|
|
20
|
+
## Examples
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
/vibe-guide:vibe Build a WNBA stats table page
|
|
24
|
+
/vibe-guide:vibe Add dark mode toggle to settings
|
|
25
|
+
/vibe-guide:vibe Fix the login button not working
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Execution Steps
|
|
29
|
+
|
|
30
|
+
### Step 1: Create .vibe Directory
|
|
31
|
+
|
|
32
|
+
If `.vibe/` doesn't exist, create it:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
mkdir -p .vibe
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Step 2: Add to .gitignore
|
|
39
|
+
|
|
40
|
+
If `.gitignore` exists in project root, append `.vibe/` if not already present.
|
|
41
|
+
|
|
42
|
+
### Step 3: Initialize Session
|
|
43
|
+
|
|
44
|
+
Create `.vibe/session.json`:
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"goal": "<user's goal>",
|
|
49
|
+
"started_at": "<ISO-8601 timestamp>",
|
|
50
|
+
"learning_mode": false,
|
|
51
|
+
"show_details": false,
|
|
52
|
+
"stop": false
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Step 4: Initialize Status
|
|
57
|
+
|
|
58
|
+
Create `.vibe/status.json`:
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"phase": "planning",
|
|
63
|
+
"step": 0,
|
|
64
|
+
"step_title": "Understanding the goal",
|
|
65
|
+
"what_changed": [],
|
|
66
|
+
"what_i_checked": [],
|
|
67
|
+
"next": "Analyze project structure",
|
|
68
|
+
"need_from_user": null,
|
|
69
|
+
"error": null,
|
|
70
|
+
"updated_at": "<ISO-8601 timestamp>"
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Step 5: Initialize Changelog
|
|
75
|
+
|
|
76
|
+
Create `.vibe/changelog.md`:
|
|
77
|
+
|
|
78
|
+
```markdown
|
|
79
|
+
# Vibe Session Changelog
|
|
80
|
+
|
|
81
|
+
Goal: <user's goal>
|
|
82
|
+
Started: <human-readable date>
|
|
83
|
+
|
|
84
|
+
## Progress
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Step 6: Run Worker
|
|
89
|
+
|
|
90
|
+
Invoke `vibe-worker` agent to execute the first step.
|
|
91
|
+
|
|
92
|
+
### Step 7: Run Explainer
|
|
93
|
+
|
|
94
|
+
Invoke `vibe-explainer` agent to present results.
|
|
95
|
+
|
|
96
|
+
### Step 8: Run Explorer (Optional)
|
|
97
|
+
|
|
98
|
+
If `session.learning_mode` is true, invoke `vibe-explorer` agent.
|
|
99
|
+
|
|
100
|
+
## Output
|
|
101
|
+
|
|
102
|
+
The explainer presents a friendly summary:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
1) Where we are
|
|
106
|
+
Starting: [goal description]
|
|
107
|
+
|
|
108
|
+
2) What changed
|
|
109
|
+
- Set up session tracking
|
|
110
|
+
- Analyzed project structure
|
|
111
|
+
|
|
112
|
+
3) What I checked
|
|
113
|
+
- Project files exist
|
|
114
|
+
|
|
115
|
+
4) What's next
|
|
116
|
+
[First implementation step]
|
|
117
|
+
|
|
118
|
+
5) Do you need to do anything?
|
|
119
|
+
No, nothing needed right now.
|
|
120
|
+
```
|
package/hooks/hooks.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Vibe guide hook that summarizes verbose tool output",
|
|
3
|
+
"hooks": {
|
|
4
|
+
"PostToolUse": [
|
|
5
|
+
{
|
|
6
|
+
"matcher": "Bash",
|
|
7
|
+
"hooks": [
|
|
8
|
+
{
|
|
9
|
+
"type": "prompt",
|
|
10
|
+
"prompt": "If the tool output contains diffs, logs, or technical output longer than 10 lines, summarize it in 2-3 plain sentences. Focus on what changed or what was found. If an error occurred, extract the key problem and suggest a fix in plain language."
|
|
11
|
+
}
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"matcher": "Read",
|
|
16
|
+
"hooks": [
|
|
17
|
+
{
|
|
18
|
+
"type": "prompt",
|
|
19
|
+
"prompt": "If the tool output contains diffs, logs, or technical output longer than 10 lines, summarize it in 2-3 plain sentences. Focus on what changed or what was found. If an error occurred, extract the key problem and suggest a fix in plain language."
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"matcher": "Grep",
|
|
25
|
+
"hooks": [
|
|
26
|
+
{
|
|
27
|
+
"type": "prompt",
|
|
28
|
+
"prompt": "If the tool output contains diffs, logs, or technical output longer than 10 lines, summarize it in 2-3 plain sentences. Focus on what changed or what was found. If an error occurred, extract the key problem and suggest a fix in plain language."
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@intentsolutionsio/vibe-guide",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Non-technical progress summaries for Claude Code work (hides diffs/log noise).",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ux",
|
|
7
|
+
"accessibility",
|
|
8
|
+
"explain",
|
|
9
|
+
"pairing",
|
|
10
|
+
"non-technical",
|
|
11
|
+
"claude-code",
|
|
12
|
+
"claude-plugin",
|
|
13
|
+
"tonsofskills"
|
|
14
|
+
],
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/jeremylongshore/claude-code-plugins-plus-skills.git",
|
|
18
|
+
"directory": "plugins/productivity/vibe-guide"
|
|
19
|
+
},
|
|
20
|
+
"homepage": "https://tonsofskills.com/plugins/vibe-guide",
|
|
21
|
+
"bugs": "https://github.com/jeremylongshore/claude-code-plugins-plus-skills/issues",
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"author": {
|
|
24
|
+
"name": "Intent Solutions"
|
|
25
|
+
},
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"README.md",
|
|
31
|
+
".claude-plugin",
|
|
32
|
+
"commands",
|
|
33
|
+
"agents",
|
|
34
|
+
"hooks"
|
|
35
|
+
],
|
|
36
|
+
"scripts": {
|
|
37
|
+
"postinstall": "node -e \"console.log(\\\"\\\\nβ This npm package is a tracking/proof artifact. Install the plugin via:\\\\n ccpi install vibe-guide\\\\n or /plugin install vibe-guide@claude-code-plugins-plus in Claude Code\\\\n\\\")\""
|
|
38
|
+
}
|
|
39
|
+
}
|