Agent skill

Content Strategy And Assembly

by jacob-dietle in jacob-dietle/context-os

This skill should be used when producing content (newsletter posts, blog posts, LinkedIn posts) from existing corpus material.

MITAuto-check passedWriting & Content

Install Content Strategy And Assembly

skills CLI
$ npx skills add jacob-dietle/context-os --skill content-strategy-and-assembly -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jacob-dietle/context-os content-strategy-and-assembly --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
content-strategy-and-assembly
GitHub stars
111
Token cost
~3.1k tokens
SKILL.md length
1,167 words
Files
4 (incl. references)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when producing content (newsletter posts, blog posts, LinkedIn posts) from existing corpus material.

  • Works in 10 steps: Never One-Shot → Voice Floor, Not Voice Ceiling → Evidence-First Assembly → …
  • Tasks that involve Humanizing AI text
  • SKILL.md covers When to Use This Skill, Core Principles, Workflow and Quality Gates, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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.

When your agent uses it

  • Tasks that involve Humanizing AI text
  • Tasks that involve Content strategy
  • Tasks that involve Blog and article writing

Example prompts

  • “/content-strategy-and-assembly”

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Never One-Shot
  2. Voice Floor, Not Voice Ceiling
  3. Evidence-First Assembly
  4. Anti-Slop as Eval Loop
  5. DISCOVER — What Do We Already Have?
  6. SELECT — Content Type and Framework
  7. SPEC — Define the Output Document
  8. ASSEMBLE — Write the Draft
  9. VALIDATE — Run Anti-Slop Checks
  10. REFINE — Fix Flagged Issues and Deliver

What it can do on your machine

Read from SKILL.md and the folder at commit 1027e3f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~118
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.1k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from jacob-dietle/context-os at commit 1027e3f, republished under its MIT licence (© jacob-dietle). 1,167 words, ~3,102 tokens.

Download SKILL.mdSave it as .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.
name
content-strategy-and-assembly
description
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.

Content Strategy and Assembly

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.


When to Use This Skill

Apply this skill when:

  • Producing a newsletter post, blog post, or LinkedIn post from existing corpus material
  • Filling in an outline the author has already created
  • Turning raw notes, transcripts, or KB nodes into publishable content
  • Assembling content from multiple sources that need to be synthesized

Do NOT use for:

  • Writing from scratch with no existing material (write raw thought first)
  • Technical documentation (use technical-business-writing)
  • Sales copy or landing pages (use copywriting-masters)
  • Content editing only, no assembly (use a dedicated content-editing skill)
  • One-shot generation (this skill is explicitly multi-step)

Core Principles

1. Never One-Shot

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.

2. Voice Floor, Not Voice Ceiling

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:

  • Ceiling approach: "Write like the author" → produces mimicry slop
  • Floor approach: "Don't write like an AI" → produces clean prose the author can work with

Read: references/voice-calibration.md for the author's voice fingerprint and anti-patterns.

3. Evidence-First Assembly

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 contribution

After assembly, strip attribution markers from the draft but keep a separate evidence map so the author can verify any claim.

4. Anti-Slop as Eval Loop

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-verify

Read: references/anti-slop-rules.md for the full detection catalog with regexes.


Workflow

Step 1: DISCOVER — What Do We Already Have?

Before writing anything, find what exists in the corpus on this topic.

1a. Search the knowledge base:

bash
# 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:

bash
# 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:

bash
# What has already been published on this topic?
Grep: pattern="[topic]" glob="published_content/**/*.md"

1d. Build a source inventory:

markdown
## 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.

Step 2: SELECT — Content Type and Framework

Match the content type to a framework from references/content-type-specs.md.

Content TypePrimary FrameworkStructure
Newsletter postInsight-ledHook → Context bridge → Core argument → Evidence → Practitioner takeaway
Blog post (technical)Problem-solutionProblem framing → Why it's hard → Approach → Evidence → What to try
Blog post (opinion)Thesis-drivenClaim → Supporting evidence → Counterargument → Resolution
LinkedIn postPAS (compressed)Pain → Agitate → Insight (no product pitch)

Framework selection factors:

  • What is the author's outline already implying? Follow their structure.
  • What is the goal? (teach, persuade, share experience, provoke thought)
  • What is the audience? (practitioners, executives, general tech)
Step 3: SPEC — Define the Output Document

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:

markdown
## 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:

  • Newsletter post: 800-1500 words
  • Blog post: 1500-3000 words
  • LinkedIn post: 150-300 words

Present the spec to the author for approval before assembly.

Step 4: ASSEMBLE — Write the Draft

Assemble section by section, not end-to-end.

For each section:

  1. Read the source material identified in the spec
  2. Write the section following the spec constraints
  3. Mark evidence inline: [SOURCE: file.md] for every claim
  4. Move to next section

Assembly rules:

  • Write in the voice floor register (see references/voice-calibration.md)
  • Short paragraphs (3-4 sentences max)
  • No formal transitions between sections — just start the next thought
  • Concrete examples over abstract claims
  • If a section needs the author's personal experience, leave a placeholder: [AUTHOR: need your example of X here]

After full assembly, create the evidence map:

markdown
## 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 |
Show full SKILL.md (479 more words)Show less
Step 5: VALIDATE — Run Anti-Slop Checks

This is the eval loop applied to the draft.

5a. Automated detection (run all regexes from references/anti-slop-rules.md):

bash
# 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.md

5b. Structural checks:

  • Every section matches spec word count (within 20%)
  • No section is pure summary with no new information
  • No paragraph fits seamlessly in a sales deck (pitch-slap test)
  • Headline/hook passes the "would I stop scrolling?" test
  • One clear takeaway per section

5c. Voice floor checks:

  • No generic enthusiasm ("revolutionary", "game-changing", "transformative")
  • No sycophantic framing ("groundbreaking", "best-in-class")
  • Uses "you" not "organizations" or "teams"
  • Paragraphs are ≤4 sentences
  • No signposted conclusions ("In conclusion...", "To sum up...")
Step 6: REFINE — Fix Flagged Issues and Deliver

For each flagged issue from Step 5:

  1. Identify the specific pattern
  2. Apply the fix from references/anti-slop-rules.md
  3. Re-run the specific detection regex
  4. Confirm it passes

After all flags resolved:

  • Re-run the full validation suite (regression check)
  • Present draft to author with:
    • The clean draft
    • The evidence map
    • [AUTHOR: ...] placeholders that need their input
    • A list of any remaining subjective calls ("I wasn't sure if X or Y is better here")

Iteration with author feedback: When the author provides feedback, treat it as an eval-loop symptom:

  • "This section feels flat" → diagnose (one-point dilution? missing example? too abstract?)
  • "This doesn't sound like me" → check voice floor violations
  • "This claim needs backing" → check evidence map, find source or mark as gap

Quality Gates

Before Assembly (Steps 1-3)
  • Source inventory complete and presented to author
  • Gaps identified — author confirmed whether to proceed or fill them
  • Content type and framework selected
  • Section-level spec written and approved
  • Published content reviewed for prior art (no accidental self-plagiarism)
Before Delivery (Steps 5-6)
  • All automated anti-slop checks pass
  • Em-dashes ≤2, colon-sentences ≤3, filler phrases = 0
  • No AI composition tropes (Pattern Groups A-G all clear)
  • No hedge words, no passive voice
  • Evidence map complete — every claim sourced
  • Voice floor checks pass
  • Author placeholders clearly marked
  • Word count within spec range

Integration with Other Skills

Before this skill:

  • context-foundation — Load context from package chains if working across sessions
  • context-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 framework
  • eval-loop — The validation step IS an eval loop; for complex quality issues, escalate to full eval-loop methodology

After this skill:

  • context-package — If session is long, save state before ending
  • publish-filter — Decide whether to publish or keep private

Evidence Base

This skill synthesizes patterns from:

  • Published articles — voice calibration source (calibrate from your own published work)
  • Anti-slop pipeline — 3 layers of rules, 142 automated tests, Pattern Groups A-G with detection regexes
  • ce-editorial-rules.md — Intelligence content editorial stance (practitioner-first, falsifiability, anti-hedge)
  • spec-driven-dev skill — "Define exactly what to produce before producing it" pattern
  • context-package skill — Structured assembly with forced completeness via rigid section templates
  • copywriting-masters skill — Framework selection strategy, batch slop detection (swap test)
  • eval-loop skill — Symptom → generalize → root cause → target → iterate methodology

© 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

Files

SKILL.md and 3 other files (references) in .claude/skills/content-strategy-and-assembly of jacob-dietle/context-os.

  • SKILL.md
  • references/anti-slop-rules.md
  • references/content-type-specs.md
  • references/voice-calibration.md

Open the folder on GitHubat commit 1027e3f

Compare with similar skills

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.

Content Strategy And Assembly compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Content Strategy And Assembly this skilljacob-dietle/context-os111—~3.1kAutomated safety check: PassMIT
Voice Buildercharlie947/social-media-skills3.8k—~3.3kAutomated safety check: PassMIT
Humanized Chinese Writing PolisherEthanYoQ/agent-xiaohongshu-workbench154—~1.1kAutomated safety check: PassMIT
Humanizer Zhai-zixun/humanizer-zh179—~1.2kAutomated safety check: PassMIT
Content Writer Agentmastra-ai/mastra29k—~1.3kAutomated safety check: PassCustom licence
Content RepurposingScrapeCreators/social-media-research-skills3.4k—~564Automated safety check: NotesMIT

Similar skills

  • 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.

    3.8k GitHub stars~3.3k tokensUpdated 26 days ago
    Writing & ContentAuto-check passed
  • Humanized Chinese Writing Polisher

    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…

    154 GitHub stars~1.1k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Humanizer Zh

    ai-zixun/humanizer-zh

    Remove signs of AI-generated, translated, or overly mechanical Chinese prose.

    179 GitHub stars~1.2k tokensUpdated 4 mo ago
    Writing & ContentAuto-check passed
  • Content Writer Agent

    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.

    29k GitHub stars~1.3k tokensUpdated today
    Writing & ContentAuto-check passed
  • Content Repurposing

    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…

    3.4k GitHub stars~564 tokensUpdated 1 mo ago
    Writing & ContentAuto-check: notes
  • Anti AI Writing

    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.

    102 GitHub stars~3k tokensUpdated 3 mo ago
    Writing & ContentAuto-check passed

More from jacob-dietle/context-os

All 11 skills in this repo
  • Bottleneck Attack

    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.

    111 GitHub stars~2.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Code Service Defrag

    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…

    111 GitHub stars~3.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Context Os CLI

    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.

    111 GitHub stars~4.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Decision Accountability

    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.

    111 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Coordinated Agent Teams

    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.

    111 GitHub stars~4.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Eval Loop

    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.

    111 GitHub stars~5.2k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Content Strategy And Assembly

What does Content Strategy And Assembly do?

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.

When should I use Content Strategy And Assembly?

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.

How do I install Content Strategy And Assembly in Claude Code?

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.

How do I install Content Strategy And Assembly in Codex?

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.

Can I use Content Strategy And Assembly in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Content Strategy And Assembly need to run?

SKILL.md names no scripts, command-line tools or credentials: Content Strategy And Assembly is instructions for the agent only.

Does Content Strategy And Assembly access the network?

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.

Is Content Strategy And Assembly safe to install?

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.

What licence does Content Strategy And Assembly use?

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.

How many tokens does Content Strategy And Assembly use?

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.

What are the alternatives to Content Strategy And Assembly?

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.

Who maintains Content Strategy And Assembly?

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.