ingest-sourceslisted
Install: claude install-skill arnaudgelas/K-Ops
# Ingest Sources
## Goal
Turn already-fetched raw source folders into structured source summary notes that the vault compiler can use.
## Context
Mechanical fetching and normalization is handled by `kops/ingest_sources.py` via `kb.py ingest`.
This skill covers the agent-driven step that follows: reading normalized content and writing or updating source summaries.
## Inputs
- `data/registry.json` - registry of all ingested sources
- `data/raw/<id>/normalized.md` - normalized text for each source
- `data/raw/<id>/metadata.json` - source metadata (URL, type, timestamps)
- Existing `notes/Sources/<id>.md` if a prior summary exists
## Output contract
- Update only the source notes that need to change.
- Preserve provenance and uncertainty explicitly.
- Flag weak or incomplete captures instead of smoothing them over.
## Required note shape
Frontmatter (all fields mandatory per `config/schema.yaml`):
- `source_id` (canonical `src-[0-9a-f]{10}`)
- `title`
- `source_url`
- `source_kind` (must map to a canonical schema value):
`arxiv-paper` | `paper-pdf` | `github-repo-snapshot` | `github-file` | `official-doc` | `spec` | `blog` | `news` | `local-file` | `imported-model-report` | `citation-stub`
- `evidence_strength` (must map to a canonical schema value):
`primary-doc` | `primary-doc-partial` | `official-spec` | `strong` | `code` | `maintainer-commentary` | `changelog` | `pr-issue` | `secondary` | `model-generated` | `stub` | `citation-only` | `image-only`
- `source_status`