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,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: playwright
|
|
3
|
+
description: Use for browser automation, E2E testing, form filling, screenshots, and responsive design validation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Playwright Skill
|
|
7
|
+
|
|
8
|
+
You are running the **playwright** skill. Browser automation via Playwright MCP.
|
|
9
|
+
|
|
10
|
+
## Capabilities
|
|
11
|
+
|
|
12
|
+
| Action | Description |
|
|
13
|
+
|--------|-------------|
|
|
14
|
+
| Navigate pages | Load URLs, handle redirects, wait for content |
|
|
15
|
+
| Fill forms | Input text, select options, upload files |
|
|
16
|
+
| Take screenshots | Full page, element-specific, mobile viewports |
|
|
17
|
+
| Test responsive | Switch viewports, validate breakpoints |
|
|
18
|
+
| Validate UX | Check interactions, accessibility, flows |
|
|
19
|
+
| Test auth flows | Login sequences, session persistence |
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
1. Specify the URL or local dev server
|
|
24
|
+
2. Define actions (navigate, click, fill, assert)
|
|
25
|
+
3. Set viewport if testing responsive design
|
|
26
|
+
4. Capture screenshots for verification
|
|
27
|
+
|
|
28
|
+
## MCP Loading
|
|
29
|
+
|
|
30
|
+
This skill loads the Playwright MCP server **only when used**. Clean browser context per session.
|
|
31
|
+
|
|
32
|
+
## Best Practices
|
|
33
|
+
|
|
34
|
+
- Use `await page.waitForLoadState('networkidle')` for dynamic content
|
|
35
|
+
- Take before/after screenshots for visual diffs
|
|
36
|
+
- Test both happy and error paths
|
|
37
|
+
- Clean up sessions to prevent resource leaks
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: playwriter
|
|
3
|
+
description: Use when automating browser interactions, web scraping, or testing with existing Chrome sessions. 90% less context than traditional browser MCP.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Playwriter Skill
|
|
7
|
+
|
|
8
|
+
Browser automation via Chrome extension integration. Provides a single `execute` tool with full Playwright API access while using your existing browser with all extensions, sessions, and cookies intact.
|
|
9
|
+
|
|
10
|
+
## Capabilities
|
|
11
|
+
|
|
12
|
+
- **Session Reuse**: Works with your logged-in browser sessions
|
|
13
|
+
- **Extension Support**: Full access to Chrome extensions during automation
|
|
14
|
+
- **Full Playwright API**: Navigation, clicks, inputs, screenshots, waits
|
|
15
|
+
- **Cookie Persistence**: No need to re-authenticate
|
|
16
|
+
- **Lightweight**: Minimal context usage compared to traditional browser MCPs
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
|
|
20
|
+
- Web scraping behind logins
|
|
21
|
+
- Automating repetitive browser tasks
|
|
22
|
+
- Testing web applications with existing sessions
|
|
23
|
+
- Taking screenshots of authenticated pages
|
|
24
|
+
- Form filling and submission
|
|
25
|
+
- Multi-step browser workflows
|
|
26
|
+
|
|
27
|
+
## Usage Pattern
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
Use the execute tool with Playwright-style commands:
|
|
31
|
+
- navigate(url)
|
|
32
|
+
- click(selector)
|
|
33
|
+
- fill(selector, value)
|
|
34
|
+
- screenshot()
|
|
35
|
+
- wait(selector)
|
|
36
|
+
- evaluate(script)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Example
|
|
40
|
+
|
|
41
|
+
```javascript
|
|
42
|
+
execute({
|
|
43
|
+
actions: [
|
|
44
|
+
{ type: "navigate", url: "https://example.com/dashboard" },
|
|
45
|
+
{ type: "wait", selector: ".data-table" },
|
|
46
|
+
{ type: "screenshot", path: "dashboard.png" }
|
|
47
|
+
]
|
|
48
|
+
})
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Notes
|
|
52
|
+
|
|
53
|
+
- Requires Chrome extension installation
|
|
54
|
+
- Browser must be running with remote debugging enabled
|
|
55
|
+
- Supports headless and headed modes
|
|
56
|
+
- Maintains state between execute calls
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: polar
|
|
3
|
+
description: Use for Polar payment integration, subscriptions, license keys, and customer portal implementation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Polar Skill
|
|
7
|
+
|
|
8
|
+
You are running the **polar** skill. Polar payment platform integration.
|
|
9
|
+
|
|
10
|
+
## Capabilities
|
|
11
|
+
|
|
12
|
+
| Action | Description |
|
|
13
|
+
|--------|-------------|
|
|
14
|
+
| Create products | Define products, pricing, billing cycles |
|
|
15
|
+
| Implement checkout | Embedded checkout, custom flows |
|
|
16
|
+
| Manage subscriptions | Create, update, cancel, webhook handling |
|
|
17
|
+
| License keys | Generate, validate, manage keys |
|
|
18
|
+
| Customer portal | Self-service billing management |
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
|
|
22
|
+
1. Configure Polar credentials in environment
|
|
23
|
+
2. Create or reference products in Polar dashboard
|
|
24
|
+
3. Implement checkout flow with webhooks
|
|
25
|
+
4. Handle subscription state in your app
|
|
26
|
+
|
|
27
|
+
## Key Integration Points
|
|
28
|
+
|
|
29
|
+
- Checkout: `POST /checkout/`
|
|
30
|
+
- Webhooks: subscription events, payment status
|
|
31
|
+
- License validation: server-side key verification
|
|
32
|
+
- Customer portal: embeddable billing UI
|
|
33
|
+
|
|
34
|
+
## Best Practices
|
|
35
|
+
|
|
36
|
+
- Always verify webhooks using signature validation
|
|
37
|
+
- Store Polar IDs, not email addresses, for user linking
|
|
38
|
+
- Handle all subscription states (active, past_due, canceled)
|
|
39
|
+
- Test with Polar sandbox before production
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: receiving-code-review
|
|
3
|
+
description: Use when receiving code review feedback. Technical evaluation, not emotional response.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Receiving Code Review Skill
|
|
7
|
+
|
|
8
|
+
You are running the **receiving-code-review** skill. Respond professionally.
|
|
9
|
+
|
|
10
|
+
## Mindset
|
|
11
|
+
|
|
12
|
+
- Technical evaluation, not emotional
|
|
13
|
+
- Never say "You're absolutely right!" without verification
|
|
14
|
+
- Verify before implementing changes
|
|
15
|
+
- Push back with technical reasoning when appropriate
|
|
16
|
+
|
|
17
|
+
## Response Protocol
|
|
18
|
+
|
|
19
|
+
1. **Read carefully** — Understand the actual concern
|
|
20
|
+
2. **Verify locally** — Reproduce or confirm the issue
|
|
21
|
+
3. **Categorize** — Is this a bug, style, optimization, or preference?
|
|
22
|
+
4. **Respond** — Acknowledge, question, or push back with data
|
|
23
|
+
|
|
24
|
+
## When to Push Back
|
|
25
|
+
|
|
26
|
+
| Scenario | Response |
|
|
27
|
+
|----------|----------|
|
|
28
|
+
| Suggestion adds complexity without value | "This adds N lines for hypothetical future need. YAGNI applies." |
|
|
29
|
+
| Change breaks existing behavior | "This would break X. Current approach handles Y correctly." |
|
|
30
|
+
| Style preference disguised as bug | "Noted, but current pattern matches codebase conventions." |
|
|
31
|
+
| Requested feature is "professional" polish | "This works correctly. The suggested enhancement is not in scope." |
|
|
32
|
+
|
|
33
|
+
## YAGNI Check
|
|
34
|
+
|
|
35
|
+
Before implementing "improvements":
|
|
36
|
+
- Does this solve a real problem or hypothetical one?
|
|
37
|
+
- Is the complexity justified by actual usage?
|
|
38
|
+
- Would a simpler solution suffice?
|
|
39
|
+
|
|
40
|
+
If answer is "hypothetical" or "no" — push back.
|
|
41
|
+
|
|
42
|
+
## Red Flags
|
|
43
|
+
|
|
44
|
+
- Agreeing immediately without verification
|
|
45
|
+
- Implementing suggestions that increase complexity unnecessarily
|
|
46
|
+
- Treating style preferences as bugs
|
|
47
|
+
- Adding "professional" features that nobody asked for
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: requesting-code-review
|
|
3
|
+
description: Use after completing a task. Dispatch @review subagent for quality gate.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Requesting Code Review Skill
|
|
7
|
+
|
|
8
|
+
You are running the **requesting-code-review** skill. Never skip review.
|
|
9
|
+
|
|
10
|
+
## When to Request
|
|
11
|
+
|
|
12
|
+
- After major features
|
|
13
|
+
- Before merging
|
|
14
|
+
- After significant refactors
|
|
15
|
+
- When unsure about approach
|
|
16
|
+
|
|
17
|
+
## Information to Provide
|
|
18
|
+
|
|
19
|
+
| Item | Example |
|
|
20
|
+
|------|---------|
|
|
21
|
+
| Git SHAs | "Changed: a1b2c3d..e4f5g6h" |
|
|
22
|
+
| What was implemented | "Added user authentication with JWT" |
|
|
23
|
+
| Plan/requirements | "Per spec in .opencode/memory/specs/auth.md" |
|
|
24
|
+
| Known issues | "Edge case X not handled yet" |
|
|
25
|
+
|
|
26
|
+
## Review Workflow
|
|
27
|
+
|
|
28
|
+
1. Dispatch @review subagent
|
|
29
|
+
2. Wait for review results
|
|
30
|
+
3. Fix Critical issues immediately
|
|
31
|
+
4. Address High issues before merge
|
|
32
|
+
5. Medium/Low can be follow-up tickets
|
|
33
|
+
|
|
34
|
+
## Issue Severity Response
|
|
35
|
+
|
|
36
|
+
| Severity | Action |
|
|
37
|
+
|----------|--------|
|
|
38
|
+
| Critical | Fix NOW, re-review |
|
|
39
|
+
| High | Fix before merge |
|
|
40
|
+
| Medium | Create ticket, fix soon |
|
|
41
|
+
| Low | Document, fix later |
|
|
42
|
+
|
|
43
|
+
## Red Flags
|
|
44
|
+
|
|
45
|
+
- Skipping review "because it's small"
|
|
46
|
+
- Merging without addressing Critical issues
|
|
47
|
+
- Not providing context for reviewer
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: resend
|
|
3
|
+
description: Use when sending transactional emails, receiving inbound emails, creating email templates with React Email, or handling email webhooks.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Resend Skill
|
|
7
|
+
|
|
8
|
+
Comprehensive Resend email platform integration for transactional emails, inbound email handling, template management with React Email, and webhook processing.
|
|
9
|
+
|
|
10
|
+
## Capabilities
|
|
11
|
+
|
|
12
|
+
- **Send Emails**: Transactional and bulk email sending
|
|
13
|
+
- **Inbound Email**: Receive and process incoming emails
|
|
14
|
+
- **React Email Templates**: Create emails with React components
|
|
15
|
+
- **Webhook Handling**: Process email events (delivered, opened, bounced)
|
|
16
|
+
- **Domain Management**: Configure sending domains and DNS
|
|
17
|
+
- **Analytics**: Track email delivery and engagement metrics
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
- Sending transactional emails (password resets, notifications)
|
|
22
|
+
- Building email templates with React
|
|
23
|
+
- Receiving and processing inbound emails
|
|
24
|
+
- Setting up email webhooks
|
|
25
|
+
- Managing sending domains
|
|
26
|
+
- Implementing email workflows
|
|
27
|
+
|
|
28
|
+
## Key Tools
|
|
29
|
+
|
|
30
|
+
- `send_email`: Send single or batch emails
|
|
31
|
+
- `create_template`: Create React Email templates
|
|
32
|
+
- `get_inbound`: Retrieve inbound emails
|
|
33
|
+
- `list_domains`: Manage sending domains
|
|
34
|
+
- `get_events`: Query email events
|
|
35
|
+
- `create_webhook`: Set up event webhooks
|
|
36
|
+
|
|
37
|
+
## Example Usage
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
// Send email
|
|
41
|
+
send_email({
|
|
42
|
+
to: "user@example.com",
|
|
43
|
+
subject: "Welcome!",
|
|
44
|
+
html: "<h1>Welcome aboard!</h1>",
|
|
45
|
+
from: "noreply@myapp.com"
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
// React Email template
|
|
49
|
+
create_template({
|
|
50
|
+
name: "password-reset",
|
|
51
|
+
component: "./emails/PasswordReset.tsx"
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
// Handle inbound
|
|
55
|
+
get_inbound({
|
|
56
|
+
limit: 10,
|
|
57
|
+
status: "unread"
|
|
58
|
+
})
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## React Email Integration
|
|
62
|
+
|
|
63
|
+
```tsx
|
|
64
|
+
// emails/Welcome.tsx
|
|
65
|
+
import { Html, Body, Container, Text } from '@react-email/components';
|
|
66
|
+
|
|
67
|
+
export default function Welcome({ name }) {
|
|
68
|
+
return (
|
|
69
|
+
<Html>
|
|
70
|
+
<Body>
|
|
71
|
+
<Container>
|
|
72
|
+
<Text>Welcome, {name}!</Text>
|
|
73
|
+
</Container>
|
|
74
|
+
</Body>
|
|
75
|
+
</Html>
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Notes
|
|
81
|
+
|
|
82
|
+
- Requires Resend API key
|
|
83
|
+
- Domain verification needed for sending
|
|
84
|
+
- Supports attachments up to 40MB
|
|
85
|
+
- Rate limits apply based on plan
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ritual-workflow
|
|
3
|
+
description: Use when starting any task. Enforces DISCOVER → PLAN → IMPLEMENT → VERIFY → COMPLETE workflow with hard gates.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ritual Workflow Skill
|
|
7
|
+
|
|
8
|
+
You are running the **ritual-workflow** skill. Every task follows a strict phase structure.
|
|
9
|
+
|
|
10
|
+
## Phases (in order)
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
DISCOVER → PLAN → IMPLEMENT → VERIFY → COMPLETE
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### Phase 1: DISCOVER
|
|
17
|
+
- Understand the problem
|
|
18
|
+
- Gather requirements
|
|
19
|
+
- Identify stakeholders and constraints
|
|
20
|
+
- Define success criteria
|
|
21
|
+
- **Gate**: Can articulate the problem clearly
|
|
22
|
+
|
|
23
|
+
### Phase 2: PLAN
|
|
24
|
+
- Design the solution
|
|
25
|
+
- Break into tasks
|
|
26
|
+
- Identify dependencies
|
|
27
|
+
- Estimate effort
|
|
28
|
+
- **Gate**: Plan approved (user confirms)
|
|
29
|
+
|
|
30
|
+
### Phase 3: IMPLEMENT
|
|
31
|
+
- Write code
|
|
32
|
+
- Follow plan
|
|
33
|
+
- Create tests
|
|
34
|
+
- **Gate**: All planned tasks done
|
|
35
|
+
|
|
36
|
+
### Phase 4: VERIFY
|
|
37
|
+
- Run tests
|
|
38
|
+
- Type check
|
|
39
|
+
- Lint
|
|
40
|
+
- Build
|
|
41
|
+
- **Gate**: All checks pass
|
|
42
|
+
|
|
43
|
+
### Phase 5: COMPLETE
|
|
44
|
+
- Document changes
|
|
45
|
+
- Create PR
|
|
46
|
+
- Clean up
|
|
47
|
+
- **Gate**: Merged or deployed
|
|
48
|
+
|
|
49
|
+
## Hard Gates
|
|
50
|
+
|
|
51
|
+
| Current Phase | Must Complete Before Advancing |
|
|
52
|
+
|---------------|-------------------------------|
|
|
53
|
+
| DISCOVER | Problem statement written |
|
|
54
|
+
| PLAN | User approves plan |
|
|
55
|
+
| IMPLEMENT | All tasks checked off |
|
|
56
|
+
| VERIFY | Tests pass, build succeeds |
|
|
57
|
+
| COMPLETE | PR merged |
|
|
58
|
+
|
|
59
|
+
## Ritual State
|
|
60
|
+
|
|
61
|
+
State is tracked in `.opencode/memory/ritual-state.json`:
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"taskId": "bead-123",
|
|
66
|
+
"phases": [
|
|
67
|
+
{ "name": "discover", "status": "done" },
|
|
68
|
+
{ "name": "plan", "status": "in_progress" },
|
|
69
|
+
...
|
|
70
|
+
],
|
|
71
|
+
"currentPhase": 1
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Commands
|
|
76
|
+
|
|
77
|
+
| Command | Phase | Action |
|
|
78
|
+
|---------|-------|--------|
|
|
79
|
+
| `/create` | DISCOVER | Initialize ritual, gather requirements |
|
|
80
|
+
| `/plan` | PLAN | Create implementation plan |
|
|
81
|
+
| `/start` | IMPLEMENT | Begin implementation |
|
|
82
|
+
| `/verify` | VERIFY | Run checks |
|
|
83
|
+
| `/ship` | COMPLETE | Finalize and deploy |
|
|
84
|
+
|
|
85
|
+
## Enforcement
|
|
86
|
+
|
|
87
|
+
- Cannot skip phases
|
|
88
|
+
- Cannot implement without approved plan
|
|
89
|
+
- Cannot complete without passing verify
|
|
90
|
+
- Each phase requires explicit completion
|
|
91
|
+
|
|
92
|
+
## Status Check
|
|
93
|
+
|
|
94
|
+
Run `checkRitualProgress()` to see current phase and blockers.
|
|
95
|
+
|
|
96
|
+
## Red Flags
|
|
97
|
+
|
|
98
|
+
- Skipping to IMPLEMENT without PLAN
|
|
99
|
+
- Marking COMPLETE with failing tests
|
|
100
|
+
- Moving forward without user approval
|
|
101
|
+
- Ignoring phase gates
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: root-cause-tracing
|
|
3
|
+
description: Trace bugs backward through call chain to original trigger. Never fix where error appears.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Root Cause Tracing Skill
|
|
7
|
+
|
|
8
|
+
You are running the **root-cause-tracing** skill. Fix the origin, not the symptom.
|
|
9
|
+
|
|
10
|
+
## Core Principle
|
|
11
|
+
|
|
12
|
+
The error appears at point A. The cause is at point B. Always trace backward to B.
|
|
13
|
+
|
|
14
|
+
## Tracing Process
|
|
15
|
+
|
|
16
|
+
### Step 1: Locate the Error
|
|
17
|
+
- Find where the error manifests
|
|
18
|
+
- DO NOT fix here yet
|
|
19
|
+
- This is the symptom location
|
|
20
|
+
|
|
21
|
+
### Step 2: Trace the Call Chain
|
|
22
|
+
- Who called this function?
|
|
23
|
+
- Who called that function?
|
|
24
|
+
- Keep going until you find the trigger
|
|
25
|
+
|
|
26
|
+
### Step 3: Find the Root Cause
|
|
27
|
+
- The first place where incorrect data/state originated
|
|
28
|
+
- The decision point that led to wrong path
|
|
29
|
+
- The missing validation that allowed bad input
|
|
30
|
+
|
|
31
|
+
### Step 4: Fix at Origin
|
|
32
|
+
- Apply fix at the root cause location
|
|
33
|
+
- NOT where the error appeared
|
|
34
|
+
- Verify symptom disappears
|
|
35
|
+
|
|
36
|
+
## Instrumentation
|
|
37
|
+
|
|
38
|
+
```javascript
|
|
39
|
+
// At each layer, add:
|
|
40
|
+
console.error('[TRACE] Function:', functionName);
|
|
41
|
+
console.error('[TRACE] Args:', JSON.stringify(args, null, 2));
|
|
42
|
+
console.error('[TRACE] Stack:', new Error().stack);
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Bisection for Test Polluters
|
|
46
|
+
|
|
47
|
+
When tests fail in batch but pass individually:
|
|
48
|
+
|
|
49
|
+
1. Run first half of tests → passing?
|
|
50
|
+
2. If yes: bug in second half
|
|
51
|
+
3. If no: bug in first half
|
|
52
|
+
4. Repeat until isolated to single test
|
|
53
|
+
5. That test is polluting shared state
|
|
54
|
+
|
|
55
|
+
## Red Flags
|
|
56
|
+
|
|
57
|
+
- Fixing where error is thrown (not where caused)
|
|
58
|
+
- "Let me add a null check here" (defensive, not corrective)
|
|
59
|
+
- Not tracing the full call chain
|
|
60
|
+
- Assuming you know the cause without evidence
|
|
61
|
+
|
|
62
|
+
## Example
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
Error: Cannot read property 'length' of undefined
|
|
66
|
+
at processItems (line 42) ← DO NOT FIX HERE
|
|
67
|
+
at handleRequest (line 28)
|
|
68
|
+
at parseInput (line 15) ← FIX HERE: null should be []
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Rule
|
|
72
|
+
|
|
73
|
+
**Never fix at the symptom. Always trace to the root.**
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: session-management
|
|
3
|
+
description: Use for managing context growth, task switching, and session continuity in long-running work.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Session Management Skill
|
|
7
|
+
|
|
8
|
+
You are running the **session-management** skill. Context and continuity management.
|
|
9
|
+
|
|
10
|
+
## Context Thresholds
|
|
11
|
+
|
|
12
|
+
| State | Context % | Action |
|
|
13
|
+
|-------|-----------|--------|
|
|
14
|
+
| Green | < 50% | Normal operation |
|
|
15
|
+
| Yellow | 50-75% | Start summarizing, offload to memory |
|
|
16
|
+
| Orange | 75-90% | Aggressive context pruning, handoff prep |
|
|
17
|
+
| Red | > 90% | Initiate session handoff |
|
|
18
|
+
|
|
19
|
+
## Session Tools
|
|
20
|
+
|
|
21
|
+
| Tool | Purpose |
|
|
22
|
+
|------|---------|
|
|
23
|
+
| Memory artifacts | Save state to `.opencode/memory/` |
|
|
24
|
+
| Handoff docs | Session state for next agent |
|
|
25
|
+
| Beads sync | Persist tasks to `.beads/` |
|
|
26
|
+
| Git commits | Checkpoint progress |
|
|
27
|
+
|
|
28
|
+
## Workflow Patterns
|
|
29
|
+
|
|
30
|
+
### Starting a Session
|
|
31
|
+
1. Check Beads for in-progress tasks
|
|
32
|
+
2. Read handoff if continuing previous session
|
|
33
|
+
3. Claim ready tasks
|
|
34
|
+
4. Begin work
|
|
35
|
+
|
|
36
|
+
### During Session
|
|
37
|
+
1. Monitor context usage
|
|
38
|
+
2. Write specs/plans to memory as created
|
|
39
|
+
3. Commit incremental progress
|
|
40
|
+
4. Sync Beads regularly
|
|
41
|
+
|
|
42
|
+
### Ending a Session
|
|
43
|
+
1. Complete or checkpoint current task
|
|
44
|
+
2. Write handoff document
|
|
45
|
+
3. Sync all state to git/Beads
|
|
46
|
+
4. Release file reservations
|
|
47
|
+
|
|
48
|
+
## Best Practices
|
|
49
|
+
|
|
50
|
+
- Check context percentage periodically
|
|
51
|
+
- Write to memory before hitting thresholds
|
|
52
|
+
- Use handoff documents for continuity
|
|
53
|
+
- Keep session state in version control
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sharing-skills
|
|
3
|
+
description: Use when contributing skills to the community. One skill per PR.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sharing Skills Skill
|
|
7
|
+
|
|
8
|
+
You are running the **sharing-skills** skill. Contribute effectively.
|
|
9
|
+
|
|
10
|
+
## When to Share
|
|
11
|
+
|
|
12
|
+
- Broadly useful across projects
|
|
13
|
+
- Solves common workflow problems
|
|
14
|
+
- Encapsulates best practices
|
|
15
|
+
- Not project-specific
|
|
16
|
+
|
|
17
|
+
## Keep Personal
|
|
18
|
+
|
|
19
|
+
- Project-specific configurations
|
|
20
|
+
- Team-specific conventions
|
|
21
|
+
- Environment-dependent logic
|
|
22
|
+
- One-off automations
|
|
23
|
+
|
|
24
|
+
## Contribution Workflow
|
|
25
|
+
|
|
26
|
+
1. **Branch** — Create feature branch from main
|
|
27
|
+
2. **Edit/Create** — Add or modify skill file
|
|
28
|
+
3. **Commit** — Clear commit message describing skill
|
|
29
|
+
4. **Push** — Push to your fork
|
|
30
|
+
5. **PR** — Open pull request with description
|
|
31
|
+
|
|
32
|
+
## PR Guidelines
|
|
33
|
+
|
|
34
|
+
- One skill per PR
|
|
35
|
+
- Include rationale in PR description
|
|
36
|
+
- Reference any related issues
|
|
37
|
+
- Be responsive to feedback
|
|
38
|
+
|
|
39
|
+
## Skill File Structure
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
skill-name/
|
|
43
|
+
SKILL.md
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Red Flags
|
|
47
|
+
|
|
48
|
+
- Sharing project-specific skills as general
|
|
49
|
+
- Bundling multiple skills in one PR
|
|
50
|
+
- Not documenting when/why to use the skill
|