MC

microhustlestack/cerebro-skill

Developer tools
20 stars Quality 44 Trend 31

CEREBRO Strategic Intelligence Engine — scan, analyze, and connect knowledge across markdown vaults

Overview

Scan, score, and connect knowledge across a markdown vault. Think like a strategist, not a search engine. CEREBRO reads a structured markdown vault, scores every note on strategic value, detects time-sensitive signals, maps relationships between entities, and surfaces actionable intelligence — including connections you did not know to look for. It is not a search tool. Search answers "where is that?" CEREBRO answers "what matters most right now, and what am I missing?" Every finding is derived from links, tags and frontmatter you actually wrote. Nothing is guessed from prose statistics. That constraint is the point. A tool that infers meaning from your writing produces confident nonsense, and you cannot tell a real finding from a fabricated one without re-reading every note — which defeats the purpose. Every CEREBRO finding can be verified by opening two files. On Windows PowerShell, activate with .venv\Scripts\Activate.ps1 before running python -m pip install ..

README

CEREBRO — Strategic Intelligence Engine

Scan, score, and connect knowledge across a markdown vault. Think like a strategist, not a search engine.

Version: 3.0.1 · License: MIT · Python: 3.11+


What It Does

CEREBRO reads a structured markdown vault, scores every note on strategic value, detects time-sensitive signals, maps relationships between entities, and surfaces actionable intelligence — including connections you did not know to look for.

It is not a search tool. Search answers “where is that?” CEREBRO answers “what matters most right now, and what am I missing?”

It finds Meaning
Unresolved entities You link to it repeatedly. You never wrote it down.
Implicit connections Two notes share context and were never linked.
Second-degree relationships A links to B, B links to C. CEREBRO surfaces A↔C.
Bottlenecks One note that unrelated areas of work all depend on.
Thin coverage A tag applied once — an intention, not a documented area.
Urgency signals Deadlines and keywords classified URGENT / HIGH / STANDARD / PAST.

Findings are structural, not inferred

Every finding is derived from links, tags and frontmatter you actually wrote. Nothing is guessed from prose statistics.

That constraint is the point. A tool that infers meaning from your writing produces confident nonsense, and you cannot tell a real finding from a fabricated one without re-reading every note — which defeats the purpose. Every CEREBRO finding can be verified by opening two files.


Install

git clone https://github.com/microhustlestack/cerebro-skill.git
cd cerebro-skill
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install .
cerebro --version

On Windows PowerShell, activate with .venv\Scripts\Activate.ps1 before running python -m pip install ..

Or deploy as an agent skill at the same time:

bash install.sh              # package + Claude; detected Hermes/OpenClaw
bash install.sh package claude  # install the CLI and one skill target

Explicit targets are package, claude, hermes, and openclaw. Supplying targets replaces the defaults, so include package when you also want the cerebro command installed.

Dependencies: Python 3.11+ and PyYAML. Nothing else.


Quick Start

# Full scan with gap analysis
cerebro ~/Documents/Obsidian/my-vault --gaps --report cerebro_report.md

# JSON index for an agent to reason over, gap findings included
cerebro ~/vault output/vault-index.json --gaps --quiet

# Report straight to stdout
cerebro ~/vault --quiet --report -
Flag Effect
--gaps Add unresolved entities, implicit connections, bottlenecks, and thin coverage to console, JSON, and Markdown report output
--report FILE Write the CEREBRO report (- for stdout)
--query TEXT Label the scan in the report header
--top N Number of ranked notes (default 10)
--quiet Suppress console summary; write files only

Use as an AI Agent Skill

SKILL.md at the repository root is an Agent Skill definition. Once deployed, trigger it in natural language:

“Run a CEREBRO scan on ~/Documents/Obsidian/my-vault” “What am I missing in my grant research notes?” “Show how ‘zero-cost model’ relates to ‘model-fallback-protocol’”

Platform Install
Claude Code bash install.sh claude → ~/.claude/skills/cerebro/
Hermes bash install.sh package hermes → ~/.hermes/skills/research/cerebro/
OpenClaw bash install.sh openclaw
Opencode opencode run with -f vault-index.json
Codex Run inside a git repo with --full-auto

Small vault vs. large vault

Under 50 files, point the agent at the vault and let it read directly — semantic reasoning beats parsing at that scale.

Over 50 files, parse first and let the agent reason over the index:

cerebro /path/to/vault output/vault-index.json --report cerebro_report.md --gaps

opencode run 'You are CEREBRO. Analyze this index and report. Deepen the
strategic insight: compound opportunities, second-degree connections,
resource gaps.' -f output/vault-index.json -f cerebro_report.md

For “what am I missing” questions, always run --gaps regardless of size. That analysis is structural, and an agent reading files one at a time will not reliably reconstruct it.


Scoring Model

Dimension Weight What it measures
Connectivity 35% Outgoing wikilinks + 2× incoming backlinks
Tag Influence 25% How widely this note’s tags appear across the vault
Urgency 25% URGENT=1.0, HIGH=0.6, STANDARD=0.2
Richness 15% Frontmatter, headings, word count, tables, callouts

The composite score is a starting signal, not a verdict. Semantic judgment overrides it when warranted.

Urgency Detection

Keywords: urgent, asap, immediately, critical, time-sensitive, overdue, must act, priority, do not delay.

Frontmatter fields: deadline, due, due_date, submit_by, expires, closes, apply_by.

ISO dates (YYYY-MM-DD) in body text are detected and classified by days remaining: past → PAST, 0–7 → URGENT, 8–30 → HIGH, 31+ → STANDARD.


Live Example

samples/kepano-vault-report.md was generated against a real public Obsidian vault — kepano/kepano-obsidian, 103 notes, no manual editing, under two seconds.

What CEREBRO found:

  • 49 of 103 notes (47%) were orphaned — the vault stored knowledge without connecting it
  • Two notes covered the same decision framework from different angles and had never been linked
  • The Evergreen framework, the vault’s stated intellectual foundation, existed in three places that barely referenced each other
  • A Kevin Kelly cluster shared a common source with zero explicit connections
  • Only 3 notes had any incoming backlinks across the entire vault

Python API

from cerebro import VaultParser

vault = VaultParser("/path/to/vault")
vault.scan()

print(vault.export_cerebro_report(query="funding gaps", top_n=15))

# Gap analysis
for name, mentions, referrers in vault.unresolved_links(min_mentions=2):
    print(f"{name}: referenced {mentions}x, never documented")

for conn in vault.implicit_connections():
    a, b = conn["pair"]
    print(f"{a}  {b} — shares {conn['shared_tags']}")

for neck in vault.bottlenecks():
    print(f"{neck['rel_path']}: {neck['dependents']} dependents")

vault.export_json("output/vault-index.json")
Method Returns
unresolved_links(min_mentions) Referenced but undocumented entities, ranked
implicit_connections(top_n, min_shared_tags) Unlinked note pairs sharing context
bottlenecks(min_dependents) Cross-directory shared constraints
entity_catalog(min_mentions) Frequency catalog, documented flag
thin_coverage(max_notes) Tags too sparse to constitute coverage
gap_report() All of the above, JSON-serializable
top_scored(n), urgent_notes(), orphaned_notes() Ranking and triage

Repository Structure

cerebro-skill/
  SKILL.md                  Agent Skill definition
  CLAUDE.md                 Claude Code guidance
  CONTRIBUTING.md           Architecture + contribution rules
  install.sh                Package install + skill deploy
  pyproject.toml            Packaging, cerebro entrypoint
  src/cerebro/
    models.py               Dataclasses
    parser.py               VaultParser — walking, graphs, scoring
    analysis.py             Gaps, implicit connections, bottlenecks
    report.py               Markdown + JSON rendering
    cli.py                  Command-line interface
  scripts/
    vault_parser.py         Back-compat shim (2.x entry path)
    validate_skill.py       SKILL.md frontmatter validator
  tests/                    112 tests
  samples/                  Live example report

Tests

python3 -m pip install -e ".[dev]"
python3 -m pytest

112 tests covering parsing, link graph, orphan detection, urgency, scoring, gap analysis, report output, JSON export, CLI behavior, and edge cases. CI runs on Python 3.11, 3.12 and 3.13.


Upgrading from 2.x

The legacy CLI path remains supported. scripts/vault_parser.py forwards to the package and accepts the same arguments as the cerebro entrypoint.

To adopt the new entrypoint: python3 -m pip install ., then use cerebro in place of python3 scripts/vault_parser.py.

To upgrade a source checkout, pull the desired release and rerun python3 -m pip install --upgrade .. To uninstall, run python3 -m pip uninstall cerebro-skill.

cerebro-skill-v2 is superseded by this release and can be archived — its specification is implemented here.


License

MIT. See LICENSE.

Built by J’Juan Wilson Jr. / Micro Hustle Stack — strategic intelligence for purpose-driven systems and ventures.

View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add microhustlestack/cerebro-skill