Voice Builder
charlie947/social-media-skills
Build a personalised voice profile inside a Codex or Claude project from a short interview plus 3 to 5 sample pieces of writing.
This skill should be used when producing content (newsletter posts, blog posts, LinkedIn posts) from existing corpus material.
$ npx skills add jacob-dietle/context-os --skill content-strategy-and-assembly -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jacob-dietle/context-os content-strategy-and-assembly --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/content-strategy-and-assembly .claude/skills/content-strategy-and-assembly && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "content-strategy-and-assembly" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/content-strategy-and-assembly into .claude/skills/content-strategy-and-assembly/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-strategy-and-assembly", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/content-strategy-and-assemblyType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jacob-dietle/context-os --skill content-strategy-and-assembly -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jacob-dietle/context-os content-strategy-and-assembly --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/content-strategy-and-assembly .agents/skills/content-strategy-and-assembly && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "content-strategy-and-assembly" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/content-strategy-and-assembly into .agents/skills/content-strategy-and-assembly/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-strategy-and-assembly", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jacob-dietle/context-os --skill content-strategy-and-assembly -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jacob-dietle/context-os content-strategy-and-assembly --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/content-strategy-and-assembly .cursor/skills/content-strategy-and-assembly && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "content-strategy-and-assembly" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/content-strategy-and-assembly into .cursor/skills/content-strategy-and-assembly/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-strategy-and-assembly", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jacob-dietle/context-os.git --path .claude/skills/content-strategy-and-assembly--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jacob-dietle/context-os --skill content-strategy-and-assembly -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jacob-dietle/context-os content-strategy-and-assembly --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/content-strategy-and-assembly .gemini/skills/content-strategy-and-assembly && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "content-strategy-and-assembly" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/content-strategy-and-assembly into .gemini/skills/content-strategy-and-assembly/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-strategy-and-assembly", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jacob-dietle/context-os content-strategy-and-assemblyInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jacob-dietle/context-os --skill content-strategy-and-assembly -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/content-strategy-and-assembly .github/skills/content-strategy-and-assembly && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "content-strategy-and-assembly" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/content-strategy-and-assembly into .github/skills/content-strategy-and-assembly/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-strategy-and-assembly", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jacob-dietle/context-os --skill content-strategy-and-assembly -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jacob-dietle/context-os content-strategy-and-assembly --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/content-strategy-and-assembly .opencode/skills/content-strategy-and-assembly && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "content-strategy-and-assembly" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/content-strategy-and-assembly into .opencode/skills/content-strategy-and-assembly/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-strategy-and-assembly", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
content-strategy-and-assemblyThis skill should be used when producing content (newsletter posts, blog posts, LinkedIn posts) from existing corpus material.
Content Strategy And Assembly is an agent skill from jacob-dietle/context-os. This skill should be used when producing content (newsletter posts, blog posts, LinkedIn posts) from existing corpus material. Discovers relevant context from the knowledge graph, selects the right content framework, assembles a draft against a spec, then runs an eval loop of anti-slop checks until the output clears quality gates. Built from real content production pipelines with 142 automated anti-slop tests and the eval-loop methodology.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/anti-slop-rules.md`, `references/content-type-specs.md` and `references/voice-calibration.md`).
It sits in Writing & Content, covering Humanizing AI text, Content strategy and Blog and article writing. The licence is MIT.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1027e3f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Content Strategy And Assembly loads about 3.1k tokens when it runs, and up to ~7.1k if it reads all its reference files. Until then it costs about 118 tokens; SKILL.md has 1,167 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from jacob-dietle/context-os at commit 1027e3f, republished under its MIT licence (© jacob-dietle). 1,167 words, ~3,102 tokens.
.claude/skills/content-strategy-and-assembly/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Methodology for producing content by discovering what already exists in the corpus, assembling it against a content-type spec, and iterating through anti-slop quality gates until the output reads like a human wrote it.
Core philosophy: The author's taste is primary. This skill handles the grunt work of discovery, assembly, and slop removal. The author edits for voice, judgment, and the things only they can add.
Apply this skill when:
Do NOT use for:
technical-business-writing)copywriting-masters)Content generation is a multi-step process. One-shotting produces the worst possible output because the model has to predict tokens for structure, evidence, transitions, and tone simultaneously.
Pattern: Discover → Select → Spec → Assemble → Validate → Refine
Each step narrows the problem space for the next. By the time assembly happens, the model knows exactly what to write, what evidence to use, and what structure to follow.
This skill does not try to perfectly replicate the author's voice. That is impossible and attempting it produces uncanny-valley slop.
Instead, enforce a floor: the output must NOT read like AI wrote it. The author's edits add the rest.
The distinction:
Read: references/voice-calibration.md for the author's voice fingerprint and anti-patterns.
Every claim in the output must trace to a source in the corpus. Content without evidence is opinion dressed as insight.
Attribution during assembly:
[SOURCE: knowledge_base/technical/context-engineering.md] — direct reference
[SOURCE: transcript, client call 2026-01-15] — from conversation
[INFERRED: from patterns across 3+ sources] — synthesis
[AUTHOR: original thought from outline] — the author's own contributionAfter assembly, strip attribution markers from the draft but keep a separate evidence map so the author can verify any claim.
Content quality follows the eval-loop pattern:
SYMPTOM: "This paragraph reads like ChatGPT wrote it"
│
▼
GENERALIZE: Which anti-slop class? (hedge words? colon-sentences? filler?)
│
▼
ROOT CAUSE: Specific pattern (e.g., "3 em-dashes in one paragraph")
│
▼
TARGET: "Zero filler phrases, ≤2 em-dashes per article"
│
▼
FIX: Replace specific patterns
│
▼
VERIFY: Run detection regexes
Pass → next section
Fail → fix and re-verifyRead: references/anti-slop-rules.md for the full detection catalog with regexes.
Before writing anything, find what exists in the corpus on this topic.
1a. Search the knowledge base:
# Find relevant KB nodes
Grep: pattern="[topic]" glob="knowledge_base/**/*.md"
# Check synthesis docs first (95% of answers)
Grep: pattern="[topic]" glob="**/_synthesis/*.md"1b. Search transcripts and context packages:
# Transcripts with relevant discussion
Grep: pattern="[topic]" glob="transcripts/**/*.md"
# Context packages with implementation evidence
Grep: pattern="[topic]" glob="**context_packages**/*.md"1c. Check published content for prior art:
# What has already been published on this topic?
Grep: pattern="[topic]" glob="published_content/**/*.md"1d. Build a source inventory:
## Source Inventory for [Topic]
### Direct Sources (will cite)
- [file path] — [what it contributes, 1 line]
- [file path] — [what it contributes, 1 line]
### Background Sources (informed thinking, won't cite directly)
- [file path] — [what it contributes, 1 line]
### Gaps (need author input or new research)
- [what's missing] — [why it matters for this piece]Present this inventory to the author before proceeding. Gaps may change the outline.
Match the content type to a framework from references/content-type-specs.md.
| Content Type | Primary Framework | Structure |
|---|---|---|
| Newsletter post | Insight-led | Hook → Context bridge → Core argument → Evidence → Practitioner takeaway |
| Blog post (technical) | Problem-solution | Problem framing → Why it's hard → Approach → Evidence → What to try |
| Blog post (opinion) | Thesis-driven | Claim → Supporting evidence → Counterargument → Resolution |
| LinkedIn post | PAS (compressed) | Pain → Agitate → Insight (no product pitch) |
Framework selection factors:
Before writing, spec exactly what the output looks like. This is the spec-driven-dev pattern applied to content.
For each section in the outline:
## Section: [Name]
- Word count target: [range]
- Source material: [which sources from Step 1]
- Purpose: [what this section accomplishes for the reader]
- Tone: [conversational/technical/provocative — match to author's register]
- Must include: [specific evidence, examples, or arguments]
- Must avoid: [specific anti-slop patterns likely for this section type]Total piece targets:
Present the spec to the author for approval before assembly.
Assemble section by section, not end-to-end.
For each section:
[SOURCE: file.md] for every claimAssembly rules:
references/voice-calibration.md)[AUTHOR: need your example of X here]After full assembly, create the evidence map:
## Evidence Map
| Claim | Source | Verification |
|---|---|---|
| "context drift affects 80% of long sessions" | context-drift.md:14 | Direct quote |
| "multi-step processing reduces verbosity" | anti-slop post, line 77 | Author's prior published claim |This is the eval loop applied to the draft.
5a. Automated detection (run all regexes from references/anti-slop-rules.md):
# Count em-dashes (max 2)
grep -c "—" draft.md
# Find colon-sentences (max 3)
grep -cP ": [A-Z]" draft.md
# Filler phrases (must be 0)
grep -iP "(worth noting|this represents|in today's landscape|however.*important to recognize|implications extend)" draft.md
# Abstract framing (must be 0)
grep -iP "(paradox|collision|tension|dichotomy|validates|represents)" draft.md
# Formal transitions (must be 0)
grep -iP "^(Furthermore|Moreover|Subsequently|Additionally|Consequently)" draft.md
# AI composition tropes
grep -iP "(serves as|acts as a|functions as|stands as|quietly \w+|deeply \w+|fundamentally \w+)" draft.md
# False drama
grep -P "(This isn't \w+.it's|But here's the (critical|key|fundamental))" draft.md
# Hedge words
grep -iP "(might indicate|could suggest|potentially|seems to)" draft.md5b. Structural checks:
5c. Voice floor checks:
For each flagged issue from Step 5:
references/anti-slop-rules.mdAfter all flags resolved:
[AUTHOR: ...] placeholders that need their inputIteration with author feedback: When the author provides feedback, treat it as an eval-loop symptom:
Before this skill:
context-foundation — Load context from package chains if working across sessionscontext-gap-analysis — Check what exists before building (prevents unnecessary research)During this skill:
copywriting-masters — For headline writing (Step 4), use the 4 U's frameworkeval-loop — The validation step IS an eval loop; for complex quality issues, escalate to full eval-loop methodologyAfter this skill:
context-package — If session is long, save state before endingpublish-filter — Decide whether to publish or keep privateThis skill synthesizes patterns from:
© jacob-dietle, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in .claude/skills/content-strategy-and-assembly of jacob-dietle/context-os.
Open the folder on GitHubat commit 1027e3f
Content Strategy And Assembly next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Content Strategy And Assembly this skilljacob-dietle/context-os | 111 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Voice Buildercharlie947/social-media-skills | 3.8k | — | ~3.3k | Automated safety check: Pass | MIT | |
| Humanized Chinese Writing PolisherEthanYoQ/agent-xiaohongshu-workbench | 154 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Humanizer Zhai-zixun/humanizer-zh | 179 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Content Writer Agentmastra-ai/mastra | 29k | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| Content RepurposingScrapeCreators/social-media-research-skills | 3.4k | — | ~564 | Automated safety check: Notes | MIT |
charlie947/social-media-skills
Build a personalised voice profile inside a Codex or Claude project from a short interview plus 3 to 5 sample pieces of writing.
EthanYoQ/agent-xiaohongshu-workbench
A skill your agent uses when a user asks to polish, rewrite, humanize, de-AI, localize, or oralize Chinese writing, including short-video scripts, articles, social posts, speeches, newsletters, and…
ai-zixun/humanizer-zh
Remove signs of AI-generated, translated, or overly mechanical Chinese prose.
mastra-ai/mastra
Authoring playbook for building agents that draft written content — blog posts, marketing copy, social media posts, newsletters, product descriptions, landing pages, or ad copy.
ScrapeCreators/social-media-research-skills
A skill your agent uses when the user wants to turn public social videos, transcripts, posts, or creator research into reusable content assets such as LinkedIn posts, X threads, short-form scripts…
artemnovitckii/content-skills
A skill your agent uses when writing or auditing any written content — captions, carousels, newsletters, threads, LinkedIn posts, long-form — and as the FINAL filter on every piece.
jacob-dietle/context-os
A skill your agent uses when deciding what to work on next, when progress is stuck, or when the reflex is to build or automate before proving the current bottleneck.
jacob-dietle/context-os
This skill should be used to periodically defragment a multi-app/multi-service codebase — both CODE (duplicate deploy targets, colliding bindings, stale forks) and CONTEXT (parallel spec…
jacob-dietle/context-os
This skill should be used when users ask about their work context, what they're working on, recent activity, file relationships, or knowledge graph structure.
jacob-dietle/context-os
This skill should be used when making architectural decisions, writing specs, or reviewing decisions that contain "future work", "v2", "simpler for now", "out of scope", or complexity claims.
jacob-dietle/context-os
This skill should be used when decomposing a spec into a multi-agent implementation plan with dependency ordering, parallelism decisions, contract testing, and verification strategy.
jacob-dietle/context-os
This skill should be used when a specific quality problem (UX, data, architecture, feature) needs systematic diagnosis and iterative fixing toward a defined target.
Categories
This skill should be used when producing content (newsletter posts, blog posts, LinkedIn posts) from existing corpus material. Content Strategy And Assembly is an agent skill from jacob-dietle/context-os. This skill should be used when producing content (newsletter posts, blog posts, LinkedIn posts) from existing corpus material.
Content Strategy And Assembly fits situations like: tasks that involve Humanizing AI text; tasks that involve Content strategy; tasks that involve Blog and article writing.
Run `npx skills add jacob-dietle/context-os --skill content-strategy-and-assembly -a claude-code`. Or copy the skill folder (.claude/skills/content-strategy-and-assembly in jacob-dietle/context-os) into .claude/skills/content-strategy-and-assembly in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jacob-dietle/context-os --skill content-strategy-and-assembly -a codex`. Or copy the skill folder (.claude/skills/content-strategy-and-assembly in jacob-dietle/context-os) into .agents/skills/content-strategy-and-assembly in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jacob-dietle/context-os --skill content-strategy-and-assembly -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/content-strategy-and-assembly, .gemini/skills/content-strategy-and-assembly, .github/skills/content-strategy-and-assembly and .opencode/skills/content-strategy-and-assembly in your project.
SKILL.md names no scripts, command-line tools or credentials: Content Strategy And Assembly is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Content Strategy And Assembly is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Content Strategy And Assembly: Voice Builder (charlie947/social-media-skills, 3.8k stars), Humanized Chinese Writing Polisher (EthanYoQ/agent-xiaohongshu-workbench, 154 stars), Humanizer Zh (ai-zixun/humanizer-zh, 179 stars) and Content Writer Agent (mastra-ai/mastra, 29k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jacob-dietle (a GitHub user) maintains it in jacob-dietle/context-os, which has 111 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on August 13, 2026.
Source: jacob-dietle/context-os on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.