erne-universal 0.12.3 → 0.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +2 -2
- package/commands/erne-debug-video.md +79 -0
- package/docs/commands.md +2 -0
- package/package.json +1 -1
- package/scripts/validate-all.js +1 -1
package/CLAUDE.md
CHANGED
|
@@ -143,7 +143,7 @@ When a user's message matches these signals, automatically use the corresponding
|
|
|
143
143
|
|
|
144
144
|
## Available Commands
|
|
145
145
|
|
|
146
|
-
Use `/erne-plan`, `/erne-code-review`, `/erne-tdd`, `/erne-build-fix`, `/erne-perf`, `/erne-upgrade`, `/erne-native-module`, `/erne-navigate`, `/erne-animate`, `/erne-deploy`, `/erne-component`, `/erne-debug`, `/erne-debug-visual`, `/erne-audit`, `/erne-quality-gate`, `/erne-code`, `/erne-feature`, `/erne-learn`, `/erne-retrospective`, `/erne-setup-device`, `/erne-hig` for guided workflows.
|
|
146
|
+
Use `/erne-plan`, `/erne-code-review`, `/erne-tdd`, `/erne-build-fix`, `/erne-perf`, `/erne-upgrade`, `/erne-native-module`, `/erne-navigate`, `/erne-animate`, `/erne-deploy`, `/erne-component`, `/erne-debug`, `/erne-debug-visual`, `/erne-debug-video`, `/erne-audit`, `/erne-quality-gate`, `/erne-code`, `/erne-feature`, `/erne-learn`, `/erne-retrospective`, `/erne-setup-device`, `/erne-hig` for guided workflows.
|
|
147
147
|
|
|
148
148
|
## Worker Mode (Autonomous Ticket Execution)
|
|
149
149
|
|
|
@@ -224,7 +224,7 @@ Skills in `skills/` activate automatically:
|
|
|
224
224
|
|
|
225
225
|
## Available Commands
|
|
226
226
|
|
|
227
|
-
/erne-plan, /erne-code-review, /erne-tdd, /erne-build-fix, /erne-perf, /erne-upgrade, /erne-native-module, /erne-debug, /erne-debug-visual, /erne-deploy,
|
|
227
|
+
/erne-plan, /erne-code-review, /erne-tdd, /erne-build-fix, /erne-perf, /erne-upgrade, /erne-native-module, /erne-debug, /erne-debug-visual, /erne-debug-video, /erne-deploy,
|
|
228
228
|
/erne-component, /erne-navigate, /erne-animate, /erne-orchestrate, /erne-quality-gate, /erne-code, /erne-feature, /erne-worker, /erne-audit, /erne-learn, /erne-retrospective, /erne-setup-device, /erne-hig
|
|
229
229
|
|
|
230
230
|
## Dashboard
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: erne-debug-video
|
|
3
|
+
description: ERNE — Video-based visual debugging using frame extraction and temporal analysis
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /erne-debug-video — Video Debugging
|
|
7
|
+
|
|
8
|
+
You are executing the `/erne-debug-video` command. Analyze screen recordings to detect animation glitches, race conditions, gesture issues, scroll jank, keyboard overlap, and navigation transitions that screenshots cannot capture.
|
|
9
|
+
|
|
10
|
+
## Arguments
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/debug-video <file> — analyze a screen recording (.mp4, .mov, .webm)
|
|
14
|
+
/debug-video <file> --focus <area> — focus analysis on a specific UI area or interaction
|
|
15
|
+
/debug-video <file> --fps — include frame rate analysis for animation smoothness
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Process
|
|
19
|
+
|
|
20
|
+
### Step 1: Extract Key Frames
|
|
21
|
+
1. Use the `extract-video-frames.js` script to extract frames at key moments
|
|
22
|
+
2. Focus on: transition starts/ends, gesture interactions, state changes, animation keyframes
|
|
23
|
+
3. Extract at higher density during rapid visual changes
|
|
24
|
+
|
|
25
|
+
### Step 2: Temporal Analysis
|
|
26
|
+
1. Apply multimodal vision to extracted frames in sequence
|
|
27
|
+
2. Identify temporal issues across the recording timeline:
|
|
28
|
+
|
|
29
|
+
| Category | Examples |
|
|
30
|
+
|----------|---------|
|
|
31
|
+
| **Animation** | jank, stutter, dropped frames, wrong easing |
|
|
32
|
+
| **Gesture** | unresponsive touch, wrong drag behavior, gesture conflict |
|
|
33
|
+
| **Transition** | flash of wrong content, layout shift, z-order issues |
|
|
34
|
+
| **Race Condition** | loading state flicker, stale data flash, double render |
|
|
35
|
+
| **Keyboard** | content overlap, scroll jump, input hidden behind keyboard |
|
|
36
|
+
| **Scroll** | jank, blank areas, recycling artifacts, momentum issues |
|
|
37
|
+
|
|
38
|
+
Severity: `critical` · `major` · `minor`
|
|
39
|
+
|
|
40
|
+
### Step 3: Root Cause Analysis
|
|
41
|
+
1. Read the relevant component and animation source files
|
|
42
|
+
2. Correlate visual issues with code patterns
|
|
43
|
+
3. Present findings with frame-by-frame evidence
|
|
44
|
+
|
|
45
|
+
### Step 4: Interactive Fix
|
|
46
|
+
1. User picks issue numbers to fix
|
|
47
|
+
2. Apply the fix (minimal change, match project style)
|
|
48
|
+
3. If possible, re-record and compare before/after
|
|
49
|
+
4. Ask: "Does this look correct? Any remaining issues?"
|
|
50
|
+
|
|
51
|
+
### Step 5: Summary
|
|
52
|
+
- Issues detected (count by severity and category)
|
|
53
|
+
- Frame evidence for each issue (timestamps + descriptions)
|
|
54
|
+
- Fixes applied with code diffs
|
|
55
|
+
- Remaining issues (if any deferred by user)
|
|
56
|
+
- Save findings to memory for future reference
|
|
57
|
+
|
|
58
|
+
## Output
|
|
59
|
+
```
|
|
60
|
+
## Video Debug Report
|
|
61
|
+
|
|
62
|
+
### Recording
|
|
63
|
+
[File path, duration, resolution]
|
|
64
|
+
|
|
65
|
+
### Issues Found
|
|
66
|
+
1. [Category · Severity] Description
|
|
67
|
+
Frame evidence: [timestamp] → [timestamp]
|
|
68
|
+
2. [Category · Severity] Description
|
|
69
|
+
Frame evidence: [timestamp] → [timestamp]
|
|
70
|
+
...
|
|
71
|
+
|
|
72
|
+
### Fixes Applied
|
|
73
|
+
**Issue 1** — [ComponentName.tsx]
|
|
74
|
+
Root cause: [brief description]
|
|
75
|
+
Fix: [brief description]
|
|
76
|
+
|
|
77
|
+
### Remaining Issues
|
|
78
|
+
[None | list of deferred items]
|
|
79
|
+
```
|
package/docs/commands.md
CHANGED
|
@@ -25,6 +25,8 @@ Commands are slash-prefixed actions that orchestrate agents for specific tasks.
|
|
|
25
25
|
| `/erne-deploy` | Validate and submit | expo-config-resolver + code-reviewer |
|
|
26
26
|
| `/erne-component` | Design + test component | ui-designer + tdd-guide |
|
|
27
27
|
| `/erne-debug` | Systematic diagnosis | performance-profiler |
|
|
28
|
+
| `/erne-debug-visual` | Screenshot-based visual debugging | visual-debugger |
|
|
29
|
+
| `/erne-debug-video` | Video-based temporal analysis | visual-debugger (frame extraction) |
|
|
28
30
|
| `/erne-quality-gate` | Pre-merge checks | code-reviewer + performance-profiler |
|
|
29
31
|
| `/erne-orchestrate` | Run multi-agent pipeline | pipeline-orchestrator |
|
|
30
32
|
| `/erne-hig` | Apple HIG design intelligence | ui-designer (HIG rules) |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "erne-universal",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.4",
|
|
4
4
|
"description": "Complete AI coding agent harness for React Native and Expo \u2014 13 specialized agents, autonomous worker mode, visual debugging, smart routing",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
package/scripts/validate-all.js
CHANGED
|
@@ -76,7 +76,7 @@ for (const f of agentFiles) {
|
|
|
76
76
|
|
|
77
77
|
// Commands
|
|
78
78
|
console.log(' Commands:');
|
|
79
|
-
validateCount('commands', '.md',
|
|
79
|
+
validateCount('commands', '.md', 23, 'commands/'); // 23 command files
|
|
80
80
|
const cmdFiles = fs.readdirSync('commands').filter((f) => f.endsWith('.md'));
|
|
81
81
|
for (const f of cmdFiles) {
|
|
82
82
|
validateFrontmatter(path.join('commands', f), ['name', 'description']);
|