Live survey304 models · 14 providers · 22,792 auditsAudited grill-with-docs · SAFE →What changedHow we verifyllms.txt

Agent skill · Audited from source

content-writer

skill · aaron-he-zhu/aaron-marketing-skillsApache-2.0 licenceAudited 31 Oct 2026 · source 5363b099591c

★ 3,042pushed todayversion 20.2.0
!CAUTIONGrade B · 89/100 · 1 finding · 5363b09
3,042repo stars · whole aaron-he-zhu/aaron-marketing-skills

Is it safe? With care — CAUTION, grade B (89/100). We read this skill's source at commit 5363b099591c and found no filesystem, network or shell access and no hard-coded secrets. The audit raised 1 finding, 0 critical or high. What it does: Use when the user asks to "write SEO content", "draft a blog post / landing page", "update outdated content", or "fix traffic/ranking decay"; two modes — new drafts pages with keywords, headers, snippets, and evidence…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “content-writer (aaron-he-zhu/aaron-marketing-skills)”. Retrieved 31 Oct 2026. https://modelsatlas.com/skills/aaron-he-zhu/content-writer

2 skills are called “content-writer”. You are viewing aaron-he-zhu/aaron-marketing-skills.

Trust audit

Audit 0.4.1 · source read 31 Oct 2026

Trust score89/100!CAUTION B
0 critical0 high1 medium0 low0 info

CAUTION means the audit found things worth knowing before you trust this skill. Grade B is shared by 16,667 of 17,602 audited skills.

What the source does

  • FilesystemNone observedNo reads or writes in the source
  • NetworkNone observedNo outbound calls in the source
  • ShellNone observedNo commands run in the source
  • DependenciesPinnedNothing floats
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codeNA0
L2 InstructionsPrompt injection, authority framing, hidden directivesWARN1
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (1)

MEDIUMPrompt injectionreview.instruction_override · SKILL.md
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
Continue silently (never stop for)
Why
It directs the agent to proceed without the user's say-so on specific decisions, overriding normal user-confirmation behavior.
Fix
rewrite it so the instruction says plainly what it does, and asks the user before it acts

Audit 0.4.1 · source sha 5363b099591c · 31 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publisheraaron-he-zhu GitHub userOwner of the repository this skill is read from
  • Source folderaaron-he-zhu/aaron-marketing-skills/seo-geo/implement/content-writerThe exact folder we audited
  • LicenceApache-2.0As the repository states it
  • Commit pinned for this verdict5363b099591cA new audit runs when the source changes
  • Repository statusNot archivedPushed today
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: Use when the user asks to "write SEO content", "draft a blog post / landing page", "update outdated content", or "fix traffic/ranking decay"; two modes — new drafts pages with keywords, headers, snippets, and evidence…

---
name: content-writer
slug: aaron-content-writer
displayName: "Content Writer · SEO文章写作"
summary: "SEO文章写作/内容更新/排名恢复"
description: 'Use when the user asks to "write SEO content", "draft a blog post / landing page", "update outdated content", or "fix traffic/ranking decay"; two modes — new drafts pages with keywords, headers, snippets, and evidence boundaries; refresh scores decay, prioritizes update work, and produces a republish plan with GEO guidance. Not for AI-citation/GEO readiness scoring — use geo-content-optimizer; not for publish-gate scoring — use content-quality-auditor. SEO文章写作/内容更新/排名恢复'
version: "20.2.0"
license: Apache-2.0
compatibility: "Claude Code and compatible agent-skill hosts"
homepage: "https://github.com/aaron-he-zhu/aaron-marketing-skills"
when_to_use: "Use when writing SEO articles, blog posts, landing pages, or product descriptions targeting a keyword (mode: new), OR when updating outdated content, refreshing old articles, or recovering pages that lost traffic/rankings (mode: refresh)."
argument-hint: "[--mode new|refresh] <topic/keyword or URL of existing content>"
metadata: {"author": "aaron-he-zhu", "version": "20.2.0", "discipline": "seo-geo", "phase": "implement", "geo-relevance": "high", "hermes": {"tags": ["marketing", "seo-geo", "implement"], "category": "seo-geo"}, "openclaw": {"emoji": "🔍", "homepage": "https://github.com/aaron-he-zhu/aaron-marketing-skills"}}
---

# Content Writer

Writes and updates SEO/GEO content across two modes: **new** drafts net-new pages against a target keyword and search intent; **refresh** diagnoses decay on an existing page, prioritizes the update, and produces a republish plan. Both modes apply the same CORE-EEAT constraints so a draft and a refresh clear the same quality bar before the auditor gate.

**This skill does NOT compute the CORE-EEAT score or run vetoes** — that is the publish-gate role of [content-quality-auditor](../../tune/content-quality-auditor/SKILL.md). This skill works the writing/updating lever and hands off. It also does not score AI-citation/GEO readiness in isolation ([geo-content-optimizer](../geo-content-optimizer/SKILL.md)) or produce meta tags/schema as standalone artifacts ([serp-markup-builder](../serp-markup-builder/SKILL.md)).

## Mode Selector

| Mode | Trigger | Output |
|------|---------|--------|
| `new` | "write / draft SEO content", net-new page against a keyword, no existing URL | Ready-to-use draft (title, meta, H1/H2 structure, snippet block, links) |
| `refresh` | "update outdated content", "fix decay", "refresh for [year]", an existing URL that lost traffic/rankings | Decay diagnosis, prioritized update plan, republish-date strategy, optional refreshed copy |

**Selecting the mode:** honor an explicit `--mode`. Otherwise infer: an existing URL plus a decline/staleness signal → `refresh`; a topic/keyword with no prior version → `new`. If the request says "refresh" but there is no existing URL, treat it as `new` and note the mismatch once (do not fabricate a prior version).

## Quick Start

```
# mode: new
Write an SEO-optimized article about [topic] targeting the keyword [keyword]
Here's my content brief: [brief]. Write SEO content following this outline.
```

```
# mode: refresh
Refresh this article for [current year]: [URL/content]
Which of my blog posts have lost the most traffic? Refresh the worst one.
Update this content to outrank [competitor URL]: [your URL]
```

## Skill Contract

**Expected output**: mode `new` → a ready-to-use draft; mode `refresh` → a scored decay diagnosis plus a prioritized update plan (and optional refreshed copy). Both emit the standard handoff summary for `memory/content/`.

- **Reads**: the brief, target keywords, page intent, entity inputs, `memory/projections/narrative.json`, and `memory/projections/claims.json` (new); those same truth projections plus stable page ref, prior content version/hash, change ref, candidate URL/content, traffic/ranking history, publish/update dates, and competitor examples (refresh).
- **Writes**: a user-facing content deliverable and, with permission, a dated artifact under `memory/content/content-writer/`; unresolved durable claims are submitted through `registry-events.py` as authorized `operation: propose` events.
- **Done when**: (new) the draft satisfies target intent with natural keyword use, H1/H2 structure, meta description, one snippet-targetable block, and evidence-safe claims; (refresh) decay drivers and concrete updates are documented; both modes report `page_ref`, `content_version`, `content_sha256`, `change_ref`, `narrative_canon_id`, `narrative_canon_version`, `claims_projection_offset`, and `dependency_status`.
- **Primary next skill**: [content-quality-auditor](../../tune/content-quality-auditor/SKILL.md) to gate the draft or refreshed page before publishing.

### Handoff Summary

> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md), including the Narrative/claims dependency tuple.

## Data Sources

Keyless Tier-1 first: ask for the brief, keywords, intent, and competitors (new); ask for traffic data, ranking history, publish dates, candidate URLs, and competitor examples (refresh). Use `~~SEO tool`, `~~search console`, and `~~analytics` when connected — keyed APIs are opt-in Tier-2/3 only, never required. See [CONNECTORS.md](../../../CONNECTORS.md).

**Publish-time index push (write channel, gated)**: after a new or refreshed page is actually live, `python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/indexpush.py" indexnow <url> --key $INDEXNOW_KEY --live` (Bing/DuckDuckGo/Yandex/...) and `indexpush.py baidu <url> --site <site> --token $BAIDU_PUSH_TOKEN --live` (百度) tell engines to fetch it now instead of waiting for a recrawl. Dry-run by default; push only URLs that are live and final. Bind the intent to URL, engine, method, and exact `content_sha256`; emit an index receipt only from the returned provider/HTTP response. A dry-run, reques

Excerpt, first 6,001 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 5363b09

Download folder ↗
git clone https://github.com/aaron-he-zhu/aaron-marketing-skills
git -C aaron-marketing-skills checkout 5363b099591c

The author documents no install command, so this uses the repository directly. Our verdict covers commit 5363b099591c only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
Claude CodeMentioned in its text, not testedSkills for Claude Code · About Claude Code
OpenClawMentioned in its text, not testedSkills for OpenClaw · About OpenClaw
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. !CAUTION B 89 / 100

    first audit · source 5363b099591c

README badge

For maintainers · shows the latest audit

ModelsAtlas: CAUTION BMODELSATLASCAUTION · B
[![ModelsAtlas: CAUTION B](https://modelsatlas.com/skills/aaron-he-zhu/content-writer/badge.svg)](https://modelsatlas.com/skills/aaron-he-zhu/content-writer/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

cold-outbound-sequencer!CAUTION

aaron-he-zhu/aaron-marketing-skills

Use when the user asks to "build a B2B cold-outbound sequence", "design reply-triage branching", "plan a domain warmup / sending throttle", or "make my outbound CAN-SPAM / opt-in compliant"; produces a multi-step…

★ 3kGrade B
community-launch-runner✓SAFE

aaron-he-zhu/aaron-marketing-skills

Use when the user asks to "launch on Product Hunt / Hacker News", "prepare community or directory launch submissions", or "plan the launch submission waves"; produces per-platform submission packages — a Product Hunt…

★ 3kGrade B
consent-registry✓SAFE

aaron-he-zhu/aaron-marketing-skills

Use when the user asks to "log this subscriber''s opt-in", record unsubscribes/complaints, or query lawful basis; curates pseudonymous consent facts through the append-only consent stream and applies suppression/erasure…

★ 3kGrade B
channel-portfolio-planner✓SAFE

aaron-he-zhu/aaron-marketing-skills

Use when the user asks to "pick which social channels to run", "should we be on X platform or 小红书", or "plan our organic social channel portfolio"; produces an audience/objective-first portfolio with capability/access…

★ 3kGrade B
channel-registry✓SAFE

aaron-he-zhu/aaron-marketing-skills

Use when the user asks to register/query a social channel, record channel state, cadence, governance, voice adaptation, UGC permission, or advocacy facts; curates them through the append-only channels event stream and…

★ 3kGrade B
category-narrative-mapper✓SAFE

aaron-he-zhu/aaron-marketing-skills

Use when the user asks to "map the category narrative", "tear down how competitors tell their story", or "find the language conventions in our market"; produces a category narrative map — the dominant stories and points…

★ 3kGrade B

Add this badge to your README

[![ModelsAtlas: CAUTION B](https://modelsatlas.com/skills/aaron-he-zhu/content-writer/badge.svg)](https://modelsatlas.com/skills/aaron-he-zhu/content-writer/)

Questions about content-writer

What does the content-writer skill do?
120 marketing skills as an AI marketing staff — plugin, portable skills, or an 8-bot team across 7 disciplines (narrative, SEO/GEO, social, email, paid, influencer, launch) on one contract, with 8 auditor gates: TALE · CORE-EEAT · CITE · ECHO · SEND · ROAS · STAR · RAMP.
Is content-writer safe to install?
With care. The audit graded it B (89/100) and found 1 thing worth knowing before you trust this skill, listed below with the exact line each was found on.
What can content-writer access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does content-writer work with?
Its documentation mentions claude-code and openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (5363b099591c), read on 2026-10-31. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.