Everything In Its Right Place. The universal post-work organizer. After any significant work session, EIIRP runs a 7-phase audit: (1) inventory every output, (2) walk taxonomy to decide where each lands, (3) check schema-pack consistency against the brain's actual shape, (4) file enriched brain pages, (5) audit the skill graph for DRY+MECE, (6) verify resolvability, (7) report. Named after the Radiohead song. Nothing produced during significant work lives only in chat — knowledge becomes permanent, patterns become reusable. Also carries the always-on auto-fire gate: when >=500 words of structured analysis on a user-shared document is about to be delivered, file the brain page first, then deliver the analysis with the link in that same reply.
61
75%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./skills/eiirp/SKILL.md"Everything in its right place" — Radiohead, Kid A
After any significant work, EIIRP organizes ALL outputs across two domains:
Knowledge domain (brain):
Capability domain (skills): 5. Every reusable pattern becomes a composable skill. 6. Existing skills are audited for DRY violations. 7. Skill graph is MECE — no gaps, no overlaps, no ambiguous routing.
The meta-guarantee: Nothing produced during significant work lives only in chat. Knowledge → brain. Patterns → skills. Everything in its right place.
Convention: see conventions/brain-first.md — this is its write side. Substantial analysis belongs in the brain, not only in chat.
Unlike the 7-phase audit above (which the user invokes after a work
session), this gate is an always-on agent-side convention, like
signal-detector: the agent applies it on every substantive reply, not
when a trigger phrase routes here. Always-on is a harness-routing
convention that a well-behaved agent follows — not a mechanical
guarantee; nothing in the gbrain runtime blocks a reply if the skill
never loads.
The moment of evaluation is delivery, not request. The gate evaluates when substantial analysis (>=500 words of structured output on a user-shared document) is ABOUT to be delivered — the analysis is done and the reply is being composed. At that moment, file the brain page FIRST, then deliver the analysis plus the page link in that same reply. The user should never have to ask "did you file this?"
=500 words of structured output (findings, recommendations, or extracted data — not restatement or formatting).
These pipelines own their brain-write logic; the gate must NOT double-file on top of them. If one of these is the right route, invoke it and let it file:
skills/meeting-ingestion/SKILL.md — transcripts + attendee propagationskills/idea-ingest/SKILL.md — articles with author/publication metadataskills/media-ingest/SKILL.md — bulk file ingestionskills/voice-note-ingest/SKILL.md — voice notesskills/book-mirror/SKILL.md — personalized book mirrorsPath — consult skills/brain-taxonomist/SKILL.md. It reads the
active schema pack (gbrain schema show --json); document analysis
usually lands under analysis/ or research/, entity-centric
findings under people/ or companies/.
Write — file via capture:
gbrain capture --file <analysis.md> --slug <taxonomist-path>(or put_page over MCP on thin-client installs). Full frontmatter
per Phase 4a. The page must be self-contained — a reader months
later gets the full picture without the chat thread.
Link in the SAME reply — the analysis inline (conversational,
not just "see the brain page") plus a link line to the filed page,
formatted per skills/brain-link-discipline/SKILL.md (it owns the
link format and the resolve-verification step). Multiple pages →
list every link.
First-fire notice. The very first time the gate fires for a
user, append one line to the delivery reply so they learn about
auto-filing at the moment it starts, not after: Auto-filed to <path>; say "stop auto-filing" to disable. Record that the notice
was given (a per-user storage-policy note) so it never repeats.
Alternatively, ask once at setup and record the policy before the
first write.
Auto-filing is a DEFAULT, not a mandate — a per-user storage policy. If the user says to stop auto-filing document analyses (or asks for chat-only handling of a specific document), record that preference and stop firing the gate: deliver the analysis without a page. Re-enable on request.
The gate is the single-deliverable fast path: one document → one page → link in the delivery reply. A full work session still deserves the complete EIIRP pass below; the gate just ensures no individual analysis waits for it.
Scan the current session/thread and identify ALL outputs across both domains.
□ Primary findings (the synthesis)
□ Source documents (URLs, PDFs, articles, tweets)
□ Entity mentions (people, companies, organizations, places)
□ Concepts/frameworks (reusable mental models)
□ Data artifacts (structured data, timelines, statistics)□ New skills created or modified
□ Scripts/code written (should they be in lib/ or scripts/?)
□ Methodology used (search patterns, source chains, verification steps)
□ Workflows that could be automated (cron, pipeline, webhook)
□ Patterns that will recur (→ candidate for skillification)Produce a manifest:
## EIIRP Manifest
- Topic: [topic]
- Date: [date]
- Knowledge outputs: [count] (sources, entities, concepts)
- Capability outputs: [count] (skills, scripts, patterns)
- Reusable methodology: [yes/no — describe if yes]Read the active schema pack first (the single source of truth for filing decisions in v0.39+):
gbrain schema show --jsonThe pack's page_types[] lists every directory the brain accepts plus
the primitive each maps to. Walk it for each output and pick the directory
whose path_prefixes matches the content's primary subject.
If brain-taxonomist is installed, INVOKE IT for ambiguous cases. It runs
the same decision protocol against the active pack and gives you a single
recommended filing path with reasoning.
Output: a filing plan table:
| Content | Brain path | Action |
|---------|-----------|--------|
| Primary research | reference/.../page.md | CREATE |
| Person X | people/x-slug.md | CREATE |
| Person Y | people/y-slug.md | UPDATE (already exists) |
| ... | ... | ... |This is where EIIRP closes the schema-derivation loop. If the work
produced content that doesn't fit any existing page_types, propose
adding a new type via the v0.39 cathedral:
# What's emerging in the brain that the active pack doesn't cover?
gbrain schema detect --json
# LLM-refined suggestions (heuristic when no API key set).
gbrain schema suggest --json
# Review what's pending; promote or ignore each candidate.
gbrain schema review-candidates --json
gbrain schema review-candidates --apply <prefix-or-type-name>Confidence floor: when gbrain schema suggest returns confidence
< 0.6 on a proposed type, DO NOT auto-apply. Surface the suggestion to
the user and let them choose. The schema-cathedral ships the
primitives; EIIRP enforces the human-in-the-loop gate.
If schema needs change:
review-candidates --apply.~/.gbrain/schema-pack-deltas/ — review and merge into the active
pack via gbrain schema edit (or hand-edit the YAML).For each item in the filing plan:
Use the brain page template. MUST include:
type, title, date, tags, sources)For each entity mentioned:
gbrain search "<name>" or gbrain get people/<slug>).After ALL pages are written, run gbrain sync (or commit + push in the
brain repo). Verify every link resolves.
This phase operates on the SKILL graph, not just the research.
Read-only plugin installs: the shipped plugin snapshot is not writable. New or updated skills and
lib/extractions target your own project skill directory or a brain-resident skillpack (gbrain skillpack init-brain-pack), never the shipped snapshot. Phases 1-4 and thegbrainCLI checks in Phase 6 work everywhere.
Ask: did this work reveal REPEATABLE patterns that will recur?
Indicators of a reusable pattern:
For each identified pattern:
lib/ (not copy-pasted into skills)gbrain check-resolvableFor ALL skills used or touched during this work, check:
lib/)The MECE question: If someone asked for this exact work again tomorrow on a different topic, which skills would they invoke? Is the path clear and unambiguous? If not, fix the routing.
## Skill Graph Changes
### New skills to create
1. **[skill-name]** — [what it does]
- DRY check: [clean / overlaps with X]
- Recommendation: [create / merge into X]
### Existing skills to update
1. **[skill-name]** — [what changed, why]
### Code to extract to lib/
1. **lib/[name].ts** — [what it does, which skills use it]
### Skills to merge or deprecate
1. **[skill-A] + [skill-B]** → [merged-skill] — [why]On approval: invoke /skillify for each new/modified skill.
After all filing and skillification:
gbrain check-resolvable # routing-table reachability
gbrain doctor --json # health surface
gbrain search "<topic keywords>" # brain pages findable
gbrain orphans # any pages without inbound links?Confirm:
skills/RESOLVER.md (where the skills tree is writable)gbrain doctor reports schema_pack_consistency: ok## EIIRP Complete: [Topic]
### Brain pages created/updated
- [path] — [description]
- ...
### Entity pages
- [path] — [created/updated]
- ...
### Schema changes
- [none / description of changes + which pack delta file]
### Skills identified
- [skill-name] — [status: created / merged / deferred]
- ...
### Resolver status
- DRY check: [clean]
- MECE audit: [clean]
- Active pack: [name] v[version]
- schema_pack_consistency: [ok / warn — pct untyped]EIIRP produces a single Phase 7 report block. Plain markdown:
## EIIRP Complete: [topic]
### Brain pages created/updated
- [path] — [description]
### Entity pages
- [path] — [created|updated]
### Schema changes
- [none | description of changes + which pack delta file]
### Skills identified
- [skill-name] — [status: created|merged|deferred]
### Resolver status
- DRY check: [clean|N violations]
- MECE audit: [clean|N overlaps]
- Active pack: [name] v[version]
- schema_pack_consistency: [ok|warn — N% untyped]Always machine-readable: stable section headers + bullet-per-item. The report doubles as a sync checkpoint for downstream skills (skillpack-check reads it; doctor cross-references the pack version).
gbrain schema show --json. Users on gbrain-recommended AND
custom packs MUST get the right behavior automatically.gbrain schema suggest means manual review is required. EIIRP
surfaces it; the user accepts.media/<format>/<slug>-personalized.md. See _brain-filing-rules.md
"Sanctioned exception" section.lib/.gbrain schema show --json so users who picked gbrain-recommended OR custom packs get the right behavior automatically.gbrain capture instead of the donor's git-commit mechanics; the
donor's direct GitHub-API link check was dropped in favor of the
brain-link-discipline skill's link format + verify step.detect | suggest | review-candidates) instead of a private
brain/schema.md.gbrain check-resolvable instead of
upstream scripts/skill-dry-check.mjs.gbrain doctor's schema_pack_consistency
check (T7) for the persistent surface.9dadfb9
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.