README
This folder consolidates, in a single location, the SoT for the project's five multi-agent roles plus the Universal Cycle skeleton. It is modeled on the role system of a Korean newspaper, and each role is self-contained in its capability boundary, I/O contract, and prompt
$ npx -y skills add alfadur7/llm-wiki-newsroom --agent claude-codeShips with llm-wiki-newsroom. Installing the plugin gets this agent.
How it fires
How this agent gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
Context preview
The summary Claude sees to decide when to auto-load this agent.
This folder consolidates, in a single location, the SoT for the project's five multi-agent roles plus the Universal Cycle skeleton. It is modeled on the role system of a Korean newspaper, and each role is self-contained in its capability boundary, I/O contract, and prompt
Agent definition
README.mdAgents — SoT for the 5 Roles
This folder consolidates, in a single location, the SoT for the project's five multi-agent roles plus the Universal Cycle skeleton. It is modeled on the role system of a Korean newspaper, and each role is self-contained in its capability boundary, I/O contract, and prompt template.
The 5 Roles
| Role | SoT | |---|---| | Editor-in-Chief | [editor-in-chief.md](editor-in-chief.md) | | Reporter | [reporter.md](reporter.md) | | Columnist | [columnist.md](columnist.md) | | Desk | [desk.md](desk.md) | | Copy Editor | [copyeditor.md](copyeditor.md) |
For the one-line announce on invocation plus the role-prefix format of the `Agent` `description` argument, see [`commands/README.md` "Announce Before Delegating"](../commands/README.md#convention--announce-before-delegating).
Layer × Cycle Matrix (design skeleton)
The project's essential design skeleton is a two-axis matrix of **content Layer × Universal Cycle**. Each cell maps to a responsible role.
| Layer | GROUND | APPLY | VERIFY | ADAPT | |---|---|---|---|---| | L1 raw | (external) | (external) | format integrity (manual) | re-collect | | L2-1 source | Reporter | Reporter | Copy Editor + Desk (sub-trigger) | Reporter | | L2-2 stub | Reporter | Reporter | Copy Editor + Desk | Reporter | | L2-2 full hub | Columnist | Columnist | Copy Editor + **Desk** | Columnist | | L2-2 timeline | Columnist | Columnist | Copy Editor + Desk | Columnist | | L2-3 cluster overview | Columnist | Columnist | Copy Editor + **Desk** | Columnist | | L2-3 theme contradiction | Columnist | Columnist | Copy Editor + **Desk** | Columnist | | L2-3 synthesis·trail | Columnist | Columnist | Copy Editor + Desk | Columnist | | L2-4 root overview·contradiction | Columnist | Columnist | Copy Editor + **Desk** | Columnist | | Meta (index·log·_clusters·_graph·_backlinks) | (external) | tools/build.py | Copy Editor | tools/build.py |
**Editor-in-Chief**: the meta layer outside the matrix — oversees entry, routing, gates, escalation, and log appends across all cycles.
For Layer definitions and content formats, see [`.claude/layers/README.md`](../layers/README.md). For each content type's page format, authoring, and rubric, see [`.claude/layers/`](../layers/). L2-2 `stub` vs `full hub` is distinguished not by the shape of the output but by the **authoring act** — the definition lives in [`layers/hub.md`](../layers/hub.md) "Authoring acts — stub authoring vs full hub authoring".
The **essential definitions of the four Universal Cycle stages** (what each of GROUND·APPLY·VERIFY·ADAPT is) are the single SoT in [`CLAUDE.md` "Universal Cycle"](../../CLAUDE.md#universal-cycle). This matrix orthogonalizes those four stages against the Layer axis and shows **only the role mapping** — the fact that GROUND·APPLY·ADAPT repeat in the same role cell reflects the pattern of one role performing read·write·rewrite together within its own context (Cognition Principle 1: full context, no message-passing loss). **Cognition Principle 2**: actions carry implicit decisions — when two roles act on the same area, their outputs embed conflicting implicit decisions, so every capability area has exactly one owning role and multi-role work runs as a sequential chain, not a parallel merge.
Content Verification Ladder
The VERIFY column of the matrix above is instantiated as a **ladder that climbs from the lowest-cost, lowest-determinism stage upward**. The principle: defects that an automated stage will catch are not pushed all the way up to a human cycle. The guideline layer has an isomorphic counterpart — [editor-in-chief.md § Guideline Verification Ladder](editor-in-chief.md#guideline-verification-ladder) — for changes to the instruction SoTs themselves.
| Stage | Owner | Cost | Determinism | Hand-off on failure | |---|---|---|---|---| | 0. Post-edit hook | [`.claude/hooks/*.sh`](../hooks/) | 0 | deterministic | lint-chain-guard auto-block / dispatch.sh advisory | | 1. self-VERIFY₀ (lint judged on own output) | author (Reporter·Columnist) | low | deterministic | hand off to VERIFY₁ after 2 self-attempts on the same cause | | 2. VERIFY₁ (full deterministic lint) | Copy Editor [`tools/lint.py`](../../tools/lint.py) | low | deterministic | ADAPT₁ → back to author | | 3. VERIFY₂ (qualitative review) | Desk (6 lenses·persona) | medium | probabilistic | ADAPT₂ → author → back to VERIFY₁ | | 4. Publish gate | Editor-in-Chief | low | deterministic | 3rd FAIL on same cause → escalate to human | | 5. Human reviewer gate | the wiki operator | high | — | entered under the conditions in [`CLAUDE.md` "Human Reviewer Gate"](../../CLAUDE.md#human-reviewer-gate) |
The straight-line instances of ladder stages 1·2·3 for L2-3·L2-4 content are in "Standard ADAPT chain" below. The rule for escalating stages when the same cause recurs is in "ADAPT Escalation" beneath that.
**L2-2 stub obligation**: immediately after a cycle that newly authors `wiki/entities·concepts·timelines/*.md`, a Desk VERIFY₂ call is mandatory and automatic. **This applies equally to stubs written as a side product of broken-link fixes or other cycles** — it blocks the pattern where a byproduct flow that skips the stub-authoring SoT entry omits this obligation (the 2026-05-20 incident: Desk verify was omitted for 5 byproduct stubs → 11 defects discovered after the fact). The first-line block for an unaware author is the stub advisory in [`.claude/hooks/dispatch.py`](../hooks/dispatch.py).
Standard ADAPT chain (L2-3·L2-4 content)
[GROUND+APPLY] Columnist — full-context Read in own context + write EDITOR block
↓
[SELF-VERIFY₀] Columnist — quantitative lint judged on own output (self-invoked, outside ADAPT counter)
↓
Criterion met, or after ≤ 2 self-attempts on same cause → hand off to VERIFY₁
↓
[VERIFY₁] Copy Editor — deterministic Rubric (quantitative)
↓
PASS? ─ No → [ADAPT₁] Columnist (fix using only the Rubric result) → VERIFY₁
│ Yes
↓
[VERIFY₂] Desk — one qualitative review pass (f
Read more
Agents — SoT for the 5 Roles
This folder consolidates, in a single location, the SoT for the project's five multi-agent roles plus the Universal Cycle skeleton. It is modeled on the role system of a Korean newspaper, and each role is self-contained in its capability boundary, I/O contract, and prompt template.
The 5 Roles
| Role | SoT | |---|---| | Editor-in-Chief | [editor-in-chief.md](editor-in-chief.md) | | Reporter | [reporter.md](reporter.md) | | Columnist | [columnist.md](columnist.md) | | Desk | [desk.md](desk.md) | | Copy Editor | [copyeditor.md](copyeditor.md) |
For the one-line announce on invocation plus the role-prefix format of the `Agent` `description` argument, see [`commands/README.md` "Announce Before Delegating"](../commands/README.md#convention--announce-before-delegating).
Layer × Cycle Matrix (design skeleton)
The project's essential design skeleton is a two-axis matrix of **content Layer × Universal Cycle**. Each cell maps to a responsible role.
| Layer | GROUND | APPLY | VERIFY | ADAPT | |---|---|---|---|---| | L1 raw | (external) | (external) | format integrity (manual) | re-collect | | L2-1 source | Reporter | Reporter | Copy Editor + Desk (sub-trigger) | Reporter | | L2-2 stub | Reporter | Reporter | Copy Editor + Desk | Reporter | | L2-2 full hub | Columnist | Columnist | Copy Editor + **Desk** | Columnist | | L2-2 timeline | Columnist | Columnist | Copy Editor + Desk | Columnist | | L2-3 cluster overview | Columnist | Columnist | Copy Editor + **Desk** | Columnist | | L2-3 theme contradiction | Columnist | Columnist | Copy Editor + **Desk** | Columnist | | L2-3 synthesis·trail | Columnist | Columnist | Copy Editor + Desk | Columnist | | L2-4 root overview·contradiction | Columnist | Columnist | Copy Editor + **Desk** | Columnist | | Meta (index·log·_clusters·_graph·_backlinks) | (external) | tools/build.py | Copy Editor | tools/build.py |
**Editor-in-Chief**: the meta layer outside the matrix — oversees entry, routing, gates, escalation, and log appends across all cycles.
For Layer definitions and content formats, see [`.claude/layers/README.md`](../layers/README.md). For each content type's page format, authoring, and rubric, see [`.claude/layers/`](../layers/). L2-2 `stub` vs `full hub` is distinguished not by the shape of the output but by the **authoring act** — the definition lives in [`layers/hub.md`](../layers/hub.md) "Authoring acts — stub authoring vs full hub authoring".
The **essential definitions of the four Universal Cycle stages** (what each of GROUND·APPLY·VERIFY·ADAPT is) are the single SoT in [`CLAUDE.md` "Universal Cycle"](../../CLAUDE.md#universal-cycle). This matrix orthogonalizes those four stages against the Layer axis and shows **only the role mapping** — the fact that GROUND·APPLY·ADAPT repeat in the same role cell reflects the pattern of one role performing read·write·rewrite together within its own context (Cognition Principle 1: full context, no message-passing loss). **Cognition Principle 2**: actions carry implicit decisions — when two roles act on the same area, their outputs embed conflicting implicit decisions, so every capability area has exactly one owning role and multi-role work runs as a sequential chain, not a parallel merge.
Content Verification Ladder
The VERIFY column of the matrix above is instantiated as a **ladder that climbs from the lowest-cost, lowest-determinism stage upward**. The principle: defects that an automated stage will catch are not pushed all the way up to a human cycle. The guideline layer has an isomorphic counterpart — [editor-in-chief.md § Guideline Verification Ladder](editor-in-chief.md#guideline-verification-ladder) — for changes to the instruction SoTs themselves.
| Stage | Owner | Cost | Determinism | Hand-off on failure | |---|---|---|---|---| | 0. Post-edit hook | [`.claude/hooks/*.sh`](../hooks/) | 0 | deterministic | lint-chain-guard auto-block / dispatch.sh advisory | | 1. self-VERIFY₀ (lint judged on own output) | author (Reporter·Columnist) | low | deterministic | hand off to VERIFY₁ after 2 self-attempts on the same cause | | 2. VERIFY₁ (full deterministic lint) | Copy Editor [`tools/lint.py`](../../tools/lint.py) | low | deterministic | ADAPT₁ → back to author | | 3. VERIFY₂ (qualitative review) | Desk (6 lenses·persona) | medium | probabilistic | ADAPT₂ → author → back to VERIFY₁ | | 4. Publish gate | Editor-in-Chief | low | deterministic | 3rd FAIL on same cause → escalate to human | | 5. Human reviewer gate | the wiki operator | high | — | entered under the conditions in [`CLAUDE.md` "Human Reviewer Gate"](../../CLAUDE.md#human-reviewer-gate) |
The straight-line instances of ladder stages 1·2·3 for L2-3·L2-4 content are in "Standard ADAPT chain" below. The rule for escalating stages when the same cause recurs is in "ADAPT Escalation" beneath that.
**L2-2 stub obligation**: immediately after a cycle that newly authors `wiki/entities·concepts·timelines/*.md`, a Desk VERIFY₂ call is mandatory and automatic. **This applies equally to stubs written as a side product of broken-link fixes or other cycles** — it blocks the pattern where a byproduct flow that skips the stub-authoring SoT entry omits this obligation (the 2026-05-20 incident: Desk verify was omitted for 5 byproduct stubs → 11 defects discovered after the fact). The first-line block for an unaware author is the stub advisory in [`.claude/hooks/dispatch.py`](../hooks/dispatch.py).
Standard ADAPT chain (L2-3·L2-4 content)
[GROUND+APPLY] Columnist — full-context Read in own context + write EDITOR block ↓ [SELF-VERIFY₀] Columnist — quantitative lint judged on own output (self-invoked, outside ADAPT counter) ↓ Criterion met, or after ≤ 2 self-attempts on same cause → hand off to VERIFY₁ ↓ [VERIFY₁] Copy Editor — deterministic Rubric (quantitative) ↓ PASS? ─ No → [ADAPT₁] Columnist (fix using only the Rubric result) → VERIFY₁ │ Yes ↓ [VERIFY₂] Desk — one qualitative review pass (f
Showing the first part of this file.
A multi-agent AI knowledge base run by a five-role "newsroom" — open-source, local-first, no vendor lock-in.
Other agents on llm-wiki-newsroom.
- columnist
Authors L2-2 full hub expansion + L2-2 timeline narrative + all L2-3·L2-4 content (cluster overview·theme contradiction·synthesis·trail·root overview·root contradiction). Deep cross-source sequential reading + synthesis. Performs the GROUND·APPLY·ADAPT cycle stages together. No
Open agent - copyeditor
Sole owner of deterministic quantitative checks across all Layers. Runs the 10 tools/lint.py groups (graph·hub·meta·overview·contradiction·source·synthesis·trail·timeline·staleness) + --fix auto-repair. PASS/FAIL exit code + lint-report.md + graph/_health-log.jsonl. No
Open agent - desk
Sole owner of the pre-publish qualitative review for L2-2 full hub·timeline and L2-3·L2-4 content, plus the post-publish reground bundle re-read. Applies 6 review lenses (bias/trust·information density·repetition·argument quality·narrative flow·fine readability), prescription
Open agent - editor-in-chief
Entry point for the 9 slash commands + agent routing + publish gate + ADAPT escalation counter + log operation + invoking the deterministic tools (build/lint/export/fetch). The meta layer outside the matrix — governs flow above every cycle. Does not author content directly
Open agent - reporter
Owner of L2-1 source · L2-2 stub authoring and broad external exploration. raw input (.md/PDF) → auto-generates an atomic source page + entity/concept stubs, WebSearch breadth-first parallel (verifying a person's current position·/wiki-news cluster search·/wiki-query multi-axis
Open agent

