agentic/code/frameworks/knowledge-base/skills/kb-ingest/SKILL.md
Ingest a source (URL, file, or freeform note) into the knowledge base. Creates a source summary and updates or creates relevant entity and concept pages.
npx skillsauth add jmagly/aiwg kb-ingestInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Ingest any source — a URL, local file, or freeform note — into the knowledge base. Produces a source summary, then creates or updates entity and concept pages with new information.
/kb-ingest <source> → direct invocation<source> (required)| Format | Behavior |
|--------|----------|
| https://... | Fetch with WebFetch, extract content |
| File path | Read the file directly |
| Quoted text | Treat as freeform note or paste |
--topic <tag> (optional)Tag this source with a topic hint (e.g., --topic "machine-learning"). Influences which entity/concept pages to touch.
--kb <path> (optional)Root of the knowledge base. Default: resolved by aiwg kb path (#965), which reads resolveStorage('kb') and honors any roots.kb override in .aiwg/storage.config. On the default fs backend this is .aiwg/kb/. To redirect the KB to an Obsidian vault or other backend without changing this skill, configure .aiwg/storage.config (#934).
When this skill needs to resolve the root from inside a Bash step:
KB_ROOT=$(aiwg kb path)
# write a page through the adapter (preferred — honors all backends):
echo "# Foo" | aiwg kb put entities/foo.md
# or write directly to the resolved fs path (fs backend only):
echo "# Foo" > "$KB_ROOT/entities/foo.md"
--dry-run (optional)Show what would be created or updated without writing files.
Using the source-summary template at $AIWG_ROOT/agentic/code/frameworks/knowledge-base/templates/source-summary.md:
Determine the slug: lowercase title, spaces to hyphens, strip punctuation.
Save to: <kb>/sources/<slug>.md
Scan the source content for:
For each identified item:
<kb>/entities/ or <kb>/concepts/.Use the entity-page template for discrete things. Use the concept-page template for ideas and techniques.
In the new source summary, populate the Connections section with [[wiki-links]] to pages touched.
In each touched entity/concept page, add the source to the Sources table.
KB Ingest complete
Source summary: .aiwg/kb/sources/article-slug.md
Pages created:
+ .aiwg/kb/entities/person-name.md
+ .aiwg/kb/concepts/technique-name.md
Pages updated:
~ .aiwg/kb/entities/existing-entity.md (added source)
Next steps:
- Review created pages and fill placeholder sections
- Run /kb-health to check for orphan pages
data-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.