sync-inspiration
Pull quick-capture notes from all files in inspiration-inbox/ into the shared raw-ideas/ library. Fetches any URLs found, researches the content, and writes a synthesized idea file with a proper title
SKILL.md.claude/skills/sync-inspiration/SKILL.md
GitHub/sync-inspiration
Promotes rough notes from every file in inspiration-inbox/ into the shared, immutable raw-ideas/ library, one file per idea. When a chunk contains URLs, it fetches and researches each link, synthesizes the key insights, and writes a rich idea file — not just a dump of the raw text.
It also promotes notes Altaf has already flagged in his personal knowledge vault (see "Vault source
path" below) straight into raw-ideas/, with no re-fetch, since the vault already did the fetch and
the synthesis.
Config
VAULT_ROOT:/Users/altaf.shaikh/Code-Space/AI/knowledge-vault. This is the only place this path is written; every step below refers to it asVAULT_ROOT.
Steps
- List all files in
inspiration-inbox/. Process every file found — not justinbox.md. If the folder is empty or every file has no real content, report "inbox is empty" and stop. - For each file:
- If it is
inbox.md: ignore the leading HTML comment header. Treat the rest as content. - For all other files: read the full content as-is.
- Skip files that are blank or whitespace-only after stripping any header comment.
- If it is
- Within each file, split content into idea chunks on lines containing only
---. A file with no---is a single idea. Discard chunks that are blank/whitespace-only. - Find the next available numeric prefix: list
raw-ideas/*.mdfilenames matchingNNN-*.md, take the highestNNN, add 1 (zero-padded to 3 digits). Start at001if none exist. - For each idea chunk across all files, in order:
a. Detect URLs. Scan the chunk for any
http://orhttps://links. b. If the source is a folder (contains images/screenshots alongside a links.txt or similar): read all image files using the Read tool to extract visual content, read any text files for links or notes, then synthesize everything together. c. If URLs are present:- Fetch each URL using WebFetch. Read the page content thoroughly.
- If a URL is a social media post (X/Twitter, Instagram, LinkedIn), extract: the post text, any key claim or hook, what makes it interesting or shareable.
- Synthesize the fetched content into a coherent idea: what is being shown, what is the insight, why would an audience care.
- Generate a descriptive title and a short kebab-case slug from the synthesized idea (not from the raw URL).
- Write the idea file with:
- A
# Titleheading (human-readable, descriptive) - A
## Contextsection with the synthesized insight in plain prose — what you found, what it demonstrates, what the angle is - A
## Sourcesection listing the original URLs verbatim - A
## Inspirationsection with the relative path to the source folder (e.g.../inspiration-inbox/inspiration 1/) so channel agents can read the original screenshots and materials directly d. If no URLs are present:
- A
- Write the chunk's text verbatim — do not rewrite, expand, or clean up the wording.
- Generate a short kebab-case slug from the chunk's content (gist of the first line or two).
e. Write to
raw-ideas/NNN-slug.mdusing the next available prefix, then increment for the next chunk.
- Once all chunks from a file are written:
- If it is
inbox.md: reset it back to just the header comment (empty otherwise). - For all other files (including folders): do NOT delete them. They are kept as supporting material. Channel agents can read the original screenshots and files when generating posts.
- If it is
- Report which new
raw-ideas/files were created and a one-line summary of each.
Vault source path
A third source, alongside inspiration-inbox/. Runs every time /sync-inspiration runs.
- Search
VAULT_ROOT/notes/sources/,VAULT_ROOT/notes/concepts/, andVAULT_ROOT/notes/entities/for pages whose frontmatter haspromote: yes. This flag is Altaf's alone, set in Obsidian — never set or clear it yourself except in step 4 below. - If none are flagged, skip this source entirely (no report line needed for an empty vault pass).
- For each flagged note, take the no-fetch path — the note has already been fetched and
synthesized by the vault's own ingest workflow, so never WebFetch its
raw_sourceor any URL in it:- Read the note's frontmatter for
title,topic, andraw_source(or a URL if the note carries one directly). - Generate a kebab-case slug from the title (not from the raw filename).
- Write
raw-ideas/NNN-slug.mdusing the same next-available-prefix rule as the inbox path (one shared counter across both sources) with:- A
# Titleheading from the note'stitle. - A
## Contextsection carrying the note's own body forward verbatim in substance — its existing synthesis, not a re-synthesis. Keep its[[wiki-link]]cross-links inline so a channel agent can trace them back into the vault, and note itstopic:at the top of the section (e.g.topic: ai-engineering). - A
## Sourcesection with the note'sraw_source(or URL, if present).
- A
- Apply the strip rule (below) to the written file before it is saved.
- Read the note's frontmatter for
- After a successful write, edit the vault note's frontmatter in place: replace
promote: yeswithpromoted: <ISO date>. This is a write intoVAULT_ROOT/notes/, which is mutable content under the vault's own schema; never touchVAULT_ROOT/raw/. This is what stops the same note from promoting twice. - Report each vault-sourced
raw-ideas/file created, same one-line-per-idea format as the inbox path, tagged(from vault).
inspiration-inbox/ keeps working exactly as it does today — this is an additional source, not a
replacement.
Rules
- Never edit or remove existing files in
raw-ideas/— it's append-only. - For URL-based ideas: the synthesized context is your judgment call — write it as insight, not a summary of the webpage.
- For plain-text ideas: verbatim only; slug generation is the only judgment call.
- For vault-sourced ideas: never re-fetch or re-synthesize — the vault note's own content is the source of truth; only the strip rule may change its wording.
- No em dashes in any written content. Use plain punctuation or rewrite as two sentences.
- Strip rule: no company names and no internal tool names in anything written to
raw-ideas/(applies to all three sources, not just the vault path).