Agent skill · Audited from source
content-writer
skill · aaron-he-zhu/aaron-marketing-skillsApache-2.0 licenceAudited 31 Oct 2026 · source 5363b099591c
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…
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.
- aaron-he-zhu/aaron-marketing-skills★ 3k!CAUTION
- nowork-studio/NotFair★ 3.9k✓SAFE
Trust audit
Audit 0.4.1 · source read 31 Oct 2026
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
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | WARN | 1 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (1)
MEDIUMPrompt injectionreview.instruction_override · SKILL.md
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, requesExcerpt, 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
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
| Agent | Status | More |
|---|---|---|
| Claude Code | Mentioned in its text, not tested | Skills for Claude Code · About Claude Code |
| OpenClaw | Mentioned in its text, not tested | Skills for OpenClaw · About OpenClaw |
Audit history
Every audit, every source change
- !CAUTION B 89 / 100
first audit · source
5363b099591c
README badge
For maintainers · shows the latest audit
[](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.
Similar skills
All docs & writing skills →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…
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…
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…
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…
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…
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…
Add this badge to your README
[](https://modelsatlas.com/skills/aaron-he-zhu/content-writer/)
<a href="https://modelsatlas.com/skills/aaron-he-zhu/content-writer/"><img src="https://modelsatlas.com/skills/aaron-he-zhu/content-writer/badge.svg" alt="ModelsAtlas: CAUTION B"></a>
Questions about content-writer
What does the content-writer skill do?
Is content-writer safe to install?
What can content-writer access on my machine?
Which assistants does content-writer work with?
How current is this page?
Sources
- github.com/aaron-he-zhu/aaron-marketing-skills/tree/main/seo-geo — the audited source at commit 5363b099591c and every finding aboveObserved · 31 Oct 2026
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.
- What does the content-writer skill do?
- Is content-writer safe to install?
- What can content-writer access on my machine?