Content Creator
thatrebeccarae/claude-marketing
Comprehensive content marketing toolkit with brand voice analysis, SEO optimization scripts, content frameworks, social media strategy, and content calendar planning.
Write well-structured professional articles. An agent skill from open-cqrs/opencqrs.
$ npx skills add open-cqrs/opencqrs --skill write-article -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install open-cqrs/opencqrs write-article --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/open-cqrs/opencqrs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/write-article .claude/skills/write-article && 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 "write-article" agent skill from https://github.com/open-cqrs/opencqrs/tree/main/.claude/skills/write-article into .claude/skills/write-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-article", 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/open-cqrs/opencqrs/tree/main/.claude/skills/write-articleType 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 open-cqrs/opencqrs --skill write-article -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install open-cqrs/opencqrs write-article --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-cqrs/opencqrs.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/write-article .agents/skills/write-article && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "write-article" agent skill from https://github.com/open-cqrs/opencqrs/tree/main/.claude/skills/write-article into .agents/skills/write-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-article", 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 open-cqrs/opencqrs --skill write-article -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install open-cqrs/opencqrs write-article --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-cqrs/opencqrs.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/write-article .cursor/skills/write-article && 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 "write-article" agent skill from https://github.com/open-cqrs/opencqrs/tree/main/.claude/skills/write-article into .cursor/skills/write-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-article", 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/open-cqrs/opencqrs.git --path .claude/skills/write-article--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 open-cqrs/opencqrs --skill write-article -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install open-cqrs/opencqrs write-article --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-cqrs/opencqrs.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/write-article .gemini/skills/write-article && 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 "write-article" agent skill from https://github.com/open-cqrs/opencqrs/tree/main/.claude/skills/write-article into .gemini/skills/write-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-article", 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 open-cqrs/opencqrs write-articleInstalls 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 open-cqrs/opencqrs --skill write-article -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/open-cqrs/opencqrs.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/write-article .github/skills/write-article && 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 "write-article" agent skill from https://github.com/open-cqrs/opencqrs/tree/main/.claude/skills/write-article into .github/skills/write-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-article", 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 open-cqrs/opencqrs --skill write-article -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install open-cqrs/opencqrs write-article --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-cqrs/opencqrs.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/write-article .opencode/skills/write-article && 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 "write-article" agent skill from https://github.com/open-cqrs/opencqrs/tree/main/.claude/skills/write-article into .opencode/skills/write-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-article", 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.
write-articleWrite well-structured professional articles. An agent skill from open-cqrs/opencqrs.
Write Article is an agent skill from open-cqrs/opencqrs. Write well-structured professional articles. Use when creating blog posts, technical articles, or thought leadership content.
Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Writing & Content, covering Blog and article writing and Content marketing. The repository describes itself as: Java CQRS/ES Framework for the EventSourcingDB. The licence is Apache-2.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 48b96be. 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:
AskUserQuestionReadWriteEditGlobGrepBashFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml 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.
Write Article loads about 3.9k tokens when it runs. Until then it costs about 35 tokens; SKILL.md has 2,015 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: AskUserQuestion, Read, Write, Edit, Glob, Grep, BashAutomated 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 open-cqrs/opencqrs at commit 48b96be, republished under its Apache-2.0 licence (© open-cqrs). 2,015 words, ~3,894 tokens.
.claude/skills/write-article/SKILL.md (or your agent's skills folder).Write a professional article based on the following input: $ARGUMENTS
Layout reference: the full artifact layout for the article pipeline is specified in
.claude/article-pipeline.md. This skill readsbrief.md(and optionallydialogue.md) from a session folder under.article-work/{YYYY-MM-DD}-{slug}/, writes the published article intomkdocs/docs/blog/posts/, and appends to the cumulativeenrichment-notes.mdin the same session folder.
Examine the input carefully. It falls into one of three categories:
A) Reference to a Brief Artifact — The input contains a path to a file at .article-work/{date}-{slug}/brief.md (or, for legacy sessions, .claude/article-briefs/). This is the standard handoff from brainstorm-article. Do this:
title, slug, date, optionally dialogue_transcript, and status. Its body is the full Article Brief as approved by the user.dialogue_transcript field. If present, the original dialogue is available at that path (relative to the session folder, typically dialogue.md) as a secondary reference. Do not read it eagerly — but reach for it when you need:B) Inline Structured Article Brief — The input string itself contains an Article Brief (with **Title:**, **Slug:**, **Category:**, sections, key insights, etc.) rather than a path. This is the older handoff style. Use the brief as-is. Skip Step 2 entirely. Proceed directly to Step 3.
C) Loose topic or instructions — The input is a free-form topic, a rough idea, or a set of instructions without a structured brief. In this case, proceed to Step 2 to gather the information you need before writing.
This step only runs when the input is a loose topic without a structured brief.
First, ask the user whether this article should be based on a specific repository or codebase, or whether it should be written freely without a code reference. Use AskUserQuestion for this.
Then confirm the following with the user via AskUserQuestion:
kersten — confirm or ask for a different author key from .authors.yml)Write the article following all the style and formatting rules defined below. If an Article Brief was provided, follow its structure, sections, key insights, and technical details closely. Present the full article to the user for review before saving.
Once the user approves the article, save it into the mkdocs blog structure. The companion enrichment-notes.md lives under .article-work/{date}-{slug}/ (not next to the article) — see Step 5.
mkdocs/docs/blog/posts/ and incrementing the highest number found.mkdocs/docs/blog/posts/post-{N}-{slug}.md with the following front matter format:---
title: <Article Title>
date: <YYYY-MM-DD>
authors:
- <author-key>
categories:
- <Category>
tags:
- <tag1>
- <tag2>
- <tag3>
slug: <url-slug>
---Add the <!-- more --> excerpt marker after the introduction paragraph (first paragraph after the H1 heading). This controls where the preview cuts off on the blog index page.
Update mkdocs/mkdocs.yml — add the new post to the nav section under Blog. If the article belongs to a series, add it under the existing series heading. If it starts a new series or is a standalone article, add it as a direct entry under Blog.
Verify the author key exists in mkdocs/docs/blog/.authors.yml. If the author is not yet listed, ask the user for the required information (name, description) and add the entry.
enrichment-notes.mdenrichment-notes.md is the cumulative companion that brainstorm seeds, the writer and grill append to, and enrich-article consumes. The full contract lives in .claude/article-pipeline.md.
File path: in the same session folder as brief.md, e.g. .article-work/2026-06-06-gateway-pattern/enrichment-notes.md. Do not place it next to the published article in mkdocs/docs/blog/posts/.
Expected state on entry: brainstorm-article should have already created this file and written a ## From brainstorm-article ({date}) section. If the file is missing (the user came straight to write without going through brainstorm), create it now with the header and frontmatter from the brainstorm contract; otherwise read it.
Your job: append a new section ## From write-article ({YYYY-MM-DD}) to the end of the file. Never overwrite the brainstorm section. Use the same subsection vocabulary as brainstorm, omitting subsections that have nothing for them:
## From write-article ({YYYY-MM-DD})
### Collapsible Deep Dives (high priority)
<one subsection per planned ??? tip / ??? info box that surfaced during writing — placement, why it matters, 3-6 sentences of content. Or omit.>
### Cross-Link Targets (in addition to those already generated by the standard rules)
<bulleted list of doc paths and the article phrases that should link to them. Or omit.>
### Admonitions (recommended)
<one bullet per planned admonition: type, title, suggested placement, content. Or omit.>
### Abbreviation Tooltips (article-specific, do not duplicate from glossary.md)
<*[Term]: definition lines. Or omit.>
### Content Annotations ({ .annotate } markers)
<concrete anchor phrases and the annotation content. Or omit.>
### External References (for context)
<books, specs, blog posts, papers referenced in writing-time discussions. Or omit.>
### Open Questions / Future-Article Seeds
<topics that came up while writing but do not fit this article and would warrant a separate piece. Or omit.>
### Code Reference Hints (for content annotations or admonitions)
<specific file paths and line numbers the enricher might want to point at. Or omit.>
### Style/Voice Notes for the Enricher
<article-specific style points that emerged from writing. Or omit.>Sourcing the content:
Maintenance rule: When the user has follow-up questions about the article and the conversation produces new material that would enrich it (a sidebar idea, a naming insight, a missing cross-reference, a clarifying example), append it to the write-article section immediately, with a brief note about where it should land. Do not wait for the enrichment step to remember things.
##). Never use ### or deeper heading levels.**[link text](url)**.© open-cqrs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/write-article of open-cqrs/opencqrs.
Open the folder on GitHubat commit 48b96be
Write Article 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 |
|---|---|---|---|---|---|---|
| Write Article this skillopen-cqrs/opencqrs | 118 | — | ~3.9k | Automated safety check: Notes | Apache-2.0 | |
| Content Creatorthatrebeccarae/claude-marketing | 162 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Share Buttonsthedaviddias/Front-End-Checklist | 74k | — | ~565 | Automated safety check: Pass | MIT | |
| Article Writingericrisco/rsc-harness | 167 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Money Contentiamzifei/show-me-the-money | 1k | — | ~9.6k | Automated safety check: Pass | Custom licence | |
| Content Engineindranilbanerjee/digital-marketing-pro | 855 | 1 repos | ~8.9k | Automated safety check: Pass | MIT |
thatrebeccarae/claude-marketing
Comprehensive content marketing toolkit with brand voice analysis, SEO optimization scripts, content frameworks, social media strategy, and content calendar planning.
thedaviddias/Front-End-Checklist
A skill your agent uses when applies to blog posts, news articles, tutorials, and other long-form content.
ericrisco/rsc-harness
A skill your agent uses when writing one long-form article end to end — answer-first lede, question-shaped headings, plus its on-page surface (title, meta, slug, FAQ, Article/FAQPage JSON-LD) — or…
iamzifei/show-me-the-money
Automated content creation pipeline for business growth. An agent skill from iamzifei/show-me-the-money.
indranilbanerjee/digital-marketing-pro
Draft marketing content in brand voice — blog posts, ad copy, email sequences, social posts, landing pages, and brand-voice guides — through a gated pipeline (research, outline, draft, fact-check…
indranilbanerjee/digital-marketing-pro
Create a production-ready content brief a writer can execute without extra context — keyword map (primary, secondary, related questions), H2/H3 outline with key points and word-count targets, brand…
open-cqrs/opencqrs
Generate the release announcement package for a finished blog article — Google-Sheet row fields plus three LinkedIn-post variants — and print everything to the terminal as copy-ready templates.
open-cqrs/opencqrs
Develop a blog article topic through a guided conversation. An agent skill from open-cqrs/opencqrs.
open-cqrs/opencqrs
Enrich a blog article with cross-links to OpenCQRS documentation, abbreviation tooltips, admonitions, and content annotations.
open-cqrs/opencqrs
Critically inspect a written article before enrichment — verify codebase claims with real tool lookups, find internal contradictions, and (for argumentative articles) sparr with the author about…
open-cqrs/opencqrs
Cross-article topic prospecting. An agent skill from open-cqrs/opencqrs.
open-cqrs/opencqrs
Exploratory technical dialogue about a topic with an open outcome.
Categories
Write well-structured professional articles. An agent skill from open-cqrs/opencqrs. Write Article is an agent skill from open-cqrs/opencqrs. Write well-structured professional articles.
Write Article fits situations like: creating blog posts; technical articles; thought leadership content.
Run `npx skills add open-cqrs/opencqrs --skill write-article -a claude-code`. Or copy the skill folder (.claude/skills/write-article in open-cqrs/opencqrs) into .claude/skills/write-article in your project. Claude Code loads it when a task matches its description.
Run `npx skills add open-cqrs/opencqrs --skill write-article -a codex`. Or copy the skill folder (.claude/skills/write-article in open-cqrs/opencqrs) into .agents/skills/write-article 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 open-cqrs/opencqrs --skill write-article -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/write-article, .gemini/skills/write-article, .github/skills/write-article and .opencode/skills/write-article in your project.
SKILL.md names no scripts, command-line tools or credentials: Write Article is instructions for the agent only. Its frontmatter pre-approves these tools: AskUserQuestion, Read, Write, Edit, Glob, Grep, Bash.
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 notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Write Article is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.9k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Write Article: Content Creator (thatrebeccarae/claude-marketing, 162 stars), Share Buttons (thedaviddias/Front-End-Checklist, 74k stars), Article Writing (ericrisco/rsc-harness, 167 stars) and Money Content (iamzifei/show-me-the-money, 1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
open-cqrs (a GitHub organization) maintains it in open-cqrs/opencqrs, which has 118 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on September 28, 2026.
Source: open-cqrs/opencqrs on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.