content-writer — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited content-writer (Agent Skill) and scored it 79/100 (yellow). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 5 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 5 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Professional content generation system. Produces blog articles, social media posts, email content, web pages, landing pages, sales funnels, case studies, product descriptions, and SEO metadata that sound like a specific human wrote them — not AI.
Integrated with:
Before generating any content, load the relevant reference file(s) for the content type and platform requested. These files contain current, research-backed conventions.
| File | Load when |
|---|---|
references/content-frameworks.md | Planning phase — framework selection |
references/anti-ai-checklist.md | Verify phase — always |
references/seo-meta-conventions.md | Any content with SEO requirements |
references/web-content-conventions.md | Landing pages, product pages, web pages |
references/email-content-conventions.md | Newsletters, campaigns, sequences |
references/twitter-conventions.md | Twitter/X tweets and threads |
references/facebook-conventions.md | Facebook posts and pages |
references/instagram-conventions.md | Instagram captions |
references/sales-content-conventions.md | Sales pages, funnels, case studies, testimonials, proposals |
Load only what's needed for the current task. Never load all files at once.
CRITICAL: No content is generated without a writer profile.
When a user requests content and no profile exists in memory:
"No writer profile found. Let's create one first — it takes about 5 minutes
and makes every piece of content sound like you, not like AI."
→ Run profile creation flow (see Profile Creation section below)
→ After completion, return to the original content requestWhen a profile exists, load it from memory before starting any phase.
Every content request follows this sequence. Use /writer:next to auto-advance.
Discuss → Plan → Execute → Verify → Ship/writer:discuss [topic])Goal: Understand what to write and why before touching the keyboard.
Gather in a conversational way (not as a rigid form):
Framework selection guidance (also see references/content-frameworks.md):
Output a one-paragraph content brief and confirm before advancing.
Save state to memory as [Content Writer] Current Project - Discussion.
/writer:plan)Goal: Create a detailed outline and SEO strategy before writing.
references/content-frameworks.mdplacement of examples, data, social proof, and CTAs
meta title, meta description, URL slug
Save state to memory as [Content Writer] Current Project - Plan.
/writer:execute)Goal: Write the content following the plan and brand voice.
Core writing principles:
Platform formatting is governed by the conventions reference files. Load and follow them.
Anti-AI patterns to avoid while writing (full list in references/anti-ai-checklist.md):
Present the draft and confirm before advancing.
Save state to memory as [Content Writer] Current Project - Draft.
/writer:verify)Goal: SEO check + anti-AI audit before shipping.
Always load `references/anti-ai-checklist.md` for this phase.
SEO check (claude-seo):
Anti-AI audit (humanizer):
references/anti-ai-checklist.md for manual auditManual quality checklist:
Present findings and apply fixes before advancing.
Save verified state to memory as [Content Writer] Current Project - Verified.
/writer:ship)Goal: Save to file and deliver with publishing notes.
Output path: content-writer-output/[type]/[NNN]-[slug].md
Directory structure:
content-writer-output/
├── profile/ (PROFILE.md, PRODUCTS.md, CTAS.md, CASE-STUDIES.md)
├── blog/
├── linkedin/
├── facebook/
├── instagram/
├── twitter/
├── email/
├── sales/
├── seo/
└── packages/[name]/ (multi-platform packages)Frontmatter to include:
---
title: [Title]
platform: [Platform]
framework: [Framework used]
word_count: [Count]
created: [Date]
author: [From profile]
status: draft
seo:
meta_title: [Meta title]
meta_description: [Meta description]
keywords: [Keywords]
---Publishing notes are platform-specific. Key reminders:
Clear project state from memory after shipping. Keep profile in memory.
/writer:next)Detect current phase from memory and run the next one automatically:
/writer:plan/writer:execute/writer:verify/writer:ship/writer:profile-create)A complete profile takes about 5 minutes and covers 10 topics. Run this conversationally — not as a rigid numbered form. Group related questions, move quickly.
Step 1: URL scanning (optional)
Offer to analyze existing content for tone detection:
"Do you have any URLs I can analyze — blog posts, LinkedIn articles, anything you've
written? The more examples, the better the tone match."Fetch each URL, analyze for: sentence length patterns, vocabulary level, personality markers, formatting preferences. Present the detected tone profile and confirm.
Step 2: Ten-topic questionnaire (conversational, grouped by theme)
Gather across these topics — adapt the flow to what the user volunteers:
Step 3: Confirm and save
Present a summary of the full profile. On confirmation:
[Content Writer] Writer Profilecontent-writer-output/profile/PROFILE.md, PRODUCTS.md, CTAS.md, CASE-STUDIES.md`/writer:profile-view` — Display current profile from memory or profile files
`/writer:profile-edit` — Edit specific fields (products, CTAs, case studies, tone)
`/writer:profile-delete` — Delete profile from memory and files (confirm before deleting)
`/writer:status` — Show current phase, profile status, dependency availability, next step
`/writer:help` — Show all commands and quick start instructions
`/writer:update` — Check npm registry for updates, show changelog preview, confirm before upgrading
On first command of each session (once only):
~/.claude/skills/content-writer/.versionnpm view claude-content-writer version━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📦 Content Writer Update Available
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Current: v{current} → Latest: v{latest}
Run /writer:update to upgrade.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Mark as shown in session memory. Then continue with the user's command.
When claude-seo or humanizer are unavailable:
⚠ Note: [dependency] not available. [Check] skipped.
Content will still be generated. Install dependencies for full quality assurance.Use references/anti-ai-checklist.md as the manual fallback for the humanizer check. Use a basic SEO checklist (keyword in title, meta description present, H1 exists) as fallback for claude-seo.
Memory — Runtime fast access. Stores: writer profile, current project state (5 keys).
Files — Permanent. Stores: profile files, all generated content with frontmatter.
On save: write file first, update memory second. On load: check memory first, fall back to file, sync memory from file if needed.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.