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.
Write technical articles and blog posts for developer audiences — tutorials, explainers, benchmarks, bug hunts, postmortems, and 'we rewrote it in X' posts — with title variants and developer-grade…
$ npx skills add samber/cc-skills --skill technical-article-writer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install samber/cc-skills technical-article-writer --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/samber/cc-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/technical-article-writer .claude/skills/technical-article-writer && 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 "technical-article-writer" agent skill from https://github.com/samber/cc-skills/tree/main/skills/technical-article-writer into .claude/skills/technical-article-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "technical-article-writer", 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/samber/cc-skills/tree/main/skills/technical-article-writerType 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 samber/cc-skills --skill technical-article-writer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install samber/cc-skills technical-article-writer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/samber/cc-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/technical-article-writer .agents/skills/technical-article-writer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "technical-article-writer" agent skill from https://github.com/samber/cc-skills/tree/main/skills/technical-article-writer into .agents/skills/technical-article-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "technical-article-writer", 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 samber/cc-skills --skill technical-article-writer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install samber/cc-skills technical-article-writer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/samber/cc-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/technical-article-writer .cursor/skills/technical-article-writer && 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 "technical-article-writer" agent skill from https://github.com/samber/cc-skills/tree/main/skills/technical-article-writer into .cursor/skills/technical-article-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "technical-article-writer", 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/samber/cc-skills.git --path skills/technical-article-writer--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 samber/cc-skills --skill technical-article-writer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install samber/cc-skills technical-article-writer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/samber/cc-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/technical-article-writer .gemini/skills/technical-article-writer && 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 "technical-article-writer" agent skill from https://github.com/samber/cc-skills/tree/main/skills/technical-article-writer into .gemini/skills/technical-article-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "technical-article-writer", 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 samber/cc-skills technical-article-writerInstalls 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 samber/cc-skills --skill technical-article-writer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/samber/cc-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/technical-article-writer .github/skills/technical-article-writer && 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 "technical-article-writer" agent skill from https://github.com/samber/cc-skills/tree/main/skills/technical-article-writer into .github/skills/technical-article-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "technical-article-writer", 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 samber/cc-skills --skill technical-article-writer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install samber/cc-skills technical-article-writer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/samber/cc-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/technical-article-writer .opencode/skills/technical-article-writer && 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 "technical-article-writer" agent skill from https://github.com/samber/cc-skills/tree/main/skills/technical-article-writer into .opencode/skills/technical-article-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "technical-article-writer", 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.
technical-article-writerWrite technical articles and blog posts for developer audiences — tutorials, explainers, benchmarks, bug hunts, postmortems, and 'we rewrote it in X' posts — with title variants and developer-grade…
Technical Article Writer is an agent skill from samber/cc-skills. Write technical articles and blog posts for developer audiences — tutorials, explainers, benchmarks, bug hunts, postmortems, and 'we rewrote it in X' posts — with title variants and developer-grade article structure. Use whenever the user asks to write a blog post, technical article, dev.to or Medium post, or any long-form technical content, including 'write about [technical topic]', 'turn this into a blog post', or 'I want to publish something about X', even without naming a format. Do NOT use for newsletter or…
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `evals/evals.json`, `references/article-structures.md` and `references/hooks-and-titles.md`). Compatibility notes: Designed for Claude or similar AI agents.
It sits in Writing & Content, covering Blog and article writing, Newsletters and Copywriting. It works with Substack. The repository describes itself as: 🧑🎨 A collection of agentic skills that works. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 123cb15. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadEditWriteGlobGrepAgentWebFetchWebSearchAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
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.
Designed for Claude or similar AI agents.
From compatibility in the SKILL.md frontmatter.
Technical Article Writer loads about 3.1k tokens when it runs, and up to ~6.7k if it reads all its reference files. Until then it costs about 178 tokens; SKILL.md has 1,662 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 samber/cc-skills at commit 123cb15, republished under its MIT licence (© samber). 1,662 words, ~3,127 tokens.
.claude/skills/technical-article-writer/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Questions: Ask the user through the environment's question tool — never as plain-text prose. One question at a time, 2–4 tappable options, wait for the answer. If the environment has no question tool, ask in prose with the same options, one at a time.
Write technical articles that developers actually want to read. This skill combines structural frameworks from technical writing, hook engineering from copywriting, and practitioner-tested patterns for developer content.
Most technical articles fail because of structural problems, not bad ideas: burying the lede, mixing content types, weak openings, no clear motivation, or trying to cover too much.
Developer audiences have a built-in BS detector. The best technical content leads with specificity and honesty. It sounds like a smart colleague explaining something interesting, not a marketer pitching. Acknowledge your expertise level, solve a specific problem, use real examples.
Not for reference documentation aimed at non-native readers or machine translation (→ See samber/cc-skills@humanizer-en-asd-ste100 skill for ASD-STE100 Simplified Technical English).
Follow these phases in order. Each phase produces a concrete artifact the user reviews before moving on. Phase 1 is mandatory — always ask the user the intake questions and wait for answers before writing anything. If the user already provided some context, extract what you can and ask only about missing pieces.
Stop and ask. Before writing anything, present the intake questions below to the user and wait for their answers. Do not skip this phase, do not infer silently, and do not start drafting until you have explicit answers or confirmation on every item. Ask the user (or extract from context and confirm):
Topic: What specific thing are you writing about?
Objective: What's the primary goal of this article? Present these options through the question tool (push back if the user picks more than one — a single primary CTA converts far better than competing asks):
The objective shapes the CTA, how much you give away vs. tease, and where conversion points sit. It will be passed directly to the copywriting-cta skill in Phase 5b.
Audience: Who reads this? (junior devs, senior engineers, CTOs, general tech, DBA, frontend developer...)
Content type: Which pattern fits? (see references/article-structures.md for full templates)
Length target: Short (800-1200), Medium (1500-2500), Long (3000+)
One-sentence thesis: The single claim or takeaway. If the user can't state this, help them.
If the user already provided most of this, extract from conversation and confirm. But if critical pieces are missing, stop and ask before proceeding. Don't guess at the audience, content type, or thesis. A wrong assumption here wastes an entire draft.
Specifically:
Only proceed to Phase 2 once you have enough clarity on topic, audience, content type, and thesis to write a coherent outline. It's cheaper to ask one question now than to rewrite 2000 words later.
Idea quality filters. Apply these before investing in a draft:
Julia Evans's heuristic: the best technical content comes from what you struggled with, not what you mastered. If the topic feels too "textbook", push toward the specific struggle, surprise, or counterintuitive finding.
Julian Shapiro's novelty filter. The idea should fit at least one:
If the idea doesn't pass any filter, say so. Help the user find the angle that does.
Generate 10 title variants using different hook strategies. Read references/hooks-and-titles.md for the full framework of 10 hook types and headline formulas.
Constraints for developer audiences:
Present 10 titles ranked by assessment, with a brief note on why each works. Let the user pick or remix.
Delegate the hook to the copywriting-hooks skill. Pass the topic, audience, language, content type, and length target from Phase 1. The skill will propose 3-4 hook options (2 candidates each) and wait for the user to pick. Do not write the hook yourself — let the skill run its full workflow.
After the user picks a hook, write the remaining intro (2-3 paragraphs) around it:
copywriting-hooks)Address three reader objections:
Anti-patterns to avoid:
Choose structure based on content type. Read references/article-structures.md for detailed templates per content type.
General structural principles:
For code-heavy articles:
For opinion/analysis:
Write the complete article. Interleave hook, body sections, and conclusion.
For the conclusion, avoid restating the article. Instead pick one of:
Delegate to the copywriting-cta skill. Pass the objective from Phase 1 as the primary objective. The skill will interview the user for any missing inputs (article context, audience relationship, funnel stage, mechanism) and produce the complete CTA recommendation — copy, form, mechanism, A/B test plan, and accessibility check.
Place the CTA output at the end of the article, after the conclusion. Do not write a CTA yourself.
Invoke a humanizer skill (e.g. "humanize", "humanizer", "de-slop", "natural writing check", "AI detection cleanup", "rewrite like a human") to strip AI-generated patterns — filler words, predictable cadence, over-hedging, hollow transitions, inflated language. Developer audiences have a built-in BS detector; AI-sounding prose kills trust before the reader reaches the technical content.
Preserve the hook and title. The opening hook (Phase 3) and title (Phase 2) were deliberately engineered for curiosity and credibility. Instruct the humanizer to leave them intact — rewriting them for "naturalness" destroys the copywriting structure that earns the click and the first scroll.
After the draft is complete, suggest 1-3 images with specific placement in the article. For each image, provide:
Offer to generate a Midjourney prompt for each suggested image. If the user accepts, use the latest Midjourney model conventions to write the prompt.
--ar 16:9 or --ar 3:1 for hero/cover images and wide illustrations (optimal for article headers), --ar 3:2 for smaller inline images.Revisit titles from Phase 2. Now that the full piece exists, some titles fit better. Present top 3 with a recommendation.
Present the article in clean markdown with:
Read these when the corresponding phase needs more depth:
references/hooks-and-titles.md -- The 10 hook types, 6 copywriting frameworks (PAS, AIDA, BAB, FAB, PASTOR, 4Us), headline formulas, and research data. Read during Phase 2 and Phase 3.references/article-structures.md -- Detailed templates for each of the 8 content types, Diataxis framework, structural anti-patterns, and transition techniques. Read during Phase 4.© samber, 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 skills/technical-article-writer of samber/cc-skills.
Open the folder on GitHubat commit 123cb15
Technical Article Writer 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 |
|---|---|---|---|---|---|---|
| Technical Article Writer this skillsamber/cc-skills | 228 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Content Writer Agentmastra-ai/mastra | 29k | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| Create ArticleAbilityai/cornelius | 109 | — | ~2.1k | Automated safety check: Notes | MIT | |
| 26 Thought Leadership Content Globalminhnv0807/ai-business-skills | 608 | — | ~4.7k | Automated safety check: Pass | MIT | |
| Mkt Content Creationevolution-foundation/evo-nexus | 545 | — | ~2.2k | Automated safety check: Pass | Custom licence | |
| Content Creator ProLeoYeAI/openclaw-master-skills | 2.2k | — | ~7.2k | Automated safety check: Pass | MIT |
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.
Abilityai/cornelius
Create long-form articles from knowledge base insights. An agent skill from Abilityai/cornelius.
minhnv0807/ai-business-skills
A skill your agent uses when a PERSONAL brand needs long-form WRITTEN content that builds authority rather than sells — LinkedIn posts, X threads, Substack and Medium essays, using PAS-Insight for…
evolution-foundation/evo-nexus
Draft marketing content across channels — blog posts, social media, email newsletters, landing pages, press releases, and case studies.
LeoYeAI/openclaw-master-skills
Autonomous content creation engine for agents. An agent skill from LeoYeAI/openclaw-master-skills.
criptogus/agent-evolve-network
State-of-the-art viral content + social design intelligence.
samber/cc-skills
Interviews you about objective, audience and context, then designs an end-of-article call to action with copy, placement, A/B test plan and accessibility check.
samber/cc-skills
Builds a PROSE.md writing guide that captures how a person or brand writes, such as vocabulary, sentence rhythm and signature moves, separate from emotional tone.
samber/cc-skills
Drafts press releases that fit the release type, target media and region, after collecting the facts and checking that the story has a real news angle.
samber/cc-skills
Produces a training or workshop report as a Word file, with participant feedback and recommendations, drafted in Markdown first and converted once at the end.
samber/cc-skills
Pre-launch checklist for shipping a new website or web app. An agent skill from samber/cc-skills.
samber/cc-skills
Conventional Commits v1.0.0 branch naming, worktree naming, and commit message standards for GitHub and GitLab projects.
Works with
Categories
Write technical articles and blog posts for developer audiences — tutorials, explainers, benchmarks, bug hunts, postmortems, and 'we rewrote it in X' posts — with title variants and developer-grade…. Technical Article Writer is an agent skill from samber/cc-skills. Write technical articles and blog posts for developer audiences — tutorials, explainers, benchmarks, bug hunts, postmortems, and 'we rewrote it in X' posts — with title variants and developer-grade article structure.
Technical Article Writer fits situations like: the user asks to write a blog post; technical article; any long-form technical content; including write about [technical topic].
Run `npx skills add samber/cc-skills --skill technical-article-writer -a claude-code`. Or copy the skill folder (skills/technical-article-writer in samber/cc-skills) into .claude/skills/technical-article-writer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add samber/cc-skills --skill technical-article-writer -a codex`. Or copy the skill folder (skills/technical-article-writer in samber/cc-skills) into .agents/skills/technical-article-writer 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 samber/cc-skills --skill technical-article-writer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/technical-article-writer, .gemini/skills/technical-article-writer, .github/skills/technical-article-writer and .opencode/skills/technical-article-writer in your project.
SKILL.md names no scripts, command-line tools or credentials: Technical Article Writer is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Edit, Write, Glob, Grep, Agent, WebFetch, WebSearch, AskUserQuestion. Compatibility (from SKILL.md): Designed for Claude or similar AI agents..
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.
Technical Article Writer is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 13k 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 3.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Technical Article Writer: Content Writer Agent (mastra-ai/mastra, 29k stars), Create Article (Abilityai/cornelius, 109 stars), 26 Thought Leadership Content Global (minhnv0807/ai-business-skills, 608 stars) and Mkt Content Creation (evolution-foundation/evo-nexus, 545 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
samber (a GitHub user) maintains it in samber/cc-skills, which has 228 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 1, 2026.
Source: samber/cc-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.