From bl
Health-check your BrainLift — audit evidence chains, token counts, semantic quality, freshness, and completeness
How this skill is triggered — by the user, by Claude, or both
Slash command
/bl:lintThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You're helping the user audit and maintain their BrainLift. This is the maintenance work that kills knowledge bases when left undone — and the work that LLMs are perfectly suited to handle.
You're helping the user audit and maintain their BrainLift. This is the maintenance work that kills knowledge bases when left undone — and the work that LLMs are perfectly suited to handle.
From Karpathy's LLM Wiki pattern: "Humans abandon wikis because the maintenance burden grows faster than the value. LLMs don't get bored, don't forget to update a cross-reference, and can touch 15 files in one pass."
Lint is the BrainLift equivalent. It catches structural problems, evidence gaps, staleness, and quality issues — then brainstorms fixes the human can accept or reject.
If path provided in $ARGUMENTS: Use it directly.
If no path provided: Find BrainLift files using the Discovery Protocol (see infrastructure/discovery.md):
$CWD looking for CLAUDE.md with <!-- brainlift-root --> marker~/.brainlift pointer file for the workspace path~/.brainlift for next time)[root]/lifts/ if it exists, else [root]/ as fallbackThen find BrainLift files and let user choose:
[lifts_dir]/*.md (exclude *.log.md)Which BrainLift should I audit?
1. **[Topic A]** — [N] sources, last modified [date]
2. **[Topic B]** — [N] sources, last modified [date]
After selection: Spawn two agents in parallel:
brainlift-reader to parse the full structure:
Task(
description: "Parse BrainLift for lint",
prompt: "You are a brainlift-reader agent.
Read and parse this BrainLift file: [path]
Return the full structured parse report with all sections,
counts, and token estimates."
)
evidence-auditor to analyze health (after reader completes):
Task(
description: "Audit BrainLift health",
prompt: "You are an evidence-auditor agent.
Analyze this BrainLift for health issues.
BrainLift File Path: [path]
BrainLift Parse Report:
[paste the brainlift-reader output]
Domain Context: [fast-moving / stable — infer from topic]
Run all 6 audit categories and return the full health report
with scores, issues, and brainstormed fixes."
)
After parsing and auditing, run link-specific checks using the brainlift-reader's Evidence Links output:
Evidence: lines from the brainlift-reader report[[filename#heading]]: Check that the heading exists in the target file[[filename]]: Check that the file exists in lifts/Evidence: should link to 2+ InsightsEvidence: should link to 1+ Sources[root]/index.md exists, compare its <!-- last-updated: --> timestamp against the BrainLift file's modification time. Flag if the BrainLift is newer than the index.Present the health report in a scannable format:
# BrainLift Health Report: [Topic]
**Overall Score: [N]/100** [Excellent/Good/Needs Work/Weak/Critical]
Evidence Chain [██████████░░] [N]/10
Token Health [████████░░░░] [N]/10
Semantic Quality [██████░░░░░░] [N]/10
Freshness [████████████] [N]/10
Structural [██████░░░░░░] [N]/10
Completeness [████████░░░░] [N]/10
---
## Critical Issues (fix these)
1. **[Issue]**: [Specific description with quoted BrainLift content]
→ Suggested fix: [actionable suggestion]
2. **[Issue]**: [description]
→ Suggested fix: [suggestion]
---
## Warnings (consider these)
1. **[Warning]**: [description]
2. **[Warning]**: [description]
---
## Suggestions (nice to have)
1. [Suggestion]
2. [Suggestion]
---
## Evidence Chain Map
**DOK4 SPOVs:**
- SPOV #1: "[text]" → Supported by Insights #[N], #[N] ✓
- SPOV #2: "[text]" → Only 1 insight supports this ⚠️
- SPOV #3: "[text]" → No clear insight support ✗
**DOK3 Insights:**
- Insight #1: "[text]" → Evidence from [Source A], [Source B] ✓
- Insight #2: "[text]" → Single-source evidence ⚠️
- Insight #3: "[text]" → No traceable DOK1-2 support ✗
---
## Link Integrity (v2.2)
**Anchor IDs**: [Present / Not present — migration available via Option F]
**Evidence Links:**
- SPOV-1: 2 insight links ✓
- SPOV-2: 2 insight links ✓
- SPOV-3: 0 insight links ✗ (no Evidence line)
- I-1: 2 source links ✓
- I-2: 1 source link ⚠️ (single-source)
- I-3: 0 source links ✗ (no Evidence line)
**Orphan Detection:**
- [N] sources not referenced by any Insight: [list]
- [N] insights not referenced by any SPOV: [list]
**Broken Links:** [N found]
- [[file#I-5]] referenced in SPOV-2 but I-5 does not exist
**Index Status:**
- [Up to date / Stale (BrainLift modified [date], index last updated [date]) / Missing]
Adapt the report to BrainLift maturity:
After presenting the report, offer to help fix issues:
Want to tackle any of these? I can help with:
A. **Fix evidence gaps** — I'll brainstorm DOK3 insights to strengthen
weak evidence chains
B. **Optimize tokens** — I'll suggest which content to merge, condense,
or move between DOK levels
C. **Restructure Knowledge Tree** — I'll suggest new categories based
on your current sources
D. **Flag stale content** — I'll identify specific sources and claims
that may need refreshing
E. **Run a deeper check** — Ask me specific questions about any
finding in the report
F. **Add evidence links** — I'll add anchor IDs (SPOV-N, I-N) and
Evidence: wikilinks to make your evidence chain machine-readable
and enable Obsidian graph view
G. **Rebuild index** — Regenerate index.md from your BrainLift files
Or just take the report and work on it yourself — that's fine too.
Options F and G are shown only when relevant:
If user chooses A (Evidence gaps):
For each unsupported or weakly-supported DOK3/4, brainstorm candidates:
SPOV #2 needs more DOK3 support. Based on your existing sources,
here are candidate insights that could support it:
**Candidate 1**: [2-3 sentence draft insight]
Supporting evidence:
- [Source A] DOK1: "[fact]"
- [Source B] DOK2: "[pattern]"
**Candidate 2**: [2-3 sentence draft insight]
Supporting evidence:
- [Source C] DOK1: "[fact]"
- [Source D] DOK1: "[fact]"
Do either of these resonate? Edit to match your thinking,
or reject if the evidence doesn't support it.
For unsupported DOK3 insights, suggest DOK1-2 evidence that might exist:
Insight #3 lacks DOK1-2 support. Either:
- Find sources that provide evidence (try `/bl:update` with relevant URLs)
- Revise the insight to match what your sources actually say
- Remove it if it's not supported
Based on your existing sources, the closest evidence I found:
- [Source X] DOK1: "[fact that partially supports]"
If user chooses B (Token optimization):
If user chooses C (Restructure KT):
If user chooses D (Stale content):
If user chooses F (Add evidence links):
This is the migration helper for existing BrainLifts. Two sub-steps:
Step F1: Add anchor IDs (if missing):
SPOV-1, SPOV-2, etc. in order of appearanceI-1, I-2, etc. in order of appearanceI'll add anchor IDs to your SPOVs and Insights:
DOK4 - SPOV:
- "Infrastructure-level actor models..." → **SPOV-1**:
- "Edge-native AI agents..." → **SPOV-2**:
DOK3 - Insights:
- "The single-threaded concurrency..." → **I-1**:
- "Cost structures for edge..." → **I-2**:
This is a formatting change only — no content is modified. Approve?
Step F2: Add Evidence lines (after anchor IDs exist):
Evidence: wikilinks for each SPOV and InsightBased on my analysis of your evidence chains:
SPOV-1: "Infrastructure-level actor models..."
Evidence: [[filename#I-1]], [[filename#I-3]]
SPOV-2: "Edge-native AI agents..."
Evidence: [[filename#I-2]], [[filename#I-4]]
I-1: "The single-threaded concurrency..."
Evidence: [[filename#Durable Objects Deep Dive - Rita Kozlov (2026-02)]]
I-2: "Cost structures for edge..."
Evidence: [[filename#Edge Cost Analysis - Priya Sharma (2026-01)]]
Review each and approve, edit, or reject.
If user chooses G (Rebuild index):
Trigger a full index rebuild:
lifts/ via brainlift-readerindex.md following infrastructure/index-format.md[root]/index.mdAfter any changes:
## [YYYY-MM-DD] lint | Health check
- **Action**: lint
- **Source**: n/a
- **Changes**: [list changes if any were applied]
- **Rationale**: Health score [N]/100. [Key findings summary.]
Previous lint (2026-03-22): 68/100
Current lint: 78/100 (+10)
Improved: Evidence Chain (+2), Token Health (+1)
Declined: Freshness (-1) — 2 sources aged past threshold
npx claudepluginhub srbdp/brainlift-plugin --plugin blCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.