77% of social media creators report burnout. The #1 cause: starting from a blank page every time. You've already written the best version of your ideas — in past posts, comments, threads. The problem is you can't find and recombine them.
This tool scans your past content, extracts reusable "content atoms," and retrieves the most relevant ones when you need to write about a new topic. Every post you write makes the next one easier.
bash
# Build atom library from your content directory
python3 ~/.claude/skills/phy-content-compound/scripts/content_compound.py ~/Desktop/content-ideas/
# Build library + query for a topic
python3 ~/.claude/skills/phy-content-compound/scripts/content_compound.py ~/posts/ --topic "developer tools"
# Query specific atom type
python3 ~/.claude/skills/phy-content-compound/scripts/content_compound.py ~/posts/ --topic "AI" --type data_point
# Get top 10 results
python3 ~/.claude/skills/phy-content-compound/scripts/content_compound.py ~/posts/ --topic "security" --top 10
# JSON output
python3 ~/.claude/skills/phy-content-compound/scripts/content_compound.py ~/posts/ --topic "growth" --format json
TypeIconWhat It CapturesDetection Patterndata_point📊Specific numbers, percentages, metricsSentences with digits + units (%, $, K, M, x)claim💡Strong assertions, thesis statements"The key insight is...", "Turns out...", "The reality is..."anecdote📖Personal stories and experiences"I built...", "We shipped...", "Last month I..."framework🔧Structured lists, step-by-step models3+ consecutive bullet points or numbered itemscontrarian🔥Challenges to conventional wisdom"Stop...", "Don't...", "Everyone is wrong about..."question❓Thought-provoking discussion driversSentences ending with "?" (>25 chars)
text
Your content files (.md, .txt)
↓
[Extract atoms] — regex-based sentence classification
↓
[Tag keywords] — context-window keyword extraction
↓
[Build library] — 6 atom types, source attribution, line numbers
↓
[Query topic] — keyword overlap scoring + text presence matching
↓
[Generate outline] — Hook (contrarian/data) → Body (claims+data+proof) → CTA (question)
text
==================================================================
phy-content-compound — Content Atom Library
==================================================================
Files scanned : 14
Total atoms : 591
==================================================================
📊 Atoms by Type:
📊 data_point 485 atoms
🔧 framework 90 atoms
❓ question 7 atoms
📖 anecdote 4 atoms
💡 claim 3 atoms
🔥 contrarian 2 atoms
🔍 Top atoms for: "developer tools security"
1. 📊 [data_point] (relevance: 5.0)
"55 automated audit checks, maps to OWASP Agentic Top 10"
— Source: skills-marketplace-guide.md:112
2. 📖 [anecdote] (relevance: 3.5)
"I spent a week mapping every platform, scanning for security"
— Source: skills-marketplace-guide.md:7
📝 Suggested Outline for: "developer tools security"
1. HOOK: Lead with data (55 automated audit checks...)
2. BODY: Core argument + supporting data + personal proof
3. CTA: Close with a genuine question
Library SizeSerendipityWriting Speed0-50 atomsLow — still buildingSame as blank page50-100 atomsEmerging — old atoms surface relevant connections15-20% faster100-500 atomsStrong — most new topics have 3-5 relevant atoms30-50% faster500+ atomsCompound — new posts are mostly recombination50-70% faster
Based on Zettelkasten research: the "serendipity effect" kicks in at 50-100 well-connected notes.
This tool is the final piece of the social media flywheel:
text
COMPOUND (find your best past atoms)
→ Write draft
→ HUMANIZER (remove AI signals)
→ RULES ENGINE (pre-flight platform check)
→ Post
→ FORENSICS (analyze what worked)
→ feedback into COMPOUND (grows your atom library)
Each cycle makes the next one better. The library grows, retrieval improves, writing gets faster.
SourceKey InsightHow We Use ItZettelkasten methodAtomic notes + serendipity at 50-100 notes6 atom types, keyword linkingJustin Welsh 730-day library5 styles × 5 topics = 75+ ideas; performance gradingEngagement hint taggingContent atomization (MarTech)Hub-and-spoke: 1 idea → dozens of derivativesAtom extraction + recombinationNLP text segmentationRegex-based sentence classification + entity extractionAtom type detection patterns
.md, .txt (recursive scan).git/, node_modules/, __pycache__/, venv/SkillRelationshipphy-content-humanizer-auditCheck AI signature before publishing atom-based postsphy-post-forensicsAnalyze which atom combinations drove engagement → feed back into libraryphy-platform-rules-enginePre-flight check before posting on any platform
Canlah AI — Run performance marketing without breaking your brand.