Sidepanel-based Chrome extension that turns Substack into a usable Contact CRM for readers — and adds a writing assist toolkit (TOC, pre-publish checklist, AI search optimization score, AI-powered SEO suggestions) for posts.
Status: pre-release. Currently being developed by @south0120. Chrome Web Store listing in preparation.
- Take memos directly on Substack profile pages — free-form notes + tags
- "Add to history" — capture comments, URLs, and context with one click
- Bookmarks tab in the sidepanel collects every saved post
- Cross-search by name, tag, or memo content
- Pin / archive / JSON export-import
- Auto-syncs to each profile's brand color
Activates inside the Substack post editor (/publish/post/<id>).
- Auto Table of Contents with proper nested indentation (h2/h3/h4+ as 3 levels)
- Live word count + reading time — updates every 4 seconds while typing
- Pre-publish checklist — body length, headings, image alts, hooks, citations, paragraph length (8 signals)
- AI Search Score — 7-signal heuristic that scores how well the post is structured for retrieval-style AI search (Perplexity, ChatGPT search, Claude). Grade A–D
- AI SEO suggest — generate 3 SEO title and 3 SEO description candidates via Anthropic / OpenAI / Google APIs (BYO key)
- All Contact Memo / Bookmark data is stored in
chrome.storage.sync— Chrome's standard sync area. Nothing leaves your browser unless you opt into AI features. - AI API key (Anthropic / OpenAI / Google) is stored in
chrome.storage.local— local-only, never synced across devices. - The AI SEO suggest feature, only when explicitly invoked, sends the article's title and body to your selected provider. No analytics, no tracking, no third-party.
- Clone this repo
- Visit
chrome://extensions/in Chrome - Toggle Developer mode (top-right)
- Click Load unpacked → select the cloned folder
- Pin the extension and click its icon to open the side panel
manifest.json # MV3 manifest
background.js # service worker (just opens side panel on action)
content.js # injected on profile pages — Contact Memo widget
toc.js # injected on post pages — TOC + stats + body-text RPC
sidepanel.html / .js / .css # main UI (Contact Memo + Writing Assist)
storage.js # chrome.storage.sync wrapper with local fallback
i18n.js # ja / en strings
icons/ # 16/48/128 PNG icons
store_publication_kit/ # listing copy, privacy policy, screenshots guide
There is no build step. Edit files in place, then click "Reload" on the extension card in chrome://extensions/.
TBD — to be decided before public release.
@south0120 (newsletter: サウスのAI活動報告書).