claude-memory-agent 2.0.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/.env.example +107 -0
- package/README.md +200 -0
- package/agent_card.py +512 -0
- package/bin/cli.js +181 -0
- package/bin/postinstall.js +216 -0
- package/config.py +104 -0
- package/dashboard.html +2689 -0
- package/hooks/README.md +196 -0
- package/hooks/__pycache__/auto-detect-response.cpython-312.pyc +0 -0
- package/hooks/__pycache__/auto_capture.cpython-312.pyc +0 -0
- package/hooks/__pycache__/session_end.cpython-312.pyc +0 -0
- package/hooks/__pycache__/session_start.cpython-312.pyc +0 -0
- package/hooks/auto-detect-response.py +348 -0
- package/hooks/auto_capture.py +255 -0
- package/hooks/detect-correction.py +173 -0
- package/hooks/grounding-hook.py +348 -0
- package/hooks/log-tool-use.py +234 -0
- package/hooks/log-user-request.py +208 -0
- package/hooks/pre-tool-decision.py +218 -0
- package/hooks/problem-detector.py +343 -0
- package/hooks/session_end.py +192 -0
- package/hooks/session_start.py +227 -0
- package/install.py +887 -0
- package/main.py +2859 -0
- package/manager.py +997 -0
- package/package.json +55 -0
- package/requirements.txt +8 -0
- package/run_server.py +136 -0
- package/services/__init__.py +50 -0
- package/services/__pycache__/__init__.cpython-312.pyc +0 -0
- package/services/__pycache__/agent_registry.cpython-312.pyc +0 -0
- package/services/__pycache__/auth.cpython-312.pyc +0 -0
- package/services/__pycache__/auto_inject.cpython-312.pyc +0 -0
- package/services/__pycache__/claude_md_sync.cpython-312.pyc +0 -0
- package/services/__pycache__/cleanup.cpython-312.pyc +0 -0
- package/services/__pycache__/compaction_flush.cpython-312.pyc +0 -0
- package/services/__pycache__/confidence.cpython-312.pyc +0 -0
- package/services/__pycache__/daily_log.cpython-312.pyc +0 -0
- package/services/__pycache__/database.cpython-312.pyc +0 -0
- package/services/__pycache__/embeddings.cpython-312.pyc +0 -0
- package/services/__pycache__/insights.cpython-312.pyc +0 -0
- package/services/__pycache__/llm_analyzer.cpython-312.pyc +0 -0
- package/services/__pycache__/memory_md_sync.cpython-312.pyc +0 -0
- package/services/__pycache__/retry_queue.cpython-312.pyc +0 -0
- package/services/__pycache__/timeline.cpython-312.pyc +0 -0
- package/services/__pycache__/vector_index.cpython-312.pyc +0 -0
- package/services/__pycache__/websocket.cpython-312.pyc +0 -0
- package/services/agent_registry.py +753 -0
- package/services/auth.py +331 -0
- package/services/auto_inject.py +250 -0
- package/services/claude_md_sync.py +275 -0
- package/services/cleanup.py +667 -0
- package/services/compaction_flush.py +447 -0
- package/services/confidence.py +301 -0
- package/services/daily_log.py +333 -0
- package/services/database.py +2485 -0
- package/services/embeddings.py +358 -0
- package/services/insights.py +632 -0
- package/services/llm_analyzer.py +595 -0
- package/services/memory_md_sync.py +409 -0
- package/services/retry_queue.py +453 -0
- package/services/timeline.py +579 -0
- package/services/vector_index.py +398 -0
- package/services/websocket.py +257 -0
- package/skills/__init__.py +6 -0
- package/skills/__pycache__/__init__.cpython-312.pyc +0 -0
- package/skills/__pycache__/admin.cpython-312.pyc +0 -0
- package/skills/__pycache__/checkpoint.cpython-312.pyc +0 -0
- package/skills/__pycache__/claude_md.cpython-312.pyc +0 -0
- package/skills/__pycache__/cleanup.cpython-312.pyc +0 -0
- package/skills/__pycache__/grounding.cpython-312.pyc +0 -0
- package/skills/__pycache__/insights.cpython-312.pyc +0 -0
- package/skills/__pycache__/natural_language.cpython-312.pyc +0 -0
- package/skills/__pycache__/retrieve.cpython-312.pyc +0 -0
- package/skills/__pycache__/search.cpython-312.pyc +0 -0
- package/skills/__pycache__/state.cpython-312.pyc +0 -0
- package/skills/__pycache__/store.cpython-312.pyc +0 -0
- package/skills/__pycache__/summarize.cpython-312.pyc +0 -0
- package/skills/__pycache__/timeline.cpython-312.pyc +0 -0
- package/skills/__pycache__/verification.cpython-312.pyc +0 -0
- package/skills/admin.py +469 -0
- package/skills/checkpoint.py +198 -0
- package/skills/claude_md.py +363 -0
- package/skills/cleanup.py +241 -0
- package/skills/grounding.py +801 -0
- package/skills/insights.py +231 -0
- package/skills/natural_language.py +277 -0
- package/skills/retrieve.py +67 -0
- package/skills/search.py +213 -0
- package/skills/state.py +182 -0
- package/skills/store.py +179 -0
- package/skills/summarize.py +588 -0
- package/skills/timeline.py +387 -0
- package/skills/verification.py +391 -0
- package/start_daemon.py +155 -0
- package/test_automation.py +221 -0
- package/test_complete.py +338 -0
- package/test_full.py +322 -0
- package/update_system.py +817 -0
- package/verify_db.py +134 -0
package/agent_card.py
ADDED
|
@@ -0,0 +1,512 @@
|
|
|
1
|
+
"""A2A Agent Card definition for Claude Memory Agent."""
|
|
2
|
+
|
|
3
|
+
AGENT_CARD = {
|
|
4
|
+
"name": "Claude Memory Agent",
|
|
5
|
+
"description": "Persistent semantic memory for Claude Code sessions with session timeline tracking for anti-hallucination. Stores memories, tracks session events, manages checkpoints, and provides grounding context.",
|
|
6
|
+
"version": "2.0.0",
|
|
7
|
+
"url": "http://localhost:8102",
|
|
8
|
+
"documentationUrl": "https://github.com/anthropics/claude-code",
|
|
9
|
+
"capabilities": {
|
|
10
|
+
"streaming": False,
|
|
11
|
+
"pushNotifications": False
|
|
12
|
+
},
|
|
13
|
+
"authentication": {
|
|
14
|
+
"schemes": []
|
|
15
|
+
},
|
|
16
|
+
"defaultInputModes": ["text"],
|
|
17
|
+
"defaultOutputModes": ["text"],
|
|
18
|
+
"skills": [
|
|
19
|
+
# ============================================================
|
|
20
|
+
# MEMORY SKILLS (Original)
|
|
21
|
+
# ============================================================
|
|
22
|
+
{
|
|
23
|
+
"id": "store_memory",
|
|
24
|
+
"name": "Store Memory",
|
|
25
|
+
"description": "Store a piece of information with semantic embedding for later retrieval. Supports different memory types: session, decision, code, chunk.",
|
|
26
|
+
"tags": ["memory", "storage", "embedding"],
|
|
27
|
+
"examples": [
|
|
28
|
+
"Store this code pattern for future reference",
|
|
29
|
+
"Remember this architectural decision"
|
|
30
|
+
],
|
|
31
|
+
"inputModes": ["text"],
|
|
32
|
+
"outputModes": ["text"]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "retrieve_memory",
|
|
36
|
+
"name": "Retrieve Memory",
|
|
37
|
+
"description": "Retrieve specific memories by ID or filter by type and session.",
|
|
38
|
+
"tags": ["memory", "retrieval"],
|
|
39
|
+
"examples": [
|
|
40
|
+
"Get memory with ID 42",
|
|
41
|
+
"List all decisions from this session"
|
|
42
|
+
],
|
|
43
|
+
"inputModes": ["text"],
|
|
44
|
+
"outputModes": ["text"]
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "semantic_search",
|
|
48
|
+
"name": "Semantic Search",
|
|
49
|
+
"description": "Search through stored memories using natural language. Returns semantically similar content ranked by relevance.",
|
|
50
|
+
"tags": ["memory", "search", "semantic"],
|
|
51
|
+
"examples": [
|
|
52
|
+
"Find memories about authentication",
|
|
53
|
+
"Search for code patterns related to caching"
|
|
54
|
+
],
|
|
55
|
+
"inputModes": ["text"],
|
|
56
|
+
"outputModes": ["text"]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "summarize_session",
|
|
60
|
+
"name": "Summarize Session",
|
|
61
|
+
"description": "Store a comprehensive session summary including key decisions and code patterns discovered during the session.",
|
|
62
|
+
"tags": ["memory", "session", "summary"],
|
|
63
|
+
"examples": [
|
|
64
|
+
"Summarize this coding session",
|
|
65
|
+
"Store session digest with key decisions"
|
|
66
|
+
],
|
|
67
|
+
"inputModes": ["text"],
|
|
68
|
+
"outputModes": ["text"]
|
|
69
|
+
},
|
|
70
|
+
# ============================================================
|
|
71
|
+
# TIMELINE SKILLS (New - Anti-Hallucination)
|
|
72
|
+
# ============================================================
|
|
73
|
+
{
|
|
74
|
+
"id": "timeline_log",
|
|
75
|
+
"name": "Timeline Log",
|
|
76
|
+
"description": "Log an event to the session timeline. Events include: user_request, decision, action, observation, error, checkpoint. Tracks causal chains and entities.",
|
|
77
|
+
"tags": ["timeline", "logging", "events", "grounding"],
|
|
78
|
+
"examples": [
|
|
79
|
+
"Log a decision to use React over Vue",
|
|
80
|
+
"Record an action taken on a file"
|
|
81
|
+
],
|
|
82
|
+
"inputModes": ["text"],
|
|
83
|
+
"outputModes": ["text"]
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "timeline_get",
|
|
87
|
+
"name": "Timeline Get",
|
|
88
|
+
"description": "Retrieve timeline events for a session. Can filter by event type, get anchors only, or events since a specific ID.",
|
|
89
|
+
"tags": ["timeline", "retrieval", "events"],
|
|
90
|
+
"examples": [
|
|
91
|
+
"Get the last 20 events in this session",
|
|
92
|
+
"Get all decisions made so far"
|
|
93
|
+
],
|
|
94
|
+
"inputModes": ["text"],
|
|
95
|
+
"outputModes": ["text"]
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"id": "timeline_search",
|
|
99
|
+
"name": "Timeline Search",
|
|
100
|
+
"description": "Semantic search across timeline events. Find events related to a specific topic or query.",
|
|
101
|
+
"tags": ["timeline", "search", "semantic"],
|
|
102
|
+
"examples": [
|
|
103
|
+
"Search timeline for authentication changes",
|
|
104
|
+
"Find events related to database work"
|
|
105
|
+
],
|
|
106
|
+
"inputModes": ["text"],
|
|
107
|
+
"outputModes": ["text"]
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"id": "timeline_auto_detect",
|
|
111
|
+
"name": "Timeline Auto-Detect",
|
|
112
|
+
"description": "Auto-detect and log decisions/observations from a response text. Uses pattern matching to find implicit decisions and observations.",
|
|
113
|
+
"tags": ["timeline", "auto", "detection"],
|
|
114
|
+
"examples": [
|
|
115
|
+
"Analyze Claude's response for decisions",
|
|
116
|
+
"Auto-log detected observations"
|
|
117
|
+
],
|
|
118
|
+
"inputModes": ["text"],
|
|
119
|
+
"outputModes": ["text"]
|
|
120
|
+
},
|
|
121
|
+
# ============================================================
|
|
122
|
+
# STATE SKILLS (New)
|
|
123
|
+
# ============================================================
|
|
124
|
+
{
|
|
125
|
+
"id": "state_get",
|
|
126
|
+
"name": "State Get",
|
|
127
|
+
"description": "Get current session state including goal, entity registry, pending questions, and checkpoint info.",
|
|
128
|
+
"tags": ["state", "session", "context"],
|
|
129
|
+
"examples": [
|
|
130
|
+
"Get current session state",
|
|
131
|
+
"What's the current goal?"
|
|
132
|
+
],
|
|
133
|
+
"inputModes": ["text"],
|
|
134
|
+
"outputModes": ["text"]
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"id": "state_update",
|
|
138
|
+
"name": "State Update",
|
|
139
|
+
"description": "Update session state. Set current goal, add entities to registry, manage pending questions, add decisions.",
|
|
140
|
+
"tags": ["state", "session", "update"],
|
|
141
|
+
"examples": [
|
|
142
|
+
"Set current goal to fix auth bug",
|
|
143
|
+
"Register auth.py as the auth_file entity"
|
|
144
|
+
],
|
|
145
|
+
"inputModes": ["text"],
|
|
146
|
+
"outputModes": ["text"]
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "state_init_session",
|
|
150
|
+
"name": "Initialize Session",
|
|
151
|
+
"description": "Initialize or resume a session for a project. Handles 4-hour session boundaries automatically.",
|
|
152
|
+
"tags": ["state", "session", "init"],
|
|
153
|
+
"examples": [
|
|
154
|
+
"Start or resume session for this project",
|
|
155
|
+
"Initialize session context"
|
|
156
|
+
],
|
|
157
|
+
"inputModes": ["text"],
|
|
158
|
+
"outputModes": ["text"]
|
|
159
|
+
},
|
|
160
|
+
# ============================================================
|
|
161
|
+
# CHECKPOINT SKILLS (New)
|
|
162
|
+
# ============================================================
|
|
163
|
+
{
|
|
164
|
+
"id": "checkpoint_create",
|
|
165
|
+
"name": "Checkpoint Create",
|
|
166
|
+
"description": "Create a checkpoint snapshot of the current session state. Captures key facts, decisions, entities, and pending items.",
|
|
167
|
+
"tags": ["checkpoint", "snapshot", "save"],
|
|
168
|
+
"examples": [
|
|
169
|
+
"Create a checkpoint before major changes",
|
|
170
|
+
"Save session progress"
|
|
171
|
+
],
|
|
172
|
+
"inputModes": ["text"],
|
|
173
|
+
"outputModes": ["text"]
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"id": "checkpoint_load",
|
|
177
|
+
"name": "Checkpoint Load",
|
|
178
|
+
"description": "Load context from a checkpoint for session resumption. Returns grounding summary with goal, facts, decisions.",
|
|
179
|
+
"tags": ["checkpoint", "load", "resume"],
|
|
180
|
+
"examples": [
|
|
181
|
+
"Load the last checkpoint",
|
|
182
|
+
"Resume from previous session"
|
|
183
|
+
],
|
|
184
|
+
"inputModes": ["text"],
|
|
185
|
+
"outputModes": ["text"]
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"id": "checkpoint_list",
|
|
189
|
+
"name": "Checkpoint List",
|
|
190
|
+
"description": "List all checkpoints for a session. Shows checkpoint summaries and timestamps.",
|
|
191
|
+
"tags": ["checkpoint", "list"],
|
|
192
|
+
"examples": [
|
|
193
|
+
"List all checkpoints in this session",
|
|
194
|
+
"Show checkpoint history"
|
|
195
|
+
],
|
|
196
|
+
"inputModes": ["text"],
|
|
197
|
+
"outputModes": ["text"]
|
|
198
|
+
},
|
|
199
|
+
# ============================================================
|
|
200
|
+
# GROUNDING SKILLS (New - Anti-Hallucination)
|
|
201
|
+
# ============================================================
|
|
202
|
+
{
|
|
203
|
+
"id": "context_refresh",
|
|
204
|
+
"name": "Context Refresh",
|
|
205
|
+
"description": "Pre-response grounding check. Returns current goal, entity registry, recent events, anchors, decisions, and potential contradictions. CALL THIS BEFORE COMPLEX RESPONSES.",
|
|
206
|
+
"tags": ["grounding", "context", "anti-hallucination"],
|
|
207
|
+
"examples": [
|
|
208
|
+
"Ground myself before responding",
|
|
209
|
+
"Check context before file changes"
|
|
210
|
+
],
|
|
211
|
+
"inputModes": ["text"],
|
|
212
|
+
"outputModes": ["text"]
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"id": "check_contradictions",
|
|
216
|
+
"name": "Check Contradictions",
|
|
217
|
+
"description": "Check if a statement contradicts known facts or decisions. Returns potential conflicts with established anchors and decisions.",
|
|
218
|
+
"tags": ["grounding", "verification", "anti-hallucination"],
|
|
219
|
+
"examples": [
|
|
220
|
+
"Check if this contradicts earlier decisions",
|
|
221
|
+
"Verify statement against known facts"
|
|
222
|
+
],
|
|
223
|
+
"inputModes": ["text"],
|
|
224
|
+
"outputModes": ["text"]
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"id": "verify_entity",
|
|
228
|
+
"name": "Verify Entity",
|
|
229
|
+
"description": "Verify an entity reference against the registry. Use when referencing files, variables, or other entities to ensure correctness.",
|
|
230
|
+
"tags": ["grounding", "entity", "verification"],
|
|
231
|
+
"examples": [
|
|
232
|
+
"Verify the auth_file entity",
|
|
233
|
+
"Check if this is the right file"
|
|
234
|
+
],
|
|
235
|
+
"inputModes": ["text"],
|
|
236
|
+
"outputModes": ["text"]
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"id": "mark_anchor",
|
|
240
|
+
"name": "Mark Anchor",
|
|
241
|
+
"description": "Mark a statement as a verified anchor fact. Anchors are high-confidence facts that should not be contradicted.",
|
|
242
|
+
"tags": ["grounding", "anchor", "fact"],
|
|
243
|
+
"examples": [
|
|
244
|
+
"Establish this as a verified fact",
|
|
245
|
+
"Mark this decision as final"
|
|
246
|
+
],
|
|
247
|
+
"inputModes": ["text"],
|
|
248
|
+
"outputModes": ["text"]
|
|
249
|
+
},
|
|
250
|
+
# ============================================================
|
|
251
|
+
# CLAUDE.MD MANAGEMENT SKILLS
|
|
252
|
+
# ============================================================
|
|
253
|
+
{
|
|
254
|
+
"id": "claude_md_read",
|
|
255
|
+
"name": "Read CLAUDE.md",
|
|
256
|
+
"description": "Read the CLAUDE.md instructions file. Can read entire file or a specific section.",
|
|
257
|
+
"tags": ["claude_md", "instructions", "read"],
|
|
258
|
+
"examples": [
|
|
259
|
+
"Read my CLAUDE.md file",
|
|
260
|
+
"Show the Memory System section"
|
|
261
|
+
],
|
|
262
|
+
"inputModes": ["text"],
|
|
263
|
+
"outputModes": ["text"]
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"id": "claude_md_add_section",
|
|
267
|
+
"name": "Add CLAUDE.md Section",
|
|
268
|
+
"description": "Add a new section to CLAUDE.md. Use this to create new instruction categories.",
|
|
269
|
+
"tags": ["claude_md", "instructions", "write"],
|
|
270
|
+
"examples": [
|
|
271
|
+
"Add a new section for testing guidelines",
|
|
272
|
+
"Create an API conventions section"
|
|
273
|
+
],
|
|
274
|
+
"inputModes": ["text"],
|
|
275
|
+
"outputModes": ["text"]
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"id": "claude_md_update_section",
|
|
279
|
+
"name": "Update CLAUDE.md Section",
|
|
280
|
+
"description": "Update an existing section in CLAUDE.md. Can replace, append, or prepend content.",
|
|
281
|
+
"tags": ["claude_md", "instructions", "write"],
|
|
282
|
+
"examples": [
|
|
283
|
+
"Update the Memory System section",
|
|
284
|
+
"Append to the debugging guidelines"
|
|
285
|
+
],
|
|
286
|
+
"inputModes": ["text"],
|
|
287
|
+
"outputModes": ["text"]
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"id": "claude_md_add_instruction",
|
|
291
|
+
"name": "Add CLAUDE.md Instruction",
|
|
292
|
+
"description": "Add a single instruction/rule to a section. Creates the section if it doesn't exist.",
|
|
293
|
+
"tags": ["claude_md", "instructions", "write"],
|
|
294
|
+
"examples": [
|
|
295
|
+
"Add a rule about file naming",
|
|
296
|
+
"Add an instruction to the debugging section"
|
|
297
|
+
],
|
|
298
|
+
"inputModes": ["text"],
|
|
299
|
+
"outputModes": ["text"]
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"id": "claude_md_list_sections",
|
|
303
|
+
"name": "List CLAUDE.md Sections",
|
|
304
|
+
"description": "List all sections in the CLAUDE.md file.",
|
|
305
|
+
"tags": ["claude_md", "instructions", "list"],
|
|
306
|
+
"examples": [
|
|
307
|
+
"What sections are in my CLAUDE.md?",
|
|
308
|
+
"List all instruction categories"
|
|
309
|
+
],
|
|
310
|
+
"inputModes": ["text"],
|
|
311
|
+
"outputModes": ["text"]
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"id": "claude_md_suggest",
|
|
315
|
+
"name": "Suggest CLAUDE.md Updates",
|
|
316
|
+
"description": "Suggest CLAUDE.md additions based on session learnings. Analyzes anchors and decisions to recommend persistent instructions.",
|
|
317
|
+
"tags": ["claude_md", "instructions", "suggest"],
|
|
318
|
+
"examples": [
|
|
319
|
+
"What should I add to CLAUDE.md from this session?",
|
|
320
|
+
"Suggest instructions based on our work"
|
|
321
|
+
],
|
|
322
|
+
"inputModes": ["text"],
|
|
323
|
+
"outputModes": ["text"]
|
|
324
|
+
},
|
|
325
|
+
# ============================================================
|
|
326
|
+
# VERIFICATION SKILLS (Anti-Hallucination)
|
|
327
|
+
# ============================================================
|
|
328
|
+
{
|
|
329
|
+
"id": "best_of_n_verify",
|
|
330
|
+
"name": "Best-of-N Verification",
|
|
331
|
+
"description": "Run a query N times and check consistency. Inconsistent outputs indicate potential hallucination. Use for critical facts.",
|
|
332
|
+
"tags": ["verification", "anti-hallucination", "consistency"],
|
|
333
|
+
"examples": [
|
|
334
|
+
"Verify this fact with multiple runs",
|
|
335
|
+
"Check if this answer is consistent"
|
|
336
|
+
],
|
|
337
|
+
"inputModes": ["text"],
|
|
338
|
+
"outputModes": ["text"]
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"id": "extract_quotes",
|
|
342
|
+
"name": "Extract Quotes",
|
|
343
|
+
"description": "Extract exact, word-for-word quotes from a document relevant to a query. Forces verbatim grounding instead of paraphrasing.",
|
|
344
|
+
"tags": ["verification", "grounding", "quotes"],
|
|
345
|
+
"examples": [
|
|
346
|
+
"Extract relevant quotes from this document",
|
|
347
|
+
"Find exact quotes about authentication"
|
|
348
|
+
],
|
|
349
|
+
"inputModes": ["text"],
|
|
350
|
+
"outputModes": ["text"]
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"id": "require_grounding",
|
|
354
|
+
"name": "Require Grounding",
|
|
355
|
+
"description": "Verify that a statement is grounded in stored facts (anchors or memories) before accepting it. Returns grounding sources or warning.",
|
|
356
|
+
"tags": ["verification", "grounding", "anti-hallucination"],
|
|
357
|
+
"examples": [
|
|
358
|
+
"Is this statement grounded in our facts?",
|
|
359
|
+
"Verify this claim against stored knowledge"
|
|
360
|
+
],
|
|
361
|
+
"inputModes": ["text"],
|
|
362
|
+
"outputModes": ["text"]
|
|
363
|
+
},
|
|
364
|
+
# ============================================================
|
|
365
|
+
# MOLTBOT-INSPIRED SKILLS (Human-Readable Transparency)
|
|
366
|
+
# ============================================================
|
|
367
|
+
{
|
|
368
|
+
"id": "daily_log_append",
|
|
369
|
+
"name": "Append to Daily Log",
|
|
370
|
+
"description": "Append an entry to today's daily log. Creates YYYY-MM-DD.md file in .claude/memory/. Entry types: decision, accomplishment, note, error.",
|
|
371
|
+
"tags": ["daily_log", "transparency", "moltbot"],
|
|
372
|
+
"examples": [
|
|
373
|
+
"Log a decision to today's log",
|
|
374
|
+
"Record an accomplishment"
|
|
375
|
+
],
|
|
376
|
+
"inputModes": ["text"],
|
|
377
|
+
"outputModes": ["text"]
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"id": "daily_log_append_session",
|
|
381
|
+
"name": "Append Session Summary to Daily Log",
|
|
382
|
+
"description": "Append a full session summary to the daily log. Includes decisions, accomplishments, errors solved, and notes.",
|
|
383
|
+
"tags": ["daily_log", "session", "transparency"],
|
|
384
|
+
"examples": [
|
|
385
|
+
"Add session summary to daily log",
|
|
386
|
+
"Log session end details"
|
|
387
|
+
],
|
|
388
|
+
"inputModes": ["text"],
|
|
389
|
+
"outputModes": ["text"]
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"id": "daily_log_read",
|
|
393
|
+
"name": "Read Daily Logs",
|
|
394
|
+
"description": "Read recent daily logs. Returns combined content from today and previous days.",
|
|
395
|
+
"tags": ["daily_log", "read", "transparency"],
|
|
396
|
+
"examples": [
|
|
397
|
+
"Show today's activity log",
|
|
398
|
+
"Read last 2 days of logs"
|
|
399
|
+
],
|
|
400
|
+
"inputModes": ["text"],
|
|
401
|
+
"outputModes": ["text"]
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
"id": "daily_log_highlights",
|
|
405
|
+
"name": "Get Daily Log Highlights",
|
|
406
|
+
"description": "Get the most important entries from today's log for context injection. Returns decisions and accomplishments.",
|
|
407
|
+
"tags": ["daily_log", "highlights", "context"],
|
|
408
|
+
"examples": [
|
|
409
|
+
"Get today's highlights",
|
|
410
|
+
"What did we accomplish today?"
|
|
411
|
+
],
|
|
412
|
+
"inputModes": ["text"],
|
|
413
|
+
"outputModes": ["text"]
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"id": "sync_memory_md",
|
|
417
|
+
"name": "Sync MEMORY.md",
|
|
418
|
+
"description": "Sync high-importance memories to MEMORY.md. Includes anchors, key decisions (importance >= 7), proven patterns (success >= 3).",
|
|
419
|
+
"tags": ["memory_md", "sync", "transparency"],
|
|
420
|
+
"examples": [
|
|
421
|
+
"Update MEMORY.md with important facts",
|
|
422
|
+
"Sync core knowledge to markdown"
|
|
423
|
+
],
|
|
424
|
+
"inputModes": ["text"],
|
|
425
|
+
"outputModes": ["text"]
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"id": "read_memory_md",
|
|
429
|
+
"name": "Read MEMORY.md",
|
|
430
|
+
"description": "Read the MEMORY.md core facts file. Contains anchors, key decisions, proven patterns, and preferences.",
|
|
431
|
+
"tags": ["memory_md", "read", "transparency"],
|
|
432
|
+
"examples": [
|
|
433
|
+
"Show core facts from MEMORY.md",
|
|
434
|
+
"What are the established facts?"
|
|
435
|
+
],
|
|
436
|
+
"inputModes": ["text"],
|
|
437
|
+
"outputModes": ["text"]
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"id": "get_memory_md_summary",
|
|
441
|
+
"name": "Get MEMORY.md Summary",
|
|
442
|
+
"description": "Get a condensed summary of MEMORY.md for context injection. Returns essential facts in compact format.",
|
|
443
|
+
"tags": ["memory_md", "summary", "context"],
|
|
444
|
+
"examples": [
|
|
445
|
+
"Get core facts summary",
|
|
446
|
+
"Load MEMORY.md highlights"
|
|
447
|
+
],
|
|
448
|
+
"inputModes": ["text"],
|
|
449
|
+
"outputModes": ["text"]
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
"id": "add_memory_md_fact",
|
|
453
|
+
"name": "Add Fact to MEMORY.md",
|
|
454
|
+
"description": "Add a fact directly to MEMORY.md. Sections: anchors, decisions, preferences.",
|
|
455
|
+
"tags": ["memory_md", "write", "transparency"],
|
|
456
|
+
"examples": [
|
|
457
|
+
"Add a verified fact to MEMORY.md",
|
|
458
|
+
"Record a key decision"
|
|
459
|
+
],
|
|
460
|
+
"inputModes": ["text"],
|
|
461
|
+
"outputModes": ["text"]
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"id": "check_flush_needed",
|
|
465
|
+
"name": "Check Flush Needed",
|
|
466
|
+
"description": "Check if pre-compaction flush is needed. Triggers if events > 50 or time > 30min since last flush.",
|
|
467
|
+
"tags": ["flush", "compaction", "transparency"],
|
|
468
|
+
"examples": [
|
|
469
|
+
"Check if we need to flush",
|
|
470
|
+
"Is memory export needed?"
|
|
471
|
+
],
|
|
472
|
+
"inputModes": ["text"],
|
|
473
|
+
"outputModes": ["text"]
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"id": "pre_compaction_flush",
|
|
477
|
+
"name": "Pre-Compaction Flush",
|
|
478
|
+
"description": "Export all important session data to a markdown file before context loss. Creates flush_YYYYMMDD_HHMMSS.md.",
|
|
479
|
+
"tags": ["flush", "compaction", "transparency"],
|
|
480
|
+
"examples": [
|
|
481
|
+
"Export session data before compaction",
|
|
482
|
+
"Create memory flush"
|
|
483
|
+
],
|
|
484
|
+
"inputModes": ["text"],
|
|
485
|
+
"outputModes": ["text"]
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"id": "list_flushes",
|
|
489
|
+
"name": "List Memory Flushes",
|
|
490
|
+
"description": "List available memory flush files for a project.",
|
|
491
|
+
"tags": ["flush", "list", "transparency"],
|
|
492
|
+
"examples": [
|
|
493
|
+
"Show memory flush history",
|
|
494
|
+
"List all flushes"
|
|
495
|
+
],
|
|
496
|
+
"inputModes": ["text"],
|
|
497
|
+
"outputModes": ["text"]
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"id": "read_flush",
|
|
501
|
+
"name": "Read Memory Flush",
|
|
502
|
+
"description": "Read a specific memory flush file or the most recent one.",
|
|
503
|
+
"tags": ["flush", "read", "transparency"],
|
|
504
|
+
"examples": [
|
|
505
|
+
"Read the last flush",
|
|
506
|
+
"Show flush from earlier today"
|
|
507
|
+
],
|
|
508
|
+
"inputModes": ["text"],
|
|
509
|
+
"outputModes": ["text"]
|
|
510
|
+
}
|
|
511
|
+
]
|
|
512
|
+
}
|