A Claude Code skill for building and searching a personal illustration bank — stories, quotes, analogies, stats, and examples that sharpen your writing.
The bank grows over time. Add an entry when you encounter a story worth keeping. Search it when you need a concrete example. The right illustration surfaces instead of getting forgotten.
ADD mode — save an illustration to your bank with a title, type, themes, content, and source. The bank is a plain markdown file you can edit directly.
FIND mode — keyword search across titles, themes, and content. Relevance-scored so the best matches come first. Optionally search the web for stories and case studies, cited in Turabian style.
- Download or clone this repo
- Copy the skill folder into your Claude skills directory:
cp -r illustration-finder ~/.claude/skills/illustration-finderThat's it. The skill will be available the next time you start a Claude Code session.
Say /illustration-add or "save this to my illustration bank." Claude will ask for details and call the script, or you can call it directly:
python3 ~/.claude/skills/illustration-finder/scripts/add_illustration.py \
--title "The Excel No One Could Read" \
--type story \
--themes "data,AI,hidden-complexity,problem-solving" \
--content "A client's database stored payment status as cell background color. No standard tool could read it. We described the structure to Claude in plain English and it wrote a Python script that decoded the colors and produced a clean flat table." \
--source "Personal consulting experience, 2025"Types: story · quote · analogy · stat · example
Say /illustration-find resilience or "do I have a story about failure?" Claude searches locally first and presents results with a "use this to illustrate" suggestion. Or call it directly:
python3 ~/.claude/skills/illustration-finder/scripts/search_illustrations.py "resilience failure" --limit 5Add --web to also search the internet. Web results are cited in Turabian style (see references/turabian.md).
The bank is a plain markdown file at ~/.claude/illustration-bank.md. Each entry looks like this:
---
## The Excel No One Could Read
**Type:** story
**Themes:** data, AI, hidden-complexity, problem-solving
**Added:** 2026-03-05
**Source:** Personal consulting experience, 2025
A client's database stored payment status as cell background color...You can edit it directly. The search script parses it by splitting on --- separators.
By default the bank lives at ~/.claude/illustration-bank.md and is shared across all your projects.
For project-scoped content (a specific client, a personal writing project, a separate domain), keep a local bank:
# Add to a project-local bank
python3 ~/.claude/skills/illustration-finder/scripts/add_illustration.py \
--title "..." --type story --themes "..." --content "..." \
--db ./illustration-bank.md
# Search the project-local bank
python3 ~/.claude/skills/illustration-finder/scripts/search_illustrations.py "query" \
--db ./illustration-bank.mdClaude will search both banks when a project-local one exists alongside the global one.
Python 3 (stdlib only — no dependencies).