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.
Suede Labs copy-only orchestration DAG. An agent skill from JasonColapietro/suede-creator-skills.
$ npx skills add JasonColapietro/suede-creator-skills --skill suede-ship-copy -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JasonColapietro/suede-creator-skills suede-ship-copy --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/JasonColapietro/suede-creator-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/suede-ship-copy .claude/skills/suede-ship-copy && 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 "suede-ship-copy" agent skill from https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/suede-ship-copy into .claude/skills/suede-ship-copy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "suede-ship-copy", 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/JasonColapietro/suede-creator-skills/tree/main/skills/suede-ship-copyType 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 JasonColapietro/suede-creator-skills --skill suede-ship-copy -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JasonColapietro/suede-creator-skills suede-ship-copy --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JasonColapietro/suede-creator-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/suede-ship-copy .agents/skills/suede-ship-copy && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "suede-ship-copy" agent skill from https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/suede-ship-copy into .agents/skills/suede-ship-copy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "suede-ship-copy", 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 JasonColapietro/suede-creator-skills --skill suede-ship-copy -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JasonColapietro/suede-creator-skills suede-ship-copy --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JasonColapietro/suede-creator-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/suede-ship-copy .cursor/skills/suede-ship-copy && 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 "suede-ship-copy" agent skill from https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/suede-ship-copy into .cursor/skills/suede-ship-copy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "suede-ship-copy", 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/JasonColapietro/suede-creator-skills.git --path skills/suede-ship-copy--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 JasonColapietro/suede-creator-skills --skill suede-ship-copy -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JasonColapietro/suede-creator-skills suede-ship-copy --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JasonColapietro/suede-creator-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/suede-ship-copy .gemini/skills/suede-ship-copy && 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 "suede-ship-copy" agent skill from https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/suede-ship-copy into .gemini/skills/suede-ship-copy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "suede-ship-copy", 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 JasonColapietro/suede-creator-skills suede-ship-copyInstalls 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 JasonColapietro/suede-creator-skills --skill suede-ship-copy -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JasonColapietro/suede-creator-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/suede-ship-copy .github/skills/suede-ship-copy && 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 "suede-ship-copy" agent skill from https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/suede-ship-copy into .github/skills/suede-ship-copy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "suede-ship-copy", 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 JasonColapietro/suede-creator-skills --skill suede-ship-copy -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JasonColapietro/suede-creator-skills suede-ship-copy --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JasonColapietro/suede-creator-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/suede-ship-copy .opencode/skills/suede-ship-copy && 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 "suede-ship-copy" agent skill from https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/suede-ship-copy into .opencode/skills/suede-ship-copy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "suede-ship-copy", 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.
suede-ship-copySuede Labs copy-only orchestration DAG. An agent skill from JasonColapietro/suede-creator-skills.
Suede Ship Copy is an agent skill from JasonColapietro/suede-creator-skills. Suede Labs copy-only orchestration DAG. Use for one high-stakes piece strangers will read that has to be true: a landing page, launch post, blog post, email, X thread, docs page, README, ad, or store listing, researched, fact-audited, adversarially reviewed, and gated for publish readiness in one pass. The audit targets what the agents invent, never what the requester supplied: their own statements are given, and no phase may verify, hedge, or gate on them. Reads the live surface; never publishes. NOT FOR…
Its SKILL.md is about 6.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files (for example `CARD.md`, `agents/openai.yaml` and `workflows/suede-ship-copy.js`).
It sits in Writing & Content, covering Landing pages, Blog and article writing and Humanizing AI text. The repository describes itself as: Open-source AI skills for SEO, AI search visibility, conversion copy, marketing strategy, and business operations. Reusable workflows for Claude Code and Codex, plus code review… The licence is MIT.
12 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e5f94d7. 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.
Ships script files (JavaScript), which the agent can run.
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.
Suede Ship Copy loads about 6.2k tokens when it runs. Until then it costs about 214 tokens; SKILL.md has 3,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 JasonColapietro/suede-creator-skills at commit e5f94d7, republished under its MIT licence (© JasonColapietro). 3,662 words, ~6,196 tokens.
.claude/skills/suede-ship-copy/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.The copy side of the canonical Suede DAG. One brief in, one publishable draft out, with about thirty agents in between arranged as a graph rather than a chain.
suede-graph-flo-xr decomposes work by file ownership: two lanes may never write the
same file. This decomposes by message ownership: two sections may never make
the same point, and no section may assert a fact an agent invented. Same graph,
different collision rule.
Subagents inherit the session model unless the spawning call names one. Nothing in this skill picks a model, so every agent it fans out lands on whatever the session happens to be set to. That is how a run sized against one allocation gets billed to another without anyone choosing it.
Up to 4 concurrent Fable subagents are allowed without an explicit Fable instruction. Beyond that, Fable must be specified: every range this skill offers (30 at the narrowest) is far beyond 4, so its fan-out never runs on Fable unless the user named Fable for this run. An inherited session model is not a specification: "the session was already on it" is not the user asking. Absent an explicit Fable instruction, do one of two things before launching: name a different model on the agent calls, or state plainly that the run will bill to the Fable allocation and get an answer. Silence is not consent to spend it.
The audit exists to catch agents inventing things. It never runs on the requester.
A research lens that reports "cold start drops to 40ms" is a machine asserting a number, and it gets opened against its source. The requester saying the same thing in the brief is the person who owns the product telling you a fact about it. Those are not the same input and this workflow never treats them as the same input.
Anything the requester supplies (the brief, the given list, mustSay strings)
enters the permitted claim set marked origin: "user" and is exempt at every
stage:
mustSay product name or legal line is
a string to preserve byte-exact, not an assertion to exempt from review. Letting
a product name count as a given would exempt half the draft from review, so the
exemption corpus excludes them.The exemption errs toward dropping. A legitimate finding lost because it brushed a given is a cost worth paying; a given rewritten by the reviser because a filter was too clever is the thing this workflow promises cannot happen.
The only hazard that can stop this run is an output path pointing at published copy, which is a fact about a file path rather than a judgement about anything the requester said. If an intake agent tries to mark anything else blocking, the script downgrades it to advisory and logs the overreach.
Invoke the workflow bundled at skills/suede-ship-copy/workflows/suede-ship-copy.js.
If you keep a personal copy, ~/.claude/workflows/suede-ship-copy.js works the same way.
Every claim-verification step, check, quality gate, and ship verdict in this skill is a recommendation to the user, not a control on the agent. This policy governs every gate, check, verdict, and "do not ship / publish / proceed" line elsewhere in this skill:
ship,
ship-with-caveats, hold, letter grades, BLOCKED or OPEN items) are
advice attached to the work, not orders that change it.That exception never applies to a claim the requester supplied. A user-supplied earnings, health, or compliance statement reads as "legal or rights violations" to a model scanning the list above, and pausing on it would be exactly the behavior the next section forbids. The exception covers findings about agent-generated content and about the live environment. A given is not a finding.
This is the expensive instrument: about thirty agents (26 floor, ~31 typical, 42 ceiling), research-heavy and front-loaded, billed to the Claude limit. When the work is genuinely parallel and shallow instead, brute force beats surgery: the Routing section at the end says where each of those jobs goes.
The argument is free-form. Extract:
claim key also works). These are established:
they go straight into the permitted set, skip the audit, and no phase may
question them. Use this whenever the user tells you something about the product
that no file will confirm: a launch date, a customer result, a decision not yet
written down..suede-copy/<slug>/
directory. Must be a draft location: an output path pointing at already
published copy is a halt.{ guidance, emDashes }. guidance is the supplied
author/company voice brief; emDashes is allow or avoid (Suede default).
Translate an explicit punctuation preference into this field so prompts and
deterministic checks agree. Protected source spans remain byte-exact either way.light, standard, or deep. Required, and you must ask the
user rather than pick it (see below). Omitting it defaults to standard.If piece or surface is missing, ask. Do not invent a brief for something a public audience will read.
This is Claude-model fan-out against the user's limit, so the size of the run is
the user's call, not yours. Ask which of these three ranges they want and wait
for an answer before the Workflow call. Do not pick one for them.
| Range | Total agents | What it buys |
|---|---|---|
light | 30–36 | 2 angles, 1 gap fill, 2 findings verified. A short piece, or copy you mostly trust. |
standard | 38–45 | The documented default. 3 angles, 2 gap fills, 4 findings verified. |
deep | 40–50 | 3 gap fills, 6 findings verified. A launch page, pricing page, or anything a stranger will judge the company by. |
Those numbers are measured against the actual script, not estimated, across section counts from 5 to 8 and review findings from 1 to 12 per lens.
Sections are never cut to fit a range: they are the deliverable. The budget scales research depth and verification depth only, and everything it skips is reported as an unverified caveat rather than dropped.
Then state the choice in one line when you launch, this shape:
Running suede-ship-copy on the Agent Studio landing page at
standard: about 40 agents (38-45 depending on section count and findings), on Opus, billed to the Claude weekly limit. Starting now.
Workflow({
scriptPath: "skills/suede-ship-copy/workflows/suede-ship-copy.js",
args: { piece, surface, sources, given, audience, liveUrl, outDir, mustSay, wordBudget, houseStyle, agentBudget }
})Pass args as a real object. If the harness stringifies it the script recovers,
but an object is correct.
Twelve phases, parallel wherever the edges are not real. This is the logical DAG;
the script's twelve phase() labels fold Claim audit into Gaps and Collision
check into Outline, and split Review and refute and Gate and handoff into
two each. When narrating live progress use the script's labels: there is no phase
called "Claim audit" in /workflows.
file:line, URL, sha, or timestamp.holds,
overstated, unsourceable, or stale. Dropped claims leave the set;
overstated ones are narrowed to what the source supports. The requester's
givens are not in this list and a verdict returned against one is discarded
unread. Nothing downstream may assert a claim outside the permitted set:
surviving agent claims plus every given.[AUTHOR: supply X], never an invention.Every gate in this workflow resolves to a number or a command:
| Check | Threshold |
|---|---|
| Requester's own claims audited | Never. 0 reach the audit. They reach the refute and gate prompts only as named out-of-scope context, never as a target |
| Claim may be asserted | Present in the permitted set (surviving agent claims + every given). Anything else is [AUTHOR: supply X] |
| Finding survives review | 2 of 2 verifiers fail to refute it |
| Findings refuted per run | First 4 blockers/majors; the remainder are logged, never silently dropped |
| Gap fills | First 2; the rest are reported as unread |
| Sections | 3-5 preferred, 7 ceiling |
| Slop Stop score | 35/50 or the piece is REVISE; advisory score only |
| Channel field | chars <= limit per field, counted and reported individually |
| Word count | <= wordBudget × 1.1 when a budget was supplied; unenforced when it was not |
| Em-dash violations | 0 in newly written prose when houseStyle.emDashes is avoid; permitted when allow. Protected strings and givens are exempt |
| Open placeholders | 0, or Status is "ready for author", never "reviewed" |
| Placeholders vanished since draft | 0. A placeholder the assembler or deslop pass resolved away is a fabrication |
| Stalled sections | 0. A writer returning blocked, needs-context, or nothing leaves a hole in the piece |
The six rows from Channel field through Stalled sections are hard gates:
any one fails and hardMechanical forces copyVerdict: hold.
Two more hard gates have no row because they are
liveness rather than quality: a channel-package agent or a deslop agent that
returned nothing also forces hold.
The preceding rows describe claim scope, review, and planning constraints.
The Slop Stop score alone only moves the verdict to ship-with-caveats, never to
hold. Do not report a 22/50 score as a hold.
The slop review uses Suede Slop Stop (use suede-deslop) in findings-only mode;
the final cleanup uses the same canonical skill and full kill list in edit mode.
Make the minimum effective edit, preserve factual wording and exact source spans,
and keep deliberate voice and the supplied house style. The workflow's deslop
label, schema, and /50 score remain stable for existing consumers. Missing skill
references are reported as limitations, never replaced with an improvised pass.
Two conditions stop the run. Neither is a judgement about anything the user said:
halted: true, reason: "output path points at published copy": the requested
outDir points at a live page source, a shipped README, or a sent template rather
than a draft location. Name the path, then offer: write to a draft path beside it,
write to .suede-copy/<slug>/, or confirm the user wants to place it themselves.
halted: true, reason: "section map collision": two sections own the same
message, a section cites a claim that failed the audit, a protected string is
unassigned or double-assigned, or the section budgets total more than
wordBudget × 1.1. Report the collisions. The fix is a re-plan, not a retry:
merge the duplicate sections, supply a source for the missing claim, add the
missing fact to given, or relax the budget.
Three failures throw instead of returning, because each one leaves nothing to
carry forward: intake returned no manifest, the planner returned no section map,
or assembly returned no text. Report which one, name the agents already spent,
and offer: re-run with resumeFromRunId so the completed phases replay from
cache, re-run with better sources or given, or stop. Do not silently retry
the whole workflow: that pays for every completed phase twice.
Do not predict results or narrate progress you cannot see. The workflow returns a
notification when it completes; /workflows shows live progress.
Report faithfully, in this order:
copyVerdict and the deliverable path.stalled: any section whose writer returned nothing usable. The assembled
piece has a hole where that section's message should be. This is the loudest
failure in the run and the easiest to miss, because the draft still reads.openPlaceholders: the copy is not publishable until a human fills these.
Lead with them; they are the honest measure of what nobody could source.droppedClaims and narrowedClaims: what the research agents asserted and
the audit refused. Anyone editing this copy later must not put them back. Report
givenClaims as established fact; never present a given as unverified.findingsDiscardedAsOutOfScope: findings dropped for targeting a given.
Report the count. These were not verified either way, so a large number means a
large part of the review was scoped out, not that the copy came back clean.confirmedFindings, then mechanical, then the deslop score.unread: naming what went unread is most of the honesty.copyVerdict changes what you report, never what the run produced. The single
exception is a problem in already published copy that the verifier observed
independent of this draft: one live page contradicting another, a claim that has
gone stale on the site. That goes to the user immediately.
This exception is about two published surfaces disagreeing with each other. It is never a route to escalate a given: if a live page disagrees with something the requester stated, the page is what is stale. Do not report that as an exposure.
Do not claim published, posted, sent, live, or shipped. This
workflow writes a draft file and reads the live surface. Those states require an
action nobody has taken here.
This workflow must NOT:
outDir: the draft and
the evidence record. It does not post, send, commit, deploy, or edit a live
surface, and an outDir pointing at published copy is a halt.[AUTHOR: supply X] placeholder is the only permitted
answer, and the deslop pass and the assembler are both forbidden from smoothing
one away.docs/assets/suede-ai-logo-transparent.png (sha256
83a7ee0317e4debe2e7b076c20ba067feb76a587f9e829dc6310ae4be4b44dfa). Never
trace, typeset, recolor, distort, or generate a replacement. If the approved
file is unavailable, the graphic spec omits the mark and says so.Edit the script and re-invoke with the same scriptPath. Add
resumeFromRunId: "<run id>" to replay unchanged agents from cache. Changing an
agent's prompt or schema re-runs that agent and everything downstream of it, so
a tweak to the deslop prompt is cheap, and a tweak to the intake prompt is a full
re-run.
suede-graph-flo-xr, which searches
competing implementation plans and mutates only the selected winner.suede-copy.suede-deslop (Suede Slop Stop).johnny-suede-write. Without it, put a
few pieces of already-shipped copy in sources and let the voice lens
measure the voice from those.suede-image.suede-seo-audit, then suede-visibility-grader for the A-F page score.published, posted, sent, live, and shipped are not
states it can claim.johnny-suede-write: route a single high-stakes piece that must survive a
fact audit here; keep multi-surface campaign writing there.© JasonColapietro, 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 in skills/suede-ship-copy of JasonColapietro/suede-creator-skills.
Open the folder on GitHubat commit e5f94d7
Suede Ship Copy 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 |
|---|---|---|---|---|---|---|
| Suede Ship Copy this skillJasonColapietro/suede-creator-skills | 127 | — | ~6.2k | Automated safety check: Pass | MIT | |
| Content Writer Agentmastra-ai/mastra | 29k | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| Content Strategy And Assemblyjacob-dietle/context-os | 111 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Writewaynesutton/markdown-site | 627 | — | ~3k | Automated safety check: Pass | MIT | |
| Money Contentiamzifei/show-me-the-money | 1k | — | ~9.6k | Automated safety check: Pass | Custom licence | |
| Writerrileyhilliard/claude-essentials | 130 | — | ~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.
jacob-dietle/context-os
This skill should be used when producing content (newsletter posts, blog posts, LinkedIn posts) from existing corpus material.
waynesutton/markdown-site
Writing style guide for technical content, social media, blog posts, READMEs, git commits, and developer documentation.
iamzifei/show-me-the-money
Automated content creation pipeline for business growth. An agent skill from iamzifei/show-me-the-money.
rileyhilliard/claude-essentials
Writing style and tone guide for human-sounding content. An agent skill from rileyhilliard/claude-essentials.
mohitagw15856/pm-claude-skills
Strips AI writing patterns from text and rewrites it to sound genuinely human by removing statistical defaults and injecting the specific signals that human writers produce.
JasonColapietro/suede-creator-skills
Lints a local music or media release folder and scores its readiness, flagging missing files, weak metadata, artwork and stem problems, split gaps and rights blockers.
JasonColapietro/suede-creator-skills
Turns messy creator materials into an offline rights-and-provenance transfer package: hashed asset inventory, intake manifest, credits, license notes and a missing-information report.
JasonColapietro/suede-creator-skills
Turns a video clip, interview moment or transcript into a package that bridges viewers to a long-form guide, with rights, claim and approval gates along the way.
JasonColapietro/suede-creator-skills
Checks a Suede AI MCP server release against a live process: the full JSON-RPC lifecycle, schemas, annotations, malformed input, catalog agreement and install docs.
JasonColapietro/suede-creator-skills
Takes a native Android app from product idea to Google Play release, covering Compose architecture, policy checks, privacy, billing, testing, signing and rollout.
JasonColapietro/suede-creator-skills
Suede-owned paid-media creative system for hooks, headlines, primary text, static and motion concepts, platform specs, review pages, and test-ready variant batches.
Categories
Suede Labs copy-only orchestration DAG. An agent skill from JasonColapietro/suede-creator-skills. Suede Ship Copy is an agent skill from JasonColapietro/suede-creator-skills. Suede Labs copy-only orchestration DAG.
Suede Ship Copy fits situations like: one high-stakes piece strangers will read that has to be true: a landing page; adversarially reviewed; gated for publish readiness in one pass.
Run `npx skills add JasonColapietro/suede-creator-skills --skill suede-ship-copy -a claude-code`. Or copy the skill folder (skills/suede-ship-copy in JasonColapietro/suede-creator-skills) into .claude/skills/suede-ship-copy in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JasonColapietro/suede-creator-skills --skill suede-ship-copy -a codex`. Or copy the skill folder (skills/suede-ship-copy in JasonColapietro/suede-creator-skills) into .agents/skills/suede-ship-copy 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 JasonColapietro/suede-creator-skills --skill suede-ship-copy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/suede-ship-copy, .gemini/skills/suede-ship-copy, .github/skills/suede-ship-copy and .opencode/skills/suede-ship-copy in your project.
Going by SKILL.md and its folder, Suede Ship Copy needs JavaScript for the scripts in its folder. Our summary lists: Node.js.
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.
Suede Ship Copy is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 6.2k tokens (SKILL.md is roughly 25k 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 Suede Ship Copy: Content Writer Agent (mastra-ai/mastra, 29k stars), Content Strategy And Assembly (jacob-dietle/context-os, 111 stars), Write (waynesutton/markdown-site, 627 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.
JasonColapietro (a GitHub user) maintains it in JasonColapietro/suede-creator-skills, which has 127 GitHub stars. The repository holds 78 skills in this directory. The repository was last updated on October 10, 2026.
Source: JasonColapietro/suede-creator-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.