zettel-brainstormer
npx skills add https://github.com/hxy9243/skills --skill zettel-brainstormer
Agent 安装分布
Skill 文档
Zettel Brainstormer ð§
This skill formalizes the process of taking a rough idea or draft and enriching it with deep research, diverse perspectives, and structured brainstorming.
New Dual-Stage Workflow
This skill now supports a two-stage pipeline to balance cost and quality:
- Preprocess & Extraction (cheap model)
- Run a lightweight extraction step using OpenRouter’s kimi-k2.5 to produce:
- Short bullet-point keypoints
- Candidate headings and tags
- Minimal bibliography/search queries
- Output format (JSON):
{"headlines":[], "points":[], "queries":[]}.
- Draft & Humanize (pro model)
- Use a pro model (configurable; default: openai/gpt-5.2) to expand the best outline into a full draft.
- Post-process the draft with if exists, to make voice natural. Use the
humanizerskill if available. - Add proper Obsidian properties, tags, and links. Use the
obsidianskill if available. Pick up properties and follow examples from other obsidian notes to keep the style consistent.
Files & Scripts
This skill includes the following resources under the skill folder:
- scripts/preprocess.py — call preprocess model, extract key points, write JSON
- scripts/draft.py — call pro model with outline + references, produce final Markdown
- scripts/wikilink_extractor.py — extract [[wikilinks]] from notes recursively
- references/templates.md — output templates, headline/lead examples, tone guide
- config/models.json — user-selectable model and research settings
Configuration & Setup
First Run Setup: Before using this skill, you must run the setup script to configure models and directories.
python scripts/setup.py
This will create config/models.json with your preferences. You can press ENTER to accept defaults.
Configuration Fields:
pro_model: The model used for drafting (defaults to agent’s current model)preprocess_model: Cheap model for extraction (defaults to agent’s current model)zettel_dir: Path to your Zettelkasten notesoutput_dir: Path where drafts should be savedsearch_skill: Which search skill to use for web/X research (web_search, brave_search, or none)link_depth: How many levels deep to follow [[wikilinks]] (N levels, default: 2)max_links: Maximum total linked notes to include (M links, default: 10)
To change settings later, you can edit config/models.json directly or re-run scripts/setup.py.
Note: When using this skill, the agent will inform you of the current link_depth and max_links settings in the final result.
Usage
- Trigger when user asks: “brainstorm X”, “expand this draft”, “research and add notes to “.
- Example workflow (pseudo):
- If not configured, config will use agent’s current model by default (or run
python scripts/setup.pyfor custom settings) - Pick a random seed note from zettelkasten
- Extract wikilinks:
scripts/wikilink_extractor.py --seed <seed_note> --depth N --max M --zettel-dir <zettel_dir> --output /tmp/links.txt - Preprocess:
scripts/preprocess.py --input <seed_note> --output /tmp/outline.json - Research using configured search_skill (if not “none”)
- Draft:
scripts/draft.py --outline /tmp/outline.json --model <pro_model> --out /tmp/draft.md - (Optional) Humanize:
humanizer --in /tmp/draft.md --out /tmp/draft.human.md - Append result to seed note or save to output_dir
- Inform user: “Extracted wikilinks with depth=N, max_links=M using search_skill=”
- If not configured, config will use agent’s current model by default (or run
Notes for maintainers
- Keep preprocess outputs small (200-600 tokens) to save cost.
- Ensure all external links are included in the
Referencessection with full titles and URLs. - When appending, always include a timestamp and short provenance line (e.g., “Generated by writing-brainstormer; preprocessed with kimi-k2.5; draft with gpt-5.2”).
Example Output Format (unchanged)
... [Original Draft Content] ...
---
## ð§ Brainstorming & Research (2026-02-07)
### ð§ Core Metaphor: The Iceberg
[Expansion of the idea...]
### ð References
* **James C. Scott:** *Seeing Like a State* â Discusses Metis vs Techne...
* **Gall's Law:** [Link/Summary]
### ð¦ Signals
* **@user on X:** Argues that [point] ... [Link]
Tags: #brainstorming #research #zettelkasten