Loading...
Loading...
Use when creating, repairing, querying, auditing, or migrating Obsidian-native git KBs with raw/wiki layers. NOT for docs sites or generic notes.
npx skill4agent add wyattowalsh/agents nerdbot$ARGUMENTS | Workflow | First move |
|---|---|---|
| (empty) | Interview | Show mode menu; if headless, run inventory-only planning and do not mutate files |
| Create | Establish an Obsidian-native KB root, layered structure, shared vault surfaces, starter indexes, and activity log |
| Ingest | Add sources to |
| Enrich | Improve |
| Audit | Run inventory + lint read-only; report structure, provenance, and drift findings |
| Query | Answer from |
| Derive | Generate reproducible outputs from the current KB without replacing canonical material |
| Existing repo | Start with inventory-first, Obsidian-native overhaul planning before any expansion or refinement |
| Migration | Run the risky-change interview + inversion before any move, rename, cutover, or replacement |
| Natural language: "create a knowledge base / vault for ..." | Create | Treat the remainder as topic and scope; default to an Obsidian-native vault |
| Natural language: "ingest/import these sources" | Ingest | Route sources into |
| Natural language: "improve/fix this knowledge base/repo/vault" | Existing repo | Start with a read-only inventory, vault classification, and additive-first repair plan |
| Natural language: "query/search/ask this KB/wiki/vault about ..." | Query | Read maintained |
Natural language mentioning | Create / Existing repo / Audit | Route to the matching workflow with Obsidian-native assumptions turned on |
| Natural language: "audit/lint/check the knowledge base" | Audit | Stay read-only unless the user explicitly asks for fixes |
| Utility | Dry-run replay against |
| Utility | Classify a filesystem event for watch-mode safety without mutating files |
| Requests for generic notes or docs-site work | Refuse + redirect | Redirect to the correct workflow or specialized skill |
raw/wiki/[[wikilinks]].obsidian/.obsidian/| Term | Meaning | Default rule |
|---|---|---|
| Source captures, imports, transcripts, extracts, and normalized evidence | Append-only; preserve source metadata and originals |
| Synthesized markdown knowledge for humans and agents | Every substantive claim traces to |
| Structural contracts: naming, frontmatter, required fields, taxonomies | Change deliberately and version consciously |
| Operational settings for ingest, derive, lint, or publish flows | Keep separate from content |
| Coverage maps, navigation pages, source-to-page maps, inventories | Update in the same batch as related content changes |
| Append-only record of decisions, mutations, imports, and known gaps | Update after every mutating batch |
| Trace from a wiki or derived claim back to raw evidence | Mandatory for enrich and derive flows |
| User-authored pages or files that remain authoritative | Preserve unless explicitly told to rewrite, move, or delete |
| Rebuildable exports generated from the KB | Never treat as the sole source of truth |
| Existing repo with mixed docs, partial layers, or unclear ownership | Use inventory-first, additive-first repair |
| Move, rename, replace, or cut over existing KB structure | Requires interview + explicit approval |
| The Obsidian-facing working surface around the KB, including note syntax and shared | Default to Obsidian-native note shapes for create and improve |
| Project-safe | Manage deliberately; do not mix with volatile workspace state |
| YAML fields such as | Keep consistent across maintained wiki pages |
<kb-root>/
.obsidian/
templates/
snippets/
raw/
assets/
sources/
captures/
extracts/
wiki/
index.md
topics/
schema/
config/
obsidian-vault.md
indexes/
coverage.md
source-map.md
activity/
log.mdraw/wiki/schema/config/indexes/activity/.obsidian/| Gate | Goal | Output |
|---|---|---|
| Gate 0 — Classify | Decide whether this is Create, Ingest, Enrich, Audit, Query, Derive, Existing repo, or Migration | Safe workflow selection |
| Gate 1 — Inventory | Map layers, canonical material, vault state, source surfaces, risky paths, and existing automation | Read-only inventory |
| Gate 2 — Plan | Propose the smallest additive, reviewable batch or migration plan | File-level plan with explicit non-goals |
| Gate 3 — Confirm | Require approval for destructive or high-impact changes | Approval or downgrade to plan-only |
| Gate 4 — Execute | Change one layer at a time: | Small reviewable edit set |
| Gate 5 — Verify | Check provenance, index freshness, schema/config consistency, and activity logging | Lint/audit results |
| Gate 6 — Handoff | Record next steps, unresolved gaps, and missing dependencies | Activity-log entry + follow-up plan |
enrichingestderivequeryauditcreateingestenrichderiveimprovemigratereferences/advanced-wiki-logics.mdindexesactivity logderived outputenrichindexes/source-map.mdindexes/coverage.mdindexes/evidence-ledger.mdindexes/review-queue.mdactivity/log.mdactivity/operations.jsonlactivity/research/indexes/generated/.obsidian/templates/*assets/source-summary-template.mdassets/*-page-template.mdassets/activity-log-template.mdassets/kb-bootstrap-template.mdreferences/kb-architecture.mdreferences/obsidian-vaults.md.obsidian/raw/wiki/schema/config/indexes/activity/scripts/kb_bootstrap.pyassets/kb-bootstrap-template.mdraw/50 MBraw/assets/raw/wiki/references/kb-operations.mdreferences/page-templates.mdreferences/obsidian-vaults.md[[wikilink]]raw/[[wikilinks]].obsidian/scripts/kb_lint.py --root <path> --include-unlayeredreferences/kb-architecture.mdreferences/advanced-wiki-logics.mdwiki/indexes/raw/[[wikilinks]]answeredpartialgapenrichingestderiveraw/wiki/schema/config/activity/obsidian_native_vaultmixed_vaultlegacy_markdown_repo.obsidian/migrate| Failure to prevent | Safe response |
|---|---|
| Canonical material gets overwritten | Preserve originals and write companion pages or stubs instead |
| Links and agent references break | Add indexes, aliases, redirects, mapping pages, and stable note names before cutover |
| Provenance becomes unverifiable | Capture raw evidence and source maps before restructuring wiki pages |
| Schema/config change invalidates pages | Stage compatibility updates and lint before switching defaults |
| Dataview queries or Obsidian navigation drift | Normalize frontmatter, aliases, and |
| Rollback is unclear | Stop after the plan; do not execute the migration |
.obsidian/6+3+raw/wiki/indexes/| File | Content | Load When |
|---|---|---|
| Read-only audit rubric, severity model, provenance/index/activity checks, and report shape | Audit, Gate 5 verification, pre-migration checks, post-change confidence checks |
| SOTA LLM-wiki, GraphRAG, CodeWiki, DeepWiki, STORM, verification, and derived-output adoption rules | Query/enrich planning, graph/global retrieval, stale/contradiction review, diagram/digest planning |
| Local and installed CLI command contracts, examples, and safe/read-only command defaults | CLI smoke, command planning, package validation, user-facing command guidance |
| Stable compatibility surfaces, baseline script/package behavior, and runtime authority | Skill/package alignment checks, compatibility-sensitive changes, release or audit review |
| Graph source model, supported edge concepts, implemented analytics, and graph safety rules | Graph inspection, backlink/blast-radius planning, derived graph outputs, migration impact analysis |
| Non-negotiable promises, build order, and out-of-scope implementation constraints | Before expanding Nerdbot capabilities, contract audits, package or script behavior changes |
| Adapter output contract, dependency-light ingest baseline, and planned parser lanes | Ingest planning with parsers/adapters, large or uncertain sources, optional integration review |
| Canonical KB layer model, directory semantics, provenance contract, and safe default layouts | Create, Query, Existing Imperfect Repo, Migration planning |
| Obsidian syntax contract, shared | Create, Existing Imperfect Repo, Migration, Enrich when note metadata or linking changes |
| Detailed create/ingest/enrich/derive procedures, ordering rules, and verification steps | Create, Ingest, Enrich, Derive |
| Additive repair patterns, phased restructure plans, cutover sequencing, and rollback playbooks | Existing Imperfect Repo when additive repair is insufficient, all Migration flows |
| Canonical page shapes for wiki pages, source notes, indexes, and activity-log entries | Create, Enrich, Derive, additive repair that adds missing pages |
| Baseline dependency policy and optional adapter package targets | Optional adapter selection, dependency review, keeping baseline commands dependency-light |
| Gate sequence, mode defaults, machine-caller payload expectations, and durable surfaces | Empty args, headless runs, CLI planning, mode dispatch, JSON/tooling contract checks |
| Recovery, replay, interruption handling, operation IDs, and append-only failure handling | Resuming interrupted work, retry planning, replay dry-runs, recovery audits |
| Lexical and SQLite FTS retrieval, query safety, semantic retrieval boundaries, and query result shape | Query mode, retrieval tuning, raw-inspection decisions, save-back review queues |
| Entity fields, public contract modules, source/evidence records, and generated artifact rules | Schema/config edits, source/evidence fields, package contract review, eval/contract drift checks |
| Local development commands, first KB walkthrough, and optional extras install guidance | Setup help, local smoke tests, onboarding, optional extras selection |
| Source-record helpers, pointer-stub policy, provider contracts, and source safety | Ingesting URLs/files, oversized, private, or credentialed sources, source acquisition planning |
| Watch-mode event policy, debounce/checkpoint requirements, and review-first save-back rules | Watch mode, local file-change automation, volatile workspace event handling |
| Script | Purpose | Use When |
|---|---|---|
| Inventory layers, canonical material, risky paths, source surfaces, vault signals, and missing shared vault structure | Gate 1 for Audit, Existing Imperfect Repo, and every Migration |
| Check provenance, index freshness, schema/config drift, wikilinks, embeds, aliases, required files, and activity-log coverage | Gate 5 after any mutating batch and before declaring work complete |
| Scaffold the approved layered structure, shared | Create and additive repair after Gate 3 approval; never for cutover or overwrite-by-default |
| Internal/shared helper for classifying protected, volatile, generated, and safe KB paths | Script internals and contract review; call through inventory/lint/bootstrap unless explicitly debugging path policy |
python3 scripts/kb_inventory.py --root .python3 scripts/kb_lint.py --root . --fail-on warningpython3 scripts/kb_lint.py --root . --include-unlayeredpython3 scripts/kb_bootstrap.py --root ./knowledge-base --dry-run(cd skills/nerdbot && uv run python scripts/check.py)
uv run python skills/skill-creator/scripts/audit.py skills/nerdbot --format json
uv run python skills/skill-creator/scripts/package.py skills/nerdbot --dry-run
uv run ruff check skills/nerdbot tests/test_nerdbot*.py tests/test_package.py tests/test_skill_creator_audit.py
uv run ruff format --check skills/nerdbot tests/test_nerdbot*.py tests/test_package.py tests/test_skill_creator_audit.py
uv run --project skills/nerdbot ty check skills/nerdbot/src tests/test_nerdbot*.py
uv run pytest tests/test_nerdbot*.py tests/test_package.py tests/test_skill_creator_audit.py -quv run --project skills/nerdbot nerdbot --helpuv run --project skills/nerdbot nerdbot modesuv run --project skills/nerdbot nerdbot bootstrap --root ./nerdbot-smoke --dry-runscripts/check.py| Asset path | Use When |
|---|---|
| Manual starter packet for |
| Optional activity-log and wiki-page starters during Create, Enrich, or additive repair; never overwrite existing user-authored files by template expansion without explicit approval |
/nerdbot create "field guide to agentic knowledge bases"references/kb-architecture.mdraw/wiki/schema/config/indexes/activity/wiki/index.mdindexes/source-map.mdindexes/coverage.mdactivity/log.mdscripts/kb_bootstrap.pyassets/kb-bootstrap-template.md/nerdbot improve ./client-reposcripts/kb_inventory.pyindexes/activity/raw/wiki/scripts/kb_lint.py--include-unlayered/nerdbot query "What do we know about vendor pricing risk?"references/kb-architecture.mdwiki/indexes/raw/[[wikilinks]]partialgapenrichingest/nerdbot improve ./client-repo turn this into an Obsidian vault before you expand itscripts/kb_inventory.py.obsidian/scripts/kb_lint.py[[wikilinks]]wiki/raw/raw/50 MBwiki/indexes/raw/raw/indexes/activity logenrichingestderive[[wikilinks]].obsidian/rawwikischemaconfigindexesactivity logprovenancecanonical materialderived outputimperfect repomigrationvaultshared vault configDataview metadata