用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Abilityai/cornelius --skill refresh-index命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Run a full coherence sweep across the Brain Dependency Graph - computes staleness, lifecycle transitions, structural health, and generates a report
Autonomous perception layer - scans KB for new notes matching domain watch configs, checks gap resonance with the Thinking Registry, probes external signals via web search, and auto-activates HIGH/MEDIUM signals into the Thinking Registry for the incubation loop.
Autonomous iterative thinking loop - processes active topics using rotating analytical moves (ACH, Bayesian updating, steelmanning, cross-domain bridging, implication checks) and persists reasoning state across scheduled runs
基于 SOC 职业分类
正在显示 SKILL.md
| name | refresh-index |
| description | Rebuild the Local Brain Search FAISS index to reflect vault changes |
| automation | autonomous |
| schedule | 0 5 * * * |
| allowed-tools | Bash |
Rebuild the Local Brain Search vector index to ensure semantic search reflects current vault state.
The FAISS index is not auto-updated. This playbook refreshes it so semantic search (and the BDG enrichment layer the Brain Orb reads) reflect the current vault. The indexer is incremental — it re-embeds only changed/new notes — so a daily refresh is a matter of seconds and never a long-running job.
| Source | Location | Read | Write | Description |
|---|---|---|---|---|
| Brain notes | Brain/**/*.md | ✓ | Source content to index | |
| Index script | resources/local-brain-search/run_index.sh | ✓ | Indexer | |
| FAISS index | resources/local-brain-search/brain_index/ | ✓ | Output index |
resources/local-brain-search/Check indexer exists:
test -f resources/local-brain-search/run_index.sh && echo "OK" || echo "MISSING"
If missing, abort.
The indexer is incremental: it reuses the embedding of every note whose content is unchanged and re-embeds only the delta. A normal daily run touches a handful of notes and finishes in seconds — there is no long-running job here anymore. Run it, then read the LAST line of its output:
resources/local-brain-search/run_index.sh
The final line is machine-readable:
RESULT reused=<N> embedded=<N> remaining=<N>
remaining=0 → the index is complete; go to Step 3.remaining>0 → a large (cold/forced) rebuild was split into short,
Trinity-safe batches (default cap: 500 notes/run). Run the exact same command
again — each call reuses what's already indexed and embeds the next batch.
Repeat until remaining=0. Daily runs are always a single pass.Execution rules — each call is short (seconds to ~2 min) and must STREAM:
tail/head/grep — they buffer to EOF, so the call looks silent and
the 300s stall watchdog can SIGKILL it. And do NOT background it and end the
turn to "await a completion notification" — a scheduled turn ending kills the
child, so the job never finishes (this is exactly what made this skill silently
skip for days). Loop short foreground calls instead; that is the sanctioned
Trinity pattern for work that would otherwise be long.remaining=0.The indexer writes the FAISS index, the connection graph, and a build manifest
(data/manifest.json, stamping the cosine_ip edge formula + builder_version)
— the manifest is written only on the final pass (remaining=0).
Full rebuild after an indexing/edge-logic change (e.g. the semantic-edge
formula): bump BUILDER_VERSION in memory_config.py, then force every note to
re-embed by removing the stale index and running the normal resumable loop, so
every call stays short:
rm -f resources/local-brain-search/data/brain.faiss resources/local-brain-search/data/brain_metadata.pkl
# then loop Step 2 until remaining=0
(run_index.sh --force also re-embeds everything, but in ONE unbounded pass —
use it only for an attended manual rebuild, never on a Trinity schedule.)
Confirm index works:
resources/local-brain-search/run_connections.sh --stats --json
Should return valid JSON with note count > 0.
This is the step the whole pipeline exists for. It writes
resources/brain-graph/data/graph_enrichments.json — the enrichment layer that
the Brain Orb and every coherence/lifecycle skill read. If the run ends before
this step (backgrounded indexer, watchdog kill, "I'll finish later"), the index
may be fresh but the enrichment layer stays stale and the orb graph stops
updating. Run it in the SAME turn as Steps 2-3, as a foreground call:
resources/brain-graph/run_brain_graph.sh bootstrap --force
Verify:
resources/brain-graph/run_brain_graph.sh status
Should show enriched nodes matching the new index count. The run is only
complete once this reports a node count close to the indexer's — a fresh FAISS
index with a stale graph_enrichments.json is a FAILED run, not a partial
success, even though the index step "succeeded."
resources/local-brain-search/data/resources/brain-graph/data/graph_enrichments.json| Error | Recovery |
|---|---|
| Script missing | Abort - check Local Brain Search installation |
| Index fails | Check Python env, disk space |
| Stats return 0 notes | Re-run indexer, check Brain path |
remaining>0 after a run | Expected for a cold/forced rebuild - just run Step 2 again; repeat until remaining=0. If remaining is not decreasing across runs, the partial index isn't persisting (check disk space / write perms on data/) |
| Indexer killed ~300s with no output | The stall watchdog fired - you piped/buffered or backgrounded it. Re-run per Step 2's execution rules: a foreground call, output streaming, no tail/pipe, no backgrounding |
| BDG bootstrap fails | Retry once. If it still fails, the LBS index is fresh but the orb/coherence enrichment layer is stale - report it; this is NOT a clean run |