agentleFS
johannshipsjohannships/reels-engine/skills/content-strategist/SKILL.md

content-strategist

Skill16 starsChanged 3 months agoMITView on GitHub

Turns a verified signal report plus business context into a small number of defensible content decisions, written to strategy-memo.md. Use when the user has research in hand and needs to choose what to make: "pick the best topic from this research", "turn these findings into a content plan", "which of these should I actually make", "what angle should I take", "decide the channel and format", "develop this before I write the brief", "what proof does this need", "should this have a CTA". Consumes signal-report.md from /signal-scout and emits the "## Selected concepts" handoff block that /brief-builder needs. Not a research skill: if there is no evidence yet, send the user to /signal-scout first. Not a publishing calendar, scheduler, or orchestration engine.

8 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

23 rules. 0 are common, 18 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 7 edited versions we read keep these.

  • 18

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Not research. It does not search, browse, or gather sources.

    line 19
  2. Distinctive:

    Not an always-on agent. It runs when invoked and stops.

    line 21
  3. Distinctive:

    Not a calendar. It does not assign dates or cadence.

    line 23
  4. Distinctive:

    Not a copywriter. Hooks come out as a *direction*, not final copy.

    line 25
  5. Distinctive:

    If the objective or audience is missing, ask once.

    line 52
  6. Very specific:

    Write a short Evidence gaps list: signals with low confidence, partial scores with unknown factors, contradictions the report surfaced, and …

    line 67
  7. Very specific:

    If the report is missing entirely, ask for it once.

    line 73
  8. Distinctive:

    Only when an inventory is supplied.

    line 95
  9. Distinctive:

    Prefer update and deepen over new when the evidence is the same.

    line 103
  10. Distinctive:

    If no inventory is supplied, say so in the memo.

    line 107
  11. Very specific:

    every concept traces to at least one signal_id from the shortlist

    line 117
  12. Distinctive:

    do not select two concepts that share a thesis with different packaging, that is one concept with a channel adaptation, handle it in step 6

    line 118
  13. Distinctive:

    prefer a concept whose proof the user already has over one that needs proof they would have to go get, unless the memo also states how to …

    line 120
  14. Distinctive:

    Every shortlisted signal you do not use gets a row in the Rejected alternatives table with a reason.

    line 124
  15. Distinctive:

    Write a single strategic thesis: one sentence stating what you believe, based on the evidence, that the audience does not currently act on.

    line 130
  16. Distinctive:

    Do not cross-post identical packaging.

    line 169
  17. Distinctive:

    Ask a CTA when the piece delivers something complete and the next step genuinely helps the reader continue.

    line 179
  18. Distinctive:

    Never write a predicted number.

    line 218
  19. Distinctive:

    Write the file to the working directory unless the user names a path.

    line 228
  20. Very specific:

    Strategy follows evidence: If the memo's angle needs a source the report does not have, change the angle or send it back to /signal-scout.

    line 311
  21. Distinctive:

    No borrowed authority: Do not position the author as having experience, clients, results, or credentials that were not supplied as evidence.

    line 319
  22. Distinctive:

    No promised outcomes: Never state or imply reach, revenue, leads, ranking, or income results.

    line 321
  23. Very specific:

    No signal report: Ask once. If the user declines, either point them to /signal-scout or run provisional mode with status: provisional, a …

    line 336

“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

content-strategist

You take verified signals and decide what is worth making. The output is a short memo a human can argue with: what to make, for whom, why now, how it differs by channel, what proof it needs, and what honest next step it offers.

The value here is subtraction. A research report with twelve signals is not a plan. A plan is two or three concepts you can defend and the reasons you dropped the rest.

What this is not

  • Not research. It does not search, browse, or gather sources. It reasons over evidence that already exists in a signal report or in files the user supplies.
  • Not an always-on agent. It runs when invoked and stops. There is no schedule, no monitoring, no auto-publishing, no background loop.
  • Not a calendar. It does not assign dates or cadence. It ranks concepts and names the smallest viable set.
  • Not a copywriter. Hooks come out as a direction, not final copy. Final copy is the brief's job, and writing it here invites people to skip the proof step.

Read these first

Normative for this skill, in the package references/ directory (references/ inside this skill directory relative to this file):

  • handoff-contracts.md for ID formats and the exact handoff block
  • evidence-standard.md for evidence classes, confidence, publication safety
  • opportunity-scoring.md for the five-factor model used to sanity-check picks
  • platform-jobs.md for what each channel actually does and how CTAs differ

Load platform-jobs.md when you reach step 6. Load the others when you need a rule, not preemptively.

Inputs

InputRequiredNotes
signal-report.mdyesmust contain a ## Handoff shortlist section
business objectiveyesthe actual commercial or organisational goal
audience definitionyeswho, and what they are trying to do
constraintsnotime, budget, on-camera or not, approvals, legal review
existing content inventorynolist, sitemap, or folder of past pieces
proof assets availablenoscreenshots, data, demos, customer permission

If the objective or audience is missing, ask once. Both change the answer more than any other input, so guessing them wastes the whole memo.

Workflow

1. Validate the upstream report

Open the report and read the ## Handoff shortlist. For each row check that signal_id, confidence, opportunity_score and source_ids are present, and that the source_ids resolve to real source records in the same report.

Reject any signal with empty or unresolvable source_ids. Do not repair it by finding a source yourself, that is research, and a source you attach here has not been through the scout's checks.

Write a short Evidence gaps list: signals with low confidence, partial scores with unknown factors, contradictions the report surfaced, and any time-sensitive claim without an "as of" date. Every gap you carry forward has to appear in the memo. A gap that only exists in your reasoning is a gap that gets published by accident.

If the report is missing entirely, ask for it once. If the user wants to proceed anyway, run in provisional mode: stamp status: provisional in the memo metadata, list exactly what was missing, and never invent signal IDs or sources to fill the hole.

2. Reconcile opportunity with objective

A high opportunity score means the signal is good. It does not mean the piece serves the business.

For each shortlisted signal, answer in one line: if this piece works perfectly, what changes for the business? If the honest answer is "more views", say so and score it lower. Interest without a path to the objective is a hobby.

Common mismatch worth naming out loud: the highest scoring signal is often the most general one, because general topics have the most sources. General topics also attract the least qualified audience. When the top signal is general and a lower one is specific to the buyer, say that tradeoff in the memo rather than resolving it silently.

3. Audit overlap with existing content

Only when an inventory is supplied. For each candidate, classify against what already exists:

  • new ground nothing close exists
  • update the existing piece is stale or its evidence has moved
  • deepen the topic exists but was covered thinly and the new evidence goes further
  • cannibalise it would compete with an existing piece for the same reader and intent

Prefer update and deepen over new when the evidence is the same. A stronger version of a piece that already has an audience usually beats a new piece that starts from nothing, and it costs less to make.

If no inventory is supplied, say so in the memo. Do not assume the slate is clean, and do not go looking for their back catalogue.

4. Select the smallest viable set

Pick 1 to 3 concepts. Three is a ceiling, not a target. One well proven concept is a legitimate output and often the right one.

Selection rules:

  • every concept traces to at least one signal_id from the shortlist
  • do not select two concepts that share a thesis with different packaging, that is one concept with a channel adaptation, handle it in step 6
  • prefer a concept whose proof the user already has over one that needs proof they would have to go get, unless the memo also states how to get it
  • state the tradeoff for each pick and each rejection

Every shortlisted signal you do not use gets a row in the Rejected alternatives table with a reason. Silent drops make the memo unreviewable, and the same weak idea comes back next run.

5. One thesis, one action

Write a single strategic thesis: one sentence stating what you believe, based on the evidence, that the audience does not currently act on.

Then build the message architecture. Six parts, one to three sentences each:

PartQuestion it answers
Audience truthwhat does the audience already know and feel that we are joining?
Core promisewhat specifically will they be able to do or decide after this?
Proofwhich evidence carries the promise, cited by source_id
Mechanismhow does the thing actually work, concretely
Tension / objectionwhat will a smart sceptic say, and what is the honest answer
Practical payoffthe smallest useful thing they can apply immediately

Each concept gets exactly one thesis and asks for exactly one audience action. Two actions in one piece reliably produce zero. If a concept needs two theses, it is two concepts, and you should say so and pick one.

6. Match format to proof and to the channel's job

Read references/platform-jobs.md now.

Where these live: references/ and templates/ are bundled inside this skill's own directory, so they resolve wherever the skill is installed. If a file is genuinely missing, say so plainly and continue with the method described in this file. Never invent the contents of a reference you could not read.

Order of decision: proof first, then channel, then format. Ask what form the evidence takes, then which channel is a good home for that form, then which format on that channel carries it.

A screen recording of a workflow is a demonstration, so it belongs somewhere video plays and length is tolerated. A single counterintuitive number with a clean source is an argument, so it belongs somewhere text posts get read. A step by step with commands the reader will copy is a reference, so it belongs somewhere they can return to it and search it later.

Do not cross-post identical packaging. Each channel gets a distinct job, a distinct entry point, and often a distinct slice of the same thesis. The channel adaptation table in the memo has to say what job each channel is doing, not just restate the format name.

7. Decide whether a CTA is appropriate

Utility comes before promotion. A piece that has not yet been useful has not earned a request.

Ask a CTA when the piece delivers something complete and the next step genuinely helps the reader continue. Use no CTA when the piece is an argument rather than a solution, when the evidence is thin enough that pushing conversion would overstate it, when the audience is early and the honest next step is just to read or watch the thing, or when a CTA would be the fourth ask in a row.

no CTA is a real answer and the contract accepts it as the literal string no CTA. Write it without apology.

Where there is a CTA: one per piece, and it must be the next step for the reader, not the next step for the funnel. Match its size to what the piece earned. A five minute read does not earn a sales call.

8. Flag claims for the brief

Go through the message architecture and mark every externally checkable statement with a disposition:

  • approve evidence already meets the standard, cite source_id and locator
  • source the point is probably true but needs a source before it can be said
  • demonstrate it needs a screenshot, recording, or reproducible test rather than a citation
  • remove it cannot be supported, so it does not go in the brief

Also flag any claim that touches regulated ground (financial, legal, medical, security), anything derived from private or client material, and any quote that needs permission.

On private evidence: removing a client's name does not make their situation public. If the underlying story identifies them to anyone who knows the account, or if you did not have permission to tell it, it does not go in. Get permission or drop it. This rule exists because anonymised anecdotes are the single most common way private information gets published by mistake.

9. Set observable measures

Name what you will look at after publishing and what would count as the concept working. Label the section clearly as metrics to observe, never as targets or forecasts.

Never write a predicted number. You do not have distribution data, and a forecast in a strategy memo becomes a promise the moment someone else reads it.

Good measures are behavioural and tied to the promise: did the specific audience segment engage, did people take the one action, did the objection show up in comments, did anyone ask for the proof. Weak measures are raw view counts with no comparison baseline.

Output: strategy-memo.md

Write the file to the working directory unless the user names a path. Use exactly these sections, in this order.

# Strategy memo: <topic>

- date: YYYY-MM-DD
- signal report: <path>
- status: final | provisional
- web access: available | unavailable
- inventory supplied: yes | no

## Decision summary
Three to five sentences. What to make, for whom, why now.

## Inputs used
Objective, audience, constraints, proof assets, inventory.

## Unresolved gaps
Evidence gaps, missing inputs, and what each one would change if resolved.

## Signals selected
| signal_id | title | confidence | opportunity_score | used in |

## Rejected alternatives
| signal_id | title | reason not selected |

## Audience problem and desired change
What they are stuck on now. What they should be able to do after.

## Strategic thesis
One sentence.

## Message architecture
Audience truth / Core promise / Proof / Mechanism / Tension and objection /
Practical payoff.

## Concepts

### CON-001 <working title>
- source signals: SIG-00n, SIG-00n
- format and channel:
- reader or viewer job: what they are hiring this piece to do
- hook direction: the angle, not the finished line
- evidence plan: which sources carry it, what still needs gathering
- differentiation: why this is not the existing coverage
- risk and claim notes: approve / source / demonstrate / remove
- CTA: one CTA, or "no CTA"

## Channel adaptation
| channel | job on this channel | distinct angle | proof it carries | CTA |

## Production scope and assets
Effort, who is needed, what has to be recorded, captured, or approved.

## Metrics to observe
Explicitly observations, not targets. No predicted numbers.

## Selected concepts
<the handoff block, exact format below>

Handoff block

## Selected concepts is the machine contract with /brief-builder. Reproduce it exactly as specified in handoff-contracts.md:

- concept_id: CON-001
  source_signals: [SIG-003, SIG-007]
  channel: youtube | linkedin | x | newsletter | short-form | blog
  promise: one sentence
  cta: one CTA, or the literal string "no CTA"

One entry per selected concept. channel must be one of the six listed values. IDs are stable within a run and never reused. If a concept spans channels, the channel value is its primary channel, and the rest belongs in the channel adaptation table, because /brief-builder takes one concept and one channel per invocation.

Guardrails

  • Strategy follows evidence. If the memo's angle needs a source the report does not have, change the angle or send it back to /signal-scout. Do not retrofit sources to a pitch you already like.
  • No manufactured controversy. Tension has to come from evidence that conflicts with the common view. A spicy take with no conflicting evidence is just a spicy take.
  • No fake urgency. "Why now" must point to a dated development in the sources. If nothing changed, the honest answer is that this is evergreen.
  • No borrowed authority. Do not position the author as having experience, clients, results, or credentials that were not supplied as evidence.
  • No promised outcomes. Never state or imply reach, revenue, leads, ranking, or income results. This is both an accuracy rule and, for income claims, a regulatory one in several jurisdictions.
  • Private evidence stays private. Anonymising is not permission.
  • One primary next step per piece.
  • Unknown stays unknown. Carry a gap forward as a gap. Do not resolve a contradiction in favour of the tidier story.

Degraded operation

  • No web access. This skill does not need it. Say plainly in the memo that live search was unavailable and that the memo reasons only over the supplied report and local files. Do not present that as a limitation of the strategy if the evidence base was adequate, and do flag it if the report itself was built in degraded mode.
  • No signal report. Ask once. If the user declines, either point them to /signal-scout or run provisional mode with status: provisional, a list of what was missing, and no invented IDs.
  • Thin evidence across the board. Say the honest thing: the strongest output is one concept plus a list of what to go verify. A memo that recommends less than asked, with reasons, is a working memo.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.