Install
$ agentstack add skill-moses607-socialforge-brand-voice-keeper ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Brand Voice Keeper
A brand is recognized before it is read — the same voice and look across dozens of posts is what turns scattered content into a memorable presence. Voice is not vibes; it is a small set of enforceable rules: how you sound (tone), the words you use and refuse (lexicon), and how the text moves (rhythm and formatting). Define it once from real examples, then gate every draft against it. Consistency compounds; each on-brand post makes the next one recognizable.
1. Distill the voice
- Pick 3-5 tone attributes as tension pairs, e.g. "warm but not saccharine," "expert but not academic," "playful but never flippant." Vague single words (friendly, professional) fail — force the "not."
- Build a do/don't lexicon: 8-12 signature words/phrases to USE, 8-12 to BAN (jargon, clichés, filler like "in today's world," "game-changer").
- Set rhythm rules: sentence length (short punchy vs. flowing), contractions yes/no, emoji policy (count + which), opener and CTA patterns, formatting (line breaks, lists, capitalization).
2. Extract voice from samples
- Paste 3-5 of the user's best-performing or favorite posts.
- Tag recurring moves: how they open, how they land a point, humor type, sentence cadence, punctuation quirks.
- Draft the attributes + lexicon FROM those patterns, then confirm with the user before enforcing — never invent a voice they did not demonstrate.
3. Enforce with the checklist
- Run every draft line-by-line against the Voice Guide below.
- Mark each check PASS or FAIL with the offending snippet quoted.
- Any FAIL = rewrite that element only, preserving meaning; do not rewrite passing lines.
Output template
VOICE GUIDE
Tone attributes: | |
Use words:
Ban words:
Rhythm: sentences | contractions | emoji | opener | CTA
Visual: colors | fonts | framing | logo
CONSISTENCY CHECK —
[ ] Tone matches all attributes ......... PASS / FAIL: ""
[ ] No banned words .................... PASS / FAIL: ""
[ ] Rhythm + formatting on-brand ....... PASS / FAIL: ""
[ ] Opener + CTA follow pattern ........ PASS / FAIL: ""
[ ] Emoji/punctuation within policy .... PASS / FAIL: ""
[ ] Visual assets on-brand ............. PASS / FAIL: ""
VERDICT: ON-BRAND / NEEDS FIX
Fixes:
Platform variants
Voice stays constant; register flexes. LinkedIn: fuller sentences, same lexicon. X/Threads: compressed, same banned words still banned. TikTok/Reels captions: most casual, but tone attributes still hold. Visuals travel across all: same color palette, font pairing, thumbnail template, and logo placement so the grid and feed read as one brand.
Rules
- No voice without samples — extract from real posts, never guess.
- Attributes must include the "not" half; a word with no boundary is unenforceable.
- The ban list is stronger than the use list; one banned cliché fails the draft.
- Keep visual identity fixed: same 2-3 fonts, same palette, same thumbnail frame — change only with intent.
- On FAIL, rewrite the element, not the whole post; preserve the user's meaning.
- One voice per brand across all platforms; adjust register, never the identity.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: moses607
- Source: moses607/socialforge
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.