make-content
Writes marketing content: articles, single posts, newsletters, scripts and repurposed cuts, each with an edit note and a claims check
Install / Use
npx skills add gooseworks-ai/goose-skills --skill make-contentInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Content & MediaSupported Platforms
Tags
Our assessment of make-content
make-content scores 86/100 on our quality scale, 760th of 1,185 Content & Media skills we index.
Its SKILL.md is 16 KB long, well organised into 8 sections and no code examples: a thorough specification that gives an agent plenty to work with.
With 1,222 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 33 days ago, so make-content is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
make-content compared with similar skills
All 4 of these similar skills score higher than make-content; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| make-content (this skill)by gooseworks-ai | 86 | 1.2k | 33d ago | SKILL.md |
| siyuanby siyuan-note | 100 | 46.9k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 33d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 33d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 137.2k | 11d ago | SKILL.md |
Frequently asked questions
- How do I install make-content?
- Run
npx skills add gooseworks-ai/goose-skills --skill make-content. The install tabs above show the steps for each supported agent. - Which AI agents does make-content work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is make-content safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is make-content still maintained?
- The repository was last updated 33 days ago, so make-content is actively maintained.
Skill content
View source on GitHubname: make-content description: >- Writes marketing content: articles, single posts, newsletters, scripts and repurposed cuts, each with an edit note and a claims check. Use when a marketer says "write a blog post / case study", "write a LinkedIn or X post / thread / X article", "carousel copy", "draft this week's newsletter", "turn this webinar into posts" or "repurpose this", "write a TikTok or YouTube script", "refresh this old post", or "write the page from this SEO brief". Words only; nothing is invented or published. Not for a dated posting calendar — use run-organic-social; not ad copy (make-static-ads) or promo emails (email-lifecycle). Press releases, landing and product pages, and sales decks are not covered. version: 0.1.2
make-content
What you get
One of five things, saved to the brand's workspace and shown in chat:
- A repurposed set. One finished asset is mined into scored units. Each platform the brand uses gets a native version with a different lead unit and hook, ready to paste. Each version has an asset line saying what visual it needs and who makes it.
- A single post. One LinkedIn, X, Threads or Instagram post, a thread, or an X long post or Article (references/formats.md), written native to its platform. It skips the calendar and the units table unless there is a source asset.
- A fresh piece. A one-page brief, then a first draft in the brand's (or a named author's) voice. Long-form adds the publish kit: headline options, meta, slug, H2 skeleton, internal links, CTA, image notes and distribution notes.
- A refresh redline. An old piece rewritten where it decays, with each change and its reason.
- This week's newsletter issue, written from a saved template and the week's notes.
Every piece carries an edit note and a claims check: what was kept, softened and cut, and the proof that would restore each cut. The formats are listed in references/formats.md. Anything else is routed (Out of scope).
Before you start
Read research/market/positioning-<product>.md when present, else research/market/positioning.md, and its dated report. Carry the owner-selected launch direction into this work even when the live site/kit still uses earlier messaging. Unselected options stay proposals and every factual claim keeps its existing proof/approval status.
Briefs only, one or several topics: after the shared setup and evidence read below, run the existing make-content-content-brief skill (../make-content-content-brief/SKILL.md) for each supplied topic. Reuse a shared inventory/source read, distinguish overlapping intents, and deliver the requested briefs with their sources and proof gaps. Stop at briefs: no draft articles, outline-approval loop or newsletter intake unless asked. State any unfinished topic; never return one brief as a completed ten-topic request.
-
Setup first: do the
marketing-guideskill (../marketing-guide/SKILL.md) §1–2 (connect, brand, brain read) before anything else; the job line is "I write from your brand's voice and claims through it." (get_startedwithwants: "more".) Then, for this playbook:- Brain path: open chapters 2 "What we sell", 5 "Who we sell to", 11 "How we sound" and 22 "Everything we have made and run" (past content), then
gooseworks:brand_readlean with onlysections: ["sources","organic"](the brain doesn't hold own posts or saved sources). - Fallback path:
gooseworks:brand_readlean withsections: ["summary","kit","learnings","sources","organic","products"], thenproduct_idsfor the products the piece covers. Learnings atdetail: "full"only in their own call, when you needdo,insightortemplate_hintrules (several sections at full detail overflow).gooseworks:knowledge_searchwith the task, for past content and documents. - Either path:
gooseworks:file_listoncontent/andbrand/voices/;gooseworks:file_readcontent/channels.md. - The brand's platforms, in this order:
content/channels.md→social/accounts.md→sourcesrows withrelationship: "self"andsource_type: "organic_social", plusorganic.own_accounts. Ignore the ad-library sources.
- Brain path: open chapters 2 "What we sell", 5 "Who we sell to", 11 "How we sound" and 22 "Everything we have made and run" (past content), then
-
Say plainly what the brain can't support, before drafting. Lines this piece needs (the core positioning, a number, a customer name) that aren't signed off go to the marketer in the intake message, per Approval gates § Claims. When something the marketer says contradicts the brain, ask which is true and save the answer as their correction.
-
Ask only what is missing, in one intake message, at most four questions.
- Repurpose: the source asset, and the platforms if not saved.
- Single post: the platform, the point and whose account it is for (brand page or a named person), if not given.
- Fresh piece: topic, audience, format, where it publishes and by when, and the CTA destination.
- Opinion-led piece: whether the marketer has a view.
- Case study: the interview transcript, the customer's written OK to be named and quoted, and the results period.
- Search-intent piece: the yes for the search-results read when it needs the proxy (Steps, 4.1).
Never guess any of these. With no topic, offer 3 candidate questions from the voice-of-customer bank, labelled "unverified: you pick". Save the platform list and house style to
content/channels.md; they are not learnings.
Steps
1. Pick the path. Repurpose · single post · fresh piece · refresh · newsletter.
- A sibling's request arrives as a page brief (
search/briefs/<page-slug>.md), an asset-list row (gooseworks:campaign_read) or a "what to make next" line (reports/performance/<date>.md). Treat it as a fresh piece with that input. - Read any
Graphic ready:answers under your earlier asset lines and image notes (content/repurposed/,content/drafts/). Attach those images to the pieces they belong to. - Do only the work the ask needs.
2. Repurpose.
- Get the source in (references/repurposing.md §1).
- Mine and score units (the
make-content-source-to-unitsskill,../make-content-source-to-units/SKILL.md). A thin source, such as a short silent clip, supports 2–3 versions. Say so, and suggest a richer asset. - References only, never to copy:
gooseworks:social_inspiration_search, orbrand_readorganic.competitor_top_posts(skip posts outside the brand's category). - Write one native version per platform the brand uses, each led by a different unit (references/repurposing.md §4). Skip the platform the source already lives on unless a re-cut is asked for. Add a second surface on a platform only when strong units outnumber platforms.
3. Single post.
- Write it to references/repurposing.md §4 for its platform and account (brand page or a named person), with the hook first and 2 alternatives.
- Voice: the account's card if one exists; else the brand card (build it free from
brand_read organicwhen ≥8 own posts exist); else match against themake-content-two-pass-editskill (../make-content-two-pass-edit/SKILL.md)'s fallback order and label the post "voice provisional". Never open a paid read or the voice interview for one post; offer to build a card afterwards. - Then step 6. No brief, no calendar intake.
- If the marketer wants a run of posts over dates, say you can plan a two-week calendar instead, and stop here.
4. Fresh piece. In this order:
- Brief (the
make-content-content-briefskill,../make-content-content-brief/SKILL.md).- Search-intent pieces (SEO, answer, comparison, a how-to people search for), when no page brief carries the top results: read them first. Use the host's own web search (free), or one
/v1/google/searchread through the proxy (themarketing-data-accessskill (../marketing-data-access/SKILL.md), thespend-gateskill (../spend-gate/SKILL.md) proxy branch, with the yes asked in the intake message). - Open the top 3 results and log URLs and dates. With no fetch, judge information gain from titles and snippets and label it "snippets only". "Information gain: not checked" ships only if the marketer declines the read.
- Then the public sources for world facts.
- Search-intent pieces (SEO, answer, comparison, a how-to people search for), when no page brief carries the top results: read them first. Use the host's own web search (free), or one
- POV. If a view is needed and missing, run the interview (references/point-of-view.md). With no answer, write the no-POV version and label it.
- Proof gate. Count only H2s that make factual claims; interview lines count as proof. If fewer than half are proofed, stop at the brief and hand over "what unlocks this draft" (4–6 specific asks).
- Outline gate. Long-form and every case study: show the brief and outline and wait for a yes.
- Draft.
- Bylined pieces: the author’s card through the voice-card atom. For company blog/article work, read
brand/voices/blog-<brand-slug>.mdfirst when present; apply its company style and bans, then a named author’s card for individual differences. A provisional guide stays labelled provisional. Social cuts use its applicable channel rules, not blog length. - Draft to the format's anatomy (references/formats.md), section by section for long pieces, saving each with
gooseworks:file_write. - Fill proof only from the brief's inventory; each gap stays
[PROOF NEEDED: …]. Before leaving any fill-in or gap, check the brand's own public docs (help centre, quickstart, pricing, changelog): a product fact found there (e.g. what one video costs in credits) is filled in with its link, not asked. Fill-ins should shrink between drafts, never grow. - A page draft puts its
search/briefs/…path on line one.
- Bylined pieces: the author’s card through the voice-card atom. For company blog/article work, read
5a. Refresh.
- Get the current text in.
- Keep what earns its place. Rewrite the lede and title.
- Update stale facts only to sourced or signed-off ones. Add what the decay reason points to, and cut what's outdated.
- Deliver a section-by-section redline: old → new, and why.
5b. Newsletter.
- If
content/newsletter/template.mdis missing, send one message with:- a proposed default: a 300–500-word editor's letter, 2–4 items each with "why it matters", one CTA, a sign-off;
- at most four questions: who signs it, who the list is and how they joined, send day, CTA destination;
- the ask for this week's notes.
- With no notes, offer an issue built from the brain, labelled "unverified: you pick".
- Save the template. On later runs, ask only for the week's notes.
- The lead is an editor's note from the notes, in the signer's voice. It needs the POV interview only when it argues a position.
6. Edit, check, edit (the make-content-two-pass-edit skill, ../make-content-two-pass-edit/SKILL.md):
- The substance pass.
- The claims check, per Approval gates § Claims. When a piece is sponsored, affiliate, gifted or a creator collaboration, also load
../ad-policy-check/disclosure.md(in thead-policy-checkskill) and apply it. - The readability pass and the AI-tell check on what survived.
Attach the edit note and one claims block per piece or set.
7. Hand over.
- Show, in order: title and path; the brief or a link to it; the piece; the publish kit (long-form); the edit note; the claims check; open gaps (
[PROOF NEEDED],[CUSTOMER APPROVAL NEEDED],[NAME: …], PERSON YES NEEDED). - For a large set, show the strongest three in full and say the rest are in the file.
- End with: "Nothing is published — you edit and post. If you want the social pieces in a two-week posting calendar, ask for it next." Offer only; never start another playbook yourself.
Approval gates
- Claims. Brand claims go only through the shared claims gate (the
claims-gateskill,../claims-gate/SKILL.md): signed-off claims verbatim, or its scoped sign-off now (3–5 lines put to the marketer in the intake message, their answer recorded; never when someone else approves claims — then those lines wait), or plain product facts only, which is also the path when the marketer declines. World facts, competitor facts, stories, sensitive topics and third-party rights
Truncated for display — read the full file on GitHub.
Related Skills
siyuan
46.9kAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间,让人与智能体在此协作
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
137.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
