← ClaudeAtlas

knowledge-flushlisted

Drain queued ★ Insight candidates (harvested from your sessions) into the wiki as a reviewed PR. For each candidate it researches and verifies the best-practice against real sources, checks existing wiki layers for duplicates and links, decides the target layer/category (or justifies a new one), runs wiki-ingest, then opens ONE PR per flush for you to review and merge/reject. Never auto-merges. Use when asked to "flush knowledge", "process the insight queue", "ingest what I learned", or "/dev-loop:knowledge-flush".
choiyounggi/dev-loop · ★ 4 · Code & Development · score 80
Install: claude install-skill choiyounggi/dev-loop
# knowledge-flush — queued insights → verified wiki PR Turn the `★ Insight` candidates harvested from your sessions into a wiki contribution, **PR-only** — you (the repo owner) review each PR and merge or reject it. This skill NEVER auto-merges and NEVER pushes to `main`. The queue lives at `~/.dev-loop/queue/*.jsonl` (written by the Stop hook). Each row is a candidate: `trigger, directive, why, evidence, domain, tags, content`. ## Non-negotiable order (a PreToolUse gate enforces it) `hooks/pre-flush-pr-gate.sh` blocks `gh pr create` on a knowledge branch unless an `INGEST_REPORT.md` with three filled sections exists. So do the work first: 0. **Acquire the shared flush lock — before anything else, including the checkout reset in step 1.** This skill and the `hooks/auto-flush.sh` Stop hook are the two entry points that drain the same queue; both serialize through the same lock (`scripts/flush-lock.sh`, issue #77). Generate this run's id **once, here**, and record it — **every** later `flush-lock.sh` call in this flush (the abort-path release below, and step 5's release) must be prefixed with it. This is mandatory, not a style choice: each step in this skill runs in its own fresh shell, so nothing carries between them on its own — an unprefixed call computes a brand-new run id that no longer matches the one that acquired the lock, so `release` is refused as a foreign caller and the lock leaks for the full TTL. ```sh RUNID="flush-$(da