Install
openclaw skills install zettel-brainstormerBuild structured brainstorming notes from a seed zettel by retrieving linked notes, preprocessing each note with subagents for relevance extraction, drafting with cited evidence, and publishing a natural blog-style post with a final References section. Use when asked to expand, research, synthesize, or publish from local Obsidian/Zettelkasten notes.
openclaw skills install zettel-brainstormerRun this workflow in order. Keep each stage separate so relevance decisions happen before drafting.
python zettel-brainstormer/scripts/setup.py
zettel-brainstormer/config/models.json contains:zettel_diroutput_dirmodels and agent_modelsretrieval.link_depth and retrieval.max_linksGoal: retrieve candidate notes from the seed note.
Required order for this stage:
retrieval.max_links.zettel-link skill is available. If it exists, run semantic retrieval via its scripts/search.py command using the seed note's topic or title. If it doesn't exist, warn the user and skip this step.scripts/find_links.py to gather exact wikilinks and tag-overlap notes.Local retrieval command:
python zettel-brainstormer/scripts/find_links.py \
--input "/absolute/path/to/Seed Note.md" \
--output /tmp/zettel_candidates.json
Treat /tmp/zettel_candidates.json as the candidate pool for preprocessing.
Goal: preprocess each candidate note and decide relevance to the seed note.
agents/preprocess.md as the per-note instruction.Quality rules:
Goal: gather only relevant preprocess outputs and generate a referenced draft.
python zettel-brainstormer/scripts/compile_preprocess.py \
--seed "/absolute/path/to/Seed Note.md" \
--preprocess-dir /tmp/zettel_preprocess \
--output /tmp/zettel_draft_packet.json
agents/draft.md./tmp/zettel_draft_packet.jsonGoal: rewrite the draft into natural long-form writing while preserving evidence quality.
agents/publisher.md.tags.## References section listing every cited note.Goal: Present the final output to the user.
agents/retriever.md: retrieval-stage instructionsagents/preprocess.md: per-note preprocessing instructionagents/draft.md: synthesis drafting instructionagents/publisher.md: publication rewrite instructionscripts/find_links.py: retrieval script for wikilinks + tag overlapscripts/compile_preprocess.py: filter and merge preprocess outputs into a draft packetscripts/obsidian_utils.py: wikilink and tag helpersscripts/config_manager.py: shared config loaderscripts/setup.py: interactive config setupagents/ and scripts in scripts/.