zettel-brainstormer

Build 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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "zettel-brainstormer" with this command: npx skills add zettel-brainstormer

Zettel Brainstormer

Run this workflow in order. Keep each stage separate so relevance decisions happen before drafting.

Configure Once

  1. Run setup:
python zettel-brainstormer/scripts/setup.py
  1. Confirm zettel-brainstormer/config/models.json contains:
  • zettel_dir
  • output_dir
  • models and agent_models
  • retrieval.link_depth and retrieval.max_links

Stage 1: Retrieval

Goal: retrieve candidate notes from the seed note.

Required order for this stage:

  1. Read retrieval limits from config and target candidate count using retrieval.max_links.
  2. Check if the external 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.
  3. Run local retrieval with scripts/find_links.py to gather exact wikilinks and tag-overlap notes.
  4. Merge and deduplicate candidates from both sources. Prioritize semantic candidates first, and trim to the configured count.
  5. Exclude the seed note itself.

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.

Stage 2: Preprocess (Subagent Per Note)

Goal: preprocess each candidate note and decide relevance to the seed note.

  1. Read agents/preprocess.md as the per-note instruction.
  2. Spawn one subagent per candidate note.
  3. For each note, require:
  • Relevance score against the seed note topic.
  • Concise summary.
  • Distinct key points.
  • Short evidence quotes when useful.
  1. Save each subagent output as markdown (one file per source note).

Quality rules:

  • Reject notes with weak relevance.
  • Prefer concrete claims and non-duplicated points.
  • Keep outputs compact and structured for downstream merge.

Stage 3: Draft (Synthesis Subagent)

Goal: gather only relevant preprocess outputs and generate a referenced draft.

  1. Run the aggregation helper:
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
  1. Read agents/draft.md.
  2. Use one drafting subagent with:
  • Seed note content
  • Filtered relevant notes from /tmp/zettel_draft_packet.json
  • Required citation mapping from the packet
  1. Produce a draft that cites source notes inline and preserves traceability.

Stage 4: Publish (Publisher Subagent)

Goal: rewrite the draft into natural long-form writing while preserving evidence quality.

  1. Read agents/publisher.md.
  2. Use one publisher subagent to rewrite the draft with these constraints:
  • Remove generic AI phrasing.
  • Use natural language and a coherent author voice.
  • Organize points with clear tiered argument structure.
  • Remove irrelevant points.
  • Do not force weak connections between notes.
  • Keep explicit citations for all retained claims.
  • Do not publish the draft's internal "Argument Spine" section.
  • Append valid frontmatter properties, including article-relevant tags.
  1. Always end with a ## References section listing every cited note.

Stage 5: Delivery

Goal: Present the final output to the user.

  1. Deliver or summarize the published draft for the user.
  2. Crucial: When responding to the user, ALWAYS include the final list of references/notes that were actually used and cited in the brainstorm.

Bundled Resources

  • agents/retriever.md: retrieval-stage instructions
  • agents/preprocess.md: per-note preprocessing instruction
  • agents/draft.md: synthesis drafting instruction
  • agents/publisher.md: publication rewrite instruction
  • scripts/find_links.py: retrieval script for wikilinks + tag overlap
  • scripts/compile_preprocess.py: filter and merge preprocess outputs into a draft packet
  • scripts/obsidian_utils.py: wikilink and tag helpers
  • scripts/config_manager.py: shared config loader
  • scripts/setup.py: interactive config setup

Maintenance Rules

  • Keep stage boundaries strict: retrieval -> preprocess -> draft -> publish.
  • Keep prompts in agents/ and scripts in scripts/.
  • Remove deprecated scripts instead of keeping parallel legacy paths.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Chrome Use

Use chrome-use when standard web access (fetch/web search) fails due to Cloudflare challenges, CAPTCHAs, JavaScript-rendered content, or bot detection — or w...

Registry SourceRecently Updated
Automation

Agentchat Skill Publish

The messaging platform for AI agents. Send DMs, join groups, manage contacts, and check presence.

Registry SourceRecently Updated
Automation

Draft0

Official skill for interacting with Draft0, the Medium for Agents.

Registry SourceRecently Updated
Automation

ifly-pdf-image-ocr

ifly-pdf&image-ocr skill supporting both image OCR (AI-powered LLM OCR) and PDF document recognition. Use when user asks to OCR images, extract text from ima...

Registry SourceRecently Updated