get-claudia 1.60.0 → 1.60.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/CHANGELOG.md +19 -0
- package/README.md +25 -6
- package/memory-daemon/claudia_memory/database.py +4 -1
- package/memory-daemon/claudia_memory/services/remember.py +11 -3
- package/package.json +1 -1
- package/template-v2/.claude/manifest.json +32 -30
- package/template-v2/.claude/skills/README.md +48 -0
- package/template-v2/.claude/skills/brain/SKILL.md +1 -1
- package/template-v2/.claude/skills/brain-monitor/SKILL.md +1 -1
- package/template-v2/.claude/skills/capability-suggester.md +1 -1
- package/template-v2/.claude/skills/capture-meeting/SKILL.md +1 -1
- package/template-v2/.claude/skills/close-the-loop/SKILL.md +139 -0
- package/template-v2/.claude/skills/connector-discovery.md +1 -1
- package/template-v2/.claude/skills/diagnose/SKILL.md +1 -1
- package/template-v2/.claude/skills/draft-reply/SKILL.md +1 -1
- package/template-v2/.claude/skills/file-document/SKILL.md +1 -1
- package/template-v2/.claude/skills/follow-up-draft/SKILL.md +1 -1
- package/template-v2/.claude/skills/growth-check/SKILL.md +1 -1
- package/template-v2/.claude/skills/hire-agent.md +1 -1
- package/template-v2/.claude/skills/inbox-check/SKILL.md +1 -1
- package/template-v2/.claude/skills/ingest-sources/SKILL.md +1 -1
- package/template-v2/.claude/skills/judgment-awareness.md +1 -1
- package/template-v2/.claude/skills/manuscript-fact-check/SKILL.md +111 -0
- package/template-v2/.claude/skills/map-connections/SKILL.md +1 -1
- package/template-v2/.claude/skills/meditate/SKILL.md +1 -1
- package/template-v2/.claude/skills/meeting-prep/SKILL.md +1 -1
- package/template-v2/.claude/skills/memory-audit/SKILL.md +1 -1
- package/template-v2/.claude/skills/memory-health/SKILL.md +1 -1
- package/template-v2/.claude/skills/morning-brief/SKILL.md +1 -1
- package/template-v2/.claude/skills/new-person/SKILL.md +1 -1
- package/template-v2/.claude/skills/pattern-recognizer.md +1 -1
- package/template-v2/.claude/skills/relationship-tracker.md +1 -1
- package/template-v2/.claude/skills/risk-surfacer.md +1 -1
- package/template-v2/.claude/skills/summarize-doc/SKILL.md +1 -1
- package/template-v2/.claude/skills/weekly-review/SKILL.md +1 -1
- package/template-v2/.claude/skills/what-am-i-missing/SKILL.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Claudia will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 1.60.1 (2026-05-22)
|
|
6
|
+
|
|
7
|
+
### Two bug fixes from the fixing-phase pass
|
|
8
|
+
|
|
9
|
+
Both shipped together as a patch release. No new features; no surface-area change. Upgrade with `npx get-claudia .` from any existing install.
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- **Memory daemon: WAL checkpoint no longer blocks concurrent readers** (#66, thanks @tilthnco). `database.py` now uses `PRAGMA wal_checkpoint(PASSIVE)` on every connection instead of `TRUNCATE`. `TRUNCATE` takes an exclusive lock, which deadlocks against concurrent WAL readers like Litestream and causes the MCP server to time out after 30s on startup. `PASSIVE` yields cleanly if a reader holds the WAL lock. Compaction behavior is unchanged; only the locking mode is relaxed. Crash safety is unaffected since WAL mode (not checkpointing) is the durability mechanism.
|
|
14
|
+
- **Memory daemon: organisations from session summaries no longer misclassified as `person`** (Proposal #51, sub-tranche B2). Two stale defaults were bypassing the smart type-inference path: `RememberService.end_session()` hard-defaulted missing `type` fields to the literal string `"person"` (short-circuiting inference inside `remember_entity()`), and `remember_entity()` itself was still calling the legacy local `_infer_entity_type()` (returns `"person"` fallback, no `"AI"`-suffix rule) instead of the smart inferencer at `entities.infer_entity_type` (returns `"concept"` fallback, handles `"Markup AI"`, `".ai"`, etc.). Both call sites now route through the smart inferencer, matching `_find_or_create_entity()` which already did. The literal repro from 2026-05-13 (Matt Blumberg, Markup AI) now classifies Markup AI as `organization`. See `docs/proposals/08-smarter-memory-writes.md` for the original proposal; `tests/test_entity_resolution.py::TestEndSessionInfersEntityType` pins the fix (3 new tests, 25/25 in the file pass).
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- 27 skill descriptions in `template-v2/.claude/skills/` now end with a "See also: …" pointer to adjacent skills (from #61). Affected clusters: outbound message composition, memory introspection, memory visualization, reflective cadences, meeting lifecycle, risks and blind spots, people and relationships, patterns and judgment, inbound document processing. Skill names, trigger phrases, and behaviors are unchanged; descriptions are extended additively to nudge skill routing toward the canonical pick when a request straddles two skills.
|
|
19
|
+
|
|
20
|
+
### Documentation
|
|
21
|
+
|
|
22
|
+
- Expanded `template-v2/.claude/skills/README.md` with four new sections (from #61): "Writing a good skill description", "The see also convention", "Disambiguation notes", and "Proactive vs contextual: when to make a skill auto-fire". Each section grounds itself in existing-catalog exemplars.
|
|
23
|
+
|
|
5
24
|
## 1.60.0 (2026-05-15)
|
|
6
25
|
|
|
7
26
|
### Three new skills inspired by Karpathy's recent work, adapted to Claudia's principles
|
package/README.md
CHANGED
|
@@ -79,6 +79,20 @@ You make a promise in a meeting. Nobody tracks it. You promise a deliverable on
|
|
|
79
79
|
<p>End a session with <code>/meditate</code> and she extracts what she learned: your preferences, patterns, and judgment calls. Next session, she's sharper.</p>
|
|
80
80
|
</td>
|
|
81
81
|
</tr>
|
|
82
|
+
<tr>
|
|
83
|
+
<td width="33%" align="center">
|
|
84
|
+
<h3>📚 Writes Her Own Wiki</h3>
|
|
85
|
+
<p>Every active person, project, and organization gets a synthesized page in your Obsidian vault. Each fact cites its source memory. Contradictions get flagged at the top. <em>New in v1.60</em>.</p>
|
|
86
|
+
</td>
|
|
87
|
+
<td width="33%" align="center">
|
|
88
|
+
<h3>🔁 Iterates Until It's Right</h3>
|
|
89
|
+
<p>Ask her to <code>/auto-research</code> a draft and she runs a bounded loop against a rubric you name. Keeps the iterations she likes, reverts the ones she doesn't. Your original file never moves until you say so. <em>New in v1.60</em>.</p>
|
|
90
|
+
</td>
|
|
91
|
+
<td width="33%" align="center">
|
|
92
|
+
<h3>🧭 Routes the Right Skill</h3>
|
|
93
|
+
<p>Type <code>/skills</code> to see what's available. Ambiguous request? She names the options and proceeds with the canonical one, so you never get the wrong tool by accident. <em>New in v1.60</em>.</p>
|
|
94
|
+
</td>
|
|
95
|
+
</tr>
|
|
82
96
|
</table>
|
|
83
97
|
|
|
84
98
|
---
|
|
@@ -103,7 +117,7 @@ You make a promise in a meeting. Nobody tracks it. You promise a deliverable on
|
|
|
103
117
|
</td>
|
|
104
118
|
<td width="50%" align="center">
|
|
105
119
|
<h3>📓 Vault</h3>
|
|
106
|
-
<p>Memory
|
|
120
|
+
<p>Memory projects to an Obsidian vault. New installs default to the <strong>wiki layout</strong>: synthesized topic pages per active entity, each fact citing its source memory, contradictions flagged at the top. Existing PARA users keep their layout untouched. Plain markdown you own forever.</p>
|
|
107
121
|
</td>
|
|
108
122
|
</tr>
|
|
109
123
|
</table>
|
|
@@ -264,9 +278,12 @@ Claudia detects your work style and generates structure that fits:
|
|
|
264
278
|
| `/meditate` | End-of-session reflection: extracts learnings, judgment, patterns |
|
|
265
279
|
| `/deep-context [topic]` | Full-context deep analysis |
|
|
266
280
|
| `/memory-audit` | See everything Claudia knows, with source chains |
|
|
281
|
+
| `/wiki` | Write or update a synthesized topic page in your vault |
|
|
282
|
+
| `/auto-research` | Iterate a draft against a rubric until it scores well |
|
|
283
|
+
| `/skills` | Discover all available skills, grouped by purpose |
|
|
267
284
|
|
|
268
285
|
<details>
|
|
269
|
-
<summary><strong>All commands (
|
|
286
|
+
<summary><strong>All commands (45 skills)</strong></summary>
|
|
270
287
|
|
|
271
288
|
| Command | What It Does |
|
|
272
289
|
|---------|--------------|
|
|
@@ -322,17 +339,19 @@ This generates a one-click URL to enable all required Google APIs and walks you
|
|
|
322
339
|
|
|
323
340
|
### Obsidian Vault
|
|
324
341
|
|
|
325
|
-
Memory
|
|
342
|
+
Memory projects to an Obsidian vault at `~/.claudia/vault/`. New installs default to the **wiki layout**: synthesized topic pages at `~/.claudia/vault/Wiki/`, one per active person, project, or organization. Each page is written by Claudia from your raw memories, cites every load-bearing claim with `[mem:NNN]`, and flags contradictions at the top. Obsidian's graph view connects them via `[[wikilinks]]`.
|
|
343
|
+
|
|
344
|
+
Existing installs from v1.59 and earlier keep their PARA-organized vault (`Active/`, `Relationships/`, `Reference/`, `Archive/`) untouched. SQLite remains the source of truth; the vault is a projection you can browse, search, and read.
|
|
326
345
|
|
|
327
346
|
---
|
|
328
347
|
|
|
329
348
|
## How It Works
|
|
330
349
|
|
|
331
|
-
**
|
|
350
|
+
**45 skills · 33 MCP tools · 500+ tests**
|
|
332
351
|
|
|
333
352
|
Claudia has two layers:
|
|
334
353
|
|
|
335
|
-
**Template layer** (markdown) defines who she is.
|
|
354
|
+
**Template layer** (markdown) defines who she is. 45 skills, rules, and identity files that Claude reads on startup. Skills range from proactive behaviors (commitment detection, pattern recognition, judgment awareness) to user-invocable workflows (`/morning-brief`, `/research`, `/meditate`, `/wiki`, `/auto-research`). Workspace templates let you spin up new projects with `/new-workspace [name]`. A built-in `skill-router` skill helps you discover what's available and disambiguates when a request straddles two skills.
|
|
336
355
|
|
|
337
356
|
**Memory system** (Python) defines what she remembers. Two daemon modes share the same SQLite database:
|
|
338
357
|
|
|
@@ -393,7 +412,7 @@ For full architecture diagrams, see [ARCHITECTURE.md](ARCHITECTURE.md).
|
|
|
393
412
|
|
|
394
413
|
- **Fully local.** Memory, embeddings, cognitive tools run on your machine. No external APIs for storage.
|
|
395
414
|
- **No external actions without approval.** Every email, calendar event, external action requires your explicit "yes."
|
|
396
|
-
- **Your data in two formats.** SQLite database (`~/.claudia/memory/`) for fast semantic search, plus
|
|
415
|
+
- **Your data in two formats.** SQLite database (`~/.claudia/memory/`) for fast semantic search, plus an Obsidian vault for reading and graph navigation. Two independent copies you own forever.
|
|
397
416
|
- **Delete anything, anytime.** Full control over your data. No lock-in, no cloud dependency.
|
|
398
417
|
|
|
399
418
|
---
|
|
@@ -116,7 +116,10 @@ class Database:
|
|
|
116
116
|
conn.execute("PRAGMA synchronous = NORMAL")
|
|
117
117
|
conn.execute("PRAGMA foreign_keys = ON")
|
|
118
118
|
# Recover any uncommitted WAL writes from a previous crashed daemon
|
|
119
|
-
|
|
119
|
+
# Use PASSIVE (not TRUNCATE) so concurrent readers (e.g. Litestream)
|
|
120
|
+
# don't cause a 30-second timeout. TRUNCATE blocks all readers;
|
|
121
|
+
# PASSIVE yields cleanly if a reader holds the WAL lock.
|
|
122
|
+
conn.execute("PRAGMA wal_checkpoint(PASSIVE)")
|
|
120
123
|
|
|
121
124
|
# Load sqlite-vec for vector search
|
|
122
125
|
if not load_sqlite_vec(conn):
|
|
@@ -436,9 +436,14 @@ class RememberService:
|
|
|
436
436
|
Returns:
|
|
437
437
|
Entity ID
|
|
438
438
|
"""
|
|
439
|
-
# Infer type from name keywords when no type is specified
|
|
439
|
+
# Infer type from name keywords when no type is specified.
|
|
440
|
+
# Use the smart inferencer (entities.infer_entity_type) so callers like
|
|
441
|
+
# end_session() benefit from the "AI"-suffix rule and concept fallback,
|
|
442
|
+
# matching _find_or_create_entity at line ~1871. The local legacy
|
|
443
|
+
# _infer_entity_type is preserved for direct unit-test imports.
|
|
444
|
+
# See Proposal #51 / docs/proposals/08-smarter-memory-writes.md.
|
|
440
445
|
if not entity_type or not entity_type.strip():
|
|
441
|
-
entity_type =
|
|
446
|
+
entity_type = _smart_infer_entity_type(name)
|
|
442
447
|
|
|
443
448
|
# Run deterministic guards
|
|
444
449
|
existing_names = [
|
|
@@ -1440,9 +1445,12 @@ class RememberService:
|
|
|
1440
1445
|
# 5. Store entities
|
|
1441
1446
|
if entities:
|
|
1442
1447
|
for entity in entities:
|
|
1448
|
+
# Default to empty string (not "person") so remember_entity()
|
|
1449
|
+
# routes through _infer_entity_type() when type is missing.
|
|
1450
|
+
# See Proposal #51 / test_entity_resolution.py for context.
|
|
1443
1451
|
entity_id = self.remember_entity(
|
|
1444
1452
|
name=entity["name"],
|
|
1445
|
-
entity_type=entity.get("type", "
|
|
1453
|
+
entity_type=entity.get("type", ""),
|
|
1446
1454
|
description=entity.get("description"),
|
|
1447
1455
|
aliases=entity.get("aliases"),
|
|
1448
1456
|
)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.60.
|
|
3
|
-
"generated": "2026-05-
|
|
2
|
+
"version": "1.60.1",
|
|
3
|
+
"generated": "2026-05-23T01:39:21.155Z",
|
|
4
4
|
"algorithm": "sha256",
|
|
5
5
|
"files": {
|
|
6
6
|
".claude/rules/claudia-principles.md": "939e9720421628e7f2e4c8dfbaa4aeb9c1e18e8c6a5379cd6b772a6835b812e5",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
".claude/rules/memory-commitment.md": "49eee330b56c6ca0b5f1e01550931c4eef3dcb3249e3d0e2380de3e8dbfe31a8",
|
|
10
10
|
".claude/rules/shell-compatibility.md": "565977bc04e269b3ce7d8a7963173df4f44bb9634692ea76abb1b64f6a67513e",
|
|
11
11
|
".claude/rules/trust-north-star.md": "0188b17c26b791cf597ce975bb75d40f543aa3d6b84b7edb1309b78530b3d43f",
|
|
12
|
-
".claude/skills/README.md": "
|
|
12
|
+
".claude/skills/README.md": "22311215317c61dcb67975af02bdd1d7164578713ff9faf6fbed8aec14256bcd",
|
|
13
13
|
".claude/skills/agent-dispatcher.md": "b48fc5283f0a88d1ebbc692b30b6c326fef012d4168dcf721a94e3c954b76b90",
|
|
14
14
|
".claude/skills/archetypes/_base-structure.md": "c0d8df77c07aa48cd9ba9c5ba3eddb533fcea790c7f98440fa3d31405fd5c75d",
|
|
15
15
|
".claude/skills/archetypes/consultant.md": "1e0ccbf89115f92a1fa0c86b48edcce22668c4bb828ba4268376fcd6b5c05680",
|
|
@@ -20,59 +20,61 @@
|
|
|
20
20
|
".claude/skills/auto-research/SKILL.md": "1a54e5d82f4e87c78a54e1331ff2d32aaff12c2712058e21173aa900a57b01c3",
|
|
21
21
|
".claude/skills/auto-research/references/program-template.md": "850457de96bde5ad65d24f1018509da94dd31fec9ec45c15087031f470a28dbc",
|
|
22
22
|
".claude/skills/auto-research/references/safety-rules.md": "ae036270e86949ed0f9bface582f6038276adafd3f40a29aa733698111a26683",
|
|
23
|
-
".claude/skills/brain/SKILL.md": "
|
|
24
|
-
".claude/skills/brain-monitor/SKILL.md": "
|
|
25
|
-
".claude/skills/capability-suggester.md": "
|
|
26
|
-
".claude/skills/capture-meeting/SKILL.md": "
|
|
23
|
+
".claude/skills/brain/SKILL.md": "b87dd93c85923c676292bea67f7a0580ee71eea2bea05426ea6eda951a140d5c",
|
|
24
|
+
".claude/skills/brain-monitor/SKILL.md": "6e9ce1e6e40bc612a5126d84d743c1fd7ebc596f60575873533479fdcae5b608",
|
|
25
|
+
".claude/skills/capability-suggester.md": "06235c8ab062d356cf9b6c18c7aa44ea667e7694983a46e8ae0a9fe32e734944",
|
|
26
|
+
".claude/skills/capture-meeting/SKILL.md": "815e7587fcd925323c379a6c57e458b3484d034338c1237378641d142c126175",
|
|
27
27
|
".claude/skills/capture-meeting/evals/basic.yaml": "47c4eb1479aeda8067bc877cebfe8688c9b2bb3ce09297e42375cdf558f412e3",
|
|
28
28
|
".claude/skills/client-health/SKILL.md": "fed639e6f2c4433cab6a6b4b59776985492dda16be3bd1e843c3e94175936655",
|
|
29
|
+
".claude/skills/close-the-loop/SKILL.md": "835af2b0bde5583d1dffa07f261a1ec50e87f99eb39694c00cb7965ccce21942",
|
|
29
30
|
".claude/skills/commitment-detector.md": "66f9e919349d1880eb12636cec6f583be1b3fbe3b28f6180ec732d3c284af3b6",
|
|
30
|
-
".claude/skills/connector-discovery.md": "
|
|
31
|
+
".claude/skills/connector-discovery.md": "a6659f6ed8a182f968cdc9b4a342de9015d5579859310b77ff230ce73397cdc5",
|
|
31
32
|
".claude/skills/databases/SKILL.md": "b2ce4ae30aafa2487dabd7befd067976f0092fcef31dea7601e1683ceca0ef50",
|
|
32
33
|
".claude/skills/deep-context/SKILL.md": "2d21f93e33191c226f46909a66d21c64c84df2ac261082adef78cd68093d7b07",
|
|
33
|
-
".claude/skills/diagnose/SKILL.md": "
|
|
34
|
+
".claude/skills/diagnose/SKILL.md": "2658936671b5752b2e033177b6e57e783afcabf09556e199d88fc48f313295ad",
|
|
34
35
|
".claude/skills/diagnose/evals/basic.yaml": "7fa4e3a255f14d7dc883f59f8fd1d796a62db92d62a543ef87b5dda92a1c0c0b",
|
|
35
36
|
".claude/skills/diagnose/references/common-issues.md": "f80b13d4b70e656151a4cb9db8c1f042378d1f6cb9f5ba8c550741d6bf34917c",
|
|
36
|
-
".claude/skills/draft-reply/SKILL.md": "
|
|
37
|
+
".claude/skills/draft-reply/SKILL.md": "4658b3de3952b518d589af1a2ab21940ca31b477c68d2e03b05e20c3a11642de",
|
|
37
38
|
".claude/skills/feedback/SKILL.md": "a8b5a1e82eca177461d11c87839dbf933e358fc3214d5f1975dd2d4fff9f3be7",
|
|
38
|
-
".claude/skills/file-document/SKILL.md": "
|
|
39
|
+
".claude/skills/file-document/SKILL.md": "2ac7d37f59281511477692d61320e176b304fa65eedbd464b2dc203d9b4dd6f7",
|
|
39
40
|
".claude/skills/financial-snapshot/SKILL.md": "33ddabb7d60024eadd8e6772229d8b17db3c3fa02d1289c80330c74aa86ae00a",
|
|
40
41
|
".claude/skills/fix-duplicates/SKILL.md": "bd3d6aae0bce09bc844ba93f76abb4a97ff0286c6a4da29cd369763864fd4a86",
|
|
41
|
-
".claude/skills/follow-up-draft/SKILL.md": "
|
|
42
|
-
".claude/skills/growth-check/SKILL.md": "
|
|
43
|
-
".claude/skills/hire-agent.md": "
|
|
44
|
-
".claude/skills/inbox-check/SKILL.md": "
|
|
45
|
-
".claude/skills/ingest-sources/SKILL.md": "
|
|
42
|
+
".claude/skills/follow-up-draft/SKILL.md": "49212946cb7b2db39cecd435ab6fcb7cb26cc49666306084d27676543be67281",
|
|
43
|
+
".claude/skills/growth-check/SKILL.md": "a3ed3f2427f3639f81d16b1a2adfa268bafed795d2b0d02621bc6be318784c24",
|
|
44
|
+
".claude/skills/hire-agent.md": "2d60d241592db7d5f30a635d11164802f907b02616fb25170f3f867d5235f067",
|
|
45
|
+
".claude/skills/inbox-check/SKILL.md": "e2cddc91f72ffc0443d105385d2e8b464f86404a4825d308bd03a68e4ee43726",
|
|
46
|
+
".claude/skills/ingest-sources/SKILL.md": "938b93d299649db156ad19e9a7bd5d09e950f53bc2eaf8a85386f9fdbca350d0",
|
|
46
47
|
".claude/skills/ingest-sources/references/extraction-patterns.md": "28d6dc604c4a11eacfe4523e705ad430ba8fe26632bafcccaef656e9618e5aea",
|
|
47
|
-
".claude/skills/judgment-awareness.md": "
|
|
48
|
-
".claude/skills/
|
|
49
|
-
".claude/skills/
|
|
48
|
+
".claude/skills/judgment-awareness.md": "0077129a87f91d295515108f3f9a68ca6874c6e38fc7f2a73a462704fa00ba2d",
|
|
49
|
+
".claude/skills/manuscript-fact-check/SKILL.md": "3dbdeea105740e42b1ff9d5e7245dd37418401b36655169b5a5ab2a4a8d6a383",
|
|
50
|
+
".claude/skills/map-connections/SKILL.md": "e8133d5e3de36e32e3858a1ee3918a577855e77ade022933097f87a0100cc9a3",
|
|
51
|
+
".claude/skills/meditate/SKILL.md": "1d814f0c52f4309708669139ba4b637bf05a228e2381950ee3851c6145e25cc7",
|
|
50
52
|
".claude/skills/meditate/evals/basic.yaml": "daba441b2fd9d1d4afddcff6eaa9673884198b1d0f85d9d06edbe0738012291a",
|
|
51
|
-
".claude/skills/meeting-prep/SKILL.md": "
|
|
52
|
-
".claude/skills/memory-audit/SKILL.md": "
|
|
53
|
-
".claude/skills/memory-health/SKILL.md": "
|
|
53
|
+
".claude/skills/meeting-prep/SKILL.md": "cb0b2afc41052a0652e7de30d09e71ab489162fbb09c648e3c95cec2d438ba63",
|
|
54
|
+
".claude/skills/memory-audit/SKILL.md": "7daed2ec128ea70171b8e3ffaf4d933ca69db2637b1487f69724e3428c04663a",
|
|
55
|
+
".claude/skills/memory-health/SKILL.md": "ef4683fe8441e36d8ac7a931a96657c67de2ad3a6e2ca58266b48d74ce167a7b",
|
|
54
56
|
".claude/skills/memory-manager.md": "62edf1ed340687da9d8896dc4a21934b39b12c8269ea7a8de1beb9d25fd894e6",
|
|
55
|
-
".claude/skills/morning-brief/SKILL.md": "
|
|
57
|
+
".claude/skills/morning-brief/SKILL.md": "7e97e0657dccd0c0bcd3ffb783c2e7d0dd7582bf3490162cc8c1e987a49ea5dc",
|
|
56
58
|
".claude/skills/morning-brief/evals/basic.yaml": "537de9adcde134161de9ffb9602b8c920bf1464bf224d99ad6f95f854d8480b7",
|
|
57
|
-
".claude/skills/new-person/SKILL.md": "
|
|
59
|
+
".claude/skills/new-person/SKILL.md": "41b98b2bac95a76e2e58ba4c695d171b1e068910436741baa534d3db2b00ca9c",
|
|
58
60
|
".claude/skills/new-person/evals/basic.yaml": "f3c09a37c05d420e67520d8132a46356fed81575dcfb817cc97caf47f230392b",
|
|
59
61
|
".claude/skills/new-workspace/SKILL.md": "c3f838b44a016b87445c66555398b666970a156288320efb183bc8cb8af2f0df",
|
|
60
62
|
".claude/skills/new-workspace/references/workspace-templates.md": "6b36e961f112d46f32fdcf19cdacf3b05b4246201be315eee79659d606a7e243",
|
|
61
63
|
".claude/skills/onboarding.md": "72fe133672f61929de0cfc7ff77699eb8856ca1e283b13acd3becffff75fca55",
|
|
62
|
-
".claude/skills/pattern-recognizer.md": "
|
|
64
|
+
".claude/skills/pattern-recognizer.md": "6928735f17cfcd793483dba2c68d346b11450f086a4bcc24e72e9b348270534b",
|
|
63
65
|
".claude/skills/pipeline-review/SKILL.md": "7891ceb3b6f4fb19e5255ae71c5894b6da8a9c566bc317e566bd4bc282ea1a6f",
|
|
64
|
-
".claude/skills/relationship-tracker.md": "
|
|
66
|
+
".claude/skills/relationship-tracker.md": "ef351780adadf3866a545b527450727bfb49907d1e675be670f7efc3acb4e776",
|
|
65
67
|
".claude/skills/research/SKILL.md": "0d317e6350b043ee774916b923957f61dbc174e3caafc0187198fa236a2fd28d",
|
|
66
68
|
".claude/skills/research/references/source-evaluation.md": "64614b7eff83468d7ff76dd640252579f23e69e760969672e9aebe5ceb00f695",
|
|
67
|
-
".claude/skills/risk-surfacer.md": "
|
|
69
|
+
".claude/skills/risk-surfacer.md": "b01e6bc7a22df414a7ee7a5e4a108088b5d049646723cc7513fac27a3ba4856c",
|
|
68
70
|
".claude/skills/skill-index.json": "043c86f1b07f28bb54db80117437f60fb3d79ad0d18549fdc2c74921b996a56f",
|
|
69
71
|
".claude/skills/skill-router/SKILL.md": "12fc45aebc94d3ead65843cd336a88797a40856e82908cda47256c9cbb4cb60f",
|
|
70
72
|
".claude/skills/skill-router/references/overlap-clusters.md": "bc819b4892cbdf9919db392825230f4cd4eec546cd7f0c9de6c29a2468ab489a",
|
|
71
73
|
".claude/skills/structure-generator.md": "dbe70841ab60599a632687aaa3c3652361483df2fe854640c56982b60622eb19",
|
|
72
|
-
".claude/skills/summarize-doc/SKILL.md": "
|
|
74
|
+
".claude/skills/summarize-doc/SKILL.md": "cd73acc34541c9971ce7248df87d8b26d572d0cf0b14275076f2fb321d32af3a",
|
|
73
75
|
".claude/skills/vault-awareness.md": "da4b056ea9b83ecbfb1a7ffd9318caf98c1fb38bb8334bde3b8975b8467f576b",
|
|
74
|
-
".claude/skills/weekly-review/SKILL.md": "
|
|
75
|
-
".claude/skills/what-am-i-missing/SKILL.md": "
|
|
76
|
+
".claude/skills/weekly-review/SKILL.md": "2a9e5697499cb2980f2954a55a53e496f734c673d64e900ee1affed771a93ec1",
|
|
77
|
+
".claude/skills/what-am-i-missing/SKILL.md": "8557f893869c66e3cf0401b68a604c57f1edf8dcb065d469e7502c9af06c8dfe",
|
|
76
78
|
".claude/skills/wiki/SKILL.md": "e45e8db6fce1d774e36c93be27e5d9153b3ae474c48db478a4d7ff2b138e42e8",
|
|
77
79
|
".claude/skills/wiki/references/citations-and-contradictions.md": "1b16301020fdb5e4840035ca22425ebb03202694e88eb494105ff39e22e03263",
|
|
78
80
|
".claude/skills/wiki/references/page-template.md": "b19382ee9366b1e7f8c9f230881ac3c45982b59ffee0d82fe64b103862ba4745",
|
|
@@ -248,6 +248,54 @@ Include:
|
|
|
248
248
|
- **Output Format** - Expected output structure
|
|
249
249
|
- **Judgment Points** - Where to ask for confirmation
|
|
250
250
|
|
|
251
|
+
## Writing a good skill description
|
|
252
|
+
|
|
253
|
+
The `description:` field in a skill's frontmatter is what Claude Code uses to decide when to trigger the skill. A vague description fires inconsistently; a tight description fires reliably. Three patterns from the existing catalog earn their keep:
|
|
254
|
+
|
|
255
|
+
**Verb + object + outcome + trigger phrases.** Lead with what the skill does, then list the exact phrases users say. From `capture-meeting`:
|
|
256
|
+
|
|
257
|
+
> Process meeting notes or transcript to extract decisions, commitments, and insights. Use when user shares transcript or says "capture this meeting", "here are my notes from the call".
|
|
258
|
+
|
|
259
|
+
**Quantify the work.** Numerical bounds disambiguate the skill from neighbors. From `deep-context`:
|
|
260
|
+
|
|
261
|
+
> Full-context deep analysis for meeting prep, relationship analysis, or strategic planning. Pulls up to 180 memories across multiple dimensions for comprehensive synthesis.
|
|
262
|
+
|
|
263
|
+
**State the proactive trigger threshold.** For proactive skills, name the count that fires them. From `pattern-recognizer`:
|
|
264
|
+
|
|
265
|
+
> Activates when the same topic, frustration, or behavior appears across 3+ interactions.
|
|
266
|
+
|
|
267
|
+
Avoid descriptions that read as aspirational ("helps you think strategically"), circular ("manages memory operations"), or multi-purpose without a clear trigger.
|
|
268
|
+
|
|
269
|
+
## The "see also" convention
|
|
270
|
+
|
|
271
|
+
When two skills could plausibly fire on the same situation, both should point at each other in their descriptions so a user who picked the less-canonical name finds the alternative. Pattern: append a final line to the `description:` field of the form:
|
|
272
|
+
|
|
273
|
+
> See also: `<skill-name>` for <what differs>.
|
|
274
|
+
|
|
275
|
+
Common overlap clusters in the current catalog:
|
|
276
|
+
|
|
277
|
+
- **Outbound messages**: `draft-reply` (general) ↔ `follow-up-draft` (post-meeting)
|
|
278
|
+
- **Memory**: `memory-audit` (content) ↔ `memory-health` (system) ↔ `diagnose` (connectivity)
|
|
279
|
+
- **Visualization**: `brain` (3D web) ↔ `brain-monitor` (terminal)
|
|
280
|
+
- **Reflective cadences**: `morning-brief` (daily) → `weekly-review` (weekly) → `growth-check` (monthly+) → `meditate` (per session)
|
|
281
|
+
- **Meeting lifecycle**: `meeting-prep` (before) → `capture-meeting` (during/after notes) → `follow-up-draft` (after, outbound)
|
|
282
|
+
- **Inbound processing**: `ingest-sources` (multi-doc) ↔ `file-document` (single) ↔ `capture-meeting` (meeting only) ↔ `summarize-doc` (no filing)
|
|
283
|
+
|
|
284
|
+
## Disambiguation notes
|
|
285
|
+
|
|
286
|
+
- `connector-discovery` is about connecting external services (Gmail, Calendar, Slack). It is not about people or human connections. For people, see `relationship-tracker`, `new-person`, and `map-connections`.
|
|
287
|
+
- `pattern-recognizer` notices what's recurring. `judgment-awareness` applies the user's decision rules to a recurring situation. `capability-suggester` proposes a new command when the same task is repeated by hand. Three skills, three different stages of "we keep doing this."
|
|
288
|
+
|
|
289
|
+
## Proactive vs contextual: when to make a skill auto-fire
|
|
290
|
+
|
|
291
|
+
A skill with `invocation: proactive` runs without the user asking. This is powerful but expensive: every proactive skill loaded into context is a tax on every conversation. Use proactive only when:
|
|
292
|
+
|
|
293
|
+
1. The trigger condition is **specific enough that false positives are rare** (e.g., commitment-detector watches for explicit promise phrasing, not vague intentions).
|
|
294
|
+
2. The action is **observational**, not mutative (surface a pattern, not send an email).
|
|
295
|
+
3. The output is **brief**, ideally one line, deferring detail to a follow-up question.
|
|
296
|
+
|
|
297
|
+
Contextual skills (no `invocation` set, or `invocation: contextual`) are cheaper. They wait for the user to invoke them by name or phrase. Default to contextual; promote to proactive only after observing repeated manual invocations of the same skill.
|
|
298
|
+
|
|
251
299
|
## Archetype Templates
|
|
252
300
|
|
|
253
301
|
The `archetypes/` folder contains structure and command templates for each user type:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brain
|
|
3
|
-
description: Launch the Brain Visualizer, a real-time 3D view of memory and relationships. Triggers on "show your brain", "visualize memory", "open the brain", "memory graph".
|
|
3
|
+
description: Launch the Brain Visualizer, a real-time 3D view of memory and relationships. Triggers on "show your brain", "visualize memory", "open the brain", "memory graph". See also: `brain-monitor` for a terminal dashboard alternative.
|
|
4
4
|
effort-level: medium
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brain-monitor
|
|
3
|
-
description: Launch the Brain Monitor TUI, a real-time terminal dashboard for watching Claudia's memory system. Triggers on "brain monitor", "show dashboard", "memory dashboard", "terminal brain".
|
|
3
|
+
description: Launch the Brain Monitor TUI, a real-time terminal dashboard for watching Claudia's memory system. Triggers on "brain monitor", "show dashboard", "memory dashboard", "terminal brain". See also: `brain` for a 3D graph view in the browser.
|
|
4
4
|
effort-level: low
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: capability-suggester
|
|
3
|
-
description: Notice repeated user behaviors and suggest new commands, workflows, structure, or integrations to streamline work. Also detects when the user's setup has outgrown its current structure and suggests targeted upgrades. Activates when repeated task patterns, workflow friction, structural gaps, or business growth signals are detected.
|
|
3
|
+
description: Notice repeated user behaviors and suggest new commands, workflows, structure, or integrations to streamline work. Also detects when the user's setup has outgrown its current structure and suggests targeted upgrades. Activates when repeated task patterns, workflow friction, structural gaps, or business growth signals are detected. See also: `pattern-recognizer` for theme detection upstream; `hire-agent` for adding specialized subagents.
|
|
4
4
|
user-invocable: false
|
|
5
5
|
invocation: proactive
|
|
6
6
|
effort-level: high
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: capture-meeting
|
|
3
|
-
description: Process meeting notes or transcript to extract decisions, commitments, and insights. Use when user shares transcript or says "capture this meeting", "here are my notes from the call".
|
|
3
|
+
description: Process meeting notes or transcript to extract decisions, commitments, and insights. Use when user shares transcript or says "capture this meeting", "here are my notes from the call". See also: `meeting-prep` for pre-call briefings; `follow-up-draft` for post-meeting emails.
|
|
4
4
|
effort-level: medium
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: close-the-loop
|
|
3
|
+
description: Process a call transcript into the full post-call loop. Files the transcript, drafts a personalized Gmail follow-up in the user's voice, logs commitments, appends a touchpoint to the contact's people file, and archives the source. The Gmail draft is NEVER auto-sent. Use when the user shares a transcript and wants the *whole* post-call workflow run, says "close the loop on this call", "process and draft followup for [person]", "wrap up the call with [person]".
|
|
4
|
+
effort-level: medium
|
|
5
|
+
invocation: explicit
|
|
6
|
+
argument-hint: "[transcript or person name]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Close the Loop
|
|
10
|
+
|
|
11
|
+
The full post-call orchestration. One input (a transcript), four artifacts, one drafted external action that stays human.
|
|
12
|
+
|
|
13
|
+
This skill is a *chain* on top of two existing skills:
|
|
14
|
+
|
|
15
|
+
- It starts where `capture-meeting` ends: transcript filed, commitments extracted, participants identified.
|
|
16
|
+
- It extends with the work `follow-up-draft` does: a personalized email built in the user's voice.
|
|
17
|
+
- It adds the multi-write fanout: people file touchpoint, commitments ledger append, transcript archive.
|
|
18
|
+
|
|
19
|
+
If the user only wants the capture half (no email drafted), route to `capture-meeting`.
|
|
20
|
+
If the user only wants the email half (capture already happened), route to `follow-up-draft`.
|
|
21
|
+
If they want the whole loop, this is the canonical skill.
|
|
22
|
+
|
|
23
|
+
## When to fire
|
|
24
|
+
|
|
25
|
+
Trigger phrases:
|
|
26
|
+
|
|
27
|
+
- "Close the loop on this call"
|
|
28
|
+
- "Process my call with [person] and draft the followup"
|
|
29
|
+
- "Wrap up the call with [person]"
|
|
30
|
+
- "I just got off a call with [person] — full workflow"
|
|
31
|
+
- A transcript dropped into a designated `transcripts-inbox/` folder when the user has the close-the-loop pattern configured
|
|
32
|
+
|
|
33
|
+
Do NOT fire for:
|
|
34
|
+
|
|
35
|
+
- General document processing (use `file-document` or `ingest-sources`)
|
|
36
|
+
- Pre-meeting prep (use `meeting-prep`)
|
|
37
|
+
- Generic email response with no meeting context (use `draft-reply`)
|
|
38
|
+
|
|
39
|
+
## The flow
|
|
40
|
+
|
|
41
|
+
| Step | Action | Touches |
|
|
42
|
+
|------|--------|---------|
|
|
43
|
+
| 1 | File raw transcript via `memory_file` | source preservation |
|
|
44
|
+
| 2 | Extract decisions, commitments (yours and theirs), unresolved questions | in-memory reasoning |
|
|
45
|
+
| 3 | Read `people/{contact}.md` for relationship context | files |
|
|
46
|
+
| 4 | Read recent Gmail history with the contact (tone calibration) | Gmail connector |
|
|
47
|
+
| 5 | Read `voice-followup.md` if it exists | files |
|
|
48
|
+
| 6 | Draft personalized email in Gmail Drafts | Gmail connector (DRAFT only, never send) |
|
|
49
|
+
| 7 | Append dated touchpoint to `people/{contact}.md` | files |
|
|
50
|
+
| 8 | Append commitments to `commitments.md` with deadlines | files |
|
|
51
|
+
| 9 | Move transcript from `transcripts-inbox/` to `archive/transcripts/{contact}/` | files |
|
|
52
|
+
| 10 | Report back: "Draft ready in Gmail. Logged N commitments. Touchpoint added to [contact]'s file." | chat |
|
|
53
|
+
|
|
54
|
+
## The human gate (non-negotiable)
|
|
55
|
+
|
|
56
|
+
The email **never sends automatically**. It lands in Gmail Drafts. The user opens, reviews, edits if needed, and hits Send themselves.
|
|
57
|
+
|
|
58
|
+
This is not a limitation. It is the design. External communication is always Human-Approved. See `claudia-principles.md` § 1 (Safety First).
|
|
59
|
+
|
|
60
|
+
If a future version of this skill ever auto-sends, that is a breaking change that requires an explicit logged decision.
|
|
61
|
+
|
|
62
|
+
## Processing steps
|
|
63
|
+
|
|
64
|
+
### 1. File the source (MANDATORY)
|
|
65
|
+
|
|
66
|
+
Same as `capture-meeting`. Call `memory_file` with:
|
|
67
|
+
|
|
68
|
+
- `filename`: `YYYY-MM-DD-[contact]-[topic].md`
|
|
69
|
+
- `source_type`: `transcript`
|
|
70
|
+
- `summary`: brief one-line summary
|
|
71
|
+
- `about`: `[contact-slug]`
|
|
72
|
+
- `content`: the full raw transcript
|
|
73
|
+
|
|
74
|
+
### 2. Extract via Document Processor
|
|
75
|
+
|
|
76
|
+
Dispatch the Document Processor agent (Haiku) with `extraction_type: "memory_operations"`. The agent returns commitments, decisions, and key topics as a structured operations array. Review for accuracy before storing.
|
|
77
|
+
|
|
78
|
+
### 3. Read relationship and voice context
|
|
79
|
+
|
|
80
|
+
In parallel:
|
|
81
|
+
|
|
82
|
+
- `people/{contact}.md` (if exists; if not, plan a touchpoint entry that will create the file)
|
|
83
|
+
- Recent Gmail thread with the contact (last 5 to 10 messages)
|
|
84
|
+
- `voice-followup.md` from the user's playground or context folder
|
|
85
|
+
|
|
86
|
+
If `voice-followup.md` does not exist, fall back to a neutral professional tone and flag to the user: "I drafted in a neutral voice. Create `voice-followup.md` to personalize."
|
|
87
|
+
|
|
88
|
+
### 4. Draft the email
|
|
89
|
+
|
|
90
|
+
Follow the structure from `voice-followup.md`. Default pattern when no voice file:
|
|
91
|
+
|
|
92
|
+
- Opening: reference the call directly. No "I wanted to circle back."
|
|
93
|
+
- Body beat 1: what *they* said that mattered (one or two sentences).
|
|
94
|
+
- Body beat 2: what *you* committed to, with dates.
|
|
95
|
+
- Closing: one clear next step with a specific date or window.
|
|
96
|
+
- Signoff: "Best," then first name. No "Warm regards." No em dashes.
|
|
97
|
+
|
|
98
|
+
Create the draft via the Gmail connector. Do NOT call any send tool. The draft must remain in Drafts.
|
|
99
|
+
|
|
100
|
+
### 5. The multi-write fanout
|
|
101
|
+
|
|
102
|
+
In sequence:
|
|
103
|
+
|
|
104
|
+
- `memory_batch` with the reviewed memory operations from step 2.
|
|
105
|
+
- Append to `people/{contact}.md` under the History section. Newest first. Date-stamped. Format: `### YYYY-MM-DD. [Topic].`
|
|
106
|
+
- Append to `commitments.md` under "Active: things I owe" and "Active: things others owe me". Include source attribution: `*(source: call YYYY-MM-DD)*`.
|
|
107
|
+
- Move the transcript file from `transcripts-inbox/` to `archive/transcripts/{contact-slug}/`.
|
|
108
|
+
|
|
109
|
+
### 6. Report
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
Draft ready in Gmail. Open Drafts to review and send.
|
|
113
|
+
Logged {N} commitments to commitments.md ({M} mine, {N-M} theirs).
|
|
114
|
+
Touchpoint added to people/{contact}.md.
|
|
115
|
+
Transcript archived to archive/transcripts/{contact-slug}/.
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
If anything failed (Gmail connector expired, person file write blocked, etc.), report the failure clearly and offer the recovery path. Do not silently proceed.
|
|
119
|
+
|
|
120
|
+
## Failure modes
|
|
121
|
+
|
|
122
|
+
| Failure | Recovery |
|
|
123
|
+
|---------|----------|
|
|
124
|
+
| Transcript has missing speaker labels | List commitments under "Active: unattributed" rather than guessing who owes what |
|
|
125
|
+
| No `people/{contact}.md` file exists | Offer to create one with what was learned. Do not auto-create silently. |
|
|
126
|
+
| `voice-followup.md` missing | Use neutral tone, flag the gap to the user |
|
|
127
|
+
| Gmail connector expired or disconnected | Skip the draft step, log everything else, instruct the user to reconnect Gmail and re-run from step 4 |
|
|
128
|
+
| Multiple contacts in the transcript | Ask the user which contact "owns" the followup before drafting. Do not draft to multiple recipients. |
|
|
129
|
+
|
|
130
|
+
## See also
|
|
131
|
+
|
|
132
|
+
- `capture-meeting` — the upstream half. Use when no email is needed.
|
|
133
|
+
- `follow-up-draft` — the downstream half. Use when capture already happened.
|
|
134
|
+
- `meeting-prep` — the inverse. Use before a call, not after.
|
|
135
|
+
- `commitment-detector` — proactive sibling. Fires on commitments mentioned in conversation, separate from this skill which processes formal transcripts.
|
|
136
|
+
|
|
137
|
+
## AIAC context
|
|
138
|
+
|
|
139
|
+
This is the anchor workflow for the AIAC Cowork course (`~/Downloads/Claude-Cowork-Course/`). Module 3 of the course walks members through building this exact skill from the constituent capture-meeting and follow-up-draft pieces. The course's `voice-followup.md` template is the recommended companion file.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: connector-discovery
|
|
3
|
-
description: Help users connect their external tools in a gentle, non-technical way. Recommend solutions based on what works best, explain everything in plain language.
|
|
3
|
+
description: Help users connect their external tools in a gentle, non-technical way. Recommend solutions based on what works best, explain everything in plain language. Note: this is about external service connectors (Gmail, Calendar), not human connections. See `relationship-tracker` and `map-connections` for person and relationship features.
|
|
4
4
|
effort-level: high
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: diagnose
|
|
3
|
-
description: Check memory system health and troubleshoot connectivity issues. Use when memory commands aren't working, at session start if something seems wrong, or when user asks about memory status.
|
|
3
|
+
description: Check memory system health and troubleshoot connectivity issues. Use when memory commands aren't working, at session start if something seems wrong, or when user asks about memory status. See also: `memory-health` for the data-quality dashboard once connectivity is confirmed.
|
|
4
4
|
effort-level: low
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: draft-reply
|
|
3
|
-
description: Draft an email response with tone matching the relationship context. Shows draft for approval before sending. Use when user says "draft a reply", "respond to this email", "write a response to [person]", or shares an email and asks for help replying.
|
|
3
|
+
description: Draft an email response with tone matching the relationship context. Shows draft for approval before sending. Use when user says "draft a reply", "respond to this email", "write a response to [person]", or shares an email and asks for help replying. See also: `follow-up-draft` for post-meeting thank-yous with meeting context.
|
|
4
4
|
effort-level: medium
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: file-document
|
|
3
|
-
description: Store a document, email, or text for future reference with entity linking and provenance.
|
|
3
|
+
description: Store a document, email, or text for future reference with entity linking and provenance. See also: `ingest-sources` for multiple files; `capture-meeting` if it's meeting notes; `summarize-doc` to get a summary without filing.
|
|
4
4
|
effort-level: medium
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: follow-up-draft
|
|
3
|
-
description: Create a post-meeting thank-you or follow-up email with key points and next steps. Use when user says "follow-up email", "thank you note", "post-meeting email", "send a follow-up to [person]", or after a meeting capture when next steps need communicating.
|
|
3
|
+
description: Create a post-meeting thank-you or follow-up email with key points and next steps. Use when user says "follow-up email", "thank you note", "post-meeting email", "send a follow-up to [person]", or after a meeting capture when next steps need communicating. See also: `draft-reply` for general email responses unrelated to a meeting.
|
|
4
4
|
argument-hint: "[person name]"
|
|
5
5
|
effort-level: medium
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: growth-check
|
|
3
|
-
description: Periodic reflection on development, skills, learning, and progress toward goals. Triggers on "am I growing?", "development check", "personal growth review".
|
|
3
|
+
description: Periodic reflection on development, skills, learning, and progress toward goals. Triggers on "am I growing?", "development check", "personal growth review". See also: `weekly-review` for tactical week recap; `meditate` for session-level reflection.
|
|
4
4
|
effort-level: low
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: hire-agent
|
|
3
|
-
description: Suggests new agents based on repeated task patterns.
|
|
3
|
+
description: Suggests new agents based on repeated task patterns. See also: `capability-suggester` for skill or command-level additions; `agent-dispatcher` for routing logic.
|
|
4
4
|
user-invocable: false
|
|
5
5
|
invocation: proactive
|
|
6
6
|
effort-level: high
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: inbox-check
|
|
3
|
-
description: Lightweight inbox triage across all configured email accounts. Dispatches fast subagent to fetch, then reviews with judgment. Use when user says "check my inbox", "any new emails?", "check email".
|
|
3
|
+
description: Lightweight inbox triage across all configured email accounts. Dispatches fast subagent to fetch, then reviews with judgment. Use when user says "check my inbox", "any new emails?", "check email". See also: `draft-reply` once you pick an email to respond to.
|
|
4
4
|
effort-level: low
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ingest-sources
|
|
3
|
-
description: Process multiple source documents with Extract-Then-Aggregate discipline. Use when user shares multiple transcripts, emails, or documents for batch processing.
|
|
3
|
+
description: Process multiple source documents with Extract-Then-Aggregate discipline. Use when user shares multiple transcripts, emails, or documents for batch processing. See also: `capture-meeting` for a single meeting transcript; `file-document` for a single document; `summarize-doc` when you only need a summary.
|
|
4
4
|
argument-hint: [folder-path]
|
|
5
5
|
effort-level: max
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: judgment-awareness
|
|
3
|
-
description: Load and apply user-defined judgment rules from context/judgment.yaml to inform priority conflicts, escalation decisions, surfacing, and delegation.
|
|
3
|
+
description: Load and apply user-defined judgment rules from context/judgment.yaml to inform priority conflicts, escalation decisions, surfacing, and delegation. See also: `pattern-recognizer` for theme detection; `meditate` updates judgment rules at session end.
|
|
4
4
|
user-invocable: false
|
|
5
5
|
invocation: proactive
|
|
6
6
|
effort-level: low
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: manuscript-fact-check
|
|
3
|
+
description: Audit every quote and source claim in a draft manuscript against primary sources before it ships to a publisher, editor, or peer reviewer. Produces a structured per-claim matrix (claim, source verbatim, status, action, correction), applies corrections to the draft, and flags any remaining items that need physical-copy verification. Use when the user says "fact-check this", "verify the sources", "audit this manuscript", "check every quote", "build a fact-check matrix", "verify against primary sources", or before any publisher / editor submission.
|
|
4
|
+
effort-level: high
|
|
5
|
+
invocation: explicit
|
|
6
|
+
argument-hint: "[path to draft or article]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Manuscript Fact-Check
|
|
10
|
+
|
|
11
|
+
The pass that runs before a draft ships. Every quote attributed to a source, every research claim, every statistic, verified against the primary source. Drift caught, corrections applied, audit trail preserved.
|
|
12
|
+
|
|
13
|
+
This skill exists because Claudia's most catastrophic failure mode in writing work is the subtly-rewritten "quote" that drifts from the original. Editors at credible publishers catch these instantly. The chapter that ships with a misquote loses the editor's trust on page one, and the relationship rarely recovers.
|
|
14
|
+
|
|
15
|
+
## When to fire
|
|
16
|
+
|
|
17
|
+
Trigger phrases:
|
|
18
|
+
|
|
19
|
+
- "Fact-check this manuscript / chapter / article / paper"
|
|
20
|
+
- "Verify the sources in this draft"
|
|
21
|
+
- "Audit every quote in [file]"
|
|
22
|
+
- "Check the citations before I send this"
|
|
23
|
+
- "Build a fact-check matrix for [draft]"
|
|
24
|
+
- "Make sure these quotes are accurate against the originals"
|
|
25
|
+
- "I'm sending this to [publisher]: verify everything first"
|
|
26
|
+
|
|
27
|
+
Do NOT fire for:
|
|
28
|
+
|
|
29
|
+
- Polishing prose, restructuring sections, or style edits (different skills)
|
|
30
|
+
- Verifying a single fact in conversation (just look it up directly)
|
|
31
|
+
- Drafts that contain no quoted sources or specific statistics
|
|
32
|
+
|
|
33
|
+
## The three-tier strategy
|
|
34
|
+
|
|
35
|
+
Before any verification begins, classify every claim by tier. The tier determines whether the claim is verified directly by Claudia or delegated to a research-scout agent.
|
|
36
|
+
|
|
37
|
+
| Tier | What it is | Why direct verification | Examples |
|
|
38
|
+
|------|------------|--------------------------|----------|
|
|
39
|
+
| 1 | Quotes the publisher *owns* or that an audience knows verbatim | The publisher's editor will compare letter-by-letter. Any drift kills credibility. Never delegate. | Hill quotes for Napoleon Hill publisher. Bible quotes for theological work. Constitution quotes for legal work. The author's own prior books. |
|
|
40
|
+
| 2 | Peer-reviewed research claims | Verifiable through DOI / PubMed / journal archive. Agents are good at this. | Neuroscience studies, meta-analyses, survey data, citation chains. |
|
|
41
|
+
| 2.5 | Biographical quotes with retelling drift | Verifiable but commonly distorted in derivative sources. Agents work but must compare to primary source, not Wikipedia. | McCartney "Yesterday" story, Kekulé benzene dream, Jobs interviews, founder origin stories. |
|
|
42
|
+
|
|
43
|
+
**Rule:** Tier 1 is verified by Claudia personally via `firecrawl scrape` + `grep` against the primary public-domain text. Tiers 2 and 2.5 are dispatched to parallel research-scout agents with strict "quote verbatim or flag UNVERIFIABLE" instructions.
|
|
44
|
+
|
|
45
|
+
## The flow
|
|
46
|
+
|
|
47
|
+
| Step | Action | Touches |
|
|
48
|
+
|------|--------|---------|
|
|
49
|
+
| 1 | Read the draft. Itemize every claim attributed to a source: direct quotes, paraphrased quotes, statistics, named studies, citations. | In-memory list. |
|
|
50
|
+
| 2 | Classify each claim by tier (1, 2, 2.5). | In-memory list. |
|
|
51
|
+
| 3 | For Tier 1 claims: identify the primary source (public-domain text, official transcript, the publisher's own catalog). Fetch directly with `firecrawl scrape`. Search the source with `grep` for each quoted phrase. Compare verbatim. | `sources/.firecrawl/` |
|
|
52
|
+
| 4 | For Tier 2 and 2.5 claims: dispatch parallel research-scout agents. One agent for academic / peer-reviewed claims, one for biographical / example claims. Provide each agent with the exact manuscript wording and require structured output: claim, source verbatim, match status, confidence, recommended action. | Agent dispatch. |
|
|
53
|
+
| 5 | Build the matrix. One row per claim. Columns: Claim (verbatim from manuscript), Source (verbatim from primary), Status (EXACT / PARAPHRASE / DRIFT / UNVERIFIABLE), Confidence (HIGH / MEDIUM / LOW), Action (KEEP / EDIT / FLAG), Notes. Save as `08-Fact-Check-Matrix.md` (or matching number) in the project bundle. | Writes file. |
|
|
54
|
+
| 6 | Apply corrections to the manuscript source. For each DRIFT or PARAPHRASE flagged for EDIT: change the manuscript text to match the verified source wording. For each citation correction: update author names, years, page references. | Edits manuscript source. |
|
|
55
|
+
| 7 | Re-render derived formats (PDF, DOCX, HTML) from the corrected source. | Re-runs the rendering pipeline. |
|
|
56
|
+
| 8 | Report. Summarize what was verified EXACT, what required EDIT (with before / after), what remains FLAGGED for physical-copy verification, and what is now ready for the publisher. Honest about anything that could not be verified. | Chat output. |
|
|
57
|
+
|
|
58
|
+
## Status codes
|
|
59
|
+
|
|
60
|
+
| Code | Meaning |
|
|
61
|
+
|------|---------|
|
|
62
|
+
| **EXACT** | Manuscript wording matches the primary source verbatim. KEEP. |
|
|
63
|
+
| **PARAPHRASE** | Manuscript captures the source meaning but rewords slightly. May be acceptable (with quotation marks removed) or require restoration of the verbatim quote. |
|
|
64
|
+
| **DRIFT** | Manuscript presents text as a verbatim quote but the wording differs from the source. Always EDIT. |
|
|
65
|
+
| **UNVERIFIABLE** | The source could not be reached or the quote could not be located within it. FLAG for the user to verify against a physical copy or alternate source. |
|
|
66
|
+
|
|
67
|
+
## Output format (the matrix)
|
|
68
|
+
|
|
69
|
+
Use this structure for each claim in `08-Fact-Check-Matrix.md`:
|
|
70
|
+
|
|
71
|
+
```markdown
|
|
72
|
+
### [Claim ID]. [Brief topic]
|
|
73
|
+
|
|
74
|
+
| Field | Content |
|
|
75
|
+
|-------|---------|
|
|
76
|
+
| **Original claim** | "[verbatim from manuscript]" |
|
|
77
|
+
| **Source (verbatim)** | "[verbatim from primary source]" |
|
|
78
|
+
| **Status** | EXACT \| PARAPHRASE \| DRIFT \| UNVERIFIABLE |
|
|
79
|
+
| **Action** | KEEP \| EDIT \| FLAG |
|
|
80
|
+
| **Where it now stands** | "[corrected manuscript text, if action was EDIT]" |
|
|
81
|
+
| **Source citation** | [author, title, publisher, year, page] |
|
|
82
|
+
| **Notes** | [anything else the editor should know] |
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
End the matrix with a summary table and an "Outstanding items requiring action before submission" section that names every UNVERIFIABLE or FLAG claim and what the user must do to resolve it.
|
|
86
|
+
|
|
87
|
+
## Why this skill matters
|
|
88
|
+
|
|
89
|
+
For a publisher-facing submission, the editor's first read is a credibility test. A single fabricated quote, a wrong author initial, a confused year, a phrase attributed to one source when it comes from another: any of these tells the editor the rest of the manuscript cannot be trusted. The matrix prevents that. It also gives the editor a verification artifact: when they ask "where did this quote come from?", the answer is in the matrix, with the primary source cited and the verbatim text shown.
|
|
90
|
+
|
|
91
|
+
For the writer, the matrix is the audit trail that turns "I think the quote is right" into "I can prove the quote is right."
|
|
92
|
+
|
|
93
|
+
## Known failure modes
|
|
94
|
+
|
|
95
|
+
| Failure | What goes wrong | How to handle |
|
|
96
|
+
|---------|----------------|---------------|
|
|
97
|
+
| Upstream research agents fabricate citations | Agents have produced false author initials, false dates, false page numbers when their search returns weak hits | Always have the agent quote the source verbatim, not paraphrase it. If the verbatim text cannot be produced, status is UNVERIFIABLE, not EXACT. |
|
|
98
|
+
| The primary source is paywalled or behind anti-bot | WebFetch returns 403; agent reports the page as unverifiable | Try `firecrawl scrape` first. If still blocked, dispatch a different agent for that specific source. If still no, flag UNVERIFIABLE and ask the user to verify against a physical copy. |
|
|
99
|
+
| The quote is widely attributed but the page reference is wrong | The quote is real, the page number is folklore | Mark the quote EXACT and the page number FLAG. The author must verify page references against a physical copy before final submission. |
|
|
100
|
+
| The quote is "from" a famous person but only sourced to a later retelling | Common with Tesla, Edison, Twain, Einstein quotes | Skip the quote if the primary source is the person's own late autobiography or a posthumous secondary citation. Note exclusion in the editor's notes. |
|
|
101
|
+
|
|
102
|
+
## AIAC context
|
|
103
|
+
|
|
104
|
+
The reference implementation of this skill is the Napoleon Hill "Sixth Sense" chapter fact-check at `~/Downloads/Napoleon-Hill-Sixth-Sense/08-Fact-Check-Matrix.md`. 26 claims audited, ~14 EDITs applied, two FLAGs preserved for physical-copy verification. The chapter was meaningfully strengthened by the pass: at least three errors that would have been caught by a serious editor were caught here first.
|
|
105
|
+
|
|
106
|
+
## See also
|
|
107
|
+
|
|
108
|
+
- `auto-research` for iterative draft improvement (different concept: this audits sources, that iterates on prose quality)
|
|
109
|
+
- `summarize-doc` for executive summaries (different concept: this verifies an existing draft, that produces a new artifact)
|
|
110
|
+
- `ingest-sources` for multi-document processing (related concept: that processes raw inputs, this audits already-cited outputs)
|
|
111
|
+
- `capture-meeting` for meeting transcript processing (related concept for transcript-source claims, but different output)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: map-connections
|
|
3
|
-
description: Scan context files to extract entities and relationships into the memory system. Triggers on "who knows who?", "network graph", "map my connections", "extract relationships".
|
|
3
|
+
description: Scan context files to extract entities and relationships into the memory system. Triggers on "who knows who?", "network graph", "map my connections", "extract relationships". See also: `brain` for graph visualization once relationships are extracted.
|
|
4
4
|
argument-hint: "[--incremental] [file-path]"
|
|
5
5
|
effort-level: high
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: meditate
|
|
3
|
-
description: End-of-session reflection generating persistent learnings about user preferences, communication patterns, and cross-session insights. Activates when wrapping up a session, or when user says "let's wrap up", "end the session", "time to reflect", or "meditate". Also extracts judgment rules from decisions made during the session.
|
|
3
|
+
description: End-of-session reflection generating persistent learnings about user preferences, communication patterns, and cross-session insights. Activates when wrapping up a session, or when user says "let's wrap up", "end the session", "time to reflect", or "meditate". Also extracts judgment rules from decisions made during the session. See also: `weekly-review` and `growth-check` for time-based reflection cadences.
|
|
4
4
|
effort-level: high
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: meeting-prep
|
|
3
|
-
description: One-page briefing before a call or meeting with person context, open items, and talking points. Use when user says "prep me for my call with [person]", "meeting prep", "brief me before my meeting", "get ready for my call", or mentions an upcoming meeting where context would help.
|
|
3
|
+
description: One-page briefing before a call or meeting with person context, open items, and talking points. Use when user says "prep me for my call with [person]", "meeting prep", "brief me before my meeting", "get ready for my call", or mentions an upcoming meeting where context would help. See also: `capture-meeting` for processing notes after the call; `follow-up-draft` for thank-yous.
|
|
4
4
|
argument-hint: [person or meeting name]
|
|
5
5
|
effort-level: medium
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: memory-audit
|
|
3
|
-
description: Show everything Claudia knows with provenance tracing and entity counts. Triggers on "what do you know?", "show memories", "memory audit", "what do you remember about".
|
|
3
|
+
description: Show everything Claudia knows with provenance tracing and entity counts. Triggers on "what do you know?", "show memories", "memory audit", "what do you remember about". See also: `memory-health` for system-level stats and data quality; `diagnose` for connectivity troubleshooting.
|
|
4
4
|
argument-hint: "[entity name]"
|
|
5
5
|
effort-level: medium
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: memory-health
|
|
3
|
-
description: Check memory system health and data quality. Use when user asks "how's my memory?", "system health", "memory stats", "data quality", "how's my brain?", or for periodic self-diagnostics.
|
|
3
|
+
description: Check memory system health and data quality. Use when user asks "how's my memory?", "system health", "memory stats", "data quality", "how's my brain?", or for periodic self-diagnostics. See also: `memory-audit` for content-level provenance; `diagnose` for daemon connectivity issues.
|
|
4
4
|
effort-level: medium
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: morning-brief
|
|
3
|
-
description: Daily digest of commitments, warnings, and relationship health. Use when starting your day or asking "what's on my plate".
|
|
3
|
+
description: Daily digest of commitments, warnings, and relationship health. Use when starting your day or asking "what's on my plate". See also: `weekly-review` (end of week), `growth-check` (monthly+), `meditate` (end of session).
|
|
4
4
|
effort-level: low
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: new-person
|
|
3
|
-
description: Create a relationship tracking file for a person with contact info, history, and communication preferences. Use when user says "new person", "add [name]", "create a file for [name]", "track this person", or mentions someone important who doesn't have a file yet.
|
|
3
|
+
description: Create a relationship tracking file for a person with contact info, history, and communication preferences. Use when user says "new person", "add [name]", "create a file for [name]", "track this person", or mentions someone important who doesn't have a file yet. See also: `relationship-tracker` for ongoing health; `meeting-prep` when you have a call coming up.
|
|
4
4
|
argument-hint: "[name]"
|
|
5
5
|
effort-level: medium
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pattern-recognizer
|
|
3
|
-
description: Notice trends, recurring themes, and patterns across conversations and surface them when relevant. Activates when the same topic, frustration, or behavior appears across 3+ interactions. Use for "I've noticed you keep...", "this is the third time...", recurring scheduling issues, or avoidance patterns.
|
|
3
|
+
description: Notice trends, recurring themes, and patterns across conversations and surface them when relevant. Activates when the same topic, frustration, or behavior appears across 3+ interactions. Use for "I've noticed you keep...", "this is the third time...", recurring scheduling issues, or avoidance patterns. See also: `judgment-awareness` for applying user-set decision rules; `capability-suggester` for converting patterns into new commands.
|
|
4
4
|
user-invocable: false
|
|
5
5
|
invocation: proactive
|
|
6
6
|
effort-level: high
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: relationship-tracker
|
|
3
|
-
description: Surface relevant context when people are mentioned in conversation, and track relationship health over time.
|
|
3
|
+
description: Surface relevant context when people are mentioned in conversation, and track relationship health over time. See also: `new-person` to create a file for someone important; `map-connections` to extract relationships across files.
|
|
4
4
|
user-invocable: false
|
|
5
5
|
invocation: proactive
|
|
6
6
|
effort-level: high
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: risk-surfacer
|
|
3
|
-
description: Proactively identify and surface potential problems before they become crises.
|
|
3
|
+
description: Proactively identify and surface potential problems before they become crises. See also: `what-am-i-missing` for a user-invoked, full-sweep version.
|
|
4
4
|
user-invocable: false
|
|
5
5
|
invocation: proactive
|
|
6
6
|
effort-level: high
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: summarize-doc
|
|
3
|
-
description: Create an executive summary of any document at the appropriate level of detail. Triggers on "summarize this", "main points", "give me the gist".
|
|
3
|
+
description: Create an executive summary of any document at the appropriate level of detail. Triggers on "summarize this", "main points", "give me the gist". See also: `file-document` if you also want to save it; `capture-meeting` if it's meeting notes.
|
|
4
4
|
effort-level: medium
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: weekly-review
|
|
3
|
-
description: Guided weekly reflection across all relationships, commitments, and projects with pattern analysis. Use at end of week, or when user says "weekly review", "end of week", "reflect on this week", "weekly check-in", or "how did my week go".
|
|
3
|
+
description: Guided weekly reflection across all relationships, commitments, and projects with pattern analysis. Use at end of week, or when user says "weekly review", "end of week", "reflect on this week", "weekly check-in", or "how did my week go". See also: `morning-brief` (daily), `growth-check` (zoom out), `meditate` (session reflection).
|
|
4
4
|
effort-level: high
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: what-am-i-missing
|
|
3
|
-
description: Surface risks, blind spots, overlooked items, and accountability across commitments and relationships. Triggers on "what am I overlooking?", "blind spots", "what's falling through the cracks", "what do I owe?", "am I overdue?", "check my commitments".
|
|
3
|
+
description: Surface risks, blind spots, overlooked items, and accountability across commitments and relationships. Triggers on "what am I overlooking?", "blind spots", "what's falling through the cracks", "what do I owe?", "am I overdue?", "check my commitments". See also: `risk-surfacer` for the proactive auto-firing version on overdue items and cooling relationships.
|
|
4
4
|
argument-hint: "[person name or 'overdue']"
|
|
5
5
|
effort-level: high
|
|
6
6
|
---
|