content-qa

A content-checking command that runs six checks and a brand-voice score, then labels content ready or not ready. Brand voice means the wording and tone a company has chosen for its communications.

In plain words
What is it for?
It is for checking outbound copy before publishing or cross-posting, using the project's language rules and quality criteria.
Why use it?
It finds banned phrases, risky wording, unsupported claims, incorrect partner references, and other problems before content is posted.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/saigonxiii/evc/content-qa
Clone the repo
git clone --depth 1 https://github.com/SaigonXIII/evc
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,189 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.01189
Opus 5 $0.00000 $0.00594
Sonnet 5 $0.00000 $0.00238
Haiku 4.5 $0.00000 $0.00119

Measured 2d ago against content hash e0c81a1d77a5, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

content-qa scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

_templates/commands/content-qa.md · 122 lines

How it starts

The opening of the file, as written. The whole thing — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Content QA

Standardized quality pipeline for all outbound content. Runs 6 checks + Brand Voice Score and returns a READY or NOT READY verdict.

Trigger

User invokes /content-qa or says "QA this", "check this before posting", "is this ready to post"

Also invoke automatically at the end of content production and crosspost commands before posting.

Pipeline

Run all 6 checks in order. Each returns PASS, WARN, or FAIL. Then compute the Brand Voice Score.

Check 1: Canon Compliance

Load banned phrases from the shared source of truth:

cat {{CONFIG_DIR}}/canon-rules.json

Scan copy against every entry in banned_phrases[]. Each match -> FAIL with the entry's reason. Also check framing_red_flags[] -- each match -> WARN. Check claims against usps[] -- claims not traceable to a USP -> WARN. Verify required_language terms are used correctly. Verify partners mentioned are in live_partners[], not defunct_partners[].

Check 2: Stop Slop

Apply the stop-slop criteria — the canonical pattern list lives in /stop-slop (.claude/commands/stop-slop.md); do not maintain a separate list here.

Severity mapping for social QA: filler phrases -> FAIL (consistent with blog QA); all other patterns -> WARN.

Check 3: Character Count

Platform Limit Check
X 280 chars FAIL if over
LinkedIn 3000 chars WARN if over
Threads 500 chars FAIL if over
Blog title 70 chars WARN if over

Check 4: Link Validation

  • All URLs present and formatted correctly -> PASS
  • Missing link where one is expected -> WARN
  • Website link included for X posts -> PASS (required for first reply)

Check 5: Brand Compliance

For HTML visual assets: use a screenshot tool to capture the asset for visual inspection. Then validate:

For all visual assets:

  • Correct palette for day of week -> PASS/FAIL
  • Solid fill logo (not gradient) -> PASS/FAIL
  • No off-brand colors -> PASS/FAIL
  • Text opacity on dark meets minimums (body 0.70+, headings 0.85+) -> PASS/FAIL
  • No floating glass cards -> PASS/FAIL
  • No rounded corners on X banners -> PASS/FAIL

Read the full file on GitHub · 122 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 122 lines · 0 tokens per session scan A e0c81a1d77a5

Subscribe to this mod's changes

content-qa is a command published in the GitHub repository SaigonXIII/evc (56 stars, last pushed 2mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,189 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.