{"_id":"@ads-repo/ab-test","name":"@ads-repo/ab-test","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@ads-repo/ab-test","version":"0.1.0","description":"The whole A/B-test journey for ad accounts — brainstorm what to test, check it's worth testing against real account data, set it up, and get recurring pacing updates in Slack, Gmail or Discord. Installs as a skill in Claude Code, Codex or Cursor.","keywords":["ab-test","split-test","google-ads","meta-ads","ppc","experimentation","ai-agent","claude-code","codex","cursor","skill","adsrepo"],"homepage":"https://adsrepo.com","license":"SEE LICENSE IN LICENSE.md","author":{"name":"AdsRepo","email":"denis@adsrepo.com"},"type":"module","bin":{"ab-test":"bin/install.mjs"},"scripts":{"prepack":"rm -rf Setup && cp -RL ../Setup ./Setup"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"gitHead":"6856ea78aaeebd7fb112bed5b0ebf083f67fa0a0","_id":"@ads-repo/ab-test@0.1.0","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-fPrieQdOQQ+jNaaB6sxkNEvnBSrkYA1nEH8acVAWZBIT2BuVu5wqIFSjRhTNWOfeDMgFcL8+4Q+clJkX5dIzIA==","shasum":"a14e48309777ea69573e1c38f86715df38615565","tarball":"https://registry.npmjs.org/@ads-repo/ab-test/-/ab-test-0.1.0.tgz","fileCount":24,"unpackedSize":119211,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHYOrGu3+TYC52nIOsVTq2BBq5C2UigrblncHaJpBQyeAiEAqAxe0XV9+JR/UQ8RjE7k0UF4SxUZvIjr7DFG48ZdItQ="}]},"_npmUser":{"name":"denis-adsrepo","email":"denis@adsrepo.com"},"directories":{},"maintainers":[{"name":"adsrepo","email":"tomas@adsrepo.com"},{"name":"denis-adsrepo","email":"denis@adsrepo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ab-test_0.1.0_1786944486797_0.28038351005353745"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-17T05:28:06.601Z","0.1.0":"2026-08-17T05:28:06.944Z","modified":"2026-08-17T05:28:07.790Z"},"maintainers":[{"name":"adsrepo","email":"tomas@adsrepo.com"},{"name":"denis-adsrepo","email":"denis@adsrepo.com"}],"description":"The whole A/B-test journey for ad accounts — brainstorm what to test, check it's worth testing against real account data, set it up, and get recurring pacing updates in Slack, Gmail or Discord. Installs as a skill in Claude Code, Codex or Cursor.","homepage":"https://adsrepo.com","keywords":["ab-test","split-test","google-ads","meta-ads","ppc","experimentation","ai-agent","claude-code","codex","cursor","skill","adsrepo"],"author":{"name":"AdsRepo","email":"denis@adsrepo.com"},"license":"SEE LICENSE IN LICENSE.md","readme":"# A/B Test Skill\n\nOne skill for the whole testing journey — **brainstorm a hypothesis → set it up → get pacing updates in Slack / Gmail / Discord.** Built to be simple and reliable: one happy path, few moving parts.\n\n## The flow (one journey)\n1. **Hypothesis** — decide what to test (or get suggestions if unsure), and check it's worth testing against real account data (significance/power, not guesswork).\n2. **Setup** — scaffold `test.json` + the monitor script into the client's `04-automations/`.\n3. **Pacing** — recurring updates to your channel on a schedule; interim = directional, final = verdict, then it self-disables.\n\n## It won't fire early\nThe skill interviews the user through a **visible checklist** (`templates/intake-checklist.md`) and **only scaffolds + schedules once the intake is complete and the test passes the \"does this make sense\" gate** (a real decision rule + a detectable effect). If it doesn't make sense, it stops and tells you why instead of setting up a half-baked test. The actual cron \"fire\" is the last step, after a dry-run you approve.\n\n## Try it in 10 seconds\n```bash\npython3 templates/monitor.py --demo\n```\nPrints a sample pacing message — no credentials needed. Then see `QUICKSTART.md` to install + run it for real.\n\n## Files\n- `QUICKSTART.md` — zero-to-running in ~10 min (the `monitor.py` script + your account credentials).\n- `SKILL.md` — the 3-phase flow + guardrails (start here).\n- `reference/`\n  - `hypothesis.md` — what makes a good hypothesis, how to suggest tests, and the significance/power check using real data.\n  - `setup.md` — `test.json` schema + the default monitor pattern.\n  - `reporting.md` — channels (Slack/Gmail/Discord), message cadence, scheduling.\n- `templates/`\n  - `intake-checklist.md` — the visible follow-along checklist + readiness gate (filled in during the interview; nothing fires until it's complete).\n  - `test.json` — the test config.\n  - `monitor.py` — the script that runs on a schedule: pull live Google Ads + Meta → compare to baseline → post → self-disable. Reports ROAS/CPA/CVR. Slack/Discord/Gmail output.\n\n## Design principle\nHypothesis-making used to be a separate skill; it's folded in here because for the user it's **one process**. Internally the hypothesis logic lives in its own reference file so it stays clean and reusable. Default to one pattern + one channel + one schedule — fewer levers, fewer things that break.\n\n> Tier: **client-level**. Run it inside a client brain, with your Google Ads + Meta credentials set up (see `Setup/`, or the online guides at **adsrepo.com/setup**).\n\n---\n\nCopyright (c) 2026 Tomas Kliment & Denis Capko / adsrepo.com. All rights reserved. See LICENSE for terms — https://www.adsrepo.com/license\n","readmeFilename":"README.md","_rev":"1-9c2fb48e93d50bfc1705fcfe995d428f"}