Voice Brand Profile Builder
Sub-skill: Build / update the Voice & Brand Profile

Builds or refreshes ../../../references/voice-profile.md so every writing skill in
# Sub-skill: Build / update the Voice & Brand Profile Builds or refreshes `../../../references/voice-profile.md` so every writing skill in this bundle drafts in the user's real voice instead of a generic "human" voice. Runs on any agent (Claude Code, Codex, OpenClaw): the core path needs only the user's own writing pasted in. Apify is an optional accelerator, never required. ## When this runs - User says "build my voice profile", "learn my voice", "set up my profile", or invokes `linkedin-humanizer --mode profile`. - Also offer it the first time a writing skill runs and finds `filled: no`. ## Inputs (any one is enough) 1. **Pasted samples (portable default).** Ask for 3-6 of the user's own real LinkedIn posts or comments. This alone is enough; no token, no history needed. 2. **Apify-assisted (optional).** If `APIFY_TOKEN` is set and the user gives their
Overview
Builds or refreshes ../../../references/voice-profile.md so every writing skill in this bundle drafts in the user's real voice instead of a generic "human" voice. Runs on any agent (Claude Code, Codex, OpenClaw): the core path needs only the user's own writing pasted in. Apify is an optional accelerator, never required.
Manual install (npx, ZIP)
npx skills add sergebulaev/linkedin-skills --skill sub-skill-build-update-the-voice-brand-profile -g -a claude-codeConnects with Agent Alley MCP · agentalley.io/mcp
Files included
voice-profile.md3.0 KB
Read voice-profile.md here
sergebulaev/
Show the full text57 lines
Sub-skill: Build / update the Voice & Brand Profile
Builds or refreshes ../../../references/voice-profile.md so every writing skill in
this bundle drafts in the user's real voice instead of a generic "human" voice.
Runs on any agent (Claude Code, Codex, OpenClaw): the core path needs only the
user's own writing pasted in. Apify is an optional accelerator, never required.
When this runs
- User says "build my voice profile", "learn my voice", "set up my profile", or
invokes
linkedin-humanizer --mode profile. - Also offer it the first time a writing skill runs and finds
filled: no.
Inputs (any one is enough)
- Pasted samples (portable default). Ask for 3-6 of the user's own real LinkedIn posts or comments. This alone is enough; no token, no history needed.
- Apify-assisted (optional). If
APIFY_TOKENis set and the user gives their profile URL, pull recent activity withlib.fetch_user_recent_comments(username=...)(and any post URLs they share vialib.fetch_post) to gather more samples. Treat as an accelerator on top of, not a replacement for, pasted samples. - Manual. The user can also just tell you their niche, rules, and links.
Steps
- Gather 3+ real samples of the user's writing (pasted or pulled).
- Extract the voice fingerprint from the samples, not from assumptions:
- sentence-length rhythm (short/medium/mixed, and how often a long line appears)
- recurring openers and transitions they actually use
- punctuation habits (soft
..pause? never em dashes? line breaks per idea?) - vocabulary they lean on, and any words/cliches they clearly avoid
- emoji and hashtag behavior
- Infer niche, ICP, and pillars from the sample topics; confirm with the user rather than guessing.
- Capture hard rules and CTA/link style the samples reveal or the user states.
- Write
../../../references/voice-profile.md: fill sections 1-5, copy the 2-4 strongest lines verbatim into "Signature examples", and set the Status block tofilled: yes,source: <pasted|apify|manual>,updated: <today's date>. - Show the user the filled profile for approval before saving, and tell them any writing skill will now match it automatically. They can edit the file anytime.
Hard rules
- Build the fingerprint from the user's ACTUAL samples. Never invent a voice.
- Preserve their quirks (a favorite phrase, an unusual rhythm). Those are the point. Only the generic AI-tell scrub still applies to drafts later, not to the profile itself.
- Keep it honest about coverage: with 3 samples say the profile is a first pass and will sharpen as they add more; suggest re-running after 10+ posts.
- Never put secrets, private data, or anything the user did not provide into the file.
Related
- The filled profile is read by
linkedin-post-writer,linkedin-comment-drafter,linkedin-reply-handler, andlinkedin-repurposerbefore they draft. - Re-run this any time the user's voice or focus shifts to refresh the profile.
| 1 | # Sub-skill: Build / update the Voice & Brand Profile |
| 2 | |
| 3 | Builds or refreshes `../../../references/voice-profile.md` so every writing skill in |
| 4 | this bundle drafts in the user's real voice instead of a generic "human" voice. |
| 5 | Runs on any agent (Claude Code, Codex, OpenClaw): the core path needs only the |
| 6 | user's own writing pasted in. Apify is an optional accelerator, never required. |
| 7 | |
| 8 | ## When this runs |
| 9 | |
| 10 | User says "build my voice profile", "learn my voice", "set up my profile", or |
| 11 | invokes `linkedin-humanizer --mode profile`. |
| 12 | Also offer it the first time a writing skill runs and finds `filled: no`. |
| 13 | |
| 14 | ## Inputs (any one is enough) |
| 15 | |
| 16 | **Pasted samples (portable default).** Ask for 3-6 of the user's own real |
| 17 | LinkedIn posts or comments. This alone is enough; no token, no history needed. |
| 18 | **Apify-assisted (optional).** If `APIFY_TOKEN` is set and the user gives their |
| 19 | profile URL, pull recent activity with `lib.fetch_user_recent_comments(username=...)` |
| 20 | (and any post URLs they share via `lib.fetch_post`) to gather more samples. |
| 21 | Treat as an accelerator on top of, not a replacement for, pasted samples. |
| 22 | **Manual.** The user can also just tell you their niche, rules, and links. |
| 23 | |
| 24 | ## Steps |
| 25 | |
| 26 | **Gather 3+ real samples** of the user's writing (pasted or pulled). |
| 27 | **Extract the voice fingerprint** from the samples, not from assumptions: |
| 28 | sentence-length rhythm (short/medium/mixed, and how often a long line appears) |
| 29 | recurring openers and transitions they actually use |
| 30 | punctuation habits (soft `..` pause? never em dashes? line breaks per idea?) |
| 31 | vocabulary they lean on, and any words/cliches they clearly avoid |
| 32 | emoji and hashtag behavior |
| 33 | **Infer niche, ICP, and pillars** from the sample topics; confirm with the user |
| 34 | rather than guessing. |
| 35 | **Capture hard rules and CTA/link style** the samples reveal or the user states. |
| 36 | **Write `../../../references/voice-profile.md`**: fill sections 1-5, copy the 2-4 |
| 37 | strongest lines verbatim into "Signature examples", and set the Status block to |
| 38 | `filled: yes`, `source: <pasted|apify|manual>`, `updated: <today's date>`. |
| 39 | **Show the user the filled profile for approval** before saving, and tell them |
| 40 | any writing skill will now match it automatically. They can edit the file anytime. |
| 41 | |
| 42 | ## Hard rules |
| 43 | |
| 44 | Build the fingerprint from the user's ACTUAL samples. Never invent a voice. |
| 45 | Preserve their quirks (a favorite phrase, an unusual rhythm). Those are the |
| 46 | point. Only the generic AI-tell scrub still applies to drafts later, not to the |
| 47 | profile itself. |
| 48 | Keep it honest about coverage: with 3 samples say the profile is a first pass and |
| 49 | will sharpen as they add more; suggest re-running after 10+ posts. |
| 50 | Never put secrets, private data, or anything the user did not provide into the file. |
| 51 | |
| 52 | ## Related |
| 53 | |
| 54 | The filled profile is read by `linkedin-post-writer`, `linkedin-comment-drafter`, |
| 55 | `linkedin-reply-handler`, and `linkedin-repurposer` before they draft. |
| 56 | Re-run this any time the user's voice or focus shifts to refresh the profile. |
| 57 |
Details
- Updated
- Sep 18, 2026
- License
- MIT
- Stars on the repo
- ★ 3,059
- Checked
- Source
- sergebulaev/linkedin-skills ↗
- Creator
- sergebulaev · 76 listings
Similar skills
See all →
SkillCross-Platform Reverse Engineer
SkillBrainstorm Ideas
SkillCode Review Feedback Analyzer
SkillBug Diagnosis Framework
SkillImplement Spec
SkillPR Description WriterMore from sergebulaev
SkillAI Writing Tells Detector
SkillAI Writing Tells Reference
SkillEmoji Pattern Analysis
SkillIG Niche Analyzer
SkillIG Caption Writer
SkillIG Carousel Planner