@knowledgine/cli 0.5.0 → 0.6.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/dist/commands/ingest.d.ts +4 -0
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +55 -13
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +15 -8
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/search.d.ts +1 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +45 -1
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +13 -2
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/setup-skills.d.ts +3 -1
- package/dist/commands/setup-skills.d.ts.map +1 -1
- package/dist/commands/setup-skills.js +24 -7
- package/dist/commands/setup-skills.js.map +1 -1
- package/dist/commands/setup.d.ts +2 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +23 -3
- package/dist/commands/setup.js.map +1 -1
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/templates/skills/index.d.ts +8 -5
- package/dist/templates/skills/index.d.ts.map +1 -1
- package/dist/templates/skills/index.js +56 -41
- package/dist/templates/skills/index.js.map +1 -1
- package/dist/templates/skills/knowledgine-capture/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-capture/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-capture/references.ja.js +414 -0
- package/dist/templates/skills/knowledgine-capture/references.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.d.ts +1 -1
- package/dist/templates/skills/knowledgine-capture/skill-md.d.ts.map +1 -1
- package/dist/templates/skills/knowledgine-capture/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.ja.js +98 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.js +4 -2
- package/dist/templates/skills/knowledgine-capture/skill-md.js.map +1 -1
- package/dist/templates/skills/knowledgine-debrief/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-debrief/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-debrief/references.ja.js +141 -0
- package/dist/templates/skills/knowledgine-debrief/references.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.d.ts +1 -1
- package/dist/templates/skills/knowledgine-debrief/skill-md.d.ts.map +1 -1
- package/dist/templates/skills/knowledgine-debrief/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.ja.js +82 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.js +10 -2
- package/dist/templates/skills/knowledgine-debrief/skill-md.js.map +1 -1
- package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.d.ts.map +1 -1
- package/dist/templates/skills/knowledgine-explore/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-explore/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-explore/references.ja.js +182 -0
- package/dist/templates/skills/knowledgine-explore/references.ja.js.map +1 -0
- package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.js +15 -15
- package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.js.map +1 -1
- package/dist/templates/skills/knowledgine-explore/skill-md.d.ts +2 -0
- package/dist/templates/skills/knowledgine-explore/skill-md.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-explore/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-explore/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-explore/skill-md.ja.js +98 -0
- package/dist/templates/skills/knowledgine-explore/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/skill-md.js +19 -12
- package/dist/templates/skills/{knowledgine-suggest → knowledgine-explore}/skill-md.js.map +1 -1
- package/dist/templates/skills/knowledgine-feedback/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-feedback/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-feedback/references.ja.js +214 -0
- package/dist/templates/skills/knowledgine-feedback/references.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.d.ts +1 -1
- package/dist/templates/skills/knowledgine-feedback/skill-md.d.ts.map +1 -1
- package/dist/templates/skills/knowledgine-feedback/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.ja.js +108 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.js +4 -2
- package/dist/templates/skills/knowledgine-feedback/skill-md.js.map +1 -1
- package/dist/templates/skills/knowledgine-ingest/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-ingest/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-ingest/references.ja.js +244 -0
- package/dist/templates/skills/knowledgine-ingest/references.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.d.ts +1 -1
- package/dist/templates/skills/knowledgine-ingest/skill-md.d.ts.map +1 -1
- package/dist/templates/skills/knowledgine-ingest/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.ja.js +81 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.js +2 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.js.map +1 -1
- package/dist/templates/skills/{knowledgine-recall → knowledgine-memory}/references.d.ts.map +1 -1
- package/dist/templates/skills/knowledgine-memory/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-memory/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-memory/references.ja.js +188 -0
- package/dist/templates/skills/knowledgine-memory/references.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-memory/references.js +188 -0
- package/dist/templates/skills/knowledgine-memory/references.js.map +1 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.d.ts +2 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.ja.js +169 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.js +169 -0
- package/dist/templates/skills/{knowledgine-recall → knowledgine-memory}/skill-md.js.map +1 -1
- package/dist/templates/skills/knowledgine-search/references.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-search/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-search/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-search/references.ja.js +313 -0
- package/dist/templates/skills/knowledgine-search/references.ja.js.map +1 -0
- package/dist/templates/skills/{knowledgine-recall → knowledgine-search}/references.js +124 -19
- package/dist/templates/skills/knowledgine-search/references.js.map +1 -0
- package/dist/templates/skills/knowledgine-search/skill-md.d.ts +2 -0
- package/dist/templates/skills/knowledgine-search/skill-md.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-search/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-search/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-search/skill-md.ja.js +175 -0
- package/dist/templates/skills/knowledgine-search/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-search/skill-md.js +174 -0
- package/dist/templates/skills/knowledgine-search/skill-md.js.map +1 -0
- package/dist/templates/skills/types.d.ts +4 -0
- package/dist/templates/skills/types.d.ts.map +1 -0
- package/dist/templates/skills/types.js +3 -0
- package/dist/templates/skills/types.js.map +1 -0
- package/package.json +4 -4
- package/dist/lib/entity-extractor.d.ts +0 -17
- package/dist/lib/entity-extractor.d.ts.map +0 -1
- package/dist/lib/entity-extractor.js +0 -22
- package/dist/lib/entity-extractor.js.map +0 -1
- package/dist/templates/skills/knowledgine-explain/skill-md.d.ts +0 -2
- package/dist/templates/skills/knowledgine-explain/skill-md.d.ts.map +0 -1
- package/dist/templates/skills/knowledgine-explain/skill-md.js.map +0 -1
- package/dist/templates/skills/knowledgine-recall/references.js.map +0 -1
- package/dist/templates/skills/knowledgine-recall/skill-md.d.ts +0 -2
- package/dist/templates/skills/knowledgine-recall/skill-md.d.ts.map +0 -1
- package/dist/templates/skills/knowledgine-recall/skill-md.js +0 -86
- package/dist/templates/skills/knowledgine-suggest/references.d.ts.map +0 -1
- package/dist/templates/skills/knowledgine-suggest/references.js +0 -121
- package/dist/templates/skills/knowledgine-suggest/references.js.map +0 -1
- package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts +0 -2
- package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts.map +0 -1
- package/dist/templates/skills/knowledgine-suggest/skill-md.js +0 -94
- /package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.d.ts +0 -0
- /package/dist/templates/skills/{knowledgine-recall → knowledgine-memory}/references.d.ts +0 -0
- /package/dist/templates/skills/{knowledgine-suggest → knowledgine-search}/references.d.ts +0 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
export const REFERENCES = {
|
|
2
|
+
"layer-guide.md": `# Memory Layer Guide
|
|
3
|
+
|
|
4
|
+
Detailed guidance for choosing, using, and promoting across the three memory layers.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## episodic — Short-Term Session Context
|
|
9
|
+
|
|
10
|
+
**Core question**: "What am I doing right now?"
|
|
11
|
+
|
|
12
|
+
**Lifespan**: Hours to days. Expires naturally when the session or task ends.
|
|
13
|
+
|
|
14
|
+
**Examples**:
|
|
15
|
+
- "Currently refactoring the auth module — halfway through extracting token validation. Next step: update callers in routes/protected.ts."
|
|
16
|
+
- "Debugging a race condition in the job queue. Hypothesis: worker is processing items before the DB write commits. Still investigating."
|
|
17
|
+
- "Session goal: get the failing integration tests green before end of day. Blocked on fixture setup."
|
|
18
|
+
- "Opened 3 PRs this session: #42 (auth), #43 (cache), #44 (types). All awaiting review."
|
|
19
|
+
|
|
20
|
+
**Recommended TTL values**:
|
|
21
|
+
| Duration | Seconds | Use case |
|
|
22
|
+
|----------|---------|----------|
|
|
23
|
+
| 1 hour | 3600 | Within-session scratchpad |
|
|
24
|
+
| 1 day | 86400 | Resume tomorrow |
|
|
25
|
+
| 1 week | 604800 | Ongoing task spanning days |
|
|
26
|
+
| None | — | Only if you want manual cleanup |
|
|
27
|
+
|
|
28
|
+
**When to promote to semantic**:
|
|
29
|
+
Promote an episodic memory to semantic when:
|
|
30
|
+
- The same context has been recreated in 2+ separate sessions
|
|
31
|
+
- The information represents a fact or decision, not just current state
|
|
32
|
+
- The TTL would expire before the context is no longer relevant
|
|
33
|
+
|
|
34
|
+
**Tagging strategy**:
|
|
35
|
+
Use status tags and time-bound identifiers: \`in-progress\`, \`blocked\`, \`session-goal\`, and a project/task identifier. Example: \`["auth-refactor", "in-progress", "session-2024-01-20"]\`
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## semantic — Mid-Term Facts and Decisions
|
|
40
|
+
|
|
41
|
+
**Core question**: "What did I learn this week?"
|
|
42
|
+
|
|
43
|
+
**Lifespan**: Days to weeks. Represents stable facts, decisions, or context that outlives a single session but is not yet a permanent skill.
|
|
44
|
+
|
|
45
|
+
**Examples**:
|
|
46
|
+
- "The payments team decided to defer Stripe migration to Q3. All payment-related work should target the existing Braintree integration until then."
|
|
47
|
+
- "The staging database does not auto-reset between test runs. Always run the seed script manually before integration tests."
|
|
48
|
+
- "The \`user_sessions\` table has no index on \`expires_at\`. Queries filtering by expiry are slow on the staging dataset (800k rows). Ticket filed: INFRA-1042."
|
|
49
|
+
- "Team convention: feature flags are managed in \`config/flags.ts\` — do not use environment variables directly for feature gating."
|
|
50
|
+
|
|
51
|
+
**When to promote to procedural**:
|
|
52
|
+
Promote a semantic memory to procedural when:
|
|
53
|
+
- The same pattern or workflow has been applied successfully in 3+ distinct situations
|
|
54
|
+
- The knowledge represents a generalizable skill, not a project-specific fact
|
|
55
|
+
- You want it available as a default starting point in any new project context
|
|
56
|
+
|
|
57
|
+
**Tagging strategy**:
|
|
58
|
+
Use domain and status tags: \`decision\`, \`constraint\`, \`team-convention\`, \`project-fact\`, plus the relevant technical area. Example: \`["payments", "decision", "q3-deferral"]\`
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## procedural — Long-Term Patterns and Skills
|
|
63
|
+
|
|
64
|
+
**Core question**: "How do I solve this type of problem?"
|
|
65
|
+
|
|
66
|
+
**Lifespan**: Weeks to indefinite. Represents stable, generalizable skills and workflows.
|
|
67
|
+
|
|
68
|
+
**Examples**:
|
|
69
|
+
- "Debugging race conditions in async job queues: (1) Add per-operation trace IDs, (2) Log queue state before and after dequeue, (3) Check for missing await on DB writes, (4) Use a single-worker test mode to eliminate concurrency."
|
|
70
|
+
- "Code review checklist for auth changes: verify token expiry handling, confirm CSRF protection is not bypassed, check for missing rate limiting on login endpoints, confirm secrets are not logged."
|
|
71
|
+
- "Deployment procedure for database migrations: (1) Run migration in dry-run mode against staging, (2) Verify row counts and index creation, (3) Take a snapshot, (4) Apply to production during low-traffic window, (5) Monitor error rate for 30 minutes."
|
|
72
|
+
- "When TypeScript reports 'object is possibly undefined' in a call chain, prefer adding a guard clause at the function entry point rather than using non-null assertions. Non-null assertions suppress the error without fixing it."
|
|
73
|
+
|
|
74
|
+
**Tagging strategy**:
|
|
75
|
+
Use skill-category and domain tags: \`workflow\`, \`checklist\`, \`pattern\`, \`debugging\`, \`deployment\`, \`code-review\`, plus the technical area. Example: \`["debugging", "async", "workflow"]\`
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Layer Promotion Workflow
|
|
80
|
+
|
|
81
|
+
\`\`\`
|
|
82
|
+
episodic
|
|
83
|
+
│
|
|
84
|
+
│ After 2+ sessions recreating the same context
|
|
85
|
+
│ OR context represents a stable fact/decision
|
|
86
|
+
▼
|
|
87
|
+
semantic
|
|
88
|
+
│
|
|
89
|
+
│ After 3+ successful applications in distinct situations
|
|
90
|
+
│ OR knowledge is clearly generalizable beyond this project
|
|
91
|
+
▼
|
|
92
|
+
procedural
|
|
93
|
+
\`\`\`
|
|
94
|
+
|
|
95
|
+
**Promotion steps**:
|
|
96
|
+
1. Recall the existing entry by ID or tag filter
|
|
97
|
+
2. Call \`store_memory\` with the promoted layer and refined content (distill to the essential pattern)
|
|
98
|
+
3. Call \`forget_memory\` on the original entry with reason "Promoted to [layer]"
|
|
99
|
+
4. Update tags to reflect the new layer's conventions
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Tagging Strategy Summary
|
|
104
|
+
|
|
105
|
+
| Layer | Recommended tag patterns | Examples |
|
|
106
|
+
|-------|--------------------------|---------|
|
|
107
|
+
| episodic | status + task identifier | \`in-progress\`, \`blocked\`, \`session-goal\` |
|
|
108
|
+
| semantic | domain + fact type | \`decision\`, \`constraint\`, \`team-convention\` |
|
|
109
|
+
| procedural | skill category + domain | \`workflow\`, \`checklist\`, \`pattern\`, \`debugging\` |
|
|
110
|
+
|
|
111
|
+
Keep tags specific enough to be meaningful as filters, but not so specific that they are
|
|
112
|
+
unique to a single entry. Aim for 2–4 tags per entry.
|
|
113
|
+
`,
|
|
114
|
+
"memory-vs-knowledge.md": `# Memory vs Knowledge: Decision Matrix
|
|
115
|
+
|
|
116
|
+
Use this guide to decide whether to call \`store_memory\` (memory tools) or
|
|
117
|
+
\`capture_knowledge\` (knowledgine-capture skill).
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Decision Matrix
|
|
122
|
+
|
|
123
|
+
| Criterion | Memory (\`store_memory\`) | Knowledge (\`capture_knowledge\`) |
|
|
124
|
+
|-----------|--------------------------|----------------------------------|
|
|
125
|
+
| **Lifespan** | Temporary to mid-term | Permanent |
|
|
126
|
+
| **Audience** | Same user or agent instance | Team-wide |
|
|
127
|
+
| **Content type** | State, context, in-progress work | Solutions, decisions, reusable patterns |
|
|
128
|
+
| **Search method** | Layer, tags, date range | Full-text, semantic, graph |
|
|
129
|
+
| **Examples** | "Working on auth refactor, blocked on token refresh" | "Fixed auth bug by adding token refresh before expiry check" |
|
|
130
|
+
| **Versioning** | Optional (\`createVersion\` flag) | Automatic (note history always kept) |
|
|
131
|
+
| **Expiration** | TTL support | No expiration |
|
|
132
|
+
| **Trigger** | Any time during a session | After completing work with transferable insight |
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Quick Decision Tree
|
|
137
|
+
|
|
138
|
+
\`\`\`
|
|
139
|
+
Is this information useful only to me (or the current agent) for current/near-future work?
|
|
140
|
+
├── YES → Is it likely to expire soon or when the task ends?
|
|
141
|
+
│ ├── YES → store_memory (episodic, set TTL)
|
|
142
|
+
│ └── NO → store_memory (semantic or procedural)
|
|
143
|
+
└── NO → Is it a fact, decision, pattern, or solution others could learn from?
|
|
144
|
+
├── YES → capture_knowledge (knowledgine-capture)
|
|
145
|
+
└── NO → Does not need to be stored
|
|
146
|
+
\`\`\`
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Examples by Scenario
|
|
151
|
+
|
|
152
|
+
### Use store_memory
|
|
153
|
+
|
|
154
|
+
- "I am halfway through migrating the user service to the new API. Next session, start at routes/users.ts line 142."
|
|
155
|
+
→ episodic, TTL: 86400
|
|
156
|
+
|
|
157
|
+
- "The staging environment is currently broken due to a failed migration. Do not run integration tests against staging until INFRA-204 is resolved."
|
|
158
|
+
→ semantic, no TTL (remove manually when resolved)
|
|
159
|
+
|
|
160
|
+
- "Pattern I always use when debugging flaky tests: isolate with --runInBand, add verbose logging, check for shared state in beforeEach."
|
|
161
|
+
→ procedural, no TTL
|
|
162
|
+
|
|
163
|
+
### Use capture_knowledge
|
|
164
|
+
|
|
165
|
+
- "Fixed the flaky test: root cause was a shared in-memory cache not reset between tests. Fix: call cache.clear() in afterEach."
|
|
166
|
+
→ This is a solved problem with a transferable root cause — use capture_knowledge
|
|
167
|
+
|
|
168
|
+
- "Decision: use optimistic locking for the inventory update endpoint to prevent overselling. Alternative (pessimistic locking) was rejected due to latency."
|
|
169
|
+
→ This is a design decision with reasoning that benefits the whole team — use capture_knowledge
|
|
170
|
+
|
|
171
|
+
- "Pattern: use guard clauses at function entry rather than nested if/else to reduce cyclomatic complexity."
|
|
172
|
+
→ This is a reusable code pattern — use capture_knowledge
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## When Both Apply
|
|
177
|
+
|
|
178
|
+
Sometimes the same session produces both a memory entry and a knowledge capture:
|
|
179
|
+
|
|
180
|
+
1. **During work**: Store an episodic memory tracking progress and open questions
|
|
181
|
+
2. **After completing work**: Capture the insight (bug fix, decision, pattern) in knowledgine-capture
|
|
182
|
+
3. **Clean up**: Delete the episodic memory with \`forget_memory\` (reason: "Task complete — captured in knowledge base")
|
|
183
|
+
|
|
184
|
+
This separation keeps the memory store focused on actionable state while the knowledge
|
|
185
|
+
base accumulates durable insights.
|
|
186
|
+
`,
|
|
187
|
+
};
|
|
188
|
+
//# sourceMappingURL=references.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-memory/references.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+GnB;IAEC,wBAAwB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwE3B;CACA,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const SKILL_MD = "---\nname: knowledgine-memory\nversion: \"1.0.0\"\nlang: en\ndescription: >\n Manage cross-session memory for task state, context, and learned patterns. Invoke when\n you need to persist information across sessions that is not permanent knowledge \u2014 such\n as current task progress, session context, or procedural patterns learned during work.\n Distinct from knowledgine-capture which stores permanent, curated knowledge.\n---\n# knowledgine-memory\n\n## Purpose\n\nManage session-scoped and cross-session state using the memory layer system. Memory entries\ntrack what you are doing, where you left off, and how you solve recurring problems \u2014 without\npolluting the permanent knowledge base with ephemeral context.\n\n## When to Use\n\nUse memory tools when any of the following apply:\n\n1. **Task progress tracking** \u2014 You are mid-way through a multi-step task and want to resume in a future session\n2. **Session context persistence** \u2014 You need to carry forward context (open questions, current hypotheses, blocking issues)\n3. **Procedural pattern learning** \u2014 You discovered a repeatable workflow or debugging strategy worth reusing\n4. **User preferences and working state** \u2014 Preferences, aliases, or workspace configuration learned during work\n5. **Temporary notes with expiration** \u2014 Short-lived reminders or in-progress state that should expire automatically (use TTL)\n\n## When NOT to Use\n\n- **Permanent knowledge** \u2192 use `knowledgine-capture` (bug fixes, design decisions, reusable patterns)\n- **Project documentation or source files** \u2192 use `knowledgine-ingest`\n- **End-of-session summary** \u2192 use `knowledgine-debrief` (which may call store_memory internally)\n- Facts or solutions you want to share team-wide \u2192 use `knowledgine-capture`\n\n## Memory Layers\n\nChoose the layer that matches the expected lifespan of the information:\n\n| Layer | Lifespan | Question it answers | Recommended TTL |\n|-------|----------|---------------------|-----------------|\n| `episodic` | Hours to days | \"What am I doing right now?\" | 3600\u201386400s |\n| `semantic` | Days to weeks | \"What did I learn this week?\" | 604800s or none |\n| `procedural` | Weeks to permanent | \"How do I solve this type of problem?\" | None |\n\n- **episodic** \u2014 Short-term session context. Use TTL to expire stale state automatically. Examples: current task description, in-progress debugging context, session goals.\n- **semantic** \u2014 Mid-term facts and decisions relevant to an ongoing project phase. Examples: team decisions, project constraints, learned facts about a codebase section.\n- **procedural** \u2014 Long-term patterns and repeatable skills. Promote from semantic when a pattern proves stable across multiple sessions. Examples: debugging workflows, code review checklists, deployment procedures.\n\nSee `layer-guide.md` for promotion workflow and per-layer tagging strategy.\n\n## How to Use (MCP Tools)\n\n### store_memory\n\nStore a new memory entry.\n\n```\nstore_memory(\n content: string, // Memory content (required, non-empty)\n layer?: \"episodic\" | \"semantic\" | \"procedural\", // Default: episodic\n tags?: string[], // Classification tags for recall filtering\n metadata?: {\n source?: string, // Origin (file, URL, tool name)\n project?: string, // Project scope\n sessionId?: string, // Session identifier\n confidence?: number, // 0\u20131 confidence score\n },\n ttl?: number, // Time-to-live in seconds (optional)\n)\n```\n\n### recall_memory\n\nRetrieve memory entries by query, filter, or recency.\n\n```\nrecall_memory(\n query?: string, // Full-text search (omit for recent entries)\n filter?: {\n layer?: \"episodic\" | \"semantic\" | \"procedural\",\n tags?: string[], // AND filter \u2014 all tags must match\n createdAfter?: string, // ISO 8601 lower bound\n createdBefore?: string, // ISO 8601 upper bound\n memoryIds?: string[], // Retrieve specific entries by ID\n },\n limit?: number, // Default: 10, max: 100\n includeVersionHistory?: boolean, // Default: false\n asOf?: string, // ISO 8601 point-in-time query\n)\n```\n\n### update_memory\n\nUpdate content, tags, or metadata of an existing entry. Creates a version snapshot by default.\n\n```\nupdate_memory(\n id: string, // Memory entry ID (required)\n content?: string, // Replacement content\n summary?: string, // Replacement summary\n tags?: string[], // Replacement tags (full replace, not merge)\n metadata?: { // Partial metadata merge\n source?: string,\n project?: string,\n sessionId?: string,\n confidence?: number,\n },\n createVersion?: boolean, // Default: true (immutable version created)\n)\n```\n\n### forget_memory\n\nDelete a memory entry. Soft delete by default (recoverable); hard delete removes data permanently.\n\n```\nforget_memory(\n id: string, // Memory entry ID (required)\n reason?: string, // Deletion reason (written to audit log)\n hard?: boolean, // Default: false (soft delete)\n)\n```\n\n## Step-by-Step Instructions\n\n### Storing a memory\n\n1. **Choose the layer** \u2014 episodic for current task state, semantic for facts and decisions, procedural for repeatable patterns\n2. **Write clear content** \u2014 Include enough context for you (or the agent) to act on the memory in a future session without re-investigation\n3. **Set TTL for episodic entries** \u2014 3600 (1 hour), 86400 (1 day), or 604800 (1 week) depending on expected relevance window\n4. **Add tags** \u2014 Use 2\u20134 tags to enable efficient recall filtering (e.g., `[\"auth\", \"in-progress\", \"session-2024-01\"]`)\n5. **Call store_memory** \u2014 Pass content, layer, tags, and optional metadata/ttl\n6. **Note the returned ID** \u2014 Store it if you will need to update or delete this entry later\n\n### Recalling memories at session start\n\n1. Call `recall_memory` with no arguments to get recent entries (default limit: 10)\n2. Optionally filter by layer (`episodic`) to focus on current task state\n3. If resuming a specific task, search by tags or project metadata\n4. Review entries and discard expired or irrelevant ones with `forget_memory`\n\n### Updating a memory\n\n1. Retrieve the entry ID from a prior `store_memory` result or `recall_memory`\n2. Call `update_memory` with the ID and changed fields\n3. Leave `createVersion: true` (default) for important updates \u2014 this preserves the history\n4. Use `createVersion: false` only for minor corrections (typos, formatting)\n\n### Cleaning up\n\n1. Call `forget_memory` with the entry ID when a task is complete\n2. Provide a `reason` for audit clarity (e.g., `\"Task completed \u2014 captured in knowledgine-capture\"`)\n3. Prefer soft delete (default) unless the entry contains data that must be physically removed\n\n## Best Practices\n\n- **Use TTL for episodic memories** \u2014 3600 (1 hr) for within-session notes, 86400 (1 day) for next-day continuation, 604800 (1 week) for ongoing tasks\n- **Tag for recall efficiency** \u2014 Tags are AND-filtered; use specific tags that uniquely identify the context (project name, task area, status)\n- **Create versions for important updates** \u2014 The default `createVersion: true` creates an immutable audit trail; do not disable it for significant content changes\n- **Prefer soft delete** \u2014 `hard: false` (default) keeps entries recoverable and maintains the audit log; use `hard: true` only when data must be physically purged\n- **Promote across layers deliberately** \u2014 When an episodic memory proves useful across multiple sessions, re-store it as semantic; when a semantic pattern becomes a stable skill, promote to procedural\n\n## Reference Files\n\n- See `layer-guide.md` for detailed guidance on each layer with examples, TTL recommendations, and the layer promotion workflow\n- See `memory-vs-knowledge.md` for a decision matrix comparing memory tools with knowledgine-capture\n";
|
|
2
|
+
//# sourceMappingURL=skill-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-memory/skill-md.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,8yQAuKpB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const SKILL_MD = "---\nname: knowledgine-memory\nversion: \"1.0.0\"\nlang: ja\ndescription: >\n \u30BF\u30B9\u30AF\u306E\u72B6\u614B\u3001\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3001\u5B66\u7FD2\u3057\u305F\u30D1\u30BF\u30FC\u30F3\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u6A2A\u65AD\u30E1\u30E2\u30EA\u3092\u7BA1\u7406\u3059\u308B\u3002\n \u6C38\u7D9A\u7684\u306A\u77E5\u8B58\u3067\u306F\u306A\u304F\u3001\u73FE\u5728\u306E\u30BF\u30B9\u30AF\u9032\u6357\u3001\u30BB\u30C3\u30B7\u30E7\u30F3\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3001\u4F5C\u696D\u4E2D\u306B\n \u5B66\u7FD2\u3057\u305F\u624B\u9806\u7684\u30D1\u30BF\u30FC\u30F3\u306A\u3069\u3001\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u307E\u305F\u3044\u3067\u60C5\u5831\u3092\u4FDD\u6301\u3059\u308B\u5FC5\u8981\u304C\u3042\u308B\u5834\u5408\u306B\u547C\u3073\u51FA\u3059\u3002\n \u6C38\u7D9A\u7684\u30FB\u7CBE\u9078\u3055\u308C\u305F\u77E5\u8B58\u3092\u4FDD\u5B58\u3059\u308B knowledgine-capture \u3068\u306F\u7570\u306A\u308B\u3002\n---\n# knowledgine-memory\n\n## \u76EE\u7684\n\n\u30E1\u30E2\u30EA\u30EC\u30A4\u30E4\u30FC\u30B7\u30B9\u30C6\u30E0\u3092\u4F7F\u7528\u3057\u3066\u3001\u30BB\u30C3\u30B7\u30E7\u30F3\u30B9\u30B3\u30FC\u30D7\u304A\u3088\u3073\u30BB\u30C3\u30B7\u30E7\u30F3\u6A2A\u65AD\u306E\u72B6\u614B\u3092\u7BA1\u7406\u3059\u308B\u3002\n\u30E1\u30E2\u30EA\u30A8\u30F3\u30C8\u30EA\u306F\u3001\u4F5C\u696D\u5185\u5BB9\u3001\u4E2D\u65AD\u3057\u305F\u7B87\u6240\u3001\u7E70\u308A\u8FD4\u3057\u767A\u751F\u3059\u308B\u554F\u984C\u306E\u89E3\u6C7A\u65B9\u6CD5\u3092\u8FFD\u8DE1\u3059\u308B\u2014\n\u4E00\u6642\u7684\u306A\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3067\u6C38\u7D9A\u7684\u306A\u30CA\u30EC\u30C3\u30B8\u30D9\u30FC\u30B9\u3092\u6C5A\u67D3\u3057\u306A\u3044\u3002\n\n## \u4F7F\u7528\u3059\u308B\u30BF\u30A4\u30DF\u30F3\u30B0\n\n\u4EE5\u4E0B\u306E\u3044\u305A\u308C\u304B\u306B\u8A72\u5F53\u3059\u308B\u5834\u5408\u306F\u30E1\u30E2\u30EA\u30C4\u30FC\u30EB\u3092\u4F7F\u7528\u3059\u308B:\n\n1. **\u30BF\u30B9\u30AF\u9032\u6357\u306E\u8FFD\u8DE1** \u2014 \u8907\u6570\u30B9\u30C6\u30C3\u30D7\u306E\u30BF\u30B9\u30AF\u306E\u9014\u4E2D\u3067\u3001\u6B21\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u518D\u958B\u3057\u305F\u3044\n2. **\u30BB\u30C3\u30B7\u30E7\u30F3\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u306E\u6C38\u7D9A\u5316** \u2014 \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\uFF08\u672A\u89E3\u6C7A\u306E\u7591\u554F\u3001\u73FE\u5728\u306E\u4EEE\u8AAC\u3001\u30D6\u30ED\u30C3\u30AD\u30F3\u30B0\u306A\u554F\u984C\uFF09\u3092\u5F15\u304D\u7D99\u304E\u305F\u3044\n3. **\u624B\u9806\u7684\u30D1\u30BF\u30FC\u30F3\u306E\u5B66\u7FD2** \u2014 \u518D\u5229\u7528\u3059\u308B\u4FA1\u5024\u306E\u3042\u308B\u7E70\u308A\u8FD4\u3057\u53EF\u80FD\u306A\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3084\u30C7\u30D0\u30C3\u30B0\u6226\u7565\u3092\u767A\u898B\u3057\u305F\n4. **\u30E6\u30FC\u30B6\u30FC\u8A2D\u5B9A\u3068\u4F5C\u696D\u72B6\u614B** \u2014 \u4F5C\u696D\u4E2D\u306B\u5B66\u7FD2\u3057\u305F\u8A2D\u5B9A\u3001\u30A8\u30A4\u30EA\u30A2\u30B9\u3001\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u69CB\u6210\n5. **\u6709\u52B9\u671F\u9650\u4ED8\u304D\u306E\u4E00\u6642\u7684\u306A\u30E1\u30E2** \u2014 \u81EA\u52D5\u7684\u306B\u671F\u9650\u5207\u308C\u306B\u306A\u308B\u77ED\u671F\u7684\u306A\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3084\u9032\u884C\u4E2D\u306E\u72B6\u614B\uFF08TTL \u3092\u4F7F\u7528\uFF09\n\n## \u4F7F\u7528\u3057\u306A\u3044\u30BF\u30A4\u30DF\u30F3\u30B0\n\n- **\u6C38\u7D9A\u7684\u306A\u77E5\u8B58** \u2192 `knowledgine-capture` \u3092\u4F7F\u7528\uFF08\u30D0\u30B0\u4FEE\u6B63\u3001\u8A2D\u8A08\u4E0A\u306E\u6C7A\u5B9A\u3001\u518D\u5229\u7528\u53EF\u80FD\u306A\u30D1\u30BF\u30FC\u30F3\uFF09\n- **\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3084\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB** \u2192 `knowledgine-ingest` \u3092\u4F7F\u7528\n- **\u30BB\u30C3\u30B7\u30E7\u30F3\u7D42\u4E86\u6642\u306E\u30B5\u30DE\u30EA\u30FC** \u2192 `knowledgine-debrief` \u3092\u4F7F\u7528\uFF08\u5185\u90E8\u3067 store_memory \u3092\u547C\u3073\u51FA\u3059\u5834\u5408\u3042\u308A\uFF09\n- \u30C1\u30FC\u30E0\u5168\u4F53\u3067\u5171\u6709\u3057\u305F\u3044\u4E8B\u5B9F\u3084\u89E3\u6C7A\u7B56 \u2192 `knowledgine-capture` \u3092\u4F7F\u7528\n\n## \u30E1\u30E2\u30EA\u30EC\u30A4\u30E4\u30FC\n\n\u60C5\u5831\u306E\u671F\u5F85\u3055\u308C\u308B\u6709\u52B9\u671F\u9593\u306B\u5408\u3063\u305F\u30EC\u30A4\u30E4\u30FC\u3092\u9078\u629E\u3059\u308B:\n\n| \u30EC\u30A4\u30E4\u30FC | \u6709\u52B9\u671F\u9593 | \u7B54\u3048\u308B\u554F\u3044 | \u63A8\u5968 TTL |\n|-------|----------|---------------------|-----------------|\n| `episodic` | \u6570\u6642\u9593\u301C\u6570\u65E5 | \u300C\u4ECA\u3001\u4F55\u3092\u3057\u3066\u3044\u308B\u304B\uFF1F\u300D | 3600\u301C86400\u79D2 |\n| `semantic` | \u6570\u65E5\u301C\u6570\u9031\u9593 | \u300C\u4ECA\u9031\u3001\u4F55\u3092\u5B66\u3093\u3060\u304B\uFF1F\u300D | 604800\u79D2 \u307E\u305F\u306F \u306A\u3057 |\n| `procedural` | \u6570\u9031\u9593\u301C\u6C38\u7D9A\u7684 | \u300C\u3053\u306E\u7A2E\u306E\u554F\u984C\u3092\u3069\u3046\u89E3\u6C7A\u3059\u308B\u304B\uFF1F\u300D | \u306A\u3057 |\n\n- **episodic** \u2014 \u77ED\u671F\u7684\u306A\u30BB\u30C3\u30B7\u30E7\u30F3\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3002TTL \u3092\u8A2D\u5B9A\u3057\u3066\u53E4\u3044\u72B6\u614B\u3092\u81EA\u52D5\u7684\u306B\u671F\u9650\u5207\u308C\u306B\u3059\u308B\u3002\u4F8B: \u73FE\u5728\u306E\u30BF\u30B9\u30AF\u306E\u8AAC\u660E\u3001\u9032\u884C\u4E2D\u306E\u30C7\u30D0\u30C3\u30B0\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3001\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u76EE\u6A19\u3002\n- **semantic** \u2014 \u9032\u884C\u4E2D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30D5\u30A7\u30FC\u30BA\u306B\u95A2\u9023\u3059\u308B\u4E2D\u671F\u7684\u306A\u4E8B\u5B9F\u3068\u6C7A\u5B9A\u3002\u4F8B: \u30C1\u30FC\u30E0\u306E\u6C7A\u5B9A\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u5236\u7D04\u3001\u30B3\u30FC\u30C9\u30D9\u30FC\u30B9\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u3064\u3044\u3066\u5B66\u7FD2\u3057\u305F\u4E8B\u5B9F\u3002\n- **procedural** \u2014 \u9577\u671F\u7684\u306A\u30D1\u30BF\u30FC\u30F3\u3068\u518D\u5229\u7528\u53EF\u80FD\u306A\u30B9\u30AD\u30EB\u3002\u8907\u6570\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306B\u308F\u305F\u3063\u3066\u30D1\u30BF\u30FC\u30F3\u304C\u5B89\u5B9A\u3057\u305F\u3068\u8A3C\u660E\u3055\u308C\u305F\u3089 semantic \u304B\u3089\u6607\u683C\u3055\u305B\u308B\u3002\u4F8B: \u30C7\u30D0\u30C3\u30B0\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3001\u30B3\u30FC\u30C9\u30EC\u30D3\u30E5\u30FC\u30C1\u30A7\u30C3\u30AF\u30EA\u30B9\u30C8\u3001\u30C7\u30D7\u30ED\u30A4\u624B\u9806\u3002\n\n\u6607\u683C\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3068\u30EC\u30A4\u30E4\u30FC\u3054\u3068\u306E\u30BF\u30B0\u6226\u7565\u306F `layer-guide.md` \u3092\u53C2\u7167\u3002\n\n## \u4F7F\u7528\u65B9\u6CD5\uFF08MCP \u30C4\u30FC\u30EB\uFF09\n\n### store_memory\n\n\u65B0\u3057\u3044\u30E1\u30E2\u30EA\u30A8\u30F3\u30C8\u30EA\u3092\u4FDD\u5B58\u3059\u308B\u3002\n\n```\nstore_memory(\n content: string, // \u30E1\u30E2\u30EA\u30B3\u30F3\u30C6\u30F3\u30C4\uFF08\u5FC5\u9808\u3001\u7A7A\u3067\u306A\u3044\uFF09\n layer?: \"episodic\" | \"semantic\" | \"procedural\", // \u30C7\u30D5\u30A9\u30EB\u30C8: episodic\n tags?: string[], // \u30EA\u30B3\u30FC\u30EB\u30D5\u30A3\u30EB\u30BF\u30EA\u30F3\u30B0\u7528\u306E\u5206\u985E\u30BF\u30B0\n metadata?: {\n source?: string, // \u8D77\u6E90\uFF08\u30D5\u30A1\u30A4\u30EB\u3001URL\u3001\u30C4\u30FC\u30EB\u540D\uFF09\n project?: string, // \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B9\u30B3\u30FC\u30D7\n sessionId?: string, // \u30BB\u30C3\u30B7\u30E7\u30F3\u8B58\u5225\u5B50\n confidence?: number, // 0\u301C1 \u306E\u4FE1\u983C\u5EA6\u30B9\u30B3\u30A2\n },\n ttl?: number, // \u751F\u5B58\u671F\u9593\uFF08\u79D2\uFF09\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09\n)\n```\n\n### recall_memory\n\n\u30AF\u30A8\u30EA\u3001\u30D5\u30A3\u30EB\u30BF\u30FC\u3001\u307E\u305F\u306F\u6700\u65B0\u9806\u3067\u30E1\u30E2\u30EA\u30A8\u30F3\u30C8\u30EA\u3092\u53D6\u5F97\u3059\u308B\u3002\n\n```\nrecall_memory(\n query?: string, // \u5168\u6587\u691C\u7D22\uFF08\u6700\u65B0\u30A8\u30F3\u30C8\u30EA\u306E\u5834\u5408\u306F\u7701\u7565\uFF09\n filter?: {\n layer?: \"episodic\" | \"semantic\" | \"procedural\",\n tags?: string[], // AND \u30D5\u30A3\u30EB\u30BF\u30FC \u2014 \u3059\u3079\u3066\u306E\u30BF\u30B0\u304C\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u3042\u308A\n createdAfter?: string, // ISO 8601 \u4E0B\u9650\n createdBefore?: string, // ISO 8601 \u4E0A\u9650\n memoryIds?: string[], // ID \u3067\u7279\u5B9A\u306E\u30A8\u30F3\u30C8\u30EA\u3092\u53D6\u5F97\n },\n limit?: number, // \u30C7\u30D5\u30A9\u30EB\u30C8: 10\u3001\u6700\u5927: 100\n includeVersionHistory?: boolean, // \u30C7\u30D5\u30A9\u30EB\u30C8: false\n asOf?: string, // ISO 8601 \u6642\u70B9\u30AF\u30A8\u30EA\n)\n```\n\n### update_memory\n\n\u65E2\u5B58\u30A8\u30F3\u30C8\u30EA\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u3001\u30BF\u30B0\u3001\u30E1\u30BF\u30C7\u30FC\u30BF\u3092\u66F4\u65B0\u3059\u308B\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u30D0\u30FC\u30B8\u30E7\u30F3\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u4F5C\u6210\u3059\u308B\u3002\n\n```\nupdate_memory(\n id: string, // \u30E1\u30E2\u30EA\u30A8\u30F3\u30C8\u30EA ID\uFF08\u5FC5\u9808\uFF09\n content?: string, // \u7F6E\u63DB\u30B3\u30F3\u30C6\u30F3\u30C4\n summary?: string, // \u7F6E\u63DB\u30B5\u30DE\u30EA\u30FC\n tags?: string[], // \u7F6E\u63DB\u30BF\u30B0\uFF08\u30DE\u30FC\u30B8\u3067\u306F\u306A\u304F\u5B8C\u5168\u7F6E\u63DB\uFF09\n metadata?: { // \u30E1\u30BF\u30C7\u30FC\u30BF\u306E\u90E8\u5206\u30DE\u30FC\u30B8\n source?: string,\n project?: string,\n sessionId?: string,\n confidence?: number,\n },\n createVersion?: boolean, // \u30C7\u30D5\u30A9\u30EB\u30C8: true\uFF08\u4E0D\u5909\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u4F5C\u6210\u3055\u308C\u308B\uFF09\n)\n```\n\n### forget_memory\n\n\u30E1\u30E2\u30EA\u30A8\u30F3\u30C8\u30EA\u3092\u524A\u9664\u3059\u308B\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306F\u30BD\u30D5\u30C8\u524A\u9664\uFF08\u5FA9\u5143\u53EF\u80FD\uFF09\uFF1B\u30CF\u30FC\u30C9\u524A\u9664\u306F\u30C7\u30FC\u30BF\u3092\u5B8C\u5168\u306B\u524A\u9664\u3059\u308B\u3002\n\n```\nforget_memory(\n id: string, // \u30E1\u30E2\u30EA\u30A8\u30F3\u30C8\u30EA ID\uFF08\u5FC5\u9808\uFF09\n reason?: string, // \u524A\u9664\u7406\u7531\uFF08\u76E3\u67FB\u30ED\u30B0\u306B\u66F8\u304D\u8FBC\u307E\u308C\u308B\uFF09\n hard?: boolean, // \u30C7\u30D5\u30A9\u30EB\u30C8: false\uFF08\u30BD\u30D5\u30C8\u524A\u9664\uFF09\n)\n```\n\n## \u624B\u9806\n\n### \u30E1\u30E2\u30EA\u306E\u4FDD\u5B58\n\n1. **\u30EC\u30A4\u30E4\u30FC\u3092\u9078\u629E\u3059\u308B** \u2014 \u73FE\u5728\u306E\u30BF\u30B9\u30AF\u72B6\u614B\u306F episodic\u3001\u4E8B\u5B9F\u3068\u6C7A\u5B9A\u306F semantic\u3001\u7E70\u308A\u8FD4\u3057\u53EF\u80FD\u306A\u30D1\u30BF\u30FC\u30F3\u306F procedural\n2. **\u660E\u78BA\u306A\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u66F8\u304F** \u2014 \u518D\u8ABF\u67FB\u306A\u3057\u306B\u5C06\u6765\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u884C\u52D5\u3067\u304D\u308B\u3088\u3046\u3001\u5341\u5206\u306A\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u542B\u3081\u308B\n3. **episodic \u30A8\u30F3\u30C8\u30EA\u306B TTL \u3092\u8A2D\u5B9A\u3059\u308B** \u2014 \u671F\u5F85\u3055\u308C\u308B\u95A2\u9023\u671F\u9593\u306B\u5FDC\u3058\u3066 3600\uFF081 \u6642\u9593\uFF09\u300186400\uFF081 \u65E5\uFF09\u3001604800\uFF081 \u9031\u9593\uFF09\n4. **\u30BF\u30B0\u3092\u8FFD\u52A0\u3059\u308B** \u2014 \u52B9\u7387\u7684\u306A\u30EA\u30B3\u30FC\u30EB\u30D5\u30A3\u30EB\u30BF\u30EA\u30F3\u30B0\u306E\u305F\u3081 2\u301C4 \u500B\u306E\u30BF\u30B0\u3092\u4F7F\u7528\u3059\u308B\uFF08\u4F8B: `[\"auth\", \"in-progress\", \"session-2024-01\"]`\uFF09\n5. **store_memory \u3092\u547C\u3073\u51FA\u3059** \u2014 content\u3001layer\u3001tags\u3001\u30AA\u30D7\u30B7\u30E7\u30F3\u3067 metadata/ttl \u3092\u6E21\u3059\n6. **\u8FD4\u3055\u308C\u305F ID \u3092\u8A18\u9332\u3059\u308B** \u2014 \u3053\u306E\u30A8\u30F3\u30C8\u30EA\u3092\u5F8C\u3067\u66F4\u65B0\u307E\u305F\u306F\u524A\u9664\u3059\u308B\u5FC5\u8981\u304C\u3042\u308B\u5834\u5408\u306B\u4FDD\u5B58\u3059\u308B\n\n### \u30BB\u30C3\u30B7\u30E7\u30F3\u958B\u59CB\u6642\u306B\u30E1\u30E2\u30EA\u3092\u547C\u3073\u51FA\u3059\n\n1. \u5F15\u6570\u306A\u3057\u3067 `recall_memory` \u3092\u547C\u3073\u51FA\u3057\u3066\u6700\u65B0\u30A8\u30F3\u30C8\u30EA\u3092\u53D6\u5F97\u3059\u308B\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8\u4E0A\u9650: 10\uFF09\n2. \u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u30EC\u30A4\u30E4\u30FC\uFF08`episodic`\uFF09\u3067\u30D5\u30A3\u30EB\u30BF\u30EA\u30F3\u30B0\u3057\u3066\u73FE\u5728\u306E\u30BF\u30B9\u30AF\u72B6\u614B\u306B\u96C6\u4E2D\u3059\u308B\n3. \u7279\u5B9A\u306E\u30BF\u30B9\u30AF\u3092\u518D\u958B\u3059\u308B\u5834\u5408\u306F\u3001\u30BF\u30B0\u307E\u305F\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30E1\u30BF\u30C7\u30FC\u30BF\u3067\u691C\u7D22\u3059\u308B\n4. \u30A8\u30F3\u30C8\u30EA\u3092\u78BA\u8A8D\u3057\u3001\u671F\u9650\u5207\u308C\u307E\u305F\u306F\u4E0D\u8981\u306A\u3082\u306E\u3092 `forget_memory` \u3067\u524A\u9664\u3059\u308B\n\n### \u30E1\u30E2\u30EA\u306E\u66F4\u65B0\n\n1. \u524D\u56DE\u306E `store_memory` \u7D50\u679C\u307E\u305F\u306F `recall_memory` \u304B\u3089\u30A8\u30F3\u30C8\u30EA ID \u3092\u53D6\u5F97\u3059\u308B\n2. ID \u3068\u5909\u66F4\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u6307\u5B9A\u3057\u3066 `update_memory` \u3092\u547C\u3073\u51FA\u3059\n3. \u91CD\u8981\u306A\u66F4\u65B0\u306B\u306F `createVersion: true`\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8\uFF09\u306E\u307E\u307E \u2014 \u5C65\u6B74\u304C\u4FDD\u6301\u3055\u308C\u308B\n4. `createVersion: false` \u306F\u8EFD\u5FAE\u306A\u4FEE\u6B63\uFF08\u30BF\u30A4\u30DD\u3001\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\uFF09\u306E\u307F\u306B\u4F7F\u7528\u3059\u308B\n\n### \u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\n\n1. \u30BF\u30B9\u30AF\u304C\u5B8C\u4E86\u3057\u305F\u3089\u30A8\u30F3\u30C8\u30EA ID \u3092\u6307\u5B9A\u3057\u3066 `forget_memory` \u3092\u547C\u3073\u51FA\u3059\n2. \u76E3\u67FB\u306E\u660E\u78BA\u3055\u306E\u305F\u3081\u306B `reason` \u3092\u6307\u5B9A\u3059\u308B\uFF08\u4F8B: `\"Task completed \u2014 captured in knowledgine-capture\"`\uFF09\n3. \u7269\u7406\u7684\u306B\u524A\u9664\u3059\u308B\u5FC5\u8981\u304C\u3042\u308B\u30C7\u30FC\u30BF\u3092\u542B\u3080\u5834\u5408\u3092\u9664\u304D\u3001\u30BD\u30D5\u30C8\u524A\u9664\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8\uFF09\u3092\u512A\u5148\u3059\u308B\n\n## \u30D9\u30B9\u30C8\u30D7\u30E9\u30AF\u30C6\u30A3\u30B9\n\n- **episodic \u30E1\u30E2\u30EA\u306B\u306F TTL \u3092\u4F7F\u7528\u3059\u308B** \u2014 \u30BB\u30C3\u30B7\u30E7\u30F3\u5185\u30E1\u30E2\u306B\u306F 3600\uFF081 \u6642\u9593\uFF09\u3001\u7FCC\u65E5\u7D99\u7D9A\u306B\u306F 86400\uFF081 \u65E5\uFF09\u3001\u9032\u884C\u4E2D\u306E\u30BF\u30B9\u30AF\u306B\u306F 604800\uFF081 \u9031\u9593\uFF09\n- **\u30EA\u30B3\u30FC\u30EB\u52B9\u7387\u306E\u305F\u3081\u306B\u30BF\u30B0\u4ED8\u3051\u3059\u308B** \u2014 \u30BF\u30B0\u306F AND \u30D5\u30A3\u30EB\u30BF\u30EA\u30F3\u30B0\u3055\u308C\u308B\uFF1B\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u4E00\u610F\u306B\u8B58\u5225\u3059\u308B\u5177\u4F53\u7684\u306A\u30BF\u30B0\u3092\u4F7F\u7528\u3059\u308B\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\u3001\u30BF\u30B9\u30AF\u30A8\u30EA\u30A2\u3001\u30B9\u30C6\u30FC\u30BF\u30B9\uFF09\n- **\u91CD\u8981\u306A\u66F4\u65B0\u306B\u306F\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u4F5C\u6210\u3059\u308B** \u2014 \u30C7\u30D5\u30A9\u30EB\u30C8\u306E `createVersion: true` \u306F\u4E0D\u5909\u306E\u76E3\u67FB\u8A3C\u8DE1\u3092\u4F5C\u6210\u3059\u308B\uFF1B\u91CD\u8981\u306A\u30B3\u30F3\u30C6\u30F3\u30C4\u5909\u66F4\u3067\u306F\u7121\u52B9\u306B\u3057\u306A\u3044\n- **\u30BD\u30D5\u30C8\u524A\u9664\u3092\u512A\u5148\u3059\u308B** \u2014 `hard: false`\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8\uFF09\u306F\u30A8\u30F3\u30C8\u30EA\u3092\u5FA9\u5143\u53EF\u80FD\u306B\u4FDD\u3061\u76E3\u67FB\u30ED\u30B0\u3092\u7DAD\u6301\u3059\u308B\uFF1B\u30C7\u30FC\u30BF\u3092\u7269\u7406\u7684\u306B\u30D1\u30FC\u30B8\u3059\u308B\u5FC5\u8981\u304C\u3042\u308B\u5834\u5408\u306E\u307F `hard: true` \u3092\u4F7F\u7528\u3059\u308B\n- **\u610F\u56F3\u7684\u306B\u30EC\u30A4\u30E4\u30FC\u9593\u3092\u6607\u683C\u3055\u305B\u308B** \u2014 episodic \u30E1\u30E2\u30EA\u304C\u8907\u6570\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u6709\u7528\u3068\u8A3C\u660E\u3055\u308C\u305F\u3089 semantic \u3068\u3057\u3066\u518D\u4FDD\u5B58\u3059\u308B\uFF1Bsemantic \u30D1\u30BF\u30FC\u30F3\u304C\u5B89\u5B9A\u3057\u305F\u30B9\u30AD\u30EB\u306B\u306A\u3063\u305F\u3089 procedural \u306B\u6607\u683C\u3055\u305B\u308B\n\n## \u53C2\u7167\u30D5\u30A1\u30A4\u30EB\n\n- \u5404\u30EC\u30A4\u30E4\u30FC\u306E\u8A73\u7D30\u30AC\u30A4\u30C0\u30F3\u30B9\uFF08\u4F8B\u3001TTL \u306E\u63A8\u5968\u5024\u3001\u30EC\u30A4\u30E4\u30FC\u6607\u683C\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF09\u306F `layer-guide.md` \u3092\u53C2\u7167\n- \u30E1\u30E2\u30EA\u30C4\u30FC\u30EB\u3068 knowledgine-capture \u306E\u6BD4\u8F03\u5224\u65AD\u30DE\u30C8\u30EA\u30AF\u30B9\u306F `memory-vs-knowledge.md` \u3092\u53C2\u7167\n";
|
|
2
|
+
//# sourceMappingURL=skill-md.ja.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.ja.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-memory/skill-md.ja.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,+viBAuKpB,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
export const SKILL_MD = `---
|
|
2
|
+
name: knowledgine-memory
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
lang: ja
|
|
5
|
+
description: >
|
|
6
|
+
タスクの状態、コンテキスト、学習したパターンのセッション横断メモリを管理する。
|
|
7
|
+
永続的な知識ではなく、現在のタスク進捗、セッションコンテキスト、作業中に
|
|
8
|
+
学習した手順的パターンなど、セッションをまたいで情報を保持する必要がある場合に呼び出す。
|
|
9
|
+
永続的・精選された知識を保存する knowledgine-capture とは異なる。
|
|
10
|
+
---
|
|
11
|
+
# knowledgine-memory
|
|
12
|
+
|
|
13
|
+
## 目的
|
|
14
|
+
|
|
15
|
+
メモリレイヤーシステムを使用して、セッションスコープおよびセッション横断の状態を管理する。
|
|
16
|
+
メモリエントリは、作業内容、中断した箇所、繰り返し発生する問題の解決方法を追跡する—
|
|
17
|
+
一時的なコンテキストで永続的なナレッジベースを汚染しない。
|
|
18
|
+
|
|
19
|
+
## 使用するタイミング
|
|
20
|
+
|
|
21
|
+
以下のいずれかに該当する場合はメモリツールを使用する:
|
|
22
|
+
|
|
23
|
+
1. **タスク進捗の追跡** — 複数ステップのタスクの途中で、次のセッションで再開したい
|
|
24
|
+
2. **セッションコンテキストの永続化** — コンテキスト(未解決の疑問、現在の仮説、ブロッキングな問題)を引き継ぎたい
|
|
25
|
+
3. **手順的パターンの学習** — 再利用する価値のある繰り返し可能なワークフローやデバッグ戦略を発見した
|
|
26
|
+
4. **ユーザー設定と作業状態** — 作業中に学習した設定、エイリアス、ワークスペース構成
|
|
27
|
+
5. **有効期限付きの一時的なメモ** — 自動的に期限切れになる短期的なリマインダーや進行中の状態(TTL を使用)
|
|
28
|
+
|
|
29
|
+
## 使用しないタイミング
|
|
30
|
+
|
|
31
|
+
- **永続的な知識** → \`knowledgine-capture\` を使用(バグ修正、設計上の決定、再利用可能なパターン)
|
|
32
|
+
- **プロジェクトドキュメントやソースファイル** → \`knowledgine-ingest\` を使用
|
|
33
|
+
- **セッション終了時のサマリー** → \`knowledgine-debrief\` を使用(内部で store_memory を呼び出す場合あり)
|
|
34
|
+
- チーム全体で共有したい事実や解決策 → \`knowledgine-capture\` を使用
|
|
35
|
+
|
|
36
|
+
## メモリレイヤー
|
|
37
|
+
|
|
38
|
+
情報の期待される有効期間に合ったレイヤーを選択する:
|
|
39
|
+
|
|
40
|
+
| レイヤー | 有効期間 | 答える問い | 推奨 TTL |
|
|
41
|
+
|-------|----------|---------------------|-----------------|
|
|
42
|
+
| \`episodic\` | 数時間〜数日 | 「今、何をしているか?」 | 3600〜86400秒 |
|
|
43
|
+
| \`semantic\` | 数日〜数週間 | 「今週、何を学んだか?」 | 604800秒 または なし |
|
|
44
|
+
| \`procedural\` | 数週間〜永続的 | 「この種の問題をどう解決するか?」 | なし |
|
|
45
|
+
|
|
46
|
+
- **episodic** — 短期的なセッションコンテキスト。TTL を設定して古い状態を自動的に期限切れにする。例: 現在のタスクの説明、進行中のデバッグコンテキスト、セッションの目標。
|
|
47
|
+
- **semantic** — 進行中のプロジェクトフェーズに関連する中期的な事実と決定。例: チームの決定、プロジェクトの制約、コードベースのセクションについて学習した事実。
|
|
48
|
+
- **procedural** — 長期的なパターンと再利用可能なスキル。複数のセッションにわたってパターンが安定したと証明されたら semantic から昇格させる。例: デバッグワークフロー、コードレビューチェックリスト、デプロイ手順。
|
|
49
|
+
|
|
50
|
+
昇格ワークフローとレイヤーごとのタグ戦略は \`layer-guide.md\` を参照。
|
|
51
|
+
|
|
52
|
+
## 使用方法(MCP ツール)
|
|
53
|
+
|
|
54
|
+
### store_memory
|
|
55
|
+
|
|
56
|
+
新しいメモリエントリを保存する。
|
|
57
|
+
|
|
58
|
+
\`\`\`
|
|
59
|
+
store_memory(
|
|
60
|
+
content: string, // メモリコンテンツ(必須、空でない)
|
|
61
|
+
layer?: "episodic" | "semantic" | "procedural", // デフォルト: episodic
|
|
62
|
+
tags?: string[], // リコールフィルタリング用の分類タグ
|
|
63
|
+
metadata?: {
|
|
64
|
+
source?: string, // 起源(ファイル、URL、ツール名)
|
|
65
|
+
project?: string, // プロジェクトスコープ
|
|
66
|
+
sessionId?: string, // セッション識別子
|
|
67
|
+
confidence?: number, // 0〜1 の信頼度スコア
|
|
68
|
+
},
|
|
69
|
+
ttl?: number, // 生存期間(秒)(オプション)
|
|
70
|
+
)
|
|
71
|
+
\`\`\`
|
|
72
|
+
|
|
73
|
+
### recall_memory
|
|
74
|
+
|
|
75
|
+
クエリ、フィルター、または最新順でメモリエントリを取得する。
|
|
76
|
+
|
|
77
|
+
\`\`\`
|
|
78
|
+
recall_memory(
|
|
79
|
+
query?: string, // 全文検索(最新エントリの場合は省略)
|
|
80
|
+
filter?: {
|
|
81
|
+
layer?: "episodic" | "semantic" | "procedural",
|
|
82
|
+
tags?: string[], // AND フィルター — すべてのタグが一致する必要あり
|
|
83
|
+
createdAfter?: string, // ISO 8601 下限
|
|
84
|
+
createdBefore?: string, // ISO 8601 上限
|
|
85
|
+
memoryIds?: string[], // ID で特定のエントリを取得
|
|
86
|
+
},
|
|
87
|
+
limit?: number, // デフォルト: 10、最大: 100
|
|
88
|
+
includeVersionHistory?: boolean, // デフォルト: false
|
|
89
|
+
asOf?: string, // ISO 8601 時点クエリ
|
|
90
|
+
)
|
|
91
|
+
\`\`\`
|
|
92
|
+
|
|
93
|
+
### update_memory
|
|
94
|
+
|
|
95
|
+
既存エントリのコンテンツ、タグ、メタデータを更新する。デフォルトでバージョンスナップショットを作成する。
|
|
96
|
+
|
|
97
|
+
\`\`\`
|
|
98
|
+
update_memory(
|
|
99
|
+
id: string, // メモリエントリ ID(必須)
|
|
100
|
+
content?: string, // 置換コンテンツ
|
|
101
|
+
summary?: string, // 置換サマリー
|
|
102
|
+
tags?: string[], // 置換タグ(マージではなく完全置換)
|
|
103
|
+
metadata?: { // メタデータの部分マージ
|
|
104
|
+
source?: string,
|
|
105
|
+
project?: string,
|
|
106
|
+
sessionId?: string,
|
|
107
|
+
confidence?: number,
|
|
108
|
+
},
|
|
109
|
+
createVersion?: boolean, // デフォルト: true(不変バージョンが作成される)
|
|
110
|
+
)
|
|
111
|
+
\`\`\`
|
|
112
|
+
|
|
113
|
+
### forget_memory
|
|
114
|
+
|
|
115
|
+
メモリエントリを削除する。デフォルトはソフト削除(復元可能);ハード削除はデータを完全に削除する。
|
|
116
|
+
|
|
117
|
+
\`\`\`
|
|
118
|
+
forget_memory(
|
|
119
|
+
id: string, // メモリエントリ ID(必須)
|
|
120
|
+
reason?: string, // 削除理由(監査ログに書き込まれる)
|
|
121
|
+
hard?: boolean, // デフォルト: false(ソフト削除)
|
|
122
|
+
)
|
|
123
|
+
\`\`\`
|
|
124
|
+
|
|
125
|
+
## 手順
|
|
126
|
+
|
|
127
|
+
### メモリの保存
|
|
128
|
+
|
|
129
|
+
1. **レイヤーを選択する** — 現在のタスク状態は episodic、事実と決定は semantic、繰り返し可能なパターンは procedural
|
|
130
|
+
2. **明確なコンテンツを書く** — 再調査なしに将来のセッションで行動できるよう、十分なコンテキストを含める
|
|
131
|
+
3. **episodic エントリに TTL を設定する** — 期待される関連期間に応じて 3600(1 時間)、86400(1 日)、604800(1 週間)
|
|
132
|
+
4. **タグを追加する** — 効率的なリコールフィルタリングのため 2〜4 個のタグを使用する(例: \`["auth", "in-progress", "session-2024-01"]\`)
|
|
133
|
+
5. **store_memory を呼び出す** — content、layer、tags、オプションで metadata/ttl を渡す
|
|
134
|
+
6. **返された ID を記録する** — このエントリを後で更新または削除する必要がある場合に保存する
|
|
135
|
+
|
|
136
|
+
### セッション開始時にメモリを呼び出す
|
|
137
|
+
|
|
138
|
+
1. 引数なしで \`recall_memory\` を呼び出して最新エントリを取得する(デフォルト上限: 10)
|
|
139
|
+
2. オプションでレイヤー(\`episodic\`)でフィルタリングして現在のタスク状態に集中する
|
|
140
|
+
3. 特定のタスクを再開する場合は、タグまたはプロジェクトメタデータで検索する
|
|
141
|
+
4. エントリを確認し、期限切れまたは不要なものを \`forget_memory\` で削除する
|
|
142
|
+
|
|
143
|
+
### メモリの更新
|
|
144
|
+
|
|
145
|
+
1. 前回の \`store_memory\` 結果または \`recall_memory\` からエントリ ID を取得する
|
|
146
|
+
2. ID と変更フィールドを指定して \`update_memory\` を呼び出す
|
|
147
|
+
3. 重要な更新には \`createVersion: true\`(デフォルト)のまま — 履歴が保持される
|
|
148
|
+
4. \`createVersion: false\` は軽微な修正(タイポ、フォーマット)のみに使用する
|
|
149
|
+
|
|
150
|
+
### クリーンアップ
|
|
151
|
+
|
|
152
|
+
1. タスクが完了したらエントリ ID を指定して \`forget_memory\` を呼び出す
|
|
153
|
+
2. 監査の明確さのために \`reason\` を指定する(例: \`"Task completed — captured in knowledgine-capture"\`)
|
|
154
|
+
3. 物理的に削除する必要があるデータを含む場合を除き、ソフト削除(デフォルト)を優先する
|
|
155
|
+
|
|
156
|
+
## ベストプラクティス
|
|
157
|
+
|
|
158
|
+
- **episodic メモリには TTL を使用する** — セッション内メモには 3600(1 時間)、翌日継続には 86400(1 日)、進行中のタスクには 604800(1 週間)
|
|
159
|
+
- **リコール効率のためにタグ付けする** — タグは AND フィルタリングされる;コンテキストを一意に識別する具体的なタグを使用する(プロジェクト名、タスクエリア、ステータス)
|
|
160
|
+
- **重要な更新にはバージョンを作成する** — デフォルトの \`createVersion: true\` は不変の監査証跡を作成する;重要なコンテンツ変更では無効にしない
|
|
161
|
+
- **ソフト削除を優先する** — \`hard: false\`(デフォルト)はエントリを復元可能に保ち監査ログを維持する;データを物理的にパージする必要がある場合のみ \`hard: true\` を使用する
|
|
162
|
+
- **意図的にレイヤー間を昇格させる** — episodic メモリが複数のセッションで有用と証明されたら semantic として再保存する;semantic パターンが安定したスキルになったら procedural に昇格させる
|
|
163
|
+
|
|
164
|
+
## 参照ファイル
|
|
165
|
+
|
|
166
|
+
- 各レイヤーの詳細ガイダンス(例、TTL の推奨値、レイヤー昇格ワークフロー)は \`layer-guide.md\` を参照
|
|
167
|
+
- メモリツールと knowledgine-capture の比較判断マトリクスは \`memory-vs-knowledge.md\` を参照
|
|
168
|
+
`;
|
|
169
|
+
//# sourceMappingURL=skill-md.ja.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.ja.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-memory/skill-md.ja.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuKvB,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
export const SKILL_MD = `---
|
|
2
|
+
name: knowledgine-memory
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
lang: en
|
|
5
|
+
description: >
|
|
6
|
+
Manage cross-session memory for task state, context, and learned patterns. Invoke when
|
|
7
|
+
you need to persist information across sessions that is not permanent knowledge — such
|
|
8
|
+
as current task progress, session context, or procedural patterns learned during work.
|
|
9
|
+
Distinct from knowledgine-capture which stores permanent, curated knowledge.
|
|
10
|
+
---
|
|
11
|
+
# knowledgine-memory
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Manage session-scoped and cross-session state using the memory layer system. Memory entries
|
|
16
|
+
track what you are doing, where you left off, and how you solve recurring problems — without
|
|
17
|
+
polluting the permanent knowledge base with ephemeral context.
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
Use memory tools when any of the following apply:
|
|
22
|
+
|
|
23
|
+
1. **Task progress tracking** — You are mid-way through a multi-step task and want to resume in a future session
|
|
24
|
+
2. **Session context persistence** — You need to carry forward context (open questions, current hypotheses, blocking issues)
|
|
25
|
+
3. **Procedural pattern learning** — You discovered a repeatable workflow or debugging strategy worth reusing
|
|
26
|
+
4. **User preferences and working state** — Preferences, aliases, or workspace configuration learned during work
|
|
27
|
+
5. **Temporary notes with expiration** — Short-lived reminders or in-progress state that should expire automatically (use TTL)
|
|
28
|
+
|
|
29
|
+
## When NOT to Use
|
|
30
|
+
|
|
31
|
+
- **Permanent knowledge** → use \`knowledgine-capture\` (bug fixes, design decisions, reusable patterns)
|
|
32
|
+
- **Project documentation or source files** → use \`knowledgine-ingest\`
|
|
33
|
+
- **End-of-session summary** → use \`knowledgine-debrief\` (which may call store_memory internally)
|
|
34
|
+
- Facts or solutions you want to share team-wide → use \`knowledgine-capture\`
|
|
35
|
+
|
|
36
|
+
## Memory Layers
|
|
37
|
+
|
|
38
|
+
Choose the layer that matches the expected lifespan of the information:
|
|
39
|
+
|
|
40
|
+
| Layer | Lifespan | Question it answers | Recommended TTL |
|
|
41
|
+
|-------|----------|---------------------|-----------------|
|
|
42
|
+
| \`episodic\` | Hours to days | "What am I doing right now?" | 3600–86400s |
|
|
43
|
+
| \`semantic\` | Days to weeks | "What did I learn this week?" | 604800s or none |
|
|
44
|
+
| \`procedural\` | Weeks to permanent | "How do I solve this type of problem?" | None |
|
|
45
|
+
|
|
46
|
+
- **episodic** — Short-term session context. Use TTL to expire stale state automatically. Examples: current task description, in-progress debugging context, session goals.
|
|
47
|
+
- **semantic** — Mid-term facts and decisions relevant to an ongoing project phase. Examples: team decisions, project constraints, learned facts about a codebase section.
|
|
48
|
+
- **procedural** — Long-term patterns and repeatable skills. Promote from semantic when a pattern proves stable across multiple sessions. Examples: debugging workflows, code review checklists, deployment procedures.
|
|
49
|
+
|
|
50
|
+
See \`layer-guide.md\` for promotion workflow and per-layer tagging strategy.
|
|
51
|
+
|
|
52
|
+
## How to Use (MCP Tools)
|
|
53
|
+
|
|
54
|
+
### store_memory
|
|
55
|
+
|
|
56
|
+
Store a new memory entry.
|
|
57
|
+
|
|
58
|
+
\`\`\`
|
|
59
|
+
store_memory(
|
|
60
|
+
content: string, // Memory content (required, non-empty)
|
|
61
|
+
layer?: "episodic" | "semantic" | "procedural", // Default: episodic
|
|
62
|
+
tags?: string[], // Classification tags for recall filtering
|
|
63
|
+
metadata?: {
|
|
64
|
+
source?: string, // Origin (file, URL, tool name)
|
|
65
|
+
project?: string, // Project scope
|
|
66
|
+
sessionId?: string, // Session identifier
|
|
67
|
+
confidence?: number, // 0–1 confidence score
|
|
68
|
+
},
|
|
69
|
+
ttl?: number, // Time-to-live in seconds (optional)
|
|
70
|
+
)
|
|
71
|
+
\`\`\`
|
|
72
|
+
|
|
73
|
+
### recall_memory
|
|
74
|
+
|
|
75
|
+
Retrieve memory entries by query, filter, or recency.
|
|
76
|
+
|
|
77
|
+
\`\`\`
|
|
78
|
+
recall_memory(
|
|
79
|
+
query?: string, // Full-text search (omit for recent entries)
|
|
80
|
+
filter?: {
|
|
81
|
+
layer?: "episodic" | "semantic" | "procedural",
|
|
82
|
+
tags?: string[], // AND filter — all tags must match
|
|
83
|
+
createdAfter?: string, // ISO 8601 lower bound
|
|
84
|
+
createdBefore?: string, // ISO 8601 upper bound
|
|
85
|
+
memoryIds?: string[], // Retrieve specific entries by ID
|
|
86
|
+
},
|
|
87
|
+
limit?: number, // Default: 10, max: 100
|
|
88
|
+
includeVersionHistory?: boolean, // Default: false
|
|
89
|
+
asOf?: string, // ISO 8601 point-in-time query
|
|
90
|
+
)
|
|
91
|
+
\`\`\`
|
|
92
|
+
|
|
93
|
+
### update_memory
|
|
94
|
+
|
|
95
|
+
Update content, tags, or metadata of an existing entry. Creates a version snapshot by default.
|
|
96
|
+
|
|
97
|
+
\`\`\`
|
|
98
|
+
update_memory(
|
|
99
|
+
id: string, // Memory entry ID (required)
|
|
100
|
+
content?: string, // Replacement content
|
|
101
|
+
summary?: string, // Replacement summary
|
|
102
|
+
tags?: string[], // Replacement tags (full replace, not merge)
|
|
103
|
+
metadata?: { // Partial metadata merge
|
|
104
|
+
source?: string,
|
|
105
|
+
project?: string,
|
|
106
|
+
sessionId?: string,
|
|
107
|
+
confidence?: number,
|
|
108
|
+
},
|
|
109
|
+
createVersion?: boolean, // Default: true (immutable version created)
|
|
110
|
+
)
|
|
111
|
+
\`\`\`
|
|
112
|
+
|
|
113
|
+
### forget_memory
|
|
114
|
+
|
|
115
|
+
Delete a memory entry. Soft delete by default (recoverable); hard delete removes data permanently.
|
|
116
|
+
|
|
117
|
+
\`\`\`
|
|
118
|
+
forget_memory(
|
|
119
|
+
id: string, // Memory entry ID (required)
|
|
120
|
+
reason?: string, // Deletion reason (written to audit log)
|
|
121
|
+
hard?: boolean, // Default: false (soft delete)
|
|
122
|
+
)
|
|
123
|
+
\`\`\`
|
|
124
|
+
|
|
125
|
+
## Step-by-Step Instructions
|
|
126
|
+
|
|
127
|
+
### Storing a memory
|
|
128
|
+
|
|
129
|
+
1. **Choose the layer** — episodic for current task state, semantic for facts and decisions, procedural for repeatable patterns
|
|
130
|
+
2. **Write clear content** — Include enough context for you (or the agent) to act on the memory in a future session without re-investigation
|
|
131
|
+
3. **Set TTL for episodic entries** — 3600 (1 hour), 86400 (1 day), or 604800 (1 week) depending on expected relevance window
|
|
132
|
+
4. **Add tags** — Use 2–4 tags to enable efficient recall filtering (e.g., \`["auth", "in-progress", "session-2024-01"]\`)
|
|
133
|
+
5. **Call store_memory** — Pass content, layer, tags, and optional metadata/ttl
|
|
134
|
+
6. **Note the returned ID** — Store it if you will need to update or delete this entry later
|
|
135
|
+
|
|
136
|
+
### Recalling memories at session start
|
|
137
|
+
|
|
138
|
+
1. Call \`recall_memory\` with no arguments to get recent entries (default limit: 10)
|
|
139
|
+
2. Optionally filter by layer (\`episodic\`) to focus on current task state
|
|
140
|
+
3. If resuming a specific task, search by tags or project metadata
|
|
141
|
+
4. Review entries and discard expired or irrelevant ones with \`forget_memory\`
|
|
142
|
+
|
|
143
|
+
### Updating a memory
|
|
144
|
+
|
|
145
|
+
1. Retrieve the entry ID from a prior \`store_memory\` result or \`recall_memory\`
|
|
146
|
+
2. Call \`update_memory\` with the ID and changed fields
|
|
147
|
+
3. Leave \`createVersion: true\` (default) for important updates — this preserves the history
|
|
148
|
+
4. Use \`createVersion: false\` only for minor corrections (typos, formatting)
|
|
149
|
+
|
|
150
|
+
### Cleaning up
|
|
151
|
+
|
|
152
|
+
1. Call \`forget_memory\` with the entry ID when a task is complete
|
|
153
|
+
2. Provide a \`reason\` for audit clarity (e.g., \`"Task completed — captured in knowledgine-capture"\`)
|
|
154
|
+
3. Prefer soft delete (default) unless the entry contains data that must be physically removed
|
|
155
|
+
|
|
156
|
+
## Best Practices
|
|
157
|
+
|
|
158
|
+
- **Use TTL for episodic memories** — 3600 (1 hr) for within-session notes, 86400 (1 day) for next-day continuation, 604800 (1 week) for ongoing tasks
|
|
159
|
+
- **Tag for recall efficiency** — Tags are AND-filtered; use specific tags that uniquely identify the context (project name, task area, status)
|
|
160
|
+
- **Create versions for important updates** — The default \`createVersion: true\` creates an immutable audit trail; do not disable it for significant content changes
|
|
161
|
+
- **Prefer soft delete** — \`hard: false\` (default) keeps entries recoverable and maintains the audit log; use \`hard: true\` only when data must be physically purged
|
|
162
|
+
- **Promote across layers deliberately** — When an episodic memory proves useful across multiple sessions, re-store it as semantic; when a semantic pattern becomes a stable skill, promote to procedural
|
|
163
|
+
|
|
164
|
+
## Reference Files
|
|
165
|
+
|
|
166
|
+
- See \`layer-guide.md\` for detailed guidance on each layer with examples, TTL recommendations, and the layer promotion workflow
|
|
167
|
+
- See \`memory-vs-knowledge.md\` for a decision matrix comparing memory tools with knowledgine-capture
|
|
168
|
+
`;
|
|
169
|
+
//# sourceMappingURL=skill-md.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-md.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-
|
|
1
|
+
{"version":3,"file":"skill-md.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-memory/skill-md.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuKvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-search/references.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuT7C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"references.ja.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-search/references.ja.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwT7C,CAAC"}
|