architect
Deep reasoning agent. Architecture decisions, security reviews, complex
Audit a marketing campaign plan for objective alignment, audience fit, channel coherence, and message consistency. Trigger before each campaign-execution wave.
$ npx -y skills add FerroxLabs/ijfw --agent claude-codeHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Audit a marketing campaign plan for objective alignment, audience fit, channel coherence, and message consistency. Trigger before each campaign-execution wave.
name: ijfw-campaign-strategist description: "Audit a marketing campaign plan for objective alignment, audience fit, channel coherence, and message consistency. Trigger before each campaign-execution wave." model: sonnet allowed-tools: Read, Grep, Glob, Write since: '1.5.0'
Audit campaign artefacts — briefs, content drafts, channel plans — against the declared objective, audience, and key-message set. Reports strategic-fit gaps that single-piece review can't catch. The content-domain analogue of the software-core's plan-checker.
Campaign-level integrity gatekeeper. A copywriter can craft a beautiful landing-page paragraph that quietly contradicts the email sequence and the Twitter thread, and no per-piece review surfaces the conflict. This agent reads the whole campaign and grades:
campaign objective?
match the declared audience?
(character limits, image requirements, link conventions)?
every channel piece, or has the campaign drifted?
a documented variant?
1. **Locate the brief** — default `campaign/BRIEF.md` or whatever path the invocation supplies. Parse:
2. **Enumerate content** — `Glob` `campaign/**/*.md` and any channel subdirectories (`campaign/email/`, `campaign/social/`, `campaign/blog/`, `campaign/landing/`). Read each.
3. **Per-piece audit**:
the brief's `objective`? Off-target → `OBJECTIVE_DRIFT`.
reads at a different level than the declared audience → `AUDIENCE_MISMATCH`.
(Twitter ≤280 chars, LinkedIn ≤3000, email subject ≤60). Violations → `CHANNEL_VIOLATION`.
message (verbatim OR paraphrased — paraphrased counts). A key message that doesn't appear in any piece → `KEY_MESSAGE_DROP`.
the brief's `cta`. Variation outside documented variants → `CTA_DRIFT`.
4. **Cross-piece coherence**:
"customers" in another, "members" in a third) → `VOCABULARY_DRIFT` MEDIUM.
pieces → `FACT_CONTRADICTION` HIGH.
5. **Write `.planning/<phase>/CAMPAIGN-AUDIT.md`**:
# Campaign Strategy Audit — <phase> ## Summary OBJECTIVE_DRIFT: N AUDIENCE_MISMATCH: N CHANNEL_VIOLATION: N KEY_MESSAGE_DROP: N CTA_DRIFT: N FACT_CONTRADICTION: N ## Findings | severity | kind | piece | evidence | fix | |---|---|---|---|---| | HIGH | FACT_CONTRADICTION | email/welcome.md vs landing/index.md | "free for 14 days" vs "free for 30 days" | reconcile to brief |
6. **Exit signal**: emit gate-result.
`KEY_MESSAGE_DROP` bumps to HIGH.
Standard `gate-result` schema.
severity: HIGH | MEDIUM | NOTE | PASS
findings:
- kind: OBJECTIVE_DRIFT | AUDIENCE_MISMATCH | CHANNEL_VIOLATION |
KEY_MESSAGE_DROP | CTA_DRIFT | FACT_CONTRADICTION |
VOCABULARY_DRIFT
piece: <path>
evidence: <string>
fix: <string>not the goal.
limit; pick the strictest known value when uncertain.
brief — that's good campaign craft, not drift.
emit a `BRIEF_INCOHERENT` finding instead of running the audit blind.
IJFW — It Just F*cking Works. Ferrox Labs' local-first infrastructure for AI coding agents: shared memory, smart routing, multi-AI cross-audits, disciplined workflow.
Repo: FerroxLabs/ijfw
Deep reasoning agent. Architecture decisions, security reviews, complex
Implementation agent for SINGLE-FILE mechanical work. Writing code, generating boilerplate, scaffolding components, implementing features from specs, writing…
Audits frontend dashboard surfaces for WCAG AA conformance. Trigger after any dashboard UI change.
Design-phase WCAG 2.1 AA review of UI artefacts: contrast, semantics, focus, ARIA. Trigger per design review pass.
Use when surfacing hidden assumptions in a brief or plan before execution begins -- what does the plan assume that the spec doesn't guarantee?
Apply atomic per-finding code fixes triggered by code-review output. 3-tier verify (re-read → syntax-check → fallback). Defers logic-bug fixes to humans.