kb-savelisted
Install: claude install-skill Iabstergo1/pdf-to-study-kb
# kb-save — explicit save (the second step of the query → save loop)
Acts on an existing query-session: check the save admission gate first, then write qualifying candidates as
`status: proposed` pages or a Review-Queue proposal. The execution layer is `scripts/pipeline.py`; this
skill only orchestrates, surfaces acceptance, and marks failure stops.
## 1. Triggers / Non-triggers
- **Triggers:** "save that comparison/conclusion into the wiki", "form a synthesis", "save to the KB", "keep this as a note", "write that query-session back".
- **Non-triggers:** one-off facts, plain explanations, translation, source-less speculation, restating an existing page; a direct write request with no query-session (first switch to `kb-query` or ask for a run_id); a new external source (use `ingest`).
## 2. Inputs
- `<run_id>`: the user-named query-session, or the most recent `kb-query` run_id.
- Read: `pipeline-workspace/query-sessions/<run_id>/{question.md,answer.md,related_pages.json,candidate_write_set.json,evidence_refs.json}`.
- Read: `docs/skill-runtime/save-back-policy.md`, `docs/skill-runtime/schema.md`, `docs/skill-runtime/concept-resolution.md`, and the relevant vault pages.
## 3. Outputs
- Below the admission gate: refuse clearly with a reason; write nothing.
- Above the gate: write/update `topics/**`, `comparisons/**`, `synthesis/**`, relevant concept pages, `overview.md`, `log.md`; all `status: proposed` + `managed_by: pipeline`.
- Overwrite-protection DENY or a human-page