@rune-kit/rune 2.1.1 → 2.2.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 +40 -34
- package/compiler/__tests__/pack-split.test.js +145 -0
- package/compiler/adapters/antigravity.js +1 -1
- package/compiler/adapters/codex.js +77 -0
- package/compiler/adapters/cursor.js +1 -1
- package/compiler/adapters/generic.js +1 -1
- package/compiler/adapters/index.js +4 -0
- package/compiler/adapters/opencode.js +86 -0
- package/compiler/adapters/windsurf.js +1 -1
- package/compiler/bin/rune.js +10 -7
- package/compiler/doctor.js +42 -0
- package/compiler/emitter.js +64 -10
- package/compiler/parser.js +42 -3
- package/compiler/transformer.js +10 -6
- package/compiler/transforms/branding.js +1 -1
- package/compiler/transforms/compliance.js +40 -0
- package/extensions/ai-ml/PACK.md +38 -474
- package/extensions/ai-ml/skills/ai-agents.md +172 -0
- package/extensions/ai-ml/skills/code-sandbox.md +187 -0
- package/extensions/ai-ml/skills/deep-research.md +146 -0
- package/extensions/ai-ml/skills/embedding-search.md +66 -0
- package/extensions/ai-ml/skills/fine-tuning-guide.md +74 -0
- package/extensions/ai-ml/skills/llm-architect.md +125 -0
- package/extensions/ai-ml/skills/llm-integration.md +64 -0
- package/extensions/ai-ml/skills/prompt-patterns.md +72 -0
- package/extensions/ai-ml/skills/rag-patterns.md +66 -0
- package/extensions/ai-ml/skills/web-extraction.md +114 -0
- package/extensions/analytics/PACK.md +19 -484
- package/extensions/analytics/skills/ab-testing.md +72 -0
- package/extensions/analytics/skills/dashboard-patterns.md +83 -0
- package/extensions/analytics/skills/data-validation.md +68 -0
- package/extensions/analytics/skills/funnel-analysis.md +81 -0
- package/extensions/analytics/skills/sql-patterns.md +57 -0
- package/extensions/analytics/skills/statistical-analysis.md +79 -0
- package/extensions/analytics/skills/tracking-setup.md +71 -0
- package/extensions/backend/PACK.md +44 -618
- package/extensions/backend/skills/api-patterns.md +84 -0
- package/extensions/backend/skills/async-pipeline.md +193 -0
- package/extensions/backend/skills/auth-patterns.md +97 -0
- package/extensions/backend/skills/background-jobs.md +133 -0
- package/extensions/backend/skills/caching-patterns.md +108 -0
- package/extensions/backend/skills/cli-generation.md +133 -0
- package/extensions/backend/skills/database-patterns.md +87 -0
- package/extensions/backend/skills/middleware-patterns.md +104 -0
- package/extensions/chrome-ext/PACK.md +19 -921
- package/extensions/chrome-ext/skills/cws-preflight.md +143 -0
- package/extensions/chrome-ext/skills/cws-publish.md +104 -0
- package/extensions/chrome-ext/skills/ext-ai-integration.md +251 -0
- package/extensions/chrome-ext/skills/ext-messaging.md +139 -0
- package/extensions/chrome-ext/skills/ext-storage.md +133 -0
- package/extensions/chrome-ext/skills/mv3-scaffold.md +164 -0
- package/extensions/content/PACK.md +43 -335
- package/extensions/content/skills/blog-patterns.md +88 -0
- package/extensions/content/skills/cms-integration.md +131 -0
- package/extensions/content/skills/content-scoring.md +107 -0
- package/extensions/content/skills/i18n.md +83 -0
- package/extensions/content/skills/mdx-authoring.md +137 -0
- package/extensions/content/skills/reference.md +1014 -0
- package/extensions/content/skills/seo-patterns.md +67 -0
- package/extensions/content/skills/video-repurpose.md +153 -0
- package/extensions/devops/PACK.md +38 -457
- package/extensions/devops/skills/chaos-testing.md +67 -0
- package/extensions/devops/skills/ci-cd.md +75 -0
- package/extensions/devops/skills/docker.md +58 -0
- package/extensions/devops/skills/edge-serverless.md +163 -0
- package/extensions/devops/skills/infra-as-code.md +158 -0
- package/extensions/devops/skills/kubernetes.md +110 -0
- package/extensions/devops/skills/monitoring.md +57 -0
- package/extensions/devops/skills/server-setup.md +64 -0
- package/extensions/devops/skills/ssl-domain.md +42 -0
- package/extensions/ecommerce/PACK.md +62 -226
- package/extensions/ecommerce/skills/cart-system.md +79 -0
- package/extensions/ecommerce/skills/inventory-mgmt.md +102 -0
- package/extensions/ecommerce/skills/order-management.md +126 -0
- package/extensions/ecommerce/skills/payment-integration.md +472 -0
- package/extensions/ecommerce/skills/shopify-dev.md +69 -0
- package/extensions/ecommerce/skills/subscription-billing.md +93 -0
- package/extensions/ecommerce/skills/tax-compliance.md +117 -0
- package/extensions/gamedev/PACK.md +66 -317
- package/extensions/gamedev/skills/asset-pipeline.md +74 -0
- package/extensions/gamedev/skills/audio-system.md +129 -0
- package/extensions/gamedev/skills/camera-system.md +87 -0
- package/extensions/gamedev/skills/ecs.md +98 -0
- package/extensions/gamedev/skills/game-loops.md +72 -0
- package/extensions/gamedev/skills/input-system.md +199 -0
- package/extensions/gamedev/skills/multiplayer.md +180 -0
- package/extensions/gamedev/skills/particles.md +105 -0
- package/extensions/gamedev/skills/physics-engine.md +89 -0
- package/extensions/gamedev/skills/scene-management.md +146 -0
- package/extensions/gamedev/skills/threejs-patterns.md +90 -0
- package/extensions/gamedev/skills/webgl.md +71 -0
- package/extensions/mobile/PACK.md +56 -223
- package/extensions/mobile/skills/app-store-connect.md +152 -0
- package/extensions/mobile/skills/app-store-prep.md +66 -0
- package/extensions/mobile/skills/deep-linking.md +109 -0
- package/extensions/mobile/skills/flutter.md +60 -0
- package/extensions/mobile/skills/ios-build-pipeline.md +142 -0
- package/extensions/mobile/skills/native-bridge.md +66 -0
- package/extensions/mobile/skills/ota-updates.md +97 -0
- package/extensions/mobile/skills/push-notifications.md +111 -0
- package/extensions/mobile/skills/react-native.md +82 -0
- package/extensions/saas/PACK.md +26 -720
- package/extensions/saas/skills/billing-integration.md +121 -0
- package/extensions/saas/skills/feature-flags.md +130 -0
- package/extensions/saas/skills/multi-tenant.md +103 -0
- package/extensions/saas/skills/onboarding-flow.md +139 -0
- package/extensions/saas/skills/subscription-flow.md +95 -0
- package/extensions/saas/skills/team-management.md +144 -0
- package/extensions/security/PACK.md +10 -448
- package/extensions/security/skills/api-security.md +140 -0
- package/extensions/security/skills/compliance.md +68 -0
- package/extensions/security/skills/owasp-audit.md +64 -0
- package/extensions/security/skills/pentest-patterns.md +77 -0
- package/extensions/security/skills/secret-mgmt.md +65 -0
- package/extensions/security/skills/supply-chain.md +65 -0
- package/extensions/trading/PACK.md +18 -535
- package/extensions/trading/skills/chart-components.md +55 -0
- package/extensions/trading/skills/experiment-loop.md +125 -0
- package/extensions/trading/skills/fintech-patterns.md +47 -0
- package/extensions/trading/skills/indicator-library.md +58 -0
- package/extensions/trading/skills/quant-analysis.md +111 -0
- package/extensions/trading/skills/realtime-data.md +58 -0
- package/extensions/trading/skills/trade-logic.md +104 -0
- package/extensions/ui/PACK.md +34 -853
- package/extensions/ui/skills/a11y-audit.md +91 -0
- package/extensions/ui/skills/animation-patterns.md +106 -0
- package/extensions/ui/skills/component-patterns.md +75 -0
- package/extensions/ui/skills/design-decision.md +98 -0
- package/extensions/ui/skills/design-system.md +68 -0
- package/extensions/ui/skills/landing-patterns.md +155 -0
- package/extensions/ui/skills/palette-picker.md +162 -0
- package/extensions/ui/skills/react-health.md +90 -0
- package/extensions/ui/skills/type-system.md +125 -0
- package/extensions/ui/skills/web-vitals.md +153 -0
- package/extensions/zalo/PACK.md +117 -0
- package/extensions/zalo/skills/zalo-oa-mcp.md +317 -0
- package/extensions/zalo/skills/zalo-oa-messaging.md +429 -0
- package/extensions/zalo/skills/zalo-oa-setup.md +236 -0
- package/extensions/zalo/skills/zalo-oa-webhook.md +189 -0
- package/extensions/zalo/skills/zalo-personal-messaging.md +194 -0
- package/extensions/zalo/skills/zalo-personal-setup.md +153 -0
- package/extensions/zalo/skills/zalo-rate-guard.md +219 -0
- package/package.json +5 -2
- package/skills/brainstorm/SKILL.md +63 -1
- package/skills/cook/SKILL.md +89 -6
- package/skills/debug/SKILL.md +5 -0
- package/skills/fix/SKILL.md +5 -0
- package/skills/mcp-builder/SKILL.md +48 -1
- package/skills/neural-memory/SKILL.md +362 -0
- package/skills/plan/SKILL.md +3 -0
- package/skills/rescue/SKILL.md +5 -0
- package/skills/review/SKILL.md +44 -5
- package/skills/review-intake/SKILL.md +17 -1
- package/skills/skill-router/SKILL.md +106 -8
- package/skills/team/SKILL.md +24 -1
- package/skills/test/SKILL.md +18 -0
- package/skills/verification/SKILL.md +40 -1
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: neural-memory
|
|
3
|
+
description: "Cross-session cognitive persistence via Neural Memory MCP. Captures decisions, patterns, errors, and insights with rich semantic links. Provides recall, hypothesis tracking, and evidence-based reasoning across projects."
|
|
4
|
+
metadata:
|
|
5
|
+
author: rune-kit
|
|
6
|
+
version: 0.1.0
|
|
7
|
+
layer: L3
|
|
8
|
+
model: haiku
|
|
9
|
+
group: state
|
|
10
|
+
tools:
|
|
11
|
+
- mcp__neural-memory__nmem_remember
|
|
12
|
+
- mcp__neural-memory__nmem_recall
|
|
13
|
+
- mcp__neural-memory__nmem_auto
|
|
14
|
+
- mcp__neural-memory__nmem_hypothesize
|
|
15
|
+
- mcp__neural-memory__nmem_evidence
|
|
16
|
+
- mcp__neural-memory__nmem_predict
|
|
17
|
+
- mcp__neural-memory__nmem_verify
|
|
18
|
+
- mcp__neural-memory__nmem_edit
|
|
19
|
+
- mcp__neural-memory__nmem_forget
|
|
20
|
+
- mcp__neural-memory__nmem_health
|
|
21
|
+
- mcp__neural-memory__nmem_consolidate
|
|
22
|
+
- mcp__neural-memory__nmem_explain
|
|
23
|
+
- mcp__neural-memory__nmem_gaps
|
|
24
|
+
- mcp__neural-memory__nmem_stats
|
|
25
|
+
- mcp__neural-memory__nmem_review
|
|
26
|
+
- mcp__neural-memory__nmem_cognitive
|
|
27
|
+
- Read
|
|
28
|
+
- Grep
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# neural-memory
|
|
32
|
+
|
|
33
|
+
## Purpose
|
|
34
|
+
|
|
35
|
+
Bridges Rune's file-based persistence (session-bridge, journal) with Neural Memory MCP's semantic graph. While session-bridge saves decisions to `.rune/` files and journal tracks ADRs locally, neural-memory captures **cross-project learnable patterns** — decisions, error root causes, architectural insights, and workflow preferences — into a persistent cognitive layer that compounds across every project and session.
|
|
36
|
+
|
|
37
|
+
Without this skill, each project is an island. With it, a caching pattern discovered in Project A auto-surfaces when Project B faces a similar problem.
|
|
38
|
+
|
|
39
|
+
## Triggers
|
|
40
|
+
|
|
41
|
+
**Auto-trigger:**
|
|
42
|
+
- Session start → Run **Recall Mode** (load relevant context before any work)
|
|
43
|
+
- After `cook` completes a feature → Run **Capture Mode** (save learnings)
|
|
44
|
+
- After `debug` finds root cause → Run **Capture Mode** (save error pattern)
|
|
45
|
+
- After `review` finds issues → Run **Capture Mode** (save code quality insight)
|
|
46
|
+
- After `rescue` completes a phase → Run **Capture Mode** (save refactoring pattern)
|
|
47
|
+
- After `journal` writes an ADR → Run **Capture Mode** (extract to nmem)
|
|
48
|
+
- Session end / before compaction → Run **Flush Mode** (capture remaining context)
|
|
49
|
+
|
|
50
|
+
**Manual trigger:**
|
|
51
|
+
- `/rune recall <topic>` — search neural memory for a topic
|
|
52
|
+
- `/rune remember <text>` — save a specific memory
|
|
53
|
+
- `/rune brain-health` — check neural memory health + maintenance
|
|
54
|
+
- `/rune hypothesize <question>` — start hypothesis tracking
|
|
55
|
+
|
|
56
|
+
## Calls (outbound)
|
|
57
|
+
|
|
58
|
+
| Skill | When | Why |
|
|
59
|
+
|-------|------|-----|
|
|
60
|
+
| `session-bridge` | After Capture Mode | Sync key decisions back to `.rune/` files |
|
|
61
|
+
|
|
62
|
+
## Called By (inbound)
|
|
63
|
+
|
|
64
|
+
| Skill | When | Why |
|
|
65
|
+
|-------|------|-----|
|
|
66
|
+
| `cook` | Phase 0 (resume) + Phase 8 (complete) | Recall project context at start, capture learnings at end |
|
|
67
|
+
| `debug` | After root cause found | Capture error pattern for future recognition |
|
|
68
|
+
| `fix` | After fix verified | Capture fix pattern (cause → solution) |
|
|
69
|
+
| `review` | After review complete | Capture code quality insight |
|
|
70
|
+
| `rescue` | Phase start + phase end | Recall past refactoring patterns, capture new ones |
|
|
71
|
+
| `plan` | Before architecture decisions | Recall past decisions on similar problems |
|
|
72
|
+
| `session-bridge` | Step 6 (cross-project extraction) | Extract generalizable patterns to nmem |
|
|
73
|
+
| `journal` | After ADR written | Extract decision + rejected alternatives to nmem |
|
|
74
|
+
| `context-engine` | Before compaction | Trigger Flush Mode to preserve context |
|
|
75
|
+
| `sentinel` | After security finding | Capture vulnerability pattern |
|
|
76
|
+
| `incident` | After resolution | Capture incident root cause + fix |
|
|
77
|
+
|
|
78
|
+
## Modes
|
|
79
|
+
|
|
80
|
+
### Mode 1: Recall (Session Start / Before Decisions)
|
|
81
|
+
|
|
82
|
+
Load relevant context from neural memory before starting work.
|
|
83
|
+
|
|
84
|
+
**Step 1 — Identify Recall Topics**
|
|
85
|
+
Read `.rune/progress.md` and current task context to determine 3-5 diverse recall topics.
|
|
86
|
+
Always prefix queries with the project name to avoid cross-project noise.
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
GOOD: "Rune compiler cross-reference resolution"
|
|
90
|
+
GOOD: "MyTrend PocketBase auth session handling"
|
|
91
|
+
BAD: "cross-reference" (too generic, returns all projects)
|
|
92
|
+
BAD: "auth" (returns noise from every project)
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Step 2 — Execute Recall**
|
|
96
|
+
Call `nmem_recall` for each topic. Use diverse angles:
|
|
97
|
+
- Technology-specific: `"<project> React state management"`
|
|
98
|
+
- Problem-specific: `"<project> caching strategy decision"`
|
|
99
|
+
- Pattern-specific: `"<project> error handling approach"`
|
|
100
|
+
|
|
101
|
+
**Step 3 — Synthesize Context**
|
|
102
|
+
Summarize recalled memories into actionable context:
|
|
103
|
+
- Decisions that apply to current task
|
|
104
|
+
- Patterns that worked (or failed) before
|
|
105
|
+
- Constraints or preferences from past sessions
|
|
106
|
+
- Open hypotheses still being tracked
|
|
107
|
+
|
|
108
|
+
**Step 4 — Surface Gaps**
|
|
109
|
+
If recall returns thin results for the current domain, note the gap.
|
|
110
|
+
Call `nmem_gaps(action="detect")` if working in a domain with sparse memories.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
### Mode 2: Capture (After Task Completion)
|
|
115
|
+
|
|
116
|
+
Extract learnable patterns from completed work and save to neural memory.
|
|
117
|
+
|
|
118
|
+
**Step 1 — Classify What Happened**
|
|
119
|
+
Determine which memory types to create from the completed task:
|
|
120
|
+
|
|
121
|
+
| What happened | Memory type | Priority | Example |
|
|
122
|
+
|---------------|-------------|----------|---------|
|
|
123
|
+
| Chose approach A over B | `decision` | 7 | "Chose Zustand over Redux because single-store simpler for this scale" |
|
|
124
|
+
| Found and fixed a bug | `error` | 7 | "Root cause was stale closure in useEffect — fixed by adding dep array" |
|
|
125
|
+
| Discovered a reusable pattern | `insight` | 6 | "This codebase uses barrel exports for every feature module" |
|
|
126
|
+
| Learned user preference | `preference` | 8 | "User prefers Phosphor Icons over Lucide for all UI work" |
|
|
127
|
+
| Established a workflow | `workflow` | 6 | "Deploy: build → test → push → verify CI → tag" |
|
|
128
|
+
| Found a fact worth keeping | `fact` | 5 | "API rate limit is 100 req/min on free tier" |
|
|
129
|
+
| Received instruction to follow | `instruction` | 8 | "Always run prettier before commit in this project" |
|
|
130
|
+
|
|
131
|
+
**Step 2 — Craft Rich Memories**
|
|
132
|
+
Each memory MUST use cognitive language patterns for strong neural connections:
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
BAD: "PostgreSQL" (flat, no context — orphan neuron)
|
|
136
|
+
GOOD: "Chose PostgreSQL over MongoDB because ACID needed for payment processing"
|
|
137
|
+
|
|
138
|
+
BAD: "Fixed auth bug" (no root cause — useless for future recall)
|
|
139
|
+
GOOD: "Auth cookie expired silently because SameSite=Lax blocked cross-origin. Fixed by setting SameSite=None + Secure flag"
|
|
140
|
+
|
|
141
|
+
BAD: "React project structure" (vague — won't match specific queries)
|
|
142
|
+
GOOD: "Rune compiler uses 3-stage pipeline: Parse SKILL.md → Transform cross-refs → Emit per-platform files"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Cognitive patterns to use:**
|
|
146
|
+
- **Causal**: "X caused Y because Z", "Root cause was X which led to Y"
|
|
147
|
+
- **Temporal**: "After upgrading to v3, the middleware broke because of new cookie format"
|
|
148
|
+
- **Decisional**: "Chose X over Y because Z", "Rejected X due to Y"
|
|
149
|
+
- **Comparative**: "X is 3x faster than Y for read-heavy workloads"
|
|
150
|
+
- **Relational**: "X depends on Y", "X replaced Y", "X connects to Y through Z"
|
|
151
|
+
|
|
152
|
+
**Step 3 — Tag and Prioritize**
|
|
153
|
+
Every memory MUST include:
|
|
154
|
+
- **Tags**: `[project-name, technology, topic]` — lowercase, specific
|
|
155
|
+
- **Priority**: 5 (normal), 7-8 (important decisions/errors), 9-10 (critical security/breaking)
|
|
156
|
+
- **Max length**: 1-3 sentences. If longer, split into focused pieces.
|
|
157
|
+
|
|
158
|
+
**Step 4 — Save Memories**
|
|
159
|
+
Call `nmem_remember` for each memory. Save 2-5 memories per completed task:
|
|
160
|
+
- A bug fix has: root cause, fix approach, prevention insight
|
|
161
|
+
- A feature has: architecture decision, pattern used, trade-off made
|
|
162
|
+
- A review has: quality issue found, fix suggestion, pattern to avoid
|
|
163
|
+
|
|
164
|
+
**Step 5 — Reinforce Connections**
|
|
165
|
+
After saving, call `nmem_recall` on the topic to reinforce new neural connections.
|
|
166
|
+
This activates related neurons and strengthens the memory graph.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
### Mode 3: Hypothesis Tracking
|
|
171
|
+
|
|
172
|
+
Track uncertain decisions with evidence over time.
|
|
173
|
+
|
|
174
|
+
**Step 1 — Form Hypothesis**
|
|
175
|
+
When making an uncertain architectural or design decision:
|
|
176
|
+
```
|
|
177
|
+
nmem_hypothesize("Redis will handle our session load better than Memcached
|
|
178
|
+
because our access pattern is 80% reads with complex data types")
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Step 2 — Collect Evidence**
|
|
182
|
+
As you work, update the hypothesis with evidence:
|
|
183
|
+
```
|
|
184
|
+
nmem_evidence(hypothesis_id, "Redis handled 10K concurrent sessions with
|
|
185
|
+
p99 < 5ms in load test — SUPPORTS hypothesis")
|
|
186
|
+
|
|
187
|
+
nmem_evidence(hypothesis_id, "Memory usage 2x higher than Memcached estimate
|
|
188
|
+
— WEAKENS hypothesis for memory-constrained deployments")
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**Step 3 — Make Predictions**
|
|
192
|
+
Create falsifiable predictions:
|
|
193
|
+
```
|
|
194
|
+
nmem_predict("If we switch to Redis Cluster, session failover time will drop
|
|
195
|
+
from 30s to < 2s")
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**Step 4 — Verify Outcomes**
|
|
199
|
+
After deployment/testing, verify:
|
|
200
|
+
```
|
|
201
|
+
nmem_verify(prediction_id, outcome="Failover time dropped to 1.2s — CONFIRMED")
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
### Mode 4: Flush (Session End / Pre-Compaction)
|
|
207
|
+
|
|
208
|
+
Capture remaining context before session ends.
|
|
209
|
+
|
|
210
|
+
**Step 1 — Scan Unsaved Context**
|
|
211
|
+
Review the current session for:
|
|
212
|
+
- Decisions made but not yet captured
|
|
213
|
+
- Errors encountered and their resolutions
|
|
214
|
+
- Patterns discovered during exploration
|
|
215
|
+
- User preferences expressed
|
|
216
|
+
|
|
217
|
+
**Step 2 — Batch Save**
|
|
218
|
+
Call `nmem_auto(action="process", text="<session summary>")` with a concise summary
|
|
219
|
+
of the session's key outcomes, decisions, and learnings.
|
|
220
|
+
|
|
221
|
+
**Step 3 — Update Session Bridge**
|
|
222
|
+
If significant decisions were captured, also call `session-bridge` to sync
|
|
223
|
+
the most important ones to `.rune/decisions.md` for local persistence.
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
### Mode 5: Maintenance (Weekly / On-Demand)
|
|
228
|
+
|
|
229
|
+
Keep the neural memory healthy and useful.
|
|
230
|
+
|
|
231
|
+
**Step 1 — Health Check**
|
|
232
|
+
Call `nmem_health()` to assess brain status. Key metrics:
|
|
233
|
+
- Consolidation % (low = run consolidation)
|
|
234
|
+
- Orphan % (>20% = prune disconnected memories)
|
|
235
|
+
- Activation levels (low = recall more diverse topics)
|
|
236
|
+
- Connectivity (low = use richer cognitive language)
|
|
237
|
+
- Diversity (low = vary memory types)
|
|
238
|
+
|
|
239
|
+
**Step 2 — Consolidation**
|
|
240
|
+
If brain has >100 memories or consolidation is low:
|
|
241
|
+
```
|
|
242
|
+
nmem_consolidate — merge episodic → semantic memories
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
**Step 3 — Review Queue**
|
|
246
|
+
Call `nmem_review(action="queue")` to surface memories needing attention:
|
|
247
|
+
- Outdated decisions that may no longer apply
|
|
248
|
+
- Low-confidence memories that need evidence
|
|
249
|
+
- Wall-of-text memories (>500 chars) that should be split
|
|
250
|
+
|
|
251
|
+
**Step 4 — Corrections**
|
|
252
|
+
Fix bad memories:
|
|
253
|
+
- Wrong type → `nmem_edit(memory_id, type="correct_type")`
|
|
254
|
+
- Wrong content → `nmem_edit(memory_id, content="corrected text")`
|
|
255
|
+
- Outdated → `nmem_forget(memory_id, reason="outdated")`
|
|
256
|
+
- Sensitive/garbage → `nmem_forget(memory_id, hard=true)`
|
|
257
|
+
|
|
258
|
+
**Step 5 — Connection Tracing**
|
|
259
|
+
Use `nmem_explain(entity_a, entity_b)` to trace paths between concepts.
|
|
260
|
+
Useful for understanding why certain memories surface together.
|
|
261
|
+
|
|
262
|
+
## Output Format
|
|
263
|
+
|
|
264
|
+
### Recall Report
|
|
265
|
+
```
|
|
266
|
+
## Neural Memory Recall — <project>
|
|
267
|
+
|
|
268
|
+
### Loaded Context
|
|
269
|
+
- <memory 1 summary — decision/pattern/insight>
|
|
270
|
+
- <memory 2 summary>
|
|
271
|
+
- <memory 3 summary>
|
|
272
|
+
|
|
273
|
+
### Applicable to Current Task
|
|
274
|
+
- <how memory X applies>
|
|
275
|
+
- <how memory Y applies>
|
|
276
|
+
|
|
277
|
+
### Gaps Detected
|
|
278
|
+
- <domain with sparse coverage>
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### Capture Report
|
|
282
|
+
```
|
|
283
|
+
## Neural Memory Capture — <task summary>
|
|
284
|
+
|
|
285
|
+
### Saved Memories
|
|
286
|
+
| # | Type | Priority | Tags | Content (preview) |
|
|
287
|
+
|---|------|----------|------|--------------------|
|
|
288
|
+
| 1 | decision | 7 | [project, tech, topic] | Chose X over Y because... |
|
|
289
|
+
| 2 | error | 7 | [project, bug, tech] | Root cause was X... |
|
|
290
|
+
| 3 | insight | 6 | [project, pattern] | This codebase uses... |
|
|
291
|
+
|
|
292
|
+
### Reinforced Topics
|
|
293
|
+
- <topic recalled to strengthen connections>
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### Health Report
|
|
297
|
+
```
|
|
298
|
+
## Neural Memory Health
|
|
299
|
+
|
|
300
|
+
| Metric | Value | Status |
|
|
301
|
+
|--------|-------|--------|
|
|
302
|
+
| Total memories | N | — |
|
|
303
|
+
| Consolidation | N% | ✅ / ⚠️ |
|
|
304
|
+
| Orphans | N% | ✅ / ⚠️ |
|
|
305
|
+
| Activation | level | ✅ / ⚠️ |
|
|
306
|
+
| Top penalty | <metric> | Fix: <action> |
|
|
307
|
+
|
|
308
|
+
### Recommended Actions
|
|
309
|
+
1. <action with command>
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
## Constraints
|
|
313
|
+
|
|
314
|
+
1. **MUST prefix all recall queries with project name** — generic queries return cross-project noise that confuses the AI. The ONLY exception is intentional cross-project searches.
|
|
315
|
+
2. **MUST use rich cognitive language** — flat facts ("X exists") create orphan neurons with zero connections. Every memory MUST include WHY, BECAUSE, or relationship context.
|
|
316
|
+
3. **MUST NOT save wall-of-text memories** — max 1-3 sentences per memory. Split longer content into focused pieces. Memories >500 chars degrade recall quality.
|
|
317
|
+
4. **MUST NOT duplicate file-based state** — don't save task progress, file paths, or git history to nmem. Those belong in `.rune/` files (session-bridge) or git. nmem is for *learnable patterns* only.
|
|
318
|
+
5. **MUST save 2-5 memories per completed task** — a single memory per task is insufficient. Capture the decision, the reasoning, the pattern, and the prevention insight separately.
|
|
319
|
+
6. **MUST NOT save sensitive data** — no API keys, passwords, tokens, or PII. Mask or omit sensitive values.
|
|
320
|
+
7. **MUST tag every memory** — always include `[project-name, technology, topic]`. Tags enable future recall precision.
|
|
321
|
+
|
|
322
|
+
## Sharp Edges
|
|
323
|
+
|
|
324
|
+
| Failure Mode | Severity | Mitigation |
|
|
325
|
+
|---|---|---|
|
|
326
|
+
| Cross-project noise from generic queries | HIGH | Always prefix queries with project name. Use `nmem_explain` to trace unexpected connections |
|
|
327
|
+
| Orphan neurons from flat facts | HIGH | Enforce cognitive language patterns (causal, decisional, comparative). Run `nmem_health` to detect orphan % |
|
|
328
|
+
| Memory bloat from over-saving | MEDIUM | Cap at 5 memories per task. Run `nmem_consolidate` weekly. Use `nmem_review` to prune |
|
|
329
|
+
| Stale decisions applied to changed codebase | MEDIUM | Include temporal context ("As of v2.1, ..."). Verify recalled decisions against current code before applying |
|
|
330
|
+
| Duplicate memories from repeated sessions | MEDIUM | Before saving, `nmem_recall` the topic first to check for existing memories. Update rather than create duplicates |
|
|
331
|
+
| Loss of nuance from oversimplification | LOW | Save rejected alternatives alongside chosen approach. Use `nmem_hypothesize` for uncertain decisions |
|
|
332
|
+
|
|
333
|
+
## Done When
|
|
334
|
+
|
|
335
|
+
**Recall Mode:**
|
|
336
|
+
- 3-5 diverse topics recalled with project-name prefix
|
|
337
|
+
- Applicable context summarized for current task
|
|
338
|
+
- Gaps noted if coverage is thin
|
|
339
|
+
|
|
340
|
+
**Capture Mode:**
|
|
341
|
+
- 2-5 memories saved with rich cognitive language
|
|
342
|
+
- All memories tagged with `[project, technology, topic]`
|
|
343
|
+
- Priority assigned (5-10 scale)
|
|
344
|
+
- Connections reinforced via post-save recall
|
|
345
|
+
|
|
346
|
+
**Flush Mode:**
|
|
347
|
+
- All significant unsaved decisions captured
|
|
348
|
+
- `nmem_auto` called with session summary
|
|
349
|
+
- Session-bridge synced if major decisions made
|
|
350
|
+
|
|
351
|
+
**Maintenance Mode:**
|
|
352
|
+
- `nmem_health` run and metrics assessed
|
|
353
|
+
- Top penalty addressed with specific action
|
|
354
|
+
- Review queue processed (outdated/bloated memories fixed)
|
|
355
|
+
|
|
356
|
+
## Cost Profile
|
|
357
|
+
|
|
358
|
+
- **Recall**: ~200-500 tokens (3-5 queries + synthesis)
|
|
359
|
+
- **Capture**: ~300-600 tokens (2-5 memories + reinforcement)
|
|
360
|
+
- **Flush**: ~100-300 tokens (auto-process + sync)
|
|
361
|
+
- **Maintenance**: ~500-1000 tokens (health + consolidate + review)
|
|
362
|
+
- **Hypothesis**: ~200-400 tokens per hypothesis lifecycle
|
package/skills/plan/SKILL.md
CHANGED
|
@@ -88,6 +88,7 @@ High-level multi-feature planning — organize features into milestones.
|
|
|
88
88
|
- `research` (L3): external knowledge lookup
|
|
89
89
|
- `sequential-thinking` (L3): complex architecture with many trade-offs
|
|
90
90
|
- L4 extension packs: domain-specific architecture patterns
|
|
91
|
+
- `neural-memory` | Before architecture decisions | Recall past decisions on similar problems
|
|
91
92
|
|
|
92
93
|
## Called By (inbound)
|
|
93
94
|
|
|
@@ -113,6 +114,8 @@ High-level multi-feature planning — organize features into milestones.
|
|
|
113
114
|
|
|
114
115
|
Use findings from `rune:scout` if already available. If not, invoke `rune:scout` with the project root to scan directory structure, detect framework, identify key files, and extract existing patterns. Do NOT skip this step — plans without context produce wrong file paths.
|
|
115
116
|
|
|
117
|
+
Call `neural-memory` (Recall Mode) to check for past architecture decisions on similar problems before making new ones.
|
|
118
|
+
|
|
116
119
|
### Step 2 — Classify Complexity
|
|
117
120
|
|
|
118
121
|
Determine if the task needs master plan + phase files or inline plan:
|
package/skills/rescue/SKILL.md
CHANGED
|
@@ -40,6 +40,7 @@ Legacy refactoring orchestrator for safely modernizing messy codebases. Rescue r
|
|
|
40
40
|
- `session-bridge` (L3): save rescue state between sessions
|
|
41
41
|
- `onboard` (L2): generate context for unfamiliar legacy project
|
|
42
42
|
- `dependency-doctor` (L3): audit dependencies in legacy project
|
|
43
|
+
- `neural-memory` | Phase start + phase end | Recall past refactoring patterns, capture new ones
|
|
43
44
|
|
|
44
45
|
## Called By (inbound)
|
|
45
46
|
|
|
@@ -72,6 +73,8 @@ Note: SURGERY todos are added dynamically — one per module identified in Phase
|
|
|
72
73
|
|
|
73
74
|
Mark todo[0] `in_progress`.
|
|
74
75
|
|
|
76
|
+
Call `neural-memory` (Recall Mode) for past refactoring patterns in similar codebases.
|
|
77
|
+
|
|
75
78
|
**0a. Full health assessment.**
|
|
76
79
|
|
|
77
80
|
```
|
|
@@ -344,6 +347,8 @@ REQUIRED SUB-SKILL: rune:journal
|
|
|
344
347
|
Bash: git tag rune-rescue-complete
|
|
345
348
|
```
|
|
346
349
|
|
|
350
|
+
Call `neural-memory` (Capture Mode) to save refactoring patterns and decisions from this rescue.
|
|
351
|
+
|
|
347
352
|
Mark VERIFY todo `completed`.
|
|
348
353
|
|
|
349
354
|
---
|
package/skills/review/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: review
|
|
|
3
3
|
description: Code quality review — patterns, security, performance, correctness. Finds bugs, suggests improvements, triggers fix for issues found. Escalates to opus for security-critical code.
|
|
4
4
|
metadata:
|
|
5
5
|
author: runedev
|
|
6
|
-
version: "0.
|
|
6
|
+
version: "0.3.0"
|
|
7
7
|
layer: L2
|
|
8
8
|
model: sonnet
|
|
9
9
|
group: development
|
|
@@ -41,6 +41,7 @@ Every review MUST cite at least one specific concern, suggestion, or explicit ap
|
|
|
41
41
|
- `review-intake` (L2): structured intake for complex multi-file reviews
|
|
42
42
|
- `sast` (L3): static analysis security scan on reviewed code
|
|
43
43
|
- L4 extension packs: domain-specific review patterns when context matches (e.g., @rune/ui for frontend, @rune/security for auth code)
|
|
44
|
+
- `neural-memory` | After review complete | Capture code quality insight
|
|
44
45
|
|
|
45
46
|
## Called By (inbound)
|
|
46
47
|
|
|
@@ -69,14 +70,17 @@ Determine what to review.
|
|
|
69
70
|
- If context is unclear: use `rune:scout` to identify all files touched by the change
|
|
70
71
|
- List every file in scope before proceeding — do not review files outside the stated scope
|
|
71
72
|
|
|
72
|
-
### Step 2: Logic Check
|
|
73
|
+
### Step 2: Logic Check (Production-Critical Focus)
|
|
73
74
|
|
|
74
|
-
Read each changed file and
|
|
75
|
+
Read each changed file. Prioritize bugs that **pass CI but break production** — these are the highest-value findings because linters and type checkers already catch the rest.
|
|
75
76
|
|
|
76
77
|
- Use `Read` on every file in scope
|
|
78
|
+
- **Race conditions**: async operations without proper sequencing, shared mutable state, missing locks
|
|
79
|
+
- **State corruption**: mutations that affect other consumers, cache invalidation gaps, stale closures
|
|
80
|
+
- **Silent failures**: caught errors that swallow context, empty catch blocks, promises without rejection handling
|
|
81
|
+
- **Data loss paths**: write operations without confirmation, delete without soft-delete, truncation without backup
|
|
82
|
+
- **Edge cases**: empty input, null/undefined, zero, negative numbers, empty arrays, Unicode, timezone boundaries
|
|
77
83
|
- Check for: logic errors, off-by-one errors, incorrect conditionals, broken async/await patterns
|
|
78
|
-
- Check for: missing error handling, uncaught promise rejections, silent failures
|
|
79
|
-
- Check for: edge cases — empty input, null/undefined, zero, negative numbers, empty arrays
|
|
80
84
|
- Flag each finding with file path, line number, and severity
|
|
81
85
|
|
|
82
86
|
**Common patterns to flag:**
|
|
@@ -162,6 +166,39 @@ Identify gaps in test coverage.
|
|
|
162
166
|
- If untested code found: call `rune:test` with specific instructions on what to test
|
|
163
167
|
- Flag as HIGH if business logic is untested, MEDIUM if utility code is untested
|
|
164
168
|
|
|
169
|
+
### Step 5.5: Two-Stage Review Gate
|
|
170
|
+
|
|
171
|
+
Separate spec compliance from code quality. Most reviews conflate both — this gate forces the distinction.
|
|
172
|
+
|
|
173
|
+
**Stage 1 — Spec Compliance (check FIRST)**
|
|
174
|
+
|
|
175
|
+
Before evaluating code quality, verify the implementation matches what was asked:
|
|
176
|
+
|
|
177
|
+
- Load the originating plan, task, ticket, or `requirements.md` if available
|
|
178
|
+
- Does the implementation cover every acceptance criterion? Check each one explicitly
|
|
179
|
+
- Is there **under-engineering** — requirements stated but not implemented?
|
|
180
|
+
- Is there **over-engineering** — abstractions, generalization, or features beyond scope?
|
|
181
|
+
- Does the file/function structure match what the plan specified?
|
|
182
|
+
|
|
183
|
+
Flag spec deviations as HIGH — clean code that misses requirements ships broken products.
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
# Spec Compliance Checklist
|
|
187
|
+
[ ] All acceptance criteria from plan/ticket covered
|
|
188
|
+
[ ] No stated requirements missing from implementation
|
|
189
|
+
[ ] No unrequested features added (scope creep)
|
|
190
|
+
[ ] API surface matches what was specified (signatures, endpoints, return types)
|
|
191
|
+
[ ] File structure matches plan (no renamed or relocated files without justification)
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
If spec violations found: document them separately from code quality findings in the report. Label as `SPEC-MISS` or `SPEC-CREEP`.
|
|
195
|
+
|
|
196
|
+
**Stage 2 — Code Quality**
|
|
197
|
+
|
|
198
|
+
Proceed to Step 6 only after Stage 1 passes. Code quality findings (bugs, patterns, security, coverage) are the existing Steps 2–5 above.
|
|
199
|
+
|
|
200
|
+
The review report MUST show both stages: spec compliance verdict first, then code quality findings.
|
|
201
|
+
|
|
165
202
|
### Step 6: Report
|
|
166
203
|
|
|
167
204
|
Produce a structured severity-ranked report.
|
|
@@ -181,6 +218,7 @@ After reporting:
|
|
|
181
218
|
- If any CRITICAL findings: call `rune:fix` immediately with the finding details
|
|
182
219
|
- If any HIGH findings: call `rune:fix` with the finding details
|
|
183
220
|
- If untested code: call `rune:test` with specific coverage gaps identified
|
|
221
|
+
- Call `neural-memory` (Capture Mode) to save any novel code quality patterns or recurring issues found.
|
|
184
222
|
|
|
185
223
|
## Framework-Specific Checks
|
|
186
224
|
|
|
@@ -338,6 +376,7 @@ LOW — style inconsistency, naming suggestion, minor refactor opportunity
|
|
|
338
376
|
| Expanding review scope beyond the diff | MEDIUM | Limit to `git diff` scope — do not creep into adjacent unchanged files |
|
|
339
377
|
| Security finding without sentinel escalation | HIGH | Any auth/crypto/payment code touched → MUST call rune:sentinel |
|
|
340
378
|
| Skipping UI anti-pattern checks for frontend changes | MEDIUM | Any .tsx/.jsx/.svelte/.vue in diff → MUST run UI/UX Anti-Pattern Checks section |
|
|
379
|
+
| Skipping spec compliance check (Step 5.5 Stage 1) | HIGH | Code quality without spec check ships clean code that does the wrong thing — always load the plan/ticket before reviewing quality |
|
|
341
380
|
| Treating purple/indigo accent as "just a color choice" | MEDIUM | It is a documented AI-generated UI signature — always flag for domain justification |
|
|
342
381
|
|
|
343
382
|
## Done When
|
|
@@ -3,7 +3,7 @@ name: review-intake
|
|
|
3
3
|
description: Use when receiving code review feedback, PR comments, or external suggestions before implementing any changes. Prevents blind implementation, enforces verification-first discipline.
|
|
4
4
|
metadata:
|
|
5
5
|
author: runedev
|
|
6
|
-
version: "1.
|
|
6
|
+
version: "1.1.0"
|
|
7
7
|
layer: L2
|
|
8
8
|
model: sonnet
|
|
9
9
|
group: quality
|
|
@@ -112,9 +112,25 @@ UNCLEAR: "Need clarification on [specific aspect]."
|
|
|
112
112
|
BANNED: "You're absolutely right!"
|
|
113
113
|
BANNED: "Great point!" / "Great catch!"
|
|
114
114
|
BANNED: "Thanks for catching that!"
|
|
115
|
+
BANNED: "I agree with your suggestion"
|
|
116
|
+
BANNED: "That's a good idea"
|
|
117
|
+
BANNED: "I see what you mean"
|
|
118
|
+
BANNED: Any sentence that adds no technical information
|
|
115
119
|
BANNED: Any performative gratitude — actions speak, not words.
|
|
116
120
|
```
|
|
117
121
|
|
|
122
|
+
<HARD-GATE>
|
|
123
|
+
Every response to a review item MUST start with an ACTION VERB:
|
|
124
|
+
- "Fixed — [description]"
|
|
125
|
+
- "Reverted — [reason]"
|
|
126
|
+
- "Deferred — [reason + ticket]"
|
|
127
|
+
- "Pushed back — [technical evidence]"
|
|
128
|
+
- "Clarifying — [question]"
|
|
129
|
+
|
|
130
|
+
Responses starting with praise, agreement, or social pleasantries are BLOCKED.
|
|
131
|
+
This is a professional code review, not a conversation — signal with actions, not words.
|
|
132
|
+
</HARD-GATE>
|
|
133
|
+
|
|
118
134
|
When replying to GitHub PR comments, reply in the thread:
|
|
119
135
|
```bash
|
|
120
136
|
gh api repos/{owner}/{repo}/pulls/{pr}/comments/{id}/replies \
|