clikit-plugin 0.1.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/AGENTS.md +46 -0
- package/README.md +282 -0
- package/command/commit.md +137 -0
- package/command/create.md +150 -0
- package/command/debug.md +185 -0
- package/command/design.md +82 -0
- package/command/handoff.md +95 -0
- package/command/import-plan.md +175 -0
- package/command/init.md +112 -0
- package/command/issue.md +110 -0
- package/command/plan.md +205 -0
- package/command/pr.md +174 -0
- package/command/research.md +103 -0
- package/command/resume.md +80 -0
- package/command/review-codebase.md +228 -0
- package/command/review.md +135 -0
- package/command/ship.md +109 -0
- package/command/start.md +77 -0
- package/command/status.md +123 -0
- package/command/verify.md +79 -0
- package/command/vision.md +142 -0
- package/dist/agents/index.d.ts +4 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +103 -0
- package/dist/clikit.schema.json +423 -0
- package/dist/commands/index.d.ts +4 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/config.d.ts +118 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/hooks/auto-format.d.ts +30 -0
- package/dist/hooks/auto-format.d.ts.map +1 -0
- package/dist/hooks/comment-checker.d.ts +17 -0
- package/dist/hooks/comment-checker.d.ts.map +1 -0
- package/dist/hooks/compaction.d.ts +60 -0
- package/dist/hooks/compaction.d.ts.map +1 -0
- package/dist/hooks/empty-message-sanitizer.d.ts +9 -0
- package/dist/hooks/empty-message-sanitizer.d.ts.map +1 -0
- package/dist/hooks/env-context.d.ts +43 -0
- package/dist/hooks/env-context.d.ts.map +1 -0
- package/dist/hooks/git-guard.d.ts +14 -0
- package/dist/hooks/git-guard.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +35 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/ritual-enforcer.d.ts +29 -0
- package/dist/hooks/ritual-enforcer.d.ts.map +1 -0
- package/dist/hooks/security-check.d.ts +20 -0
- package/dist/hooks/security-check.d.ts.map +1 -0
- package/dist/hooks/session-notification.d.ts +23 -0
- package/dist/hooks/session-notification.d.ts.map +1 -0
- package/dist/hooks/subagent-question-blocker.d.ts +11 -0
- package/dist/hooks/subagent-question-blocker.d.ts.map +1 -0
- package/dist/hooks/swarm-enforcer.d.ts +31 -0
- package/dist/hooks/swarm-enforcer.d.ts.map +1 -0
- package/dist/hooks/todo-enforcer.d.ts +19 -0
- package/dist/hooks/todo-enforcer.d.ts.map +1 -0
- package/dist/hooks/truncator.d.ts +28 -0
- package/dist/hooks/truncator.d.ts.map +1 -0
- package/dist/hooks/typecheck-gate.d.ts +31 -0
- package/dist/hooks/typecheck-gate.d.ts.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5785 -0
- package/dist/skills/index.d.ts +9 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/tools/beads-memory-sync.d.ts +17 -0
- package/dist/tools/beads-memory-sync.d.ts.map +1 -0
- package/dist/tools/context-summary.d.ts +21 -0
- package/dist/tools/context-summary.d.ts.map +1 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/memory.d.ts +56 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/observation.d.ts +28 -0
- package/dist/tools/observation.d.ts.map +1 -0
- package/dist/tools/quick-research.d.ts +16 -0
- package/dist/tools/quick-research.d.ts.map +1 -0
- package/dist/tools/swarm.d.ts +57 -0
- package/dist/tools/swarm.d.ts.map +1 -0
- package/dist/types.d.ts +32 -0
- package/dist/types.d.ts.map +1 -0
- package/memory/_templates/handoff.md +114 -0
- package/memory/_templates/plan.md +135 -0
- package/memory/_templates/prd.md +147 -0
- package/memory/_templates/research.md +108 -0
- package/memory/_templates/review.md +117 -0
- package/memory/_templates/spec.md +116 -0
- package/memory/beads/.gitkeep +0 -0
- package/memory/handoffs/.gitkeep +0 -0
- package/memory/plans/.gitkeep +0 -0
- package/memory/prds/.gitkeep +0 -0
- package/memory/research/.gitkeep +0 -0
- package/memory/reviews/.gitkeep +0 -0
- package/memory/specs/.gitkeep +0 -0
- package/package.json +64 -0
- package/skill/accessibility-audit/SKILL.md +115 -0
- package/skill/beads/SKILL.md +56 -0
- package/skill/beads-bridge/SKILL.md +45 -0
- package/skill/brainstorming/SKILL.md +41 -0
- package/skill/chrome-devtools/SKILL.md +36 -0
- package/skill/cloudflare/SKILL.md +96 -0
- package/skill/condition-based-waiting/SKILL.md +92 -0
- package/skill/deep-research/SKILL.md +130 -0
- package/skill/defense-in-depth/SKILL.md +89 -0
- package/skill/design-system-audit/SKILL.md +136 -0
- package/skill/development-lifecycle/SKILL.md +58 -0
- package/skill/dispatching-parallel-agents/SKILL.md +94 -0
- package/skill/executing-plans/SKILL.md +54 -0
- package/skill/figma/SKILL.md +34 -0
- package/skill/finishing-a-development-branch/SKILL.md +127 -0
- package/skill/frontend-aesthetics/SKILL.md +63 -0
- package/skill/gemini-large-context/SKILL.md +80 -0
- package/skill/mockup-to-code/SKILL.md +98 -0
- package/skill/mqdh/SKILL.md +54 -0
- package/skill/notebooklm/SKILL.md +71 -0
- package/skill/playwright/SKILL.md +37 -0
- package/skill/playwriter/SKILL.md +56 -0
- package/skill/polar/SKILL.md +39 -0
- package/skill/receiving-code-review/SKILL.md +47 -0
- package/skill/requesting-code-review/SKILL.md +47 -0
- package/skill/resend/SKILL.md +85 -0
- package/skill/ritual-workflow/SKILL.md +101 -0
- package/skill/root-cause-tracing/SKILL.md +73 -0
- package/skill/session-management/SKILL.md +53 -0
- package/skill/sharing-skills/SKILL.md +50 -0
- package/skill/source-code-research/SKILL.md +138 -0
- package/skill/subagent-driven-development/SKILL.md +69 -0
- package/skill/supabase/SKILL.md +80 -0
- package/skill/supabase-postgres-best-practices/SKILL.md +168 -0
- package/skill/swarm-coordination/SKILL.md +54 -0
- package/skill/systematic-debugging/SKILL.md +58 -0
- package/skill/test-driven-development/SKILL.md +53 -0
- package/skill/testing-anti-patterns/SKILL.md +100 -0
- package/skill/testing-skills-with-subagents/SKILL.md +102 -0
- package/skill/ui-ux-research/SKILL.md +93 -0
- package/skill/using-git-worktrees/SKILL.md +129 -0
- package/skill/v0/SKILL.md +67 -0
- package/skill/v1-run/SKILL.md +85 -0
- package/skill/vercel-react-best-practices/SKILL.md +174 -0
- package/skill/verification-before-completion/SKILL.md +55 -0
- package/skill/visual-analysis/SKILL.md +113 -0
- package/skill/writing-plans/SKILL.md +55 -0
- package/skill/writing-skills/SKILL.md +68 -0
- package/src/agents/AGENTS.md +46 -0
- package/src/agents/build.md +170 -0
- package/src/agents/explore.md +113 -0
- package/src/agents/general.md +92 -0
- package/src/agents/index.ts +64 -0
- package/src/agents/librarian.md +116 -0
- package/src/agents/looker.md +107 -0
- package/src/agents/oracle.md +138 -0
- package/src/agents/plan.md +78 -0
- package/src/agents/review.md +98 -0
- package/src/agents/scout.md +84 -0
- package/src/agents/vision.md +159 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: testing-anti-patterns
|
|
3
|
+
description: Prevents testing mock behavior instead of real code, test-only methods in production classes, mocking without understanding dependencies.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Testing Anti-Patterns Skill
|
|
7
|
+
|
|
8
|
+
You are running the **testing-anti-patterns** skill. Tests should verify real behavior, not mock theater.
|
|
9
|
+
|
|
10
|
+
## Anti-Pattern #1: Testing Mocks
|
|
11
|
+
|
|
12
|
+
```javascript
|
|
13
|
+
// BAD: Test verifies mock was called
|
|
14
|
+
const mock = jest.fn();
|
|
15
|
+
service.doThing(mock);
|
|
16
|
+
expect(mock).toHaveBeenCalled();
|
|
17
|
+
|
|
18
|
+
// This tests nothing about service.doThing
|
|
19
|
+
// It only proves you called the mock
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
```javascript
|
|
23
|
+
// GOOD: Test verifies actual behavior
|
|
24
|
+
const result = service.doThing(realDependency);
|
|
25
|
+
expect(result.status).toBe('success');
|
|
26
|
+
expect(sideEffectHappened).toBe(true);
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Anti-Pattern #2: Test-Only Methods
|
|
30
|
+
|
|
31
|
+
```javascript
|
|
32
|
+
// BAD: Method exists only for testing
|
|
33
|
+
class UserService {
|
|
34
|
+
private validateEmail(email) { ... } // private
|
|
35
|
+
_validateEmailForTesting(email) { ... } // NEVER DO THIS
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// This couples tests to implementation
|
|
39
|
+
// Refactoring becomes impossible
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
```javascript
|
|
43
|
+
// GOOD: Test through public API
|
|
44
|
+
// If you need to test validation, test it through the method that uses it
|
|
45
|
+
const result = userService.register(email);
|
|
46
|
+
expect(result.isValid).toBe(true);
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Anti-Pattern #3: Mocking Without Understanding
|
|
50
|
+
|
|
51
|
+
```javascript
|
|
52
|
+
// BAD: Over-mocking without knowing why
|
|
53
|
+
jest.mock('./database');
|
|
54
|
+
jest.mock('./logger');
|
|
55
|
+
jest.mock('./config');
|
|
56
|
+
jest.mock('./everything');
|
|
57
|
+
|
|
58
|
+
// Test now verifies nothing about integration
|
|
59
|
+
// Any refactoring breaks tests
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
```javascript
|
|
63
|
+
// GOOD: Mock only external boundaries
|
|
64
|
+
// Keep real implementations for:
|
|
65
|
+
// - Domain logic
|
|
66
|
+
// - Internal utilities
|
|
67
|
+
// - Business rules
|
|
68
|
+
|
|
69
|
+
// Mock only:
|
|
70
|
+
// - Network calls
|
|
71
|
+
// - File system
|
|
72
|
+
// - External services
|
|
73
|
+
// - Time/date
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Decision Matrix
|
|
77
|
+
|
|
78
|
+
| Mock It? | Yes If... | No If... |
|
|
79
|
+
|----------|-----------|----------|
|
|
80
|
+
| Database | Unit test | Integration test |
|
|
81
|
+
| Logger | Never | Always use real |
|
|
82
|
+
| Config | External file | In-memory defaults |
|
|
83
|
+
| HTTP client | External API | Your own server |
|
|
84
|
+
| Time | Tests time-sensitive logic | Tests pure functions |
|
|
85
|
+
|
|
86
|
+
## Rules
|
|
87
|
+
|
|
88
|
+
1. **Test behavior, not implementation** - What does it do, not how
|
|
89
|
+
2. **No test-only code in production** - If it's not used, delete it
|
|
90
|
+
3. **Mock at boundaries** - External dependencies only
|
|
91
|
+
4. **One assertion per test** - Or at least one concept
|
|
92
|
+
5. **Test names describe behavior** - `shouldRejectInvalidEmail` not `testEmail`
|
|
93
|
+
|
|
94
|
+
## Red Flags
|
|
95
|
+
|
|
96
|
+
- Test file has more mock setup than assertions
|
|
97
|
+
- Private methods exposed for testing
|
|
98
|
+
- Tests break on harmless refactors
|
|
99
|
+
- `toHaveBeenCalled` without verifying the result
|
|
100
|
+
- Mocking modules you own
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: testing-skills-with-subagents
|
|
3
|
+
description: TDD applied to process documentation. RED (baseline without skill) → GREEN (write skill) → REFACTOR (close loopholes).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Testing Skills with Subagents Skill
|
|
7
|
+
|
|
8
|
+
You are running the **testing-skills-with-subagents** skill. Skills are code. Test them like code.
|
|
9
|
+
|
|
10
|
+
## The Problem
|
|
11
|
+
|
|
12
|
+
Skills are process documentation that guide agent behavior. Untested skills:
|
|
13
|
+
- Have loopholes agents can exploit
|
|
14
|
+
- Miss edge cases
|
|
15
|
+
- Drift from original intent over edits
|
|
16
|
+
|
|
17
|
+
## The Solution: TDD for Skills
|
|
18
|
+
|
|
19
|
+
Apply RED-GREEN-REFACTOR to skill creation and validation.
|
|
20
|
+
|
|
21
|
+
### Phase 1: RED — Establish Baseline
|
|
22
|
+
|
|
23
|
+
Before writing the skill:
|
|
24
|
+
|
|
25
|
+
1. **Define the desired behavior** — What should the agent do differently?
|
|
26
|
+
2. **Run a subagent WITHOUT the skill** — Document what it does wrong
|
|
27
|
+
3. **Capture the failure mode** — This is your "failing test"
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
Example for TDD skill:
|
|
31
|
+
- Desired: Agent writes tests before code
|
|
32
|
+
- Baseline run: Agent writes code first, then adds tests
|
|
33
|
+
- Failure: "I'll implement the function, then write tests"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Phase 2: GREEN — Write the Skill
|
|
37
|
+
|
|
38
|
+
1. **Write the skill** — Target the specific failure mode
|
|
39
|
+
2. **Run a subagent WITH the skill** — It should now behave correctly
|
|
40
|
+
3. **Verify the fix** — Did it change behavior as intended?
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
Skill added: "No code without tests. Delete any code written before test."
|
|
44
|
+
- With skill: Agent refuses to write code, asks for test first
|
|
45
|
+
- Success: Behavior changed in expected direction
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Phase 3: REFACTOR — Close Loopholes
|
|
49
|
+
|
|
50
|
+
1. **Try to bypass the skill** — Look for edge cases and exploits
|
|
51
|
+
2. **Add constraints** — Tighten rules to prevent bypasses
|
|
52
|
+
3. **Re-run with edge cases** — Verify loopholes are closed
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
Loophole: "What if I keep the code as 'reference' while writing test?"
|
|
56
|
+
Fix: Add rule: "Write code before test? DELETE the code. Don't keep as reference."
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Workflow
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
1. Define → What behavior change do you want?
|
|
63
|
+
2. RED → Run subagent without skill, capture failure
|
|
64
|
+
3. GREEN → Write skill, run subagent with skill, verify fix
|
|
65
|
+
4. REFACTOR → Find loopholes, close them, verify
|
|
66
|
+
5. Document → Record test cases in skill or memory
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Test Cases for Skills
|
|
70
|
+
|
|
71
|
+
Store validated test cases in `.opencode/memory/skill-tests/`:
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
# tdd-skill-tests.md
|
|
75
|
+
|
|
76
|
+
## Test 1: Code Before Test
|
|
77
|
+
- Input: "Implement a user service"
|
|
78
|
+
- Without skill: Writes UserService, then asks about tests
|
|
79
|
+
- With skill: Refuses, asks for test first
|
|
80
|
+
- Status: PASS
|
|
81
|
+
|
|
82
|
+
## Test 2: Reference Code Loophole
|
|
83
|
+
- Input: "Here's reference code for UserService, write tests"
|
|
84
|
+
- Without explicit rule: Keeps reference, writes tests to match
|
|
85
|
+
- With rule: Deletes reference, writes test from spec
|
|
86
|
+
- Status: PASS
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Rules
|
|
90
|
+
|
|
91
|
+
1. **Never trust a skill you haven't tested** — Run it against a subagent
|
|
92
|
+
2. **Baseline first** — You can't know the skill works without comparison
|
|
93
|
+
3. **Hunt for loopholes** — Actively try to break your own rules
|
|
94
|
+
4. **Document test cases** — Future editors need to know what was validated
|
|
95
|
+
|
|
96
|
+
## Red Flags
|
|
97
|
+
|
|
98
|
+
- Skill added without testing against baseline
|
|
99
|
+
- Rules with obvious exceptions
|
|
100
|
+
- Vague language that agents can interpret loosely
|
|
101
|
+
- No documented test cases
|
|
102
|
+
- Skill that "feels right" but has no evidence
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ui-ux-research
|
|
3
|
+
description: Use when analyzing UI mockups, conducting UX audits, or researching design patterns with multimodal analysis.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# UI/UX Research Skill
|
|
7
|
+
|
|
8
|
+
You are running the **ui-ux-research** skill. Multimodal design analysis with Gemini.
|
|
9
|
+
|
|
10
|
+
## Capabilities
|
|
11
|
+
|
|
12
|
+
| Analysis Type | Input | Output |
|
|
13
|
+
|---------------|-------|--------|
|
|
14
|
+
| Mockup Review | Screenshot/Image | Component breakdown, issues |
|
|
15
|
+
| Design System Audit | Multiple screenshots | Consistency report |
|
|
16
|
+
| Accessibility Check | UI screenshot | WCAG violations |
|
|
17
|
+
| Competitive Analysis | Multiple designs | Comparison matrix |
|
|
18
|
+
| User Flow Mapping | Screenshots | Flow diagram |
|
|
19
|
+
|
|
20
|
+
## Process
|
|
21
|
+
|
|
22
|
+
### 1. Prepare Visual Input
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Single screenshot
|
|
26
|
+
gemini -p "Analyze this UI for usability issues: $(cat screenshot.png)"
|
|
27
|
+
|
|
28
|
+
# Multiple screens
|
|
29
|
+
gemini -p "Review this user flow: $(cat screen1.png screen2.png screen3.png)"
|
|
30
|
+
|
|
31
|
+
# With context
|
|
32
|
+
gemini -p "Audit this dashboard for a financial app: $(cat dashboard.png)"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 2. Analysis Dimensions
|
|
36
|
+
|
|
37
|
+
**Visual Hierarchy**
|
|
38
|
+
- Eye flow direction
|
|
39
|
+
- F-pattern or Z-pattern compliance
|
|
40
|
+
- Contrast and emphasis
|
|
41
|
+
- Whitespace usage
|
|
42
|
+
|
|
43
|
+
**Interaction Patterns**
|
|
44
|
+
- Button placement and affordance
|
|
45
|
+
- Form field grouping
|
|
46
|
+
- Navigation clarity
|
|
47
|
+
- Feedback mechanisms
|
|
48
|
+
|
|
49
|
+
**Accessibility**
|
|
50
|
+
- Color contrast ratios
|
|
51
|
+
- Touch target sizes
|
|
52
|
+
- Screen reader compatibility
|
|
53
|
+
- Keyboard navigation
|
|
54
|
+
|
|
55
|
+
**Responsive Behavior**
|
|
56
|
+
- Breakpoint handling
|
|
57
|
+
- Content reflow
|
|
58
|
+
- Touch vs mouse patterns
|
|
59
|
+
- Portrait/landscape considerations
|
|
60
|
+
|
|
61
|
+
### 3. Output Structure
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
## Summary
|
|
65
|
+
[2-3 sentence overall assessment]
|
|
66
|
+
|
|
67
|
+
## Strengths
|
|
68
|
+
- [What works well]
|
|
69
|
+
|
|
70
|
+
## Issues
|
|
71
|
+
| Priority | Issue | Location | Fix |
|
|
72
|
+
|----------|-------|----------|-----|
|
|
73
|
+
| High | [issue] | [where] | [how] |
|
|
74
|
+
|
|
75
|
+
## Recommendations
|
|
76
|
+
[Specific, actionable suggestions]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Checklist
|
|
80
|
+
|
|
81
|
+
- [ ] Image quality is sufficient for analysis
|
|
82
|
+
- [ ] Context provided (user type, device, goal)
|
|
83
|
+
- [ ] Multiple angles if analyzing flow
|
|
84
|
+
- [ ] Accessibility explicitly checked
|
|
85
|
+
- [ ] Findings saved to `.opencode/memory/research/`
|
|
86
|
+
|
|
87
|
+
## Red Flags
|
|
88
|
+
|
|
89
|
+
- Analyzing without user context
|
|
90
|
+
- Ignoring device constraints
|
|
91
|
+
- Missing accessibility review
|
|
92
|
+
- Not considering edge cases
|
|
93
|
+
- Vague recommendations ("improve UX")
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-git-worktrees
|
|
3
|
+
description: Use when starting isolated development work. Creates isolated workspace on new branch with smart directory selection.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Using Git Worktrees Skill
|
|
7
|
+
|
|
8
|
+
You are running the **using-git-worktrees** skill. Isolated workspaces for parallel development.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- Starting new feature branch
|
|
13
|
+
- Parallel development work
|
|
14
|
+
- Isolated experimentation
|
|
15
|
+
- Hotfix development
|
|
16
|
+
|
|
17
|
+
## Directory Selection Priority
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
1. .worktrees/ (preferred hidden directory)
|
|
21
|
+
2. worktrees/ (visible alternative)
|
|
22
|
+
3. Check CLAUDE.md (project preference)
|
|
23
|
+
4. Ask user (if unclear)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Workflow
|
|
27
|
+
|
|
28
|
+
### 1. Verify Pre-conditions
|
|
29
|
+
```bash
|
|
30
|
+
# Check we're in a git repo
|
|
31
|
+
git rev-parse --is-inside-work-tree
|
|
32
|
+
|
|
33
|
+
# Check for uncommitted changes
|
|
34
|
+
git status --porcelain
|
|
35
|
+
|
|
36
|
+
# Check .gitignore exists
|
|
37
|
+
test -f .gitignore && echo "exists"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 2. Create Worktree
|
|
41
|
+
```bash
|
|
42
|
+
# Choose directory
|
|
43
|
+
WORKTREE_DIR=".worktrees"
|
|
44
|
+
|
|
45
|
+
# Create branch and worktree
|
|
46
|
+
git worktree add -b <branch-name> ${WORKTREE_DIR}/<branch-name>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 3. Verify Setup
|
|
50
|
+
```bash
|
|
51
|
+
# Check worktree list
|
|
52
|
+
git worktree list
|
|
53
|
+
|
|
54
|
+
# Verify .gitignore in worktree
|
|
55
|
+
test -f ${WORKTREE_DIR}/<branch-name>/.gitignore
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 4. Run Setup
|
|
59
|
+
```bash
|
|
60
|
+
# Enter worktree
|
|
61
|
+
cd ${WORKTREE_DIR}/<branch-name>
|
|
62
|
+
|
|
63
|
+
# Install dependencies
|
|
64
|
+
npm install # or appropriate package manager
|
|
65
|
+
|
|
66
|
+
# Run baseline tests
|
|
67
|
+
npm test
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Directory Structure
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
project-root/
|
|
74
|
+
├── .git/
|
|
75
|
+
├── .worktrees/
|
|
76
|
+
│ ├── feature-a/
|
|
77
|
+
│ ├── feature-b/
|
|
78
|
+
│ └── hotfix-123/
|
|
79
|
+
├── src/
|
|
80
|
+
└── ...
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Branch Naming Convention
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
feature/[description] # New features
|
|
87
|
+
fix/[description] # Bug fixes
|
|
88
|
+
hotfix/[description] # Urgent fixes
|
|
89
|
+
refactor/[description] # Code improvements
|
|
90
|
+
experiment/[description] # Exploration
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Commands Reference
|
|
94
|
+
|
|
95
|
+
| Command | Purpose |
|
|
96
|
+
|---------|---------|
|
|
97
|
+
| `git worktree add -b branch path` | Create new worktree with branch |
|
|
98
|
+
| `git worktree list` | List all worktrees |
|
|
99
|
+
| `git worktree remove path` | Remove worktree |
|
|
100
|
+
| `git worktree prune` | Clean up stale entries |
|
|
101
|
+
|
|
102
|
+
## Safety Checks
|
|
103
|
+
|
|
104
|
+
- [ ] Git repository confirmed
|
|
105
|
+
- [ ] No uncommitted changes
|
|
106
|
+
- [ ] .gitignore present
|
|
107
|
+
- [ ] Baseline tests pass
|
|
108
|
+
- [ ] Branch name follows convention
|
|
109
|
+
|
|
110
|
+
## Anti-Patterns
|
|
111
|
+
|
|
112
|
+
- Creating worktree with dirty state
|
|
113
|
+
- Not verifying .gitignore
|
|
114
|
+
- Skipping baseline tests
|
|
115
|
+
- Using unclear branch names
|
|
116
|
+
|
|
117
|
+
## Cleanup
|
|
118
|
+
|
|
119
|
+
When done with worktree:
|
|
120
|
+
```bash
|
|
121
|
+
# Remove worktree
|
|
122
|
+
git worktree remove ${WORKTREE_DIR}/<branch-name>
|
|
123
|
+
|
|
124
|
+
# Delete branch (if merged)
|
|
125
|
+
git branch -d <branch-name>
|
|
126
|
+
|
|
127
|
+
# Prune stale references
|
|
128
|
+
git worktree prune
|
|
129
|
+
```
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: v0
|
|
3
|
+
description: Use when generating UI components, building dashboards, creating design systems, or need AI-assisted design implementation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# V0 Skill
|
|
7
|
+
|
|
8
|
+
AI-powered UI generation via Vercel's v0 platform MCP. Create React components, generate complete UIs, and get design assistance through natural language prompts.
|
|
9
|
+
|
|
10
|
+
## Capabilities
|
|
11
|
+
|
|
12
|
+
- **Component Generation**: Create React components from descriptions
|
|
13
|
+
- **Chat Interface**: Interactive design conversations
|
|
14
|
+
- **Design System Support**: Generate components matching existing design tokens
|
|
15
|
+
- **Dashboard Creation**: Build data visualizations and admin panels
|
|
16
|
+
- **Rapid Prototyping**: Quick iteration on UI concepts
|
|
17
|
+
- **Code Export**: Production-ready React/Next.js code
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
- Building new UI components from scratch
|
|
22
|
+
- Creating dashboards and admin interfaces
|
|
23
|
+
- Exploring design alternatives
|
|
24
|
+
- Converting mockups to code
|
|
25
|
+
- Generating responsive layouts
|
|
26
|
+
- Building form interfaces
|
|
27
|
+
|
|
28
|
+
## Key Tools
|
|
29
|
+
|
|
30
|
+
- `create_chat`: Start a new design conversation
|
|
31
|
+
- `generate_component`: Create component from description
|
|
32
|
+
- `iterate_design`: Refine existing designs
|
|
33
|
+
- `export_code`: Get production-ready code
|
|
34
|
+
|
|
35
|
+
## Example Usage
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
// Start design chat
|
|
39
|
+
create_chat({ prompt: "Create a user profile card with avatar, stats, and edit button" })
|
|
40
|
+
|
|
41
|
+
// Generate component
|
|
42
|
+
generate_component({
|
|
43
|
+
description: "Data table with sorting, filtering, and pagination",
|
|
44
|
+
framework: "react",
|
|
45
|
+
styling: "tailwind"
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
// Iterate on design
|
|
49
|
+
iterate_design({
|
|
50
|
+
chat_id: "abc123",
|
|
51
|
+
feedback: "Make the header sticky and add a search bar"
|
|
52
|
+
})
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Output Format
|
|
56
|
+
|
|
57
|
+
- React components with TypeScript
|
|
58
|
+
- Tailwind CSS styling by default
|
|
59
|
+
- Accessible by default (WCAG compliant)
|
|
60
|
+
- Mobile-responsive designs
|
|
61
|
+
|
|
62
|
+
## Notes
|
|
63
|
+
|
|
64
|
+
- Requires v0 API access
|
|
65
|
+
- Best for React/Next.js projects
|
|
66
|
+
- Integrates with shadcn/ui components
|
|
67
|
+
- Supports custom design tokens
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: v1-run
|
|
3
|
+
description: Use when selecting npm packages, checking for vulnerabilities, comparing package alternatives, or evaluating package health scores.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# V1-Run Skill
|
|
7
|
+
|
|
8
|
+
npm package intelligence via MCP providing real-time version data, vulnerability information, health scores, and package comparisons for informed dependency decisions.
|
|
9
|
+
|
|
10
|
+
## Capabilities
|
|
11
|
+
|
|
12
|
+
- **Version Info**: Real-time package versions and changelogs
|
|
13
|
+
- **Vulnerability Data**: Security advisories and CVE information
|
|
14
|
+
- **Health Scores**: Package maintenance and popularity metrics
|
|
15
|
+
- **Package Comparisons**: Side-by-side alternative analysis
|
|
16
|
+
- **Dependency Analysis**: Transitive dependency inspection
|
|
17
|
+
- **Download Stats**: npm download trends and patterns
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
- Selecting between npm package alternatives
|
|
22
|
+
- Checking packages for known vulnerabilities
|
|
23
|
+
- Evaluating package maintenance status
|
|
24
|
+
- Comparing bundle sizes and dependencies
|
|
25
|
+
- Researching package popularity and adoption
|
|
26
|
+
- Making informed dependency decisions
|
|
27
|
+
|
|
28
|
+
## Key Tools
|
|
29
|
+
|
|
30
|
+
- `get_package`: Get package details and metadata
|
|
31
|
+
- `check_vulnerabilities`: Security vulnerability scan
|
|
32
|
+
- `get_health_score`: Package health metrics
|
|
33
|
+
- `compare_packages`: Compare multiple packages
|
|
34
|
+
- `get_dependencies`: Analyze dependency tree
|
|
35
|
+
- `get_downloads`: Download statistics
|
|
36
|
+
|
|
37
|
+
## Example Usage
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
// Get package info
|
|
41
|
+
get_package({ name: "lodash" })
|
|
42
|
+
|
|
43
|
+
// Check vulnerabilities
|
|
44
|
+
check_vulnerabilities({ name: "express", version: "4.17.0" })
|
|
45
|
+
// Returns: { vulnerabilities: 2, severity: "medium", cves: [...] }
|
|
46
|
+
|
|
47
|
+
// Get health score
|
|
48
|
+
get_health_score({ name: "react" })
|
|
49
|
+
// Returns: { score: 95, maintenance: "active", popularity: "very-high" }
|
|
50
|
+
|
|
51
|
+
// Compare alternatives
|
|
52
|
+
compare_packages({
|
|
53
|
+
packages: ["axios", "ky", "got", "node-fetch"]
|
|
54
|
+
})
|
|
55
|
+
// Returns comparison table with scores, size, deps
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Health Score Components
|
|
59
|
+
|
|
60
|
+
- **Maintenance**: Commit frequency, release cadence
|
|
61
|
+
- **Popularity**: Downloads, stars, forks
|
|
62
|
+
- **Quality**: Test coverage, documentation
|
|
63
|
+
- **Security**: Vulnerability history, response time
|
|
64
|
+
- **Community**: Contributors, issue responsiveness
|
|
65
|
+
|
|
66
|
+
## Decision Support
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
Example comparison output:
|
|
70
|
+
┌─────────────┬───────┬────────┬────────┬────────┐
|
|
71
|
+
│ Package │ Score │ Vulns │ Size │ Deps │
|
|
72
|
+
├─────────────┼───────┼────────┼────────┼────────┤
|
|
73
|
+
│ axios │ 92 │ 0 │ 13KB │ 1 │
|
|
74
|
+
│ ky │ 88 │ 0 │ 4KB │ 0 │
|
|
75
|
+
│ got │ 85 │ 1(low) │ 68KB │ 12 │
|
|
76
|
+
│ node-fetch │ 78 │ 2(med) │ 24KB │ 0 │
|
|
77
|
+
└─────────────┴───────┴────────┴────────┴────────┘
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Notes
|
|
81
|
+
|
|
82
|
+
- Real-time data from npm registry
|
|
83
|
+
- Integrates Snyk/npm audit for vulnerabilities
|
|
84
|
+
- Supports scoped packages (@org/package)
|
|
85
|
+
- Includes ESM/CJS compatibility info
|