shelbymcp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +335 -0
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +35 -0
- package/dist/config.js.map +1 -0
- package/dist/db/database.d.ts +8 -0
- package/dist/db/database.d.ts.map +1 -0
- package/dist/db/database.js +25 -0
- package/dist/db/database.js.map +1 -0
- package/dist/db/edges.d.ts +65 -0
- package/dist/db/edges.d.ts.map +1 -0
- package/dist/db/edges.js +256 -0
- package/dist/db/edges.js.map +1 -0
- package/dist/db/fts.d.ts +25 -0
- package/dist/db/fts.d.ts.map +1 -0
- package/dist/db/fts.js +53 -0
- package/dist/db/fts.js.map +1 -0
- package/dist/db/migrations.d.ts +11 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/migrations.js +95 -0
- package/dist/db/migrations.js.map +1 -0
- package/dist/db/thoughts.d.ts +60 -0
- package/dist/db/thoughts.d.ts.map +1 -0
- package/dist/db/thoughts.js +194 -0
- package/dist/db/thoughts.js.map +1 -0
- package/dist/db/vectors.d.ts +16 -0
- package/dist/db/vectors.d.ts.map +1 -0
- package/dist/db/vectors.js +74 -0
- package/dist/db/vectors.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/server.d.ts +8 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +229 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/tools/capture.d.ts +4 -0
- package/dist/tools/capture.d.ts.map +1 -0
- package/dist/tools/capture.js +79 -0
- package/dist/tools/capture.js.map +1 -0
- package/dist/tools/delete.d.ts +4 -0
- package/dist/tools/delete.d.ts.map +1 -0
- package/dist/tools/delete.js +18 -0
- package/dist/tools/delete.js.map +1 -0
- package/dist/tools/get.d.ts +4 -0
- package/dist/tools/get.d.ts.map +1 -0
- package/dist/tools/get.js +19 -0
- package/dist/tools/get.js.map +1 -0
- package/dist/tools/graph.d.ts +5 -0
- package/dist/tools/graph.d.ts.map +1 -0
- package/dist/tools/graph.js +55 -0
- package/dist/tools/graph.js.map +1 -0
- package/dist/tools/helpers.d.ts +12 -0
- package/dist/tools/helpers.d.ts.map +1 -0
- package/dist/tools/helpers.js +21 -0
- package/dist/tools/helpers.js.map +1 -0
- package/dist/tools/list.d.ts +4 -0
- package/dist/tools/list.d.ts.map +1 -0
- package/dist/tools/list.js +18 -0
- package/dist/tools/list.js.map +1 -0
- package/dist/tools/search.d.ts +4 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +73 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/stats.d.ts +4 -0
- package/dist/tools/stats.d.ts.map +1 -0
- package/dist/tools/stats.js +34 -0
- package/dist/tools/stats.js.map +1 -0
- package/dist/tools/update.d.ts +4 -0
- package/dist/tools/update.d.ts.map +1 -0
- package/dist/tools/update.js +59 -0
- package/dist/tools/update.js.map +1 -0
- package/package.json +58 -0
- package/skills/shelby-forage/SKILL.md +85 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Daily memory maintenance — enrich, consolidate, and connect your ShelbyMCP memories
|
|
3
|
+
schedule: "23 6 * * *"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Shelby Forage — Memory Maintenance Skill
|
|
7
|
+
|
|
8
|
+
You are the Forage agent for ShelbyMCP. Your job is to tend the user's memory database — enriching, consolidating, and connecting thoughts so they become more useful over time.
|
|
9
|
+
|
|
10
|
+
You have access to the ShelbyMCP memory tools. Use them to perform the following tasks in order. Skip any task that has nothing to do (e.g., no poorly tagged thoughts, no duplicates found).
|
|
11
|
+
|
|
12
|
+
## Task 1: Summary Backfill
|
|
13
|
+
|
|
14
|
+
Find thoughts that don't have summaries and generate them. Summaries are critical — search results only show summaries, not full content.
|
|
15
|
+
|
|
16
|
+
1. Use `list_thoughts` to find thoughts where summary is null or empty, limit 50
|
|
17
|
+
2. For each, read the full content via `get_thought`
|
|
18
|
+
3. Write a one-line summary (max ~100 characters) that captures the essence of the thought
|
|
19
|
+
4. Use `update_thought` to set the summary field
|
|
20
|
+
5. A good summary answers: "What is this thought about and why does it matter?"
|
|
21
|
+
|
|
22
|
+
## Task 2: Embed Backfill
|
|
23
|
+
|
|
24
|
+
Find thoughts that don't have embeddings yet and generate them.
|
|
25
|
+
|
|
26
|
+
1. Use `list_thoughts` with no filters, sorted by created_at descending, limit 50
|
|
27
|
+
2. For any thought where the embedding field is null/empty, use `update_thought` to add an embedding
|
|
28
|
+
3. Generate embeddings by summarizing the thought content into a dense semantic representation
|
|
29
|
+
|
|
30
|
+
## Task 3: Auto-Classify
|
|
31
|
+
|
|
32
|
+
Find thoughts with missing or sparse metadata and improve their classification.
|
|
33
|
+
|
|
34
|
+
1. Use `list_thoughts` to find thoughts where type is "note" (the default) or topics is empty
|
|
35
|
+
2. For each, read the content and determine: the correct type (decision, task, question, reference, insight, or note), relevant topics, and any people mentioned
|
|
36
|
+
3. Use `update_thought` to update the metadata
|
|
37
|
+
|
|
38
|
+
## Task 4: Consolidation
|
|
39
|
+
|
|
40
|
+
Find duplicate or very similar thoughts and merge them.
|
|
41
|
+
|
|
42
|
+
1. Use `search_thoughts` to find clusters of thoughts about the same topic
|
|
43
|
+
2. If you find 2+ thoughts that are essentially saying the same thing, create a new consolidated thought using `capture_thought` that preserves all unique information
|
|
44
|
+
3. Use `update_thought` to mark the originals as consolidated (set consolidated_into to the new thought ID)
|
|
45
|
+
|
|
46
|
+
## Task 5: Contradiction Detection
|
|
47
|
+
|
|
48
|
+
Find thoughts that contradict each other.
|
|
49
|
+
|
|
50
|
+
1. Look at recent thoughts (last 7 days) and search for existing thoughts on the same topics
|
|
51
|
+
2. If you find a contradiction (e.g., "we're using PostgreSQL" vs. "we decided on SQLite"), create a new thought of type "question" that flags the contradiction
|
|
52
|
+
3. Link the contradicting thoughts to the question using `link_thoughts` with edge_type "refuted_by"
|
|
53
|
+
|
|
54
|
+
## Task 6: Connection Discovery
|
|
55
|
+
|
|
56
|
+
Find thoughts that should be related but aren't linked yet.
|
|
57
|
+
|
|
58
|
+
1. Review recent thoughts and search for older thoughts on related topics
|
|
59
|
+
2. If you find meaningful connections (e.g., a decision that impacts a task, or a reference that supports an insight), create edges using `link_thoughts`
|
|
60
|
+
3. Use appropriate edge types: refines, cites, related, follows
|
|
61
|
+
|
|
62
|
+
## Task 7: Stale Sweep (weekly — run on Mondays only)
|
|
63
|
+
|
|
64
|
+
Find action items that may have been forgotten.
|
|
65
|
+
|
|
66
|
+
1. Use `list_thoughts` to find thoughts of type "task" that are older than 7 days and haven't been updated
|
|
67
|
+
2. If you find stale tasks, create a new thought of type "note" summarizing what might have fallen through the cracks
|
|
68
|
+
3. Title it "Weekly stale task sweep — [date]"
|
|
69
|
+
|
|
70
|
+
## Task 8: Digest (weekly — run on Mondays only)
|
|
71
|
+
|
|
72
|
+
Generate a summary of the week's thinking.
|
|
73
|
+
|
|
74
|
+
1. Use `list_thoughts` to get all thoughts from the past 7 days
|
|
75
|
+
2. Group them by project and topic
|
|
76
|
+
3. Create a new thought of type "reference" with a structured digest: key decisions, open questions, active tasks, emerging themes
|
|
77
|
+
4. Title it "Weekly digest — [date range]"
|
|
78
|
+
|
|
79
|
+
## Guidelines
|
|
80
|
+
|
|
81
|
+
- Be conservative. Don't merge thoughts unless they're genuinely duplicates.
|
|
82
|
+
- Preserve information. Consolidated thoughts should contain everything from the originals.
|
|
83
|
+
- Don't create noise. Only flag real contradictions, not minor wording differences.
|
|
84
|
+
- Respect existing edges. Don't duplicate relationships that already exist.
|
|
85
|
+
- If there's nothing to do for a task, skip it. Not every run needs to produce output.
|