Install
openclaw skills install @aaron-he-zhu/content-reviewerUse when the user asks to "review this influencer content" or "check if this post meets brand guidelines"; produces a structured review (brand alignment, message accuracy, compliance, quality, technical specs), an approve/revise/reject decision, and a constructive feedback message for the creator. Not for drafting the brief that sets the criteria — use brief-generator; not for the partnership agreement — use contract-helper.
openclaw skills install @aaron-he-zhu/content-reviewerSystematically review influencer content submissions against brand guidelines, campaign objectives, and legal requirements, then issue a gate decision before the content goes live.
Run this before any influencer content goes live, even if the user doesn't use review terminology:
brief-generatorcontent-amplifier puts paid or owned reach behind a creator postShortest invocation:
Review this influencer content submission: [content description/link]
Common scenario — gate a submission against a campaign brief:
Check if this TikTok post meets our brand guidelines for [campaign], then give me an approve/revise/reject decision and feedback I can send the creator
memory/audits/influencer/, and the auditor-runbook handoff/cap schema (content-reviewer is the C³ ART gate consumer).memory/audits/influencer/YYYY-MM-DD-<topic>.md with class: auditor-output and the auditor-runbook handoff schema (status / key_findings / evidence_summary / recommended_next_skill / cap_applied / raw_overall_score / final_overall_score), computed from C³ ART scoring — so the PostToolUse Artifact Gate validates the verdict — plus the human-facing feedback message.memory/hot-cache.md.raw_overall_score = the ART score; a T1/T2 veto → status: BLOCKED (Reject) with cap_applied: false, raw_overall_score retained, and no final_overall_score; a non-veto pass → status: DONE/DONE_WITH_CONCERNS with final_overall_score; a non-veto REVISIONS decision → status: NEEDS_INPUT, still with final_overall_score (cap_applied: false) — BLOCKED is the only branch that omits the final score. Map the decision to the status enum (APPROVED→DONE, MINOR→DONE_WITH_CONCERNS, REVISIONS→NEEDS_INPUT, REJECTED→BLOCKED).Emit the standard shape from skill-contract.md §Handoff Summary Format.
Specifically, emit the auditor-class handoff from auditor-runbook.md §1: status (DONE / DONE_WITH_CONCERNS / BLOCKED / NEEDS_INPUT), objective, target, key_findings, evidence_summary, recommended_next_skill, plus the auditor fields cap_applied, raw_overall_score (the ART score, floor-rounded, before cap), and final_overall_score (omitted only when BLOCKED).
This family needs no live integrations (Tier 1). The skill works end to end from inputs you provide: paste the content link or description, the brief, brand guidelines, and platform specs, and it produces the review.
Optional connectors can speed up evidence gathering where available:
~~social platform analytics — pull native post specs, engagement signals, and platform disclosure flags (e.g. "Paid partnership" label).~~influencer database — load the creator's history, prior submissions, and past compliance flags.~~CRM — link the review back to the deal, campaign owner, and approval chain.~~compliance reference — current FTC / platform disclosure rules for the relevant market.With no connector configured, ask the user for the missing inputs and proceed. See CONNECTORS.md for the keyless data recipes.
Before scoring, Read ../../../references/auditor-runbook.md and ../../../references/c3/art-content-benchmark.md. The runbook is the framework-agnostic SSOT (§1 handoff schema, §2 cap method, §4 Artifact Gate, §5 veto-ID translation); the ART benchmark owns the Content dimensions and the T1/T2 veto definitions this gate enforces.
Standalone install fallback: if that relative path does not exist, this skill was installed standalone (e.g. via npx skills into an .agents/skills/ host), which bundles only this skill folder — fetch the runbook and any other ../../../references/... file this skill names from https://raw.githubusercontent.com/aaron-he-zhu/aaron-marketing-skills/main/references/<same filename>, or ask the user for a clone of the repo. Do not score without the runbook.
Run the review steps in order. Each step has a fill-in template in references/review-templates.md.
Step 4's compliance gate is the C³ Content review (ART). Two ART items are veto-level — a failure forces the overall decision to Reject (never "revise"). Record the veto ID (T1/T2) in the gated artifact and handoff YAML only; the decision and creator feedback the user sees carry the plain-language translation per auditor-runbook §5:
ART veto-ID translation rows (use alongside the runbook's shared rows — these are the C³ ART meanings, never CORE-EEAT/CITE/ROAS):
| Internal (artifact/handoff only) | User-facing |
|---|---|
| "T1 failed" | "Rejected — sponsored content is missing the required ad disclosure" |
| "T2 failed" | "Rejected — the content makes a claim that isn't substantiated" |
User: "Review this TikTok video submission for our protein powder campaign"
A submission with strong visuals (Brand 9/10, Quality 9/10) but no visible #ad disclosure scores Compliance 5/10 and triggers the FTC-disclosure veto (T1 — recorded in the artifact/handoff only). The user-facing decision is ❌ REJECTED — missing the required ad disclosure, not a revise: the creator must add #ad in caption and/or verbal disclosure in the first 3 seconds, then resubmit. Non-veto gaps (missing "20g protein" key message, missing promo code "FIONA20") are listed as required-on-resubmission, and the feedback message leads with what worked (authentic workout integration, engaging hook). Full output in references/review-templates.md § Worked Example.
cap_applied, raw_overall_score, final_overall_score set per the runbook (final omitted only when BLOCKED — NEEDS_INPUT still carries it)~~ connector placeholders.Primary: contract-helper — once content is approved (or once review feedback exposes a gap the agreement should cover), fold guidelines, usage rights, and approval terms into the partnership contract.
Alternates (same Activate family):
Termination note (visited-set): if a recommended skill has already been invoked this session, stop and report the chain as complete rather than re-running it. Cap any handoff chain at max-depth 3.