clikit-plugin 0.2.45 → 0.2.46
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 +69 -3
- package/README.md +128 -92
- package/command/commit.md +1 -1
- package/command/create.md +65 -8
- package/command/debug.md +1 -1
- package/command/design.md +183 -43
- package/command/handoff.md +1 -1
- package/command/import-plan.md +2 -2
- package/command/init.md +1 -1
- package/command/issue.md +3 -4
- package/command/pr.md +1 -1
- package/command/research.md +5 -7
- package/command/resume.md +1 -1
- package/command/ship.md +29 -32
- package/command/start.md +38 -27
- package/command/{status-beads.md → status.md} +2 -3
- package/command/verify.md +132 -48
- package/dist/.tsbuildinfo +1 -1
- package/dist/agents/index.d.ts +0 -0
- package/dist/agents/index.d.ts.map +0 -0
- package/dist/beads-context.test.d.ts +2 -0
- package/dist/beads-context.test.d.ts.map +1 -0
- package/dist/cli.d.ts +0 -0
- package/dist/cli.d.ts.map +0 -0
- package/dist/cli.js +5 -0
- package/dist/cli.test.d.ts +0 -0
- package/dist/cli.test.d.ts.map +0 -0
- package/dist/clikit.schema.json +32 -11
- package/dist/clilog.test.d.ts +0 -0
- package/dist/clilog.test.d.ts.map +0 -0
- package/dist/commands/index.d.ts +0 -0
- package/dist/commands/index.d.ts.map +0 -0
- package/dist/config.d.ts +15 -7
- package/dist/config.d.ts.map +1 -1
- package/dist/config.test.d.ts +0 -0
- package/dist/config.test.d.ts.map +0 -0
- package/dist/hooks/beads-context.d.ts +2 -0
- package/dist/hooks/beads-context.d.ts.map +1 -1
- package/dist/hooks/empty-message-sanitizer.d.ts +0 -0
- package/dist/hooks/empty-message-sanitizer.d.ts.map +0 -0
- package/dist/hooks/error-logger.d.ts +0 -0
- package/dist/hooks/error-logger.d.ts.map +0 -0
- package/dist/hooks/git-guard.d.ts +0 -0
- package/dist/hooks/git-guard.d.ts.map +0 -0
- package/dist/hooks/index.d.ts +0 -2
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/memory-digest.d.ts +1 -0
- package/dist/hooks/memory-digest.d.ts.map +1 -1
- package/dist/hooks/security-check.d.ts +0 -0
- package/dist/hooks/security-check.d.ts.map +0 -0
- package/dist/hooks/subagent-question-blocker.d.ts +0 -0
- package/dist/hooks/subagent-question-blocker.d.ts.map +0 -0
- package/dist/hooks/todo-beads-sync.d.ts +1 -0
- package/dist/hooks/todo-beads-sync.d.ts.map +1 -1
- package/dist/hooks/todo-enforcer.d.ts +1 -1
- package/dist/hooks/todo-enforcer.d.ts.map +1 -1
- package/dist/hooks/truncator.d.ts +0 -0
- package/dist/hooks/truncator.d.ts.map +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +250 -576
- package/dist/skills/index.d.ts +0 -0
- package/dist/skills/index.d.ts.map +0 -0
- package/dist/tools/cass-memory.d.ts +0 -0
- package/dist/tools/cass-memory.d.ts.map +0 -0
- package/dist/tools/context-summary.d.ts +0 -0
- package/dist/tools/context-summary.d.ts.map +0 -0
- package/dist/tools/index.d.ts +0 -3
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/memory-db.d.ts +0 -0
- package/dist/tools/memory-db.d.ts.map +0 -0
- package/dist/tools/memory.d.ts +0 -0
- package/dist/tools/memory.d.ts.map +0 -0
- package/dist/tools/observation.d.ts +0 -0
- package/dist/tools/observation.d.ts.map +0 -0
- package/dist/types.d.ts +0 -0
- package/dist/types.d.ts.map +0 -0
- package/memory/_digest.md +1 -1
- package/memory/_templates/handoff.md +0 -0
- package/memory/_templates/plan.md +35 -0
- package/memory/_templates/prd.md +0 -0
- package/memory/_templates/research.md +0 -0
- package/memory/_templates/review.md +0 -0
- package/memory/_templates/spec.md +12 -0
- package/memory/beads/.gitkeep +0 -0
- package/memory/handoffs/.gitkeep +0 -0
- package/memory/memory.db +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 +4 -4
- package/skill/beads/SKILL.md +42 -43
- package/skill/beads/mcp.json +26 -0
- package/skill/beads/references/api-reference.md +64 -0
- package/skill/chrome-devtools/SKILL.md +22 -23
- package/skill/chrome-devtools/mcp.json +17 -0
- package/skill/chrome-devtools/references/tool-reference.md +63 -0
- package/skill/condition-based-waiting/SKILL.md +28 -66
- package/skill/deep-research/SKILL.md +34 -103
- package/skill/deep-research/mcp.json +21 -0
- package/skill/deep-research/references/lsp-ops.md +44 -0
- package/skill/defense-in-depth/SKILL.md +29 -69
- package/skill/executing-plans/SKILL.md +25 -34
- package/skill/finishing-a-development-branch/SKILL.md +28 -89
- package/skill/playwright/SKILL.md +27 -22
- package/skill/playwright/mcp.json +20 -0
- package/skill/playwright/references/tool-reference.md +64 -0
- package/skill/receiving-code-review/SKILL.md +16 -27
- package/skill/requesting-code-review/SKILL.md +22 -26
- package/skill/ritual-workflow/SKILL.md +22 -82
- package/skill/root-cause-tracing/SKILL.md +30 -54
- package/skill/session-management/SKILL.md +21 -40
- package/skill/source-code-research/SKILL.md +33 -102
- package/skill/source-code-research/mcp.json +13 -0
- package/skill/source-code-research/references/quick-ref.md +65 -0
- package/skill/systematic-debugging/SKILL.md +28 -41
- package/skill/systematic-debugging/references/patterns.md +71 -0
- package/skill/test-driven-development/SKILL.md +16 -40
- package/skill/testing-anti-patterns/SKILL.md +36 -64
- package/skill/testing-anti-patterns/references/decision-matrix.md +55 -0
- package/skill/using-git-worktrees/SKILL.md +27 -103
- package/skill/vercel-react-best-practices/SKILL.md +50 -139
- package/skill/vercel-react-best-practices/references/patterns.md +70 -0
- package/skill/verification-before-completion/SKILL.md +19 -37
- package/skill/writing-plans/SKILL.md +20 -32
- package/skill/writing-skills/SKILL.md +52 -41
- package/skill/writing-skills/references/skill-anatomy.md +210 -0
- package/src/agents/AGENTS.md +48 -18
- package/src/agents/build.md +342 -93
- package/src/agents/explore.md +77 -60
- package/src/agents/index.ts +0 -0
- package/src/agents/oracle.md +153 -63
- package/src/agents/plan.md +275 -110
- package/src/agents/research.md +71 -53
- package/src/agents/review.md +182 -61
- package/src/agents/vision.md +7 -5
- package/command/plan.md +0 -152
- package/command/review-codebase.md +0 -228
- package/command/review.md +0 -135
- package/command/vision.md +0 -210
- package/dist/hooks/swarm-enforcer.d.ts +0 -31
- package/dist/hooks/swarm-enforcer.d.ts.map +0 -1
- package/dist/tools/beads-memory-sync.d.ts +0 -17
- package/dist/tools/beads-memory-sync.d.ts.map +0 -1
- package/dist/tools/quick-research.d.ts +0 -16
- package/dist/tools/quick-research.d.ts.map +0 -1
- package/dist/tools/swarm.d.ts +0 -57
- package/dist/tools/swarm.d.ts.map +0 -1
- package/skill/accessibility-audit/SKILL.md +0 -115
- package/skill/beads-bridge/SKILL.md +0 -45
- package/skill/brainstorming/SKILL.md +0 -41
- package/skill/cass-village/SKILL.md +0 -217
- package/skill/cloudflare/SKILL.md +0 -96
- package/skill/design-system-audit/SKILL.md +0 -136
- package/skill/development-lifecycle/SKILL.md +0 -58
- package/skill/dispatching-parallel-agents/SKILL.md +0 -94
- package/skill/figma/SKILL.md +0 -34
- package/skill/frontend-aesthetics/SKILL.md +0 -63
- package/skill/gemini-large-context/SKILL.md +0 -80
- package/skill/mockup-to-code/SKILL.md +0 -98
- package/skill/mqdh/SKILL.md +0 -54
- package/skill/notebooklm/SKILL.md +0 -71
- package/skill/playwriter/SKILL.md +0 -56
- package/skill/polar/SKILL.md +0 -39
- package/skill/resend/SKILL.md +0 -85
- package/skill/sharing-skills/SKILL.md +0 -50
- package/skill/subagent-driven-development/SKILL.md +0 -69
- package/skill/supabase/SKILL.md +0 -80
- package/skill/supabase-postgres-best-practices/SKILL.md +0 -168
- package/skill/swarm-coordination/SKILL.md +0 -54
- package/skill/testing-skills-with-subagents/SKILL.md +0 -102
- package/skill/ui-ux-research/SKILL.md +0 -93
- package/skill/v0/SKILL.md +0 -67
- package/skill/v1-run/SKILL.md +0 -85
- package/skill/visual-analysis/SKILL.md +0 -113
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: supabase-postgres-best-practices
|
|
3
|
-
description: Use when writing, reviewing, or optimizing Postgres queries, schema designs, or database configurations from Supabase.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Supabase Postgres Best Practices Skill
|
|
7
|
-
|
|
8
|
-
You are running the **supabase-postgres-best-practices** skill. Postgres optimization from Supabase.
|
|
9
|
-
|
|
10
|
-
## Core Principles
|
|
11
|
-
|
|
12
|
-
Production-hardened patterns from Supabase's managed Postgres experience.
|
|
13
|
-
|
|
14
|
-
## Query Optimization
|
|
15
|
-
|
|
16
|
-
### 1. Index Strategy
|
|
17
|
-
```sql
|
|
18
|
-
-- Index for common query patterns
|
|
19
|
-
CREATE INDEX idx_users_email ON users(email);
|
|
20
|
-
CREATE INDEX idx_posts_user_created ON posts(user_id, created_at DESC);
|
|
21
|
-
|
|
22
|
-
-- Partial index for filtered queries
|
|
23
|
-
CREATE INDEX idx_active_users ON users(email) WHERE active = true;
|
|
24
|
-
|
|
25
|
-
-- GIN for JSONB and arrays
|
|
26
|
-
CREATE INDEX idx_metadata ON items USING GIN(metadata);
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### 2. Query Patterns
|
|
30
|
-
```sql
|
|
31
|
-
-- Good: Sargable query
|
|
32
|
-
SELECT * FROM users WHERE email = 'user@example.com';
|
|
33
|
-
|
|
34
|
-
-- Avoid: Function on column prevents index usage
|
|
35
|
-
SELECT * FROM users WHERE LOWER(email) = 'user@example.com';
|
|
36
|
-
|
|
37
|
-
-- Fix: Use functional index or normalize data
|
|
38
|
-
CREATE INDEX idx_users_email_lower ON users(LOWER(email));
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### 3. EXPLAIN ANALYZE
|
|
42
|
-
```sql
|
|
43
|
-
-- Always analyze slow queries
|
|
44
|
-
EXPLAIN ANALYZE SELECT * FROM posts WHERE user_id = 123;
|
|
45
|
-
|
|
46
|
-
-- Look for:
|
|
47
|
-
-- - Seq Scan (should be Index Scan)
|
|
48
|
-
-- - High cost values
|
|
49
|
-
-- - Large row estimates vs actual
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Schema Design
|
|
53
|
-
|
|
54
|
-
### 1. Appropriate Types
|
|
55
|
-
```sql
|
|
56
|
-
-- Use appropriate types
|
|
57
|
-
CREATE TABLE events (
|
|
58
|
-
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
59
|
-
created_at TIMESTAMPTZ DEFAULT NOW(), -- Not TIMESTAMP
|
|
60
|
-
status TEXT, -- Not VARCHAR(n)
|
|
61
|
-
metadata JSONB DEFAULT '{}' -- Not JSON
|
|
62
|
-
);
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### 2. Foreign Keys
|
|
66
|
-
```sql
|
|
67
|
-
-- Always index foreign keys
|
|
68
|
-
CREATE TABLE posts (
|
|
69
|
-
id UUID PRIMARY KEY,
|
|
70
|
-
user_id UUID REFERENCES users(id)
|
|
71
|
-
);
|
|
72
|
-
CREATE INDEX idx_posts_user_id ON posts(user_id);
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### 3. Partitioning
|
|
76
|
-
```sql
|
|
77
|
-
-- Partition large tables by time
|
|
78
|
-
CREATE TABLE events (
|
|
79
|
-
id UUID,
|
|
80
|
-
created_at TIMESTAMPTZ
|
|
81
|
-
) PARTITION BY RANGE (created_at);
|
|
82
|
-
|
|
83
|
-
CREATE TABLE events_2024_01 PARTITION OF events
|
|
84
|
-
FOR VALUES FROM ('2024-01-01') TO ('2024-02-01');
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## Connection Management
|
|
88
|
-
|
|
89
|
-
### 1. Connection Pooling
|
|
90
|
-
```javascript
|
|
91
|
-
// Use Supavisor or PgBouncer
|
|
92
|
-
// Transaction mode for serverless
|
|
93
|
-
const pool = new Pool({
|
|
94
|
-
connectionString: process.env.DATABASE_URL,
|
|
95
|
-
max: 10, // Limit connections
|
|
96
|
-
idleTimeoutMillis: 30000,
|
|
97
|
-
connectionTimeoutMillis: 2000
|
|
98
|
-
});
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### 2. Prepared Statements
|
|
102
|
-
```sql
|
|
103
|
-
-- Use prepared statements for repeated queries
|
|
104
|
-
PREPARE get_user(UUID) AS
|
|
105
|
-
SELECT * FROM users WHERE id = $1;
|
|
106
|
-
|
|
107
|
-
EXECUTE get_user('uuid-here');
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## Performance Checklist
|
|
111
|
-
|
|
112
|
-
| Check | Why |
|
|
113
|
-
|-------|-----|
|
|
114
|
-
| Index foreign keys | Join performance |
|
|
115
|
-
| Use TIMESTAMPTZ | Timezone handling |
|
|
116
|
-
| Use JSONB not JSON | Binary format, indexing |
|
|
117
|
-
| Analyze slow queries | EXPLAIN ANALYZE |
|
|
118
|
-
| Limit connections | Prevent exhaustion |
|
|
119
|
-
|
|
120
|
-
## Common Anti-Patterns
|
|
121
|
-
|
|
122
|
-
| Anti-Pattern | Fix |
|
|
123
|
-
|--------------|-----|
|
|
124
|
-
| SELECT * | Select only needed columns |
|
|
125
|
-
| N+1 queries | Use JOINs or batch fetch |
|
|
126
|
-
| Missing indexes | Add appropriate indexes |
|
|
127
|
-
| VARCHAR(n) | Use TEXT with CHECK constraint |
|
|
128
|
-
| TIMESTAMP | Use TIMESTAMPTZ |
|
|
129
|
-
| Unindexed JSON queries | Use GIN index |
|
|
130
|
-
|
|
131
|
-
## RLS (Row Level Security)
|
|
132
|
-
|
|
133
|
-
```sql
|
|
134
|
-
-- Enable RLS
|
|
135
|
-
ALTER TABLE posts ENABLE ROW LEVEL SECURITY;
|
|
136
|
-
|
|
137
|
-
-- Policy for user's own posts
|
|
138
|
-
CREATE POLICY "Users can manage own posts"
|
|
139
|
-
ON posts FOR ALL
|
|
140
|
-
USING (auth.uid() = user_id)
|
|
141
|
-
WITH CHECK (auth.uid() = user_id);
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
## Monitoring Queries
|
|
145
|
-
|
|
146
|
-
```sql
|
|
147
|
-
-- Find slow queries
|
|
148
|
-
SELECT query, mean_exec_time, calls
|
|
149
|
-
FROM pg_stat_statements
|
|
150
|
-
ORDER BY mean_exec_time DESC
|
|
151
|
-
LIMIT 10;
|
|
152
|
-
|
|
153
|
-
-- Check table bloat
|
|
154
|
-
SELECT schemaname, tablename,
|
|
155
|
-
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) as size
|
|
156
|
-
FROM pg_tables
|
|
157
|
-
ORDER BY pg_total_relation_size(schemaname||'.'||tablename) DESC;
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
## Quick Reference
|
|
161
|
-
|
|
162
|
-
| Scenario | Solution |
|
|
163
|
-
|----------|----------|
|
|
164
|
-
| Slow reads | Add index, check EXPLAIN |
|
|
165
|
-
| Slow writes | Reduce indexes, batch inserts |
|
|
166
|
-
| Connection limits | Use pooling |
|
|
167
|
-
| Large tables | Partition by time |
|
|
168
|
-
| JSON queries | GIN index on JSONB |
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: swarm-coordination
|
|
3
|
-
description: Use for implementing plans with multiple independent tasks in parallel using Kimi K2.5 PARL patterns.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Swarm Coordination Skill
|
|
7
|
-
|
|
8
|
-
You are running the **swarm-coordination** skill. Parallel multi-task execution.
|
|
9
|
-
|
|
10
|
-
## PARL Pattern (Parallel Agent Runtime Loop)
|
|
11
|
-
|
|
12
|
-
Kimi K2.5 patterns for coordinating multiple agents:
|
|
13
|
-
|
|
14
|
-
| Phase | Action |
|
|
15
|
-
|-------|--------|
|
|
16
|
-
| Plan | Decompose into independent tasks |
|
|
17
|
-
| Assign | Route tasks to available agents |
|
|
18
|
-
| Run | Execute tasks in parallel |
|
|
19
|
-
| Learn | Aggregate results, iterate |
|
|
20
|
-
|
|
21
|
-
## Task Classification
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
Independent → Parallel execution
|
|
25
|
-
Dependent → Sequential with dependency tracking
|
|
26
|
-
Blocked → Wait for blocker completion
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Anti-Serial-Collapse Detection
|
|
30
|
-
|
|
31
|
-
Warning signs of serial execution:
|
|
32
|
-
- All tasks waiting on one agent
|
|
33
|
-
- Sequential claims despite no dependencies
|
|
34
|
-
- Long queue with no parallelism
|
|
35
|
-
|
|
36
|
-
Mitigations:
|
|
37
|
-
- Rebalance task assignments
|
|
38
|
-
- Split blocking tasks
|
|
39
|
-
- Add more agents to bottleneck role
|
|
40
|
-
|
|
41
|
-
## Graceful Shutdown
|
|
42
|
-
|
|
43
|
-
1. Complete in-progress tasks
|
|
44
|
-
2. Checkpoint state to Beads
|
|
45
|
-
3. Release all file reservations
|
|
46
|
-
4. Sync to git
|
|
47
|
-
5. Broadcast session end
|
|
48
|
-
|
|
49
|
-
## Best Practices
|
|
50
|
-
|
|
51
|
-
- Claim only ready (unblocked) tasks
|
|
52
|
-
- Reserve files early, release promptly
|
|
53
|
-
- Use `beads-village_broadcast` for coordination
|
|
54
|
-
- Check `beads-village_discover` for active agents
|
|
@@ -1,102 +0,0 @@
|
|
|
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
|
|
@@ -1,93 +0,0 @@
|
|
|
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")
|
package/skill/v0/SKILL.md
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
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
|
package/skill/v1-run/SKILL.md
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
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
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: visual-analysis
|
|
3
|
-
description: Use when analyzing images, screenshots, or UI mockups to extract colors, typography, layout, and design patterns.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Visual Analysis Skill
|
|
7
|
-
|
|
8
|
-
You are running the **visual-analysis** skill. See everything. Extract what matters.
|
|
9
|
-
|
|
10
|
-
## Analysis Types
|
|
11
|
-
|
|
12
|
-
| Type | Purpose | Output |
|
|
13
|
-
|------|---------|--------|
|
|
14
|
-
| Color Extraction | Get palette from design | Hex codes with roles |
|
|
15
|
-
| Typography Audit | Font identification | Font stack suggestions |
|
|
16
|
-
| Layout Analysis | Grid and spacing | Spacing system |
|
|
17
|
-
| Component Mapping | UI inventory | Component list |
|
|
18
|
-
| Design Comparison | Compare multiple designs | Diff report |
|
|
19
|
-
|
|
20
|
-
## Process
|
|
21
|
-
|
|
22
|
-
### 1. Color Extraction
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
gemini -p "Extract all colors from this design with their approximate usage percentage: $(cat design.png)"
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Output format:
|
|
29
|
-
```
|
|
30
|
-
Primary: #2563EB (45%)
|
|
31
|
-
Secondary: #1E40AF (20%)
|
|
32
|
-
Accent: #F59E0B (10%)
|
|
33
|
-
Background: #FFFFFF (15%)
|
|
34
|
-
Text: #1F2937 (10%)
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### 2. Typography Analysis
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
gemini -p "Identify fonts and type scale in this design: $(cat design.png)"
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Extract:
|
|
44
|
-
- Font family (heading, body, mono)
|
|
45
|
-
- Size scale (heading levels, body sizes)
|
|
46
|
-
- Weight variations
|
|
47
|
-
- Line height patterns
|
|
48
|
-
|
|
49
|
-
### 3. Layout Analysis
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
gemini -p "Analyze the grid system and spacing in this layout: $(cat layout.png)"
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
Identify:
|
|
56
|
-
- Column count
|
|
57
|
-
- Gutter width
|
|
58
|
-
- Margin/padding patterns
|
|
59
|
-
- Component spacing rhythm
|
|
60
|
-
|
|
61
|
-
### 4. Design Comparison
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
gemini -p "Compare these two designs and list all differences: $(cat design1.png design2.png)"
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Report:
|
|
68
|
-
- Structural differences
|
|
69
|
-
- Color differences
|
|
70
|
-
- Typography differences
|
|
71
|
-
- Spacing differences
|
|
72
|
-
- Missing/added elements
|
|
73
|
-
|
|
74
|
-
## Checklist
|
|
75
|
-
|
|
76
|
-
- [ ] Image quality verified
|
|
77
|
-
- [ ] All colors extracted with context
|
|
78
|
-
- [ ] Typography identified or approximated
|
|
79
|
-
- [ ] Spacing system documented
|
|
80
|
-
- [ ] Components inventoried
|
|
81
|
-
- [ ] Analysis saved to `.opencode/memory/research/`
|
|
82
|
-
|
|
83
|
-
## Output Template
|
|
84
|
-
|
|
85
|
-
```markdown
|
|
86
|
-
## Visual Analysis: [Design Name]
|
|
87
|
-
|
|
88
|
-
### Colors
|
|
89
|
-
| Role | Hex | Usage |
|
|
90
|
-
|------|-----|-------|
|
|
91
|
-
| Primary | #... | buttons, links |
|
|
92
|
-
|
|
93
|
-
### Typography
|
|
94
|
-
| Element | Font | Size | Weight |
|
|
95
|
-
|---------|------|------|--------|
|
|
96
|
-
| H1 | [font] | [size] | [weight] |
|
|
97
|
-
|
|
98
|
-
### Layout
|
|
99
|
-
- Columns: [N]
|
|
100
|
-
- Gutter: [X]px
|
|
101
|
-
- Base spacing: [X]px
|
|
102
|
-
|
|
103
|
-
### Components
|
|
104
|
-
- [Component list]
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
## Red Flags
|
|
108
|
-
|
|
109
|
-
- Low resolution images (can't extract details)
|
|
110
|
-
- Missing color context (what's primary vs accent)
|
|
111
|
-
- Ignoring accessibility (contrast ratios)
|
|
112
|
-
- Not saving analysis for future reference
|
|
113
|
-
- Assuming fonts without verification
|