From kata
Auto-dreaming: re-evaluate frozen and archived pages against recent activity, surface candidates whose relevance has resurfaced, optionally promote them back to the active tier. Reads only the wiki filesystem (log.md + page frontmatter dates ingested_at/updated); never reads chat sessions or file mtimes. Designed for market-research wikis but the strategy is pluggable.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kata:wiki-dream [--since YYYY-MM-DD] [--strategy co-occurrence] [--apply --pages 1,2,3] [--explain <page>] [--out <file>][--since YYYY-MM-DD] [--strategy co-occurrence] [--apply --pages 1,2,3] [--explain <page>] [--out <file>]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
While you sleep, the wiki re-evaluates which old pages have become relevant
While you sleep, the wiki re-evaluates which old pages have become relevant
again. The dreamer reads new ingest entries from log.md since the last
dream watermark, identifies entities/tags/citations they bring up, and scores
every frozen/archived page against that signal. Pages above the threshold
become candidates — surfaced for your review, never auto-promoted by
default.
Auto-dreaming is the only thing in kata that runs without you. It is intentionally conservative: dry-run by default, capped at 10 candidates per run, and silently rejecting bad suggestions costs nothing — they just don't appear next time.
The algorithm is in plugin/scripts/wiki_dream.py. The script is the
source of truth; the prose below explains its behavior. The skill calls
the script and renders the result.
# Default — read watermark from log.md, write candidates to dreaming/{date}.md
python {plugin_root}/scripts/wiki_dream.py --wiki {wiki_path}
# Override window — dream over a specific period
python {plugin_root}/scripts/wiki_dream.py --wiki {wiki_path} \
--since 2026-04-01
# Explain why one specific page did or didn't qualify
python {plugin_root}/scripts/wiki_dream.py --wiki {wiki_path} \
--explain mosaic
# Apply — write tier_override:active to selected candidates
python {plugin_root}/scripts/wiki_dream.py --wiki {wiki_path} \
--apply --pages 1,2,3
The candidate file is written to dreaming/{YYYY-MM-DD}.md (one per run,
preserved historically). The skill should also surface the JSON to the user.
Reads (only):
log.md entries since the last ## [date] dream | ... watermarkingested_at or updated ≥ that watermarkSCHEMA.md dreaming: config blockDoes NOT read:
{wiki_path}If a user expects "dream from what we just talked about" — explain that the
dreamer is filesystem-only by design (architecture, not bug). To get
session content into the dreamer's view, file it back to the wiki via
/wiki-query --file first.
$ /kata:wiki-dream
[Dreaming] since 2026-04-21 (last weekly run)
Candidate pool: 36 (archived + frozen)
Fresh pages this period: 8
Resurgent tags: trend
Found 9 candidates above threshold 0.6:
1. [[mixture-of-experts]] (frozen, score 0.90)
- shares entities ['glam', 'moe-foundational-paper'] with new ingests
- directly linked from new pages ['queries/deepseek-v3-paper-released.md']
2. [[mosaic]] (archived, score 0.90)
- shares entities ['mosaic', 'mpt-7b'] with new ingests
- directly linked from new pages ['queries/databricks-acquires-mosaic.md']
... etc
[Suggested next]
→ /kata:wiki-dream --apply --pages 1,2,4 (promote selected)
→ /kata:wiki-dream --explain mosaic (full scoring breakdown)
--apply --pages <list>Writes tier_override: active to the selected candidates' frontmatter,
plus a reason and timestamp. Appends a ## [date] dream | applied N candidates log entry advancing the watermark. Never auto-runs — must
be invoked explicitly with --apply.
--explain <page>Re-scores one specific page (regardless of whether it crossed the threshold), printing each component (entity / tag / citation), the reason strings, and the increment summary that drove it. Useful for debugging "why didn't X get promoted?"
Recommended weekly cadence. Set up via Claude Code /schedule:
claude /schedule "0 23 * * 0" "/kata:wiki-dream"
The wiki-init skill writes this cron line during interactive setup if the
user enables dreaming. The candidates land in dreaming/{date}.md for
review the next morning; nothing is applied without explicit user action.
All knobs live in SCHEMA.md dreaming::
| Key | Default | Effect |
|---|---|---|
enabled | true | Set false to disable entirely |
strategy | co-occurrence | Only co-occurrence in v1.6 |
cadence | weekly | Drives the cron line |
confidence_threshold | 0.6 | Lower for more candidates, higher for less noise |
max_repromote_per_run | 10 | Hard cap |
weights.entity | 0.5 | Weight for entity overlap |
weights.tag | 0.2 | Weight for tag resurgence |
weights.citation | 0.4 | Weight for direct inbound link from a fresh page |
resurgence.dormancy_window_days | 180 | Tag must be silent this long before counting as resurgent |
resurgence.min_count | 3 | Tag must appear in ≥ N fresh pages to count |
Tune via /wiki-config --set dreaming.confidence_threshold 0.55.
--apply --pages N,
not direct frontmatter edit. The script handles log entry + reason
capture.npx claudepluginhub surebeli/kata --plugin kataGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.