Skip to content

/cortex-broadcast

llm-wiki style broadcast ingest — conversational update of related existing pages when a Raw has been distilled. Use when the user says "broadcast", "跑 broadcast", "compound this into the vault", "merge pending-merge", "process broadcast queue", or when cortex-distill invokes

From plugin
cortexes
256 skills6 commands2 hooks

Claude Code

$ npx -y skills add XBlueSky/cortexes --skill cortex-broadcast --agent claude-code

SKILL.md

cortex-broadcast.SKILL.md
name: cortex-broadcast
description: >
  llm-wiki style broadcast ingest — conversational update of related existing
  pages when a Raw has been distilled. Use when the user says "broadcast",
  "跑 broadcast", "compound this into the vault", "merge pending-merge",
  "process broadcast queue", or when cortex-distill invokes broadcast inline
  after Step 8 commit (automatic dispatch for every new / pending-merge Raw).

Cortex Broadcast — Compounding Ingest

Propagate insights from a distilled Raw into related existing Notes/Projects pages through conversational per-page edits.

Resolve Vault Path and Config

Read `~/.cortex/config.json`:

jq -r '.vault_path' ~/.cortex/config.json
jq -r '.broadcast.target_top_n // 5' ~/.cortex/config.json
jq -r '.broadcast.target_min_score // 0.40' ~/.cortex/config.json

If the config file doesn't exist, tell the user to run `/cortexes:genesis` first.

Step 1: Resolve Arguments

The command supports three invocations:

| Form | Action | |------|--------| | `/cortexes:broadcast` (no args) | Pop the first (oldest) Raw from the eligible queue | | `/cortexes:broadcast <raw-path>` | Use the specified Raw (relative or absolute path) | | `/cortexes:broadcast --list` | Print the eligible queue and exit |

Step 2: Build Eligible Queue

A Raw is eligible iff its marker meets **all** of:

  • Contains `<!-- distilled: YYYY-MM-DD → ... -->` (Phase 1 processed).
  • Outcome is `new` or `pending-merge` (the marker content after `→` is

either a path like `Notes/X.md` / `Projects/Y/Z.md`, **or** starts with `pending-merge:`; anything else — `(skip: routine)`, `(no insight)`, or the pre-Phase-1 legacy `(no extractable content)` — is ineligible).

  • Does not already contain any of: `| broadcast:`, `| merged:`,

`| no-broadcast:`.

Build the list via:

cortex-vec broadcast-queue --root <vault>/Raw

This applies the three criteria above against each Raw's authoritative marker (header marker, or last non-empty line) and returns the result FIFO by path. Do **NOT** `grep` the marker string — a meta-session's body quotes it many times, which fools a substring scan. To inspect one file, use `cortex-vec raw-state <file>`.

Step 3: Handle `--list`

If the user invoked `--list`, print each queued Raw with:

  • Relative path from vault
  • Outcome (extract from marker: `new` if target is a path; `pending-merge`

if marker contains `pending-merge:`)

  • Original target (for `pending-merge` Raws; `—` for `new`)

Format:

Eligible queue (N Raws):

  1. Raw/2026/04/17/141013_session_acme-notify.md
     outcome: pending-merge → Projects/acme-notify/oauth flow chart.md (0.48)

  2. Raw/2026/04/17/163941_session_acme-sdk.md
     outcome: new → Projects/acme-sdk/build-flag-semantics.md

Run /cortexes:broadcast to process the first, or /cortexes:broadcast <path> for a specific one.

Exit after listing.

Step 4: Select Raw and Read Content

If no args: pick the first entry from the queue. If `<raw-path>` arg: `cortex-vec raw-state <raw-path>` must print exactly `new` or `pending-merge` (a `(broadcast-resolved)` suffix or any other state is ineligible); abort with a clear error if not.

NEVER Read the full Raw file. Its original text arrives through bounded pages, as in cortex-distill Step 2. Read, in order:

1. **The marker.** A bounded `Read` of the marker's lines only: the last few lines (`offset` near `wc -l <raw>`), or the region before the first `### User` for a header marker. Parse the outcome and (for pending-merge) the original target path and score. Step 9.1 edits this line; the Edit tool needs the file Read first. 2. **The frontmatter.** A bounded `Read` of the Raw's frontmatter only (`limit` at its closing `---`), for the `repo:` Steps 5 and 9 need. 3. **Insight passages.**

  • **Inline mode** (dispatched by cortex-distill Step 9): the passages

distill paged in this session are already in context. Work from them. Distill has completed its plan, so a passage you still need comes from a plan opened as below.

  • **Standalone mode**, or inline needing more: open a plan and play

find-first.

     cortex-vec distill-plan start <raw>          # note plan_id
     cortex-vec raw-map <raw> --plan-id <id> --find "★ Insight" --find-only
     cortex-vec raw-span <raw> --plan-id <id> --span-id <N>

A `★ Insight` hit lands on the callout's first span only: read the following span ids (N+1, …) until the callout's closing rule. Other anchors: a symbol, path or error string from the distilled target page (outcome `new`) or the pending-merge target's title. Page the map from the top (`raw-map --cursor`) only when no anchor hits. `ANOTHER_PLAN_ACTIVE` means an in-flight distill owns the ledger: ask the user, never `clear` it. On `BUDGET_EXHAUSTED`, stop reading and work from what you have.

This plan is opened only for its bounded pages and budget ledger: never `seal` or `complete` it (those verify a distill outcome). Clear it when broadcast ends — Step 9.3, `quit` at Step 7, or `abort` in Step 8:

cortex-vec distill-plan clear --plan-id <id>

Step 5: Find Candidate Pages

Pick the **most content-ful insight passage** read in Step 4 — the densest `★ Insight` callout, the clearest analysis paragraph naming specific referents (symbols, file paths, bug mechanisms), or (legacy Raws) the longest Discovery/Decision bullet — trimmed to roughly one paragraph. This is the same heuristic as cortex-distill Step 3.2.

Run, with the passage single-quoted (inside double quotes the backticks Raw text carries run as command substitution; write an apostrophe as `'\''`):

cortex-vec search '<passage text>' --n <target_top_n>

If the Raw's frontmatter has `repo:`, also pass `--repo <name>` when the query topic looks repo-specific. Omit otherwise.

`--repo` narrows the `Projects/` partition only; cross-repo `Notes/` always appear in results regard

Read more
@xbluesky
Ships withcortexes

Personal knowledge vault plugin for Claude Code — session recording, memory distillation, and hybrid semantic + BM25 retrieval.

Stars on GitHub

Momentum

stars in total
25
Star history of XBlueSky/cortexes on GitHub, a chart by star-history.com

Other skills on cortexes.

cortex-distill
Auto-invoked

cortex-distill

Distill raw session records into refined Notes and Projects. Use when the user says "提煉", "整理 raw", "distill", or "distill raw…

@xbluesky@xblueskyInstall Skill
cortex-evolve
Auto-invoked

cortex-evolve

Save knowledge to the cortex vault. Use when the user says "存到 cortex", "記一下", "save to cortex", "記到筆記", "cortex evolve", or when…

@xbluesky@xblueskyInstall Skill
cortex-query
Auto-invoked

cortex-query

Search and retrieve content from the cortexes vault — the user's external memory. Use when the user explicitly asks to search or…

@xbluesky@xblueskyInstall Skill
cortex-takeoff
Auto-invoked

cortex-takeoff

Create or resume a session takeoff baton — a curated, ephemeral, git-ignored hand-off note that lets the next Claude session…

@xbluesky@xblueskyInstall Skill
using-cortex
Auto-invoked

using-cortex

Use when the user asks to check the cortex vault, refers to earlier work ("last time", "that project", "we discussed", "之前那個",…

@xbluesky@xblueskyInstall Skill

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about cortex-broadcast.

Which coding agents can use cortex-broadcast?
cortex-broadcast installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.