Ad Test DesignerSAFE
120 marketing skills as an AI marketing staff — plugin, portable skills, or an 8-bot team across 7 disciplines (narrative, SEO/GEO, social, email, paid, influencer, launch) on one contract, with 8 auditor gates: TALE · CORE-EEAT · CITE · ECHO · SEND · ROAS · STAR · RAMP.
Overview
120 marketing skills as an AI marketing staff — plugin, portable skills, or an 8-bot team across 7 disciplines (narrative, SEO/GEO, social, email, paid, influencer, launch) on one contract, with 8 auditor gates: TALE · CORE-EEAT · CITE · ECHO · SEND · ROAS · STAR · RAMP.
efaaefe23b05OBSERVED · 2026-10-22Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned | |
| openclaw | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: ad-test-designer
slug: aaron-ad-test-designer
displayName: "Ad Test Designer · 广告AB测试设计"
summary: "广告AB测试设计/实验设计/显著性判定/增效测试"
description: 'Use when the user asks to "design an A/B test", "set up a creative/landing test", "run an incrementality test", or "is this result statistically and practically material?"; produces a hypothesis, variant matrix, sample-size/duration/power plan, and a documented effect/uncertainty read from own exported results. It applies only a precommitted owner-approved action rule; the statistical helper never chooses a business action. Not for producing variants — use ad-creative-builder; not for reading back one shipped change — use paid-measurement-loop. 广告AB测试设计/实验设计/显著性判定/增效测试'
version: "20.1.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 designing a creative/landing A/B/n or incrementality test, or when reading effect size, uncertainty, and guardrails from a finished own-data test. Apply a business action only when its owner and decision rule were precommitted; otherwise return decision UNDECIDED. Not for generating variants (use ad-creative-builder) or reading back one already-shipped change (use paid-measurement-loop)."
argument-hint: "<what to test / results CSV> [profile: direct-response|prospecting|incremental-profit] [baseline] [alpha/power/MDE]"
metadata: {"author": "aaron-he-zhu", "version": "20.1.0", "discipline": "ad", "phase": "orchestrate", "geo-relevance": "low", "hermes": {"tags": ["marketing", "ad", "orchestrate"], "category": "ad"}, "openclaw": {"emoji": "🎯", "homepage": "https://github.com/aaron-he-zhu/aaron-marketing-skills"}}
---
# Ad Test Designer
Designs paid-ad creative/landing A/B/n and incrementality tests and reads them out: hypothesis, variant matrix, sample-size/duration/power plan, effect size, uncertainty, practical-effect status, and guardrail state. This skill owns **experiment design + statistical interpretation**. It may apply an owner-approved, precommitted action rule, but it never treats a p-value or helper output as an automatic business decision. It does not produce variants (`ad-creative-builder`), read back one already-shipped change (`paid-measurement-loop`), or do cross-channel reporting (`performance-analyzer`).
## Quick Start
```text
Design an A/B test for two landing-page hero variants. Baseline CVR is 3%, I want to detect a 15% lift. Goal is DR.
```
```text
I have 4 RSA creative variants to test on a prospecting set. Build the variant matrix, sample size, and run duration.
```
```text
Here's my finished test results CSV (variant, sessions, conversions). Is the winner significant — promote or kill?
```
## Skill Contract
- **Expected output**: a test design (hypothesis, variant matrix, immutable test/variant/measurement binding, primary/secondary/guardrail metrics, sample-size + duration + power plan) **and/or** a read-out bound to that exact design (effect estimate, interval, statistical flag, practical-effect flag, guardrails, and either an owner-governed recommendation or `decision: UNDECIDED`).
- **Reads**: what the user wants to test, the ROAS profile (`direct-response|prospecting|incremental-profit`), baseline CVR/CTR and traffic volume, stable control/candidate refs, the exact creative or landing artifact hash, and the measurement-contract ref/hash; for a read-out, the user's own exported results CSV (variant, sessions/impressions, conversions/clicks) plus the original binding.
- **Writes**: a user-facing test-design or read-out doc plus a `### Handoff Summary`.
- **Promotes**: the chosen hypothesis, design parameters, calculated read-out, and any explicitly owner-approved action (ask before writing memory).
- **Done when**: a falsifiable hypothesis is stated; the matrix isolates one variable per variant; the control, candidate, variant hash, signal spec, and measurement contract are bound; baseline, MDE, alpha, power, multiplicity/sequential policy, duration, and guardrails are declared; and a read-out reports effect/interval/statistical/practical flags with `Calculated` provenance against the same binding. A mismatch returns `NEEDS_INPUT/UNDECIDED`; without a precommitted action rule and owner, return `decision: UNDECIDED`.
- **Primary next skill**: [ad-creative-builder](../ad-creative-builder/SKILL.md) (to produce the winning direction) or [paid-measurement-loop](../../scale/paid-measurement-loop/SKILL.md).
### Handoff Summary
> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md).
## Data Sources
> See [CONNECTORS.md](../../../CONNECTORS.md) for tool category placeholders. Every input is the user's **own data, manually exported**. Keyed ad-platform APIs (Google Ads SDK, Meta Marketing API) are an optional Tier-2/3 MCP convenience — never required to design a test or read one out.
> **Statistical facts (keyless):** `python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/experiment.py" proportion --control <conv> <n> --variant <conv> <n> --alpha <alpha> --min-lift <relative-bar>` returns rates, effect size, intervals, p-value, and separate statistical/practical flags. Revenue/AOV-style samples use `continuous`; prospective sizing uses `samplesize`. Every derived value is `Calculated`; the helper deliberately returns no winner, promote, rollback, or kill action.
| Need | Source export (own data) | Category |
|------|--------------------------|----------|
| Baseline CVR/CTR, traffic volume | campaign report | `~~ad platform` |
| Test results (variant, sessions, conversions) | experiment/results CSV export | `~~ad platform`, `~~web analytics` |
| Conversion truth set for the read-out | GA4 / ecommerce export | `~~web analytics`, `~~ecommerce` |
**With manual data only:** for a design, ask for the baseline CVR/CTR, traffic/day, and the minimum lift worth detecting. For a read-out, ask for the results CSV withTrust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
efaaefe23b05full audit observations/trust-audit/skill/aaron-he-zhu__ad-test-designer.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-22 | efaaefe23b05 | SAFE | B | 89 | first audit |
Questions
What does the ad-test-designer — aaron-he-zhu/aaron-marketing-skills skill do?
120 marketing skills as an AI marketing staff — plugin, portable skills, or an 8-bot team across 7 disciplines (narrative, SEO/GEO, social, email, paid, influencer, launch) on one contract, with 8 auditor gates: TALE · CORE-EEAT · CITE · ECHO · SEND · ROAS · STAR · RAMP.
Is ad-test-designer — aaron-he-zhu/aaron-marketing-skills safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can ad-test-designer — aaron-he-zhu/aaron-marketing-skills access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does ad-test-designer — aaron-he-zhu/aaron-marketing-skills work with?
Its documentation mentions claude-code and openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (efaaefe23b05), read on 2026-10-22. The repository is watched, and a new audit runs when it changes — this is the first audit.
Add this badge to your README
Shows this page's audit result and links back to it. It updates when the audit does.
[](https://modelsatlas.com/skills/aaron-he-zhu/ad-test-designer/)
Not your listing, or something out of date? Claim or update your listing.