AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Ads Next

skill-hainrixz-claude-ads-ads-next · by Hainrixz

Continuous coach. Reads the most recent <platform>-audit-results.json files (cwd + ~/.claude-ads/history/), ranks Quick Wins and Critical Issues by impact × ease using the user's saved spend mix, surfaces the top 3 next actions, and optionally walks the user through fixing the #1 right now. Detects regressions vs the previous audit (score drops, new failures) and flags them as Priority 0. Use whe…

No reviews yet
0 installs
23 views
0.0% view→install

Install

$ agentstack add skill-hainrixz-claude-ads-ads-next

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-hainrixz-claude-ads-ads-next)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Ads Next? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Continuous coaching: what to fix next

/ads next turns audits into a stream of small, ordered, verified actions. It's the second half of the seguimiento loop: /ads start connects, /ads audit measures, /ads next coaches.

Subcommand routing

| Arg | Behavior | |-----|----------| | (none) | Default — Discover → Rank → Top 3 → offer to walk through #1. | | show | Discover → Rank → print top 10 → exit (no walk-through prompt — good for client reports). | | compare | Print full delta between the two most-recent audits per platform via python3 scripts/profile.py compare . | | walk | Skip the prompt — go straight to walking the user through the top action. |

Core rules

  1. Read the profile first. python3 scripts/profile.py get — if exit 2,

suggest /ads start and exit (a coach with no context is just guessing).

  1. One action at a time during walk-through. Same step-by-step verified

loop as /ads start Phase C.3.

  1. Never invent issues. If no audits are found in cwd or history, print

the exact command to generate one (/ads audit or platform-specific) and exit.


Phase 1 — Discover audit JSON

Search for *-audit-results.json files in this order, newest first:

  1. **`** — current working directory. Glob *-audit-results.json`.
  2. ~/.claude-ads/history/ — the persistent log. Read

~/.claude-ads/history/index.json and resolve files for the most recent audit per platform.

Validate each file:

  • Must parse as JSON.
  • Must include platform, health_score, checks.
  • platform must be one of meta, google, tiktok.

If a file fails validation, skip it and print a single WARNING: skipped () line. Don't abort the run.

If zero valid audits found:

No audits yet. Run one first:

  /ads audit                 — full multi-platform
  /ads   — single platform deep-dive

Then exit.


Phase 2 — Persist any new audits to history

For each audit file discovered in cwd that is NEWER than the most recent entry for that platform in ~/.claude-ads/history/index.json (compare generated_at), copy it to history via:

python3 scripts/profile.py save-audit 

This is what builds the multi-session memory — every audit run from anywhere on disk eventually ends up in the history index.


Phase 3 — Rank items by impact × ease

Pool every quick_win, every critical_issue, and every check with result in (FAIL, WARNING) across all valid audits. Deduplicate by (platform, check_id) — if a check appears in both critical_issues and checks, treat as one item using the critical metadata.

For each item, compute an impact score:

severity_weight = { critical: 5.0, high: 3.0, medium: 1.5, low: 0.5 }[severity]
effort_inverse  = 1 / (fix_time_minutes + 1)            # default fix_time = 30 if null
budget_share    = platform_budget_share(platform)       # see below
impact          = severity_weight × effort_inverse × budget_share × 100

platform_budget_share — derive from the user's profile + audit account_id presence:

  • If profile lists 1 active platform, share = 1.0 for that platform.
  • If profile lists 2 or 3, share = 1 / n baseline. Then bump the platform

that the user spends most on (use monthly_spend_usd ÷ platform count as the rough prior; if the user has set per-platform spend in the future, use that instead) by +0.1 (cap at 0.8).

  • If profile is empty, fall back to equal weight.

Sort all items by impact descending.


Phase 4 — Regression detection (Priority 0)

For each platform with ≥2 audits in history, run:

python3 scripts/profile.py compare 

Inspect the JSON output:

  • `score_delta health dropped from /100 () → /100 () since your last audit.

New issues: Resolved: ```

  • score_delta > +5 → success line at the very bottom of the output:

🎉 health improved + points since last audit. Keep going.

Regressions take precedence over normal Quick Wins. They appear ABOVE the Top 3 list, with their own header.


Phase 5 — Output the top 3

Default subcommand prints:

Next actions (ranked by impact × ease for your $XXX/mo across ):

  1. [ ·  · ] 
     Finding:        
     Recommendation: 
     Estimated fix:   min · Impact: 
     Reference:      

  2. [...]

  3. [...]

(Run `/ads next show` to see the top 10. `/ads next compare` for full audit delta.)

If show subcommand: print top 10 instead, no prompt, exit.


Phase 6 — Walk-through (default and walk subcommands)

AskUserQuestion:

> "Want me to walk you through fixing #1 right now?"

Options: Yes — step by step · Show me #2 instead · Exit, I'll handle it.

On Yes:

  1. Determine the reference file for this check_id based on its platform

and category. Lookup table:

| Platform | Category prefix | Reference file | |----------|----------------|----------------| | meta | Tracking / Pixel / CAPI | tracking-meta.md | | meta | Creative / fatigue | meta-audit.md (Creative section — covers M28 fatigue) | | meta | Structure / Budget | meta-audit.md | | google | Tracking / Conversion | tracking-google.md | | google | Bidding / Structure | google-audit.md | | google | Quality Score / Keywords | google-audit.md | | tiktok | Tracking / Events API | tracking-tiktok.md | | tiktok | Creative / Spark | tiktok-audit.md | | tiktok | Structure | tiktok-audit.md |

If no reference matches, use the check's own recommendation field as the only source.

  1. Step-by-step loop (same pattern as /ads start Phase C.3):
  • Print step 1: Goal · Do this · Expect to see · How I'll verify.
  • AskUserQuestion: Done — verify now · Hit an error · Pause.
  • On Done: run the verification (re-call the relevant MCP tool / API

script) and confirm the check now passes. If it does → ✓, move to step 2. If not → diagnose, retry.

  • Cap at 3 attempts per step.
  1. After the action, ask if the user wants to proceed to action #2.

On Show me #2 instead: re-enter Phase 6 with index 2.

On Exit: print:

> Run /ads audit after you've fixed this to update your score, then /ads > next again for the new top 3.


Phase 7 — Save state

At the end:

python3 scripts/profile.py set last_command "/ads next"
python3 scripts/profile.py set last_command_at "$(date -u +%FT%TZ)"

The history index updates itself when /ads audit runs next — /ads next itself doesn't add to history (it only reads + acts).


Compare mode (/ads next compare)

For each platform with ≥2 history entries:

python3 scripts/profile.py compare 

Print the full diff for each: score delta, grade change, new issues, resolved issues, file timestamps. No ranking, no walk-through prompt — this is the audit changelog view.


Error handling

  • Profile missing → print one-liner suggesting /ads start, exit.
  • No audits anywhere → print one-liner suggesting /ads audit, exit.
  • All audits failed validation → print the warnings collected and exit.
  • During walk-through: if 3 retries fail, log to console "Skipped

— come back to this with /ads next walk later" and ask whether to try #2.

Output contract

/ads next produces NO files. It is purely interactive coaching plus side-effects on ~/.claude-ads/history/ (via save-audit) and the profile's last_command* fields.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.