Voice capture
πͺ Claude skills that capture your writing voice and ghostwrite social media posts that sound exactly like you.
npx -y skills add slayerman420/mimiq --skill voice-captureAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Builds a reusable Style Fingerprint of a person's writing voice by scraping public social profiles via Apify actors and conducting a dynamic interview. ALWAYS trigger before writing any social media post or content "in someone's voice." Trigger on: "write like me", "sound like me", "in my voice", "match my tone", "write how I write", "that doesn't sound like me", "make it more me", "capture my style", "learn my style", "ghostwrite for me", "write my LinkedIn post", "write my tweets", sharing a social profile URL to write content, pasting sample posts and asking for more like them, or any request mimicking personal writing style. Also trigger when the user seems unhappy with Claude's writing β missing fingerprint is usually why. Do NOT skip this just because the user gave an inline sample; this skill builds a richer, persistent fingerprint.
SKILL.md
6.8 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
Voice Capture Skill
Build a precise, reusable Style Fingerprint for a user so Claude can ghostwrite content that sounds exactly like them.
Required Apify Actors
Before scraping, confirm the user has connected Apify and has the following actors available. Each actor must be enabled in their Apify account. Direct the user to the Apify Store links below if any are missing.
| Platform | Actor ID | Apify Store |
|---|---|---|
| X/Twitter | apidojo/twitter-scraper-lite | Link |
trudax/reddit-scraper | Link | |
apify/instagram-scraper | Link | |
apify/facebook-posts-scraper | Link | |
harvestapi/linkedin-profile-scraper | Link | |
| Medium | Web fetch (no actor needed) | β |
| Substack | Web fetch (no actor needed) | β |
Medium and Substack are publicly accessible β use
web_fetchdirectly on the profile/archive URL. No Apify actor required.
If the user hasn't connected Apify or is missing an actor, skip that platform and fall back to manual paste (Step 3).
Step 1 β Identify Platforms
Ask the user which platforms they're active on and collect their handle for each.
Step 2 β Scrape via Apify
For each platform where the user has provided a handle and the actor is available, trigger the appropriate Apify actor via the Apify MCP tool.
What to extract per post:
- Full post text / caption / comment body
- Approximate length
- Formatting patterns (lists, questions, em dashes, etc.)
Aim for 15β30 posts minimum across all platforms for a reliable fingerprint.
Platform scraping targets:
X/Twitter (apidojo/twitter-scraper-lite):
- Input:
https://x.com/{username} - Extract: tweet text, timestamp, likes, retweets
Reddit (trudax/reddit-scraper):
- Input:
https://www.reddit.com/user/{username}/submitted/ - Extract: post title, body text, upvotes, comments, subreddit
Instagram (apify/instagram-scraper):
- Input: Instagram username or profile URL
- Extract: caption text, likes, comments, timestamp
Facebook (apify/facebook-posts-scraper):
- Input: public page or profile URL
- Extract: post text, reactions, comments, timestamp
LinkedIn (harvestapi/linkedin-profile-scraper):
- Input: LinkedIn profile URL
- Extract: posts, articles, engagement data
Medium (web_fetch):
- URL:
https://medium.com/@{username} - Extract: article titles, clap counts, article body
Substack (web_fetch):
- URL:
https://{publication}.substack.com/ - Extract: post titles, content, like counts
If any actor call fails or returns empty results, skip that platform silently and move to Step 3.
Step 3 β Request Manual Samples (Fallback)
For any platform where scraping failed or the actor is unavailable:
"Could you paste 5β10 of your posts from [platform]? Any mix of short and long ones works best. Raw text is fine."
Accept whatever they provide. Even 3 posts is enough to start.
Step 4 β Dynamic Style Interview
Once you have scraped/pasted content, conduct a dynamic interview to fill gaps.
Start with these core questions, then follow up based on answers:
- Tone β "How would you describe your writing style in 3 words?"
- Audience β "Who do you primarily write for?"
- Purpose β "What do you want people to feel or do after reading your posts?"
- Pet phrases β "Any words or expressions you use a lot?"
- What to avoid β "Anything you'd never say or a tone you'd never want?"
- Post structure β "How do you typically open and close posts?"
Dynamic follow-up rules:
- If they say "casual" β ask about emoji and slang usage
- If they say "professional" β ask if they inject humor or personal stories
- If they mention a niche β ask about jargon comfort level
- If answers are vague β ask them to react to two contrasting example sentences
Step 5 β Build the Style Fingerprint
Synthesize scraped content + interview into a structured Style Fingerprint document:
## [Name]'s Style Fingerprint
### Voice & Tone
- Overall tone: [e.g., conversational, authoritative, witty]
- Energy level: [calm / punchy]
- Humor: [none / dry / self-deprecating / frequent]
- Warmth: [distant / neutral / warm / very personal]
### Sentence & Structure Patterns
- Average sentence length: [short / medium / long / mixed]
- Paragraph length: [1-liner / medium / long-form]
- Signature openings: [e.g., starts with a question, bold claim, story]
- Signature closings: [e.g., CTA, reflection, one-liner]
- List usage: [never / occasionally / frequent]
- Rhetorical questions: [never / sometimes / often]
### Vocabulary
- Complexity: [plain / moderate / technical]
- Pet phrases/words: [list them]
- Jargon comfort: [avoids / selective / freely]
- Emoji usage: [none / occasional / frequent]
### What They NEVER Do
- [e.g., never uses exclamation points]
### Platform-Specific Notes
- LinkedIn: [formality, length, CTA style]
- X/Twitter: [hook style, thread vs single]
- Instagram: [caption style, hashtag usage]
### Sample Phrases (verbatim)
- "[phrase 1]"
- "[phrase 2]"
### Ghost-writing Rules
1. [Specific rule]
2. [Another rule]
Step 6 β Confirm & Save
Present the fingerprint and ask:
"Does this feel accurate? Anything off or missing?"
Incorporate corrections, then save via mimiq-memory:
python3 ~/.claude/skills/mimiq-memory/scripts/save_fingerprint.py --data '<fingerprint JSON>'
Quality Bar
A good fingerprint should make it impossible to tell ghostwritten posts from real ones. If you're not confident it achieves this, ask more questions before finishing.