create-merlin-brain 5.0.2 → 5.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -4
- package/bin/install.cjs +20 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +75 -0
- package/dist/server/server.js.map +1 -1
- package/dist/server/tools/context.d.ts.map +1 -1
- package/dist/server/tools/context.js +60 -0
- package/dist/server/tools/context.js.map +1 -1
- package/dist/server/tools/project-picture.d.ts +17 -0
- package/dist/server/tools/project-picture.d.ts.map +1 -0
- package/dist/server/tools/project-picture.js +204 -0
- package/dist/server/tools/project-picture.js.map +1 -0
- package/dist/server/tools/types.d.ts +24 -0
- package/dist/server/tools/types.d.ts.map +1 -1
- package/files/agents/challenger-academic.md +8 -0
- package/files/agents/challenger-arbiter.md +8 -0
- package/files/agents/challenger-insider.md +8 -0
- package/files/agents/code-organization-supervisor.md +8 -0
- package/files/agents/codex-planner.md +36 -9
- package/files/agents/context-guardian.md +8 -0
- package/files/agents/docs-keeper.md +8 -0
- package/files/agents/dry-refactor.md +8 -0
- package/files/agents/elite-code-refactorer.md +8 -0
- package/files/agents/hardening-guard.md +8 -0
- package/files/agents/implementation-dev.md +8 -0
- package/files/agents/merlin-access-control-reviewer.md +8 -0
- package/files/agents/merlin-api-designer.md +8 -0
- package/files/agents/merlin-codebase-mapper.md +8 -0
- package/files/agents/merlin-debugger.md +8 -0
- package/files/agents/merlin-dependency-auditor.md +8 -0
- package/files/agents/merlin-edge-case-hunter.md +8 -0
- package/files/agents/merlin-executor.md +8 -0
- package/files/agents/merlin-frontend.md +8 -0
- package/files/agents/merlin-input-validator.md +8 -0
- package/files/agents/merlin-integration-checker.md +8 -0
- package/files/agents/merlin-migrator.md +8 -0
- package/files/agents/merlin-milestone-auditor.md +8 -0
- package/files/agents/merlin-party-review.md +8 -0
- package/files/agents/merlin-performance.md +8 -0
- package/files/agents/merlin-planner.md +9 -1
- package/files/agents/merlin-researcher.md +8 -0
- package/files/agents/merlin-reviewer.md +8 -0
- package/files/agents/merlin-sast-reviewer.md +8 -0
- package/files/agents/merlin-secret-scanner.md +8 -0
- package/files/agents/merlin-security.md +8 -0
- package/files/agents/merlin-verifier.md +8 -0
- package/files/agents/merlin-work-verifier.md +8 -0
- package/files/agents/merlin.md +8 -0
- package/files/agents/ops-railway.md +8 -0
- package/files/agents/orchestrator-retrofit.md +8 -0
- package/files/agents/product-spec.md +8 -0
- package/files/agents/remotion.md +8 -0
- package/files/agents/system-architect.md +8 -0
- package/files/agents/tests-qa.md +8 -0
- package/files/commands/merlin/course-correct.md +8 -0
- package/files/commands/merlin/design-audit.md +92 -0
- package/files/commands/merlin/health.md +8 -0
- package/files/commands/merlin/next.md +8 -0
- package/files/commands/merlin/optimize.md +89 -0
- package/files/commands/merlin/polish.md +99 -0
- package/files/commands/merlin/quick.md +8 -0
- package/files/commands/merlin/readiness-gate.md +8 -0
- package/files/commands/merlin/redesign.md +108 -0
- package/files/loop/README.md +11 -0
- package/files/merlin/skills/SKILLS-INDEX.md +16 -1
- package/files/merlin/skills/TASK-OPTIMIZER.json +310 -0
- package/files/merlin/skills/coding/focus-mode.md +8 -0
- package/files/merlin/skills/design/emil-design-eng.md +31 -0
- package/files/merlin/skills/design/impeccable.md +36 -0
- package/files/merlin/skills/duo/offer.md +20 -7
- package/files/merlin/skills/duo/on.md +26 -17
- package/files/merlin/skills/duo/status.md +10 -3
- package/files/merlin/templates/DEBUG.md +11 -0
- package/files/merlin/templates/UAT.md +11 -0
- package/files/merlin/templates/phase-prompt.md +11 -0
- package/files/merlin/templates/project.md +11 -0
- package/files/merlin/templates/requirements.md +11 -0
- package/files/merlin/templates/roadmap.md +11 -0
- package/files/merlin/templates/state.md +11 -0
- package/files/merlin/templates/verification-report.md +11 -0
- package/files/merlin/workflows/execute-phase.md +11 -0
- package/files/merlin/workflows/plan-phase.md +11 -0
- package/files/merlin/workflows/progress.md +11 -0
- package/files/merlin/workflows/resume-project.md +11 -0
- package/files/merlin/workflows/verify-phase.md +11 -0
- package/files/merlin/workflows/verify-work.md +11 -0
- package/files/merlin-system-prompt.txt +35 -1
- package/files/rules/codex-routing.md +19 -0
- package/files/rules/duo-routing.md +109 -10
- package/files/rules/merlin-routing.md +40 -0
- package/files/scripts/codex-as.sh +5 -2
- package/files/scripts/design-intent-detect.sh +8 -0
- package/files/scripts/duo-badge.sh +3 -5
- package/files/scripts/duo-installed.sh +3 -3
- package/files/scripts/duo-mode-read.sh +30 -10
- package/files/scripts/duo-mode-write.sh +28 -3
- package/files/scripts/duo-pre-route.sh +2 -8
- package/files/scripts/install-design-skills.sh +86 -0
- package/files/scripts/merlin-codex.sh +9 -4
- package/files/scripts/task-optimize.sh +335 -0
- package/package.json +1 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: merlin:optimize
|
|
3
|
+
description: Preview which skills + agent the optimizer would pick for a task — no execution, just the recommendation
|
|
4
|
+
argument-hint: "<task description>"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<objective>
|
|
11
|
+
Preview the Universal Task Optimizer's recommendation for a given task.
|
|
12
|
+
|
|
13
|
+
Shows which skills would be loaded and which agent would be routed to, WITHOUT actually executing the routing. Useful for understanding how Merlin pairs tasks with specialists.
|
|
14
|
+
</objective>
|
|
15
|
+
|
|
16
|
+
<context>
|
|
17
|
+
Task: $ARGUMENTS (required: task description to analyze)
|
|
18
|
+
</context>
|
|
19
|
+
|
|
20
|
+
<process>
|
|
21
|
+
|
|
22
|
+
## Step 1: Validate Input
|
|
23
|
+
|
|
24
|
+
$ARGUMENTS must be provided. If empty, show usage:
|
|
25
|
+
```
|
|
26
|
+
Usage: /merlin:optimize "your task description"
|
|
27
|
+
|
|
28
|
+
Examples:
|
|
29
|
+
/merlin:optimize "redesign the dashboard"
|
|
30
|
+
/merlin:optimize "add OAuth login"
|
|
31
|
+
/merlin:optimize "write unit tests for the parser"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Step 2: Run the Universal Task Optimizer
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
bash ~/.claude/scripts/task-optimize.sh --task "$ARGUMENTS"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Store the JSON result.
|
|
41
|
+
|
|
42
|
+
## Step 3: Parse and Present Result
|
|
43
|
+
|
|
44
|
+
If score < 25:
|
|
45
|
+
```
|
|
46
|
+
⟡🔮 MERLIN › No specific skill match for this task.
|
|
47
|
+
|
|
48
|
+
Score: <score>
|
|
49
|
+
Intent: none
|
|
50
|
+
Recommendation: Fall back to default workflow routing (see /merlin:help for options)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
If score >= 25:
|
|
54
|
+
```
|
|
55
|
+
⟡🔮 MERLIN › Task Optimization Result
|
|
56
|
+
|
|
57
|
+
Intent: <intent>
|
|
58
|
+
Score: <score>/100
|
|
59
|
+
Skills: <skills array, comma-separated>
|
|
60
|
+
Agent: <agent>
|
|
61
|
+
Matched: <matched_phrases, comma-separated>
|
|
62
|
+
|
|
63
|
+
Skill file paths:
|
|
64
|
+
- ~/.claude/merlin/skills/<skill1>.md
|
|
65
|
+
- ~/.claude/merlin/skills/<skill2>.md
|
|
66
|
+
|
|
67
|
+
Want me to execute this routing? (y/n)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Step 4: Handle Follow-up
|
|
71
|
+
|
|
72
|
+
If user says yes/y/execute:
|
|
73
|
+
- Read the skill files
|
|
74
|
+
- Route to the recommended agent with task and skills prepended
|
|
75
|
+
|
|
76
|
+
If user says no/n:
|
|
77
|
+
- Exit and let user choose a different approach
|
|
78
|
+
|
|
79
|
+
</process>
|
|
80
|
+
|
|
81
|
+
<error_handling>
|
|
82
|
+
|
|
83
|
+
| Condition | Action |
|
|
84
|
+
|-----------|--------|
|
|
85
|
+
| No task provided | Show usage and examples |
|
|
86
|
+
| Optimizer script missing | Error: run `npx create-merlin-brain` to reinstall |
|
|
87
|
+
| Registry missing | Error: TASK-OPTIMIZER.json not found |
|
|
88
|
+
|
|
89
|
+
</error_handling>
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: merlin:polish
|
|
3
|
+
description: Apply animation craft + UI polish using emil-design-eng skill via animation-expert
|
|
4
|
+
argument-hint: "[path] - file/component to polish (required)"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Glob
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- mcp__merlin__merlin_get_context
|
|
11
|
+
- mcp__merlin__merlin_route
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<objective>
|
|
15
|
+
Apply polish and animation craft to a component or file using the emil-design-eng skill.
|
|
16
|
+
|
|
17
|
+
Focuses on: easing functions, smooth transitions, micro-interactions, gesture handling, prefers-reduced-motion accessibility, GPU-optimized performance.
|
|
18
|
+
|
|
19
|
+
Routes to `animation-expert` agent with emil-design-eng skill loaded.
|
|
20
|
+
</objective>
|
|
21
|
+
|
|
22
|
+
<context>
|
|
23
|
+
Target: $ARGUMENTS (required: file or component path)
|
|
24
|
+
</context>
|
|
25
|
+
|
|
26
|
+
<process>
|
|
27
|
+
|
|
28
|
+
## Step 1: Validate Path
|
|
29
|
+
|
|
30
|
+
$ARGUMENTS must be provided. If empty, show usage:
|
|
31
|
+
```
|
|
32
|
+
Usage: /merlin:polish "path/to/component.tsx"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Step 2: Ensure Skills Installed
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
bash ~/.claude/scripts/install-design-skills.sh
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Step 3: Detect Task Intent
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
bash ~/.claude/scripts/task-optimize.sh --task "polish animation"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Store result.
|
|
48
|
+
|
|
49
|
+
## Step 4: Read Emil Design Engineering Skill
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
Read: ~/.claude/skills/emil-design-eng/SKILL.md
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Store skill body.
|
|
56
|
+
|
|
57
|
+
## Step 5: Read Target File
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
Read: $ARGUMENTS
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
If read fails, error and exit.
|
|
64
|
+
|
|
65
|
+
## Step 6: Route to animation-expert
|
|
66
|
+
|
|
67
|
+
Call `merlin_route` with:
|
|
68
|
+
- Agent: `animation-expert`
|
|
69
|
+
- Task: "Polish this component with animation craft: improve easing, add prefers-reduced-motion, smooth transitions, polish micro-interactions, optimize for 60fps"
|
|
70
|
+
- Context: prepend emil-design-eng skill body
|
|
71
|
+
- Include requirements:
|
|
72
|
+
- Easing: cubic-bezier or spring easing (ease-in-out for semantic, custom for premium feel)
|
|
73
|
+
- Transitions: review timing (150-300ms for interactions, 1-2s for page transitions)
|
|
74
|
+
- Micro-interactions: add subtle feedback on user actions (hover, focus, click)
|
|
75
|
+
- Gestures: swipe, drag, pinch interactions where appropriate
|
|
76
|
+
- Performance: CSS animations preferred, requestAnimationFrame for JS, will-change hints
|
|
77
|
+
- Accessibility: respect prefers-reduced-motion, provide keyboard navigation
|
|
78
|
+
|
|
79
|
+
## Step 7: Review Changes
|
|
80
|
+
|
|
81
|
+
After agent completes:
|
|
82
|
+
```bash
|
|
83
|
+
git diff HEAD path/to/file
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Show user the diff and confirm changes look good.
|
|
87
|
+
|
|
88
|
+
</process>
|
|
89
|
+
|
|
90
|
+
<error_handling>
|
|
91
|
+
|
|
92
|
+
| Condition | Action |
|
|
93
|
+
|-----------|--------|
|
|
94
|
+
| No path provided | Show usage and exit |
|
|
95
|
+
| Path invalid | Error and exit |
|
|
96
|
+
| Skills missing | Attempt install, continue with warning |
|
|
97
|
+
| animation-expert unavailable | Use ui-builder fallback |
|
|
98
|
+
|
|
99
|
+
</error_handling>
|
|
@@ -12,6 +12,14 @@ allowed-tools:
|
|
|
12
12
|
- mcp__merlin__merlin_get_context
|
|
13
13
|
- mcp__merlin__merlin_search
|
|
14
14
|
- mcp__merlin__merlin_find_files
|
|
15
|
+
provenance:
|
|
16
|
+
upstream: gsd-build/get-shit-done
|
|
17
|
+
upstream_path: commands/gsd/quick.md
|
|
18
|
+
upstream_commit: 9045c81
|
|
19
|
+
license: MIT
|
|
20
|
+
license_verification: confirmed
|
|
21
|
+
adapted: "2026-03-14"
|
|
22
|
+
changes: adapted from GSD command pattern
|
|
15
23
|
---
|
|
16
24
|
|
|
17
25
|
<objective>
|
|
@@ -9,6 +9,14 @@ allowed-tools:
|
|
|
9
9
|
- Glob
|
|
10
10
|
- mcp__merlin__merlin_get_context
|
|
11
11
|
- mcp__merlin__merlin_get_project_status
|
|
12
|
+
provenance:
|
|
13
|
+
upstream: bmad-code-org/BMAD-METHOD
|
|
14
|
+
upstream_path: "pattern: BMAD readiness gate"
|
|
15
|
+
upstream_commit: 285bad4
|
|
16
|
+
license: MIT
|
|
17
|
+
license_verification: pending
|
|
18
|
+
adapted: "2026-03-14"
|
|
19
|
+
changes: BMAD-inspired command pattern
|
|
12
20
|
---
|
|
13
21
|
|
|
14
22
|
<objective>
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: merlin:redesign
|
|
3
|
+
description: Comprehensive redesign using impeccable + emil-design-eng with ui-builder
|
|
4
|
+
argument-hint: "[path] - file/component to redesign (required)"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Glob
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- mcp__merlin__merlin_get_context
|
|
11
|
+
- mcp__merlin__merlin_route
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<objective>
|
|
15
|
+
Full redesign using both impeccable and emil-design-eng skills. Covers all 7 impeccable design domains + animation polish from emil.
|
|
16
|
+
|
|
17
|
+
Scope: typography, color, spacing, motion, interaction, responsive, UX writing, plus easing, micro-interactions, gestures, and performance optimization.
|
|
18
|
+
|
|
19
|
+
Routes to `ui-builder` agent with both priority design skills loaded.
|
|
20
|
+
</objective>
|
|
21
|
+
|
|
22
|
+
<context>
|
|
23
|
+
Target: $ARGUMENTS (required: file or component path)
|
|
24
|
+
</context>
|
|
25
|
+
|
|
26
|
+
<process>
|
|
27
|
+
|
|
28
|
+
## Step 1: Validate Path
|
|
29
|
+
|
|
30
|
+
$ARGUMENTS must be provided. If empty, show usage:
|
|
31
|
+
```
|
|
32
|
+
Usage: /merlin:redesign "path/to/component.tsx"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Step 2: Ensure Skills Installed
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
bash ~/.claude/scripts/install-design-skills.sh
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Step 3: Detect Task Intent
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
bash ~/.claude/scripts/task-optimize.sh --task "redesign"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Store result.
|
|
48
|
+
|
|
49
|
+
## Step 4: Read Both Priority Skills
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
Read: ~/.claude/skills/impeccable/SKILL.md
|
|
53
|
+
Read: ~/.claude/skills/emil-design-eng/SKILL.md
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Store both skill bodies.
|
|
57
|
+
|
|
58
|
+
## Step 5: Read Target File
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
Read: $ARGUMENTS
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
If read fails, error and exit.
|
|
65
|
+
|
|
66
|
+
## Step 6: Route to ui-builder
|
|
67
|
+
|
|
68
|
+
Call `merlin_route` with:
|
|
69
|
+
- Agent: `ui-builder`
|
|
70
|
+
- Task: "Comprehensive redesign using impeccable + emil-design-eng: improve typography, color, spacing, motion, interaction, responsive design, UX writing, easing, micro-interactions, and 60fps performance. Include before/after rationale."
|
|
71
|
+
- Context: prepend both skill bodies
|
|
72
|
+
- Include redesign checklist:
|
|
73
|
+
- **Typography (impeccable):** font families, scales, weights, line-height, readability, hierarchy
|
|
74
|
+
- **Color (impeccable):** OKLCH-based system, accessible contrast ratios, dark-mode, semantic naming
|
|
75
|
+
- **Spacing (impeccable):** proportional grid, breathing room, visual hierarchy consistency
|
|
76
|
+
- **Motion (impeccable):** timing curves, keyframes, transitions between states
|
|
77
|
+
- **Interaction (impeccable):** hover/focus/active/disabled states, feedback patterns, accessibility
|
|
78
|
+
- **Responsive (impeccable):** breakpoints, fluid scaling, container queries, mobile-first
|
|
79
|
+
- **UX writing (impeccable):** copy clarity, tone consistency, error messages, microcopy
|
|
80
|
+
- **Easing (emil):** cubic-bezier curves, spring physics, motion feel
|
|
81
|
+
- **Micro-interactions (emil):** subtle feedback, gestures, polish details
|
|
82
|
+
- **Performance (emil):** 60fps animations, GPU compositing, will-change hints, reduced-motion
|
|
83
|
+
|
|
84
|
+
## Step 7: Review Changes
|
|
85
|
+
|
|
86
|
+
After agent completes:
|
|
87
|
+
```bash
|
|
88
|
+
git diff HEAD path/to/file
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Show user the full diff. Highlight:
|
|
92
|
+
- Before/after visual differences
|
|
93
|
+
- Key design system changes
|
|
94
|
+
- Performance improvements
|
|
95
|
+
- Accessibility enhancements
|
|
96
|
+
|
|
97
|
+
</process>
|
|
98
|
+
|
|
99
|
+
<error_handling>
|
|
100
|
+
|
|
101
|
+
| Condition | Action |
|
|
102
|
+
|-----------|--------|
|
|
103
|
+
| No path provided | Show usage and exit |
|
|
104
|
+
| Path invalid | Error and exit |
|
|
105
|
+
| Skills missing | Attempt install, continue with warning |
|
|
106
|
+
| ui-builder unavailable | Use merlin-frontend fallback |
|
|
107
|
+
|
|
108
|
+
</error_handling>
|
package/files/loop/README.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
provenance:
|
|
3
|
+
upstream: community/ralph-wiggum
|
|
4
|
+
upstream_path: "pattern: ralph wiggum autonomous loop"
|
|
5
|
+
upstream_commit: 1e73be0
|
|
6
|
+
license: varies (mostly MIT)
|
|
7
|
+
license_verification: pattern_only
|
|
8
|
+
adapted: "2026-02-11"
|
|
9
|
+
changes: adapted ralph autonomous-loop pattern
|
|
10
|
+
---
|
|
11
|
+
|
|
1
12
|
# Merlin Loop
|
|
2
13
|
|
|
3
14
|
**Autonomous AI Development Orchestrator**
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
provenance:
|
|
3
|
+
upstream: gsd-build/get-shit-done
|
|
4
|
+
upstream_path: skills/SKILLS-INDEX.md
|
|
5
|
+
upstream_commit: 9045c81
|
|
6
|
+
license: MIT
|
|
7
|
+
license_verification: confirmed
|
|
8
|
+
adapted: "2026-03-14"
|
|
9
|
+
changes: adapted from GSD skill pattern
|
|
10
|
+
---
|
|
11
|
+
|
|
1
12
|
# Merlin Skills Index
|
|
2
13
|
|
|
3
14
|
When planning or executing a task, search this index to find relevant skills to load.
|
|
@@ -31,7 +42,11 @@ Skills are prompt injections that enhance your capabilities for specific domains
|
|
|
31
42
|
- `devops/docker-containers` — Dockerfiles, multi-stage builds, docker-compose, minimal images — [docker, containers, devops]
|
|
32
43
|
- `devops/ci-cd` — GitHub Actions, CI pipelines, automated testing and deployment — [ci, cd, github-actions, deployment]
|
|
33
44
|
|
|
34
|
-
## Design
|
|
45
|
+
## Design (Priority — load FIRST for any design/UI work)
|
|
46
|
+
- `design/impeccable` — Comprehensive design language: typography, color (OKLCH), spatial, motion, interaction, responsive, UX writing — [design, ui, typography, color, spacing, motion, accessibility, oklch] **[priority]**
|
|
47
|
+
· Triggers: redesign, "make it pretty", typography, spacing, color system, accessibility, responsive, dark mode, design review, UX writing
|
|
48
|
+
- `design/emil-design-eng` — Animation craft & UI polish from Emil Kowalski: easing, gestures, transforms, performance — [animation, polish, micro-interactions, easing, gestures] **[priority]**
|
|
49
|
+
· Triggers: animate, feels stiff, add motion, polish, micro-interactions, easing, transitions, 60fps
|
|
35
50
|
- `design/animation` — Smooth animations with Framer Motion, GSAP, CSS transitions — [animation, framer-motion, gsap, motion]
|
|
36
51
|
|
|
37
52
|
## Research
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0",
|
|
3
|
+
"default_agent": "implementation-dev",
|
|
4
|
+
"default_threshold": 25,
|
|
5
|
+
"skills": [
|
|
6
|
+
{
|
|
7
|
+
"id": "design/impeccable",
|
|
8
|
+
"path": "~/.claude/skills/impeccable/SKILL.md",
|
|
9
|
+
"triggers": [
|
|
10
|
+
"redesign", "make it pretty", "looks ugly", "make it beautiful", "the ui is bad",
|
|
11
|
+
"typography", "fonts", "font pairing", "font", "spacing", "alignment", "grid", "rhythm",
|
|
12
|
+
"color system", "oklch", "palette", "contrast", "design audit", "design review",
|
|
13
|
+
"design critique", "responsive design", "mobile broken", "container queries",
|
|
14
|
+
"fluid design", "dark mode", "light mode", "theme switching", "match stripe",
|
|
15
|
+
"match linear", "match vercel", "design quality", "design system", "loading state",
|
|
16
|
+
"empty state", "error state", "form polish", "ux writing", "labels", "error messages",
|
|
17
|
+
"copy", "looks bad", "ugly", "beautiful", "pretty", "visual", "visuals", "ui design",
|
|
18
|
+
"ui polish", "ui/ux", "ux design"
|
|
19
|
+
],
|
|
20
|
+
"agent": "ui-builder",
|
|
21
|
+
"intent": "design",
|
|
22
|
+
"weight": 1.0,
|
|
23
|
+
"bundles_with": ["design/emil-design-eng"]
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"id": "design/emil-design-eng",
|
|
27
|
+
"path": "~/.claude/skills/emil-design-eng/SKILL.md",
|
|
28
|
+
"triggers": [
|
|
29
|
+
"animate", "animation", "feels stiff", "add motion", "smoother", "polish",
|
|
30
|
+
"micro-interactions", "feels cheap", "easing", "transitions", "transitions are bad",
|
|
31
|
+
"gestures", "60fps", "premium feel", "make it feel premium", "stiff", "motion",
|
|
32
|
+
"micro-interaction", "microinteraction", "feel premium", "feel cheap"
|
|
33
|
+
],
|
|
34
|
+
"agent": "animation-expert",
|
|
35
|
+
"intent": "animation-polish",
|
|
36
|
+
"weight": 1.0,
|
|
37
|
+
"bundles_with": ["design/impeccable"]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "design/animation",
|
|
41
|
+
"path": "design/animation",
|
|
42
|
+
"triggers": [
|
|
43
|
+
"framer-motion", "framer motion", "gsap", "scroll trigger", "spring animation",
|
|
44
|
+
"enter exit animation", "lottie", "rive", "animejs", "anime.js"
|
|
45
|
+
],
|
|
46
|
+
"agent": "animation-expert",
|
|
47
|
+
"intent": "animation",
|
|
48
|
+
"weight": 0.8
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "coding/react-patterns",
|
|
52
|
+
"path": "coding/react-patterns",
|
|
53
|
+
"triggers": [
|
|
54
|
+
"react", "react component", "jsx", "tsx", "usestate", "useeffect", "usecallback",
|
|
55
|
+
"usememo", "hook", "custom hook", "server component", "client component", "next.js",
|
|
56
|
+
"nextjs", "remix", "vite", "react hook", "react hooks", "use client", "use server"
|
|
57
|
+
],
|
|
58
|
+
"agent": "merlin-frontend",
|
|
59
|
+
"intent": "react",
|
|
60
|
+
"weight": 1.0
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "coding/security-hardening",
|
|
64
|
+
"path": "coding/security-hardening",
|
|
65
|
+
"triggers": [
|
|
66
|
+
"auth", "authentication", "authorization", "oauth", "jwt", "owasp", "csrf", "xss",
|
|
67
|
+
"sql injection", "sqli", "input validation", "sanitize", "session", "rate limit",
|
|
68
|
+
"secret", "credentials", "harden", "security audit", "vulnerability", "exploit",
|
|
69
|
+
"security", "secure", "hardening", "security check", "security review", "pen test",
|
|
70
|
+
"penetration test"
|
|
71
|
+
],
|
|
72
|
+
"agent": "hardening-guard",
|
|
73
|
+
"intent": "security",
|
|
74
|
+
"weight": 1.2,
|
|
75
|
+
"bundles_with": ["testing/tdd-workflow"]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "coding/api-design",
|
|
79
|
+
"path": "coding/api-design",
|
|
80
|
+
"triggers": [
|
|
81
|
+
"api design", "rest api", "restful", "endpoint design", "openapi", "swagger",
|
|
82
|
+
"graphql schema", "graphql", "pagination", "api versioning", "express route",
|
|
83
|
+
"hono", "fastapi", "api endpoint", "trpc", "grpc"
|
|
84
|
+
],
|
|
85
|
+
"agent": "merlin-api-designer",
|
|
86
|
+
"intent": "api",
|
|
87
|
+
"weight": 1.0
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "coding/performance",
|
|
91
|
+
"path": "coding/performance",
|
|
92
|
+
"triggers": [
|
|
93
|
+
"performance", "slow", "core web vitals", "lcp", "fid", "cls", "bundle size",
|
|
94
|
+
"lazy load", "code split", "lighthouse", "memory leak", "cpu", "optimize",
|
|
95
|
+
"optimization", "fast", "faster", "speed", "perf", "web vitals", "ttfb", "inp"
|
|
96
|
+
],
|
|
97
|
+
"agent": "merlin-performance",
|
|
98
|
+
"intent": "performance",
|
|
99
|
+
"weight": 1.0
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"id": "coding/accessibility",
|
|
103
|
+
"path": "coding/accessibility",
|
|
104
|
+
"triggers": [
|
|
105
|
+
"a11y", "accessibility", "wcag", "wcag compliance", "aria", "screen reader",
|
|
106
|
+
"keyboard navigation", "keyboard nav", "focus management", "alt text",
|
|
107
|
+
"contrast ratio", "accessible", "accessibility fixes", "accessibility audit",
|
|
108
|
+
"voiceover", "nvda", "jaws", "accessibility check"
|
|
109
|
+
],
|
|
110
|
+
"agent": "hardening-guard",
|
|
111
|
+
"intent": "a11y",
|
|
112
|
+
"weight": 1.1,
|
|
113
|
+
"bundles_with": ["design/impeccable"]
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": "coding/debug-mode",
|
|
117
|
+
"path": "coding/debug-mode",
|
|
118
|
+
"triggers": [
|
|
119
|
+
"bug", "crash", "error", "stack trace", "broken deploy", "broken build",
|
|
120
|
+
"not working", "fails", "exception", "investigate", "debug", "troubleshoot",
|
|
121
|
+
"reproduce", "debugging", "null pointer", "undefined", "type error", "runtime error"
|
|
122
|
+
],
|
|
123
|
+
"agent": "merlin-debugger",
|
|
124
|
+
"intent": "debug",
|
|
125
|
+
"weight": 1.1
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"id": "coding/verify",
|
|
129
|
+
"path": "coding/verify",
|
|
130
|
+
"triggers": [
|
|
131
|
+
"verify", "validate", "check if it works", "confirm", "smoke test", "qa",
|
|
132
|
+
"verification", "validation", "sanity check"
|
|
133
|
+
],
|
|
134
|
+
"agent": "merlin-work-verifier",
|
|
135
|
+
"intent": "verify",
|
|
136
|
+
"weight": 0.9
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"id": "testing/tdd-workflow",
|
|
140
|
+
"path": "testing/tdd-workflow",
|
|
141
|
+
"triggers": [
|
|
142
|
+
"test", "tests", "unit test", "tdd", "tdd workflow", "red green refactor",
|
|
143
|
+
"jest", "vitest", "pytest", "rspec", "test coverage", "write tests", "testing",
|
|
144
|
+
"test suite", "integration test", "e2e test", "end to end", "playwright",
|
|
145
|
+
"cypress", "mocha"
|
|
146
|
+
],
|
|
147
|
+
"agent": "tests-qa",
|
|
148
|
+
"intent": "testing",
|
|
149
|
+
"weight": 1.1
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"id": "devops/docker-containers",
|
|
153
|
+
"path": "devops/docker-containers",
|
|
154
|
+
"triggers": [
|
|
155
|
+
"docker", "dockerfile", "container", "docker-compose", "multi-stage build",
|
|
156
|
+
"multi-stage", "containerize", "kubernetes", "k8s", "helm", "docker image",
|
|
157
|
+
"container build", "docker build"
|
|
158
|
+
],
|
|
159
|
+
"agent": "ops-railway",
|
|
160
|
+
"intent": "docker",
|
|
161
|
+
"weight": 1.1
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"id": "automation/payments",
|
|
165
|
+
"path": "automation/payments",
|
|
166
|
+
"triggers": [
|
|
167
|
+
"stripe", "payment", "checkout", "subscription", "invoice", "billing",
|
|
168
|
+
"payment provider", "paddle", "lemonsqueezy", "lemon squeezy", "payments",
|
|
169
|
+
"payment integration", "subscription billing"
|
|
170
|
+
],
|
|
171
|
+
"agent": "implementation-dev",
|
|
172
|
+
"intent": "payments",
|
|
173
|
+
"weight": 1.0
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"id": "automation/webhooks",
|
|
177
|
+
"path": "automation/webhooks",
|
|
178
|
+
"triggers": [
|
|
179
|
+
"webhook", "webhooks", "http callback", "event delivery", "signature verification",
|
|
180
|
+
"payload", "webhook handler", "webhook endpoint"
|
|
181
|
+
],
|
|
182
|
+
"agent": "implementation-dev",
|
|
183
|
+
"intent": "webhooks",
|
|
184
|
+
"weight": 0.9
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"id": "communication/email-gmail",
|
|
188
|
+
"path": "communication/email-gmail",
|
|
189
|
+
"triggers": [
|
|
190
|
+
"gmail", "email send", "email read", "email draft", "gmail api", "mailbox",
|
|
191
|
+
"send email", "email automation", "email"
|
|
192
|
+
],
|
|
193
|
+
"agent": "implementation-dev",
|
|
194
|
+
"intent": "email",
|
|
195
|
+
"weight": 0.9
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"id": "communication/whatsapp",
|
|
199
|
+
"path": "communication/whatsapp",
|
|
200
|
+
"triggers": [
|
|
201
|
+
"whatsapp", "whatsapp business", "wa api", "whatsapp bot", "whatsapp api",
|
|
202
|
+
"whatsapp integration"
|
|
203
|
+
],
|
|
204
|
+
"agent": "implementation-dev",
|
|
205
|
+
"intent": "whatsapp",
|
|
206
|
+
"weight": 0.9
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"id": "communication/telegram",
|
|
210
|
+
"path": "communication/telegram",
|
|
211
|
+
"triggers": [
|
|
212
|
+
"telegram", "telegram bot", "bot api", "tg bot", "telegram api",
|
|
213
|
+
"telegram integration"
|
|
214
|
+
],
|
|
215
|
+
"agent": "implementation-dev",
|
|
216
|
+
"intent": "telegram",
|
|
217
|
+
"weight": 0.9
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"id": "data/google-sheets",
|
|
221
|
+
"path": "data/google-sheets",
|
|
222
|
+
"triggers": [
|
|
223
|
+
"google sheets", "spreadsheet", "sheets api", "sheets formula", "sheet automation",
|
|
224
|
+
"google sheet", "gsheets"
|
|
225
|
+
],
|
|
226
|
+
"agent": "implementation-dev",
|
|
227
|
+
"intent": "sheets",
|
|
228
|
+
"weight": 0.9
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"id": "research/brainstorm",
|
|
232
|
+
"path": "research/brainstorm",
|
|
233
|
+
"triggers": [
|
|
234
|
+
"brainstorm", "ideate", "explore ideas", "what if", "options", "approaches",
|
|
235
|
+
"brainstorming", "ideas", "explore options"
|
|
236
|
+
],
|
|
237
|
+
"agent": "merlin-researcher",
|
|
238
|
+
"intent": "brainstorm",
|
|
239
|
+
"weight": 0.8
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"id": "coding/focus-mode",
|
|
243
|
+
"path": "coding/focus-mode",
|
|
244
|
+
"triggers": [
|
|
245
|
+
"focus mode", "deep work", "no distractions", "focused", "concentrate"
|
|
246
|
+
],
|
|
247
|
+
"agent": "implementation-dev",
|
|
248
|
+
"intent": "focus",
|
|
249
|
+
"weight": 0.7
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"id": "coding/loop",
|
|
253
|
+
"path": "coding/loop",
|
|
254
|
+
"triggers": [
|
|
255
|
+
"loop", "autonomous", "auto mode", "keep going", "run continuously"
|
|
256
|
+
],
|
|
257
|
+
"agent": "implementation-dev",
|
|
258
|
+
"intent": "loop",
|
|
259
|
+
"weight": 0.7
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"id": "communication/dispatcher",
|
|
263
|
+
"path": "communication/dispatcher",
|
|
264
|
+
"triggers": [
|
|
265
|
+
"dispatch", "notify", "send notification", "alert", "message"
|
|
266
|
+
],
|
|
267
|
+
"agent": "implementation-dev",
|
|
268
|
+
"intent": "dispatch",
|
|
269
|
+
"weight": 0.7
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"id": "docs-keeper",
|
|
273
|
+
"path": "docs-keeper",
|
|
274
|
+
"triggers": [
|
|
275
|
+
"documentation", "docs", "readme", "jsdoc", "typedoc", "document", "api docs"
|
|
276
|
+
],
|
|
277
|
+
"agent": "docs-keeper",
|
|
278
|
+
"intent": "docs",
|
|
279
|
+
"weight": 0.8
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"id": "hardening-guard",
|
|
283
|
+
"path": "hardening-guard",
|
|
284
|
+
"triggers": [
|
|
285
|
+
"harden", "secure", "lock down", "production ready", "security hardening"
|
|
286
|
+
],
|
|
287
|
+
"agent": "hardening-guard",
|
|
288
|
+
"intent": "hardening",
|
|
289
|
+
"weight": 0.9
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"id": "code-organization-supervisor",
|
|
293
|
+
"path": "code-organization-supervisor",
|
|
294
|
+
"triggers": [
|
|
295
|
+
"organize code", "code organization", "file structure", "folder structure",
|
|
296
|
+
"project structure", "refactor structure"
|
|
297
|
+
],
|
|
298
|
+
"agent": "code-organization-supervisor",
|
|
299
|
+
"intent": "organization",
|
|
300
|
+
"weight": 0.8
|
|
301
|
+
}
|
|
302
|
+
],
|
|
303
|
+
"intent_overrides": {
|
|
304
|
+
"auth_security_combo": {
|
|
305
|
+
"match_all": ["auth", "production"],
|
|
306
|
+
"skills": ["coding/security-hardening", "testing/tdd-workflow"],
|
|
307
|
+
"agent": "hardening-guard"
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|