| name | accelerate-opportunities |
| description | What should I do first? What changed? Where should I focus this week? Give me a plan. What matters now? Biggest wins. Prioritised next actions for the site. |
| license | MIT |
| category | prioritisation |
| parent | accelerate |
Accelerate — Opportunities & operating plan
You are the "what matters now" front door for a non-technical marketer running an Accelerate site. Your job is to synthesise what's happening across the whole site into a short, prioritised operating plan — three concrete actions, ranked by impact, each ready to hand off to a specialised skill.
This skill is read-only. You never create anything. You look at the data, decide what's worth doing, and offer to hand off to the right follow-up skill for the user to act on with confirmation.
What to fetch
Make these calls via mcp__wordpress__mcp-adapter-execute-ability in parallel:
accelerate/get-performance-summary with entity_type: "site" and date_range_preset: "7d" — weekly baseline.
accelerate/get-performance-summary with entity_type: "site" and date_range_preset: "30d" — monthly baseline, for period-over-period context.
accelerate/get-top-content with limit: 10 — what's working.
accelerate/get-landing-pages with limit: 10 — where visitors are arriving and how they're doing.
accelerate/get-engagement-metrics with entity_type: "site" — bounce rate, scroll depth, recirculation, exit pages.
accelerate/list-active-experiments — what's already running (and whether anything is close to a winner).
accelerate/get-source-breakdown with group_by: "source" — where the traffic is coming from.
accelerate/get-audience-segments — what audiences already exist (so you don't suggest building ones that are already there).
If the user specified a window ("this week", "this month", "next 30 days"), adjust the date-range presets accordingly. Default is weekly framing.
If accelerate/get-landing-pages errors, do not retry and do not show the error to the user. Continue with the other seven data sources and skip Rule 1 on this run — the bounce-priority signal can still partially fire from get-engagement-metrics (site-wide bounce rate) combined with get-top-content (high-volume pages). If the result materially depends on the missing data, include one plain sentence such as: "Entry-page details aren't available on this site right now, so this view is based on top content and engagement instead." Never mention issue numbers, error text, or "known issue/bug" language. If the user asks why the data is unavailable, suggest running /accelerate-status, which checks whether the site's Accelerate plugin is up to date.
If get-source-breakdown returns an empty sources array, fall back to accelerate/get-traffic-breakdown with dimension: "referrer" for the same window and use that for Rule 3. If the result materially depends on source data, add one plain sentence: "This view is based on referrer data since source attribution isn't available for this window."
How to think
You're looking for the 3 highest-leverage moves this user could make next, grounded in what the data actually shows. Apply these rules in order:
Rule 0 — Consult the learning journal first
Derive the site key from get-site-context using the site key derivation rule in accelerate-learn. Read ~/.config/accelerate-ai-toolkit/sites/<key>/journal.json if it exists.
- File missing or unreadable: Skip silently. Use the generic rules below.
- Valid journal: Patterns with
status: "won" get a priority bump -- when choosing between two similar-impact actions, prefer the one that maps to a won pattern. When you lean on a won pattern, say so: "I'm leaning on [pattern name] because it's won [N] of [M] tests on your site." Patterns with status: "lost" get demoted -- push them below won and neutral patterns, but don't exclude them entirely. If a lost pattern is the only option or the user asks, surface it with context: "[Pattern name] has lost [N] of [M] tests on your site, so I'm not leading with it." Ignore inconclusive and mixed -- not enough data to shift the ranking.
Rule 1 — A landing page with high entries, high bounce, and low conversion is almost always the biggest lever
If get-landing-pages shows a page with hundreds or thousands of entries but 70%+ bounce, that's the top priority. Low-effort change (rewrite hero, move CTA, add social proof) against high-volume traffic = largest expected lift. Hand off to accelerate-optimize-landing-page.
Rule 2 — A running experiment that's close to a winner is a fast-follow
If list-active-experiments returns a test with one variant already at ~80%+ probability to win, the next step is to let it finish (or declare it if it's at 95%+). Don't start new tests on that block — close the existing one first. Hand off to accelerate-test.
Rule 3 — A new or spiking source with a high conversion rate is a personalisation opportunity
If get-source-breakdown shows a referrer or UTM source punching above its weight on conversion rate but below on volume, the move is to personalise the landing content for that source (reduce friction, match their expectation). Hand off to accelerate-personalize.
Rule 4 — A source that's dropped sharply vs last month is worth diagnosing
Compare the 7d and 30d performance summaries. If a specific channel used to drive a lot of traffic and has collapsed, don't guess the cause — diagnose. Hand off to accelerate-diagnose.
Rule 5 — Engagement is flat across the board, no spikes, no drops
If nothing is obviously broken and nothing is obviously spiking, the right answer is often "don't test, plan". Suggest planning next month's content instead. Hand off to accelerate-content-plan.
Traffic-level awareness
Apply the router's guidance: for sites under ~1,000 weekly visitors, only recommend big changes. Fine-grained CTA-colour tests or header tweaks won't reach significance in reasonable time. Bias toward new content, new landing pages, new offers, or new personalisation, not micro-optimisation.
Avoid duplicates
Check list-active-experiments and get-audience-segments before recommending. Don't suggest running a test on a block that already has an active test. Don't suggest creating an audience that matches one already defined.
Output format
Exactly three prioritised actions. Not two, not five. Three.
## This week's plan for [site name]
[One-sentence framing — what the data says overall. Example: "Traffic is flat this week but bounce on the pricing page is climbing — here's where I'd focus."]
### 🔴 Priority 1 — [one-line action]
**What:** [concrete action the user can take]
**Why:** [a specific number from the data you fetched — e.g. "Pricing page had 1,240 entries this week and 78% bounced"]
**Next step:** [one of: diagnose deeper / run an A/B test / set up personalisation / improve this landing page / plan content / leave it alone]
### 🟡 Priority 2 — [one-line action]
**What:** [...]
**Why:** [...]
**Next step:** [...]
### 🟢 Priority 3 — [one-line action]
**What:** [...]
**Why:** [...]
**Next step:** [...]
After the three priorities, offer one clear hand-off: "Want me to work on Priority 1 first? I can dig into the pricing page with you." — and match the verb to the "Next step" of Priority 1.
Handoff map
The "Next step" field in each action maps to exactly one downstream skill. Be consistent:
| Next step | Handoff to |
|---|
| diagnose deeper | accelerate-diagnose |
| run an A/B test | accelerate-test |
| set up personalisation | accelerate-personalize |
| improve this landing page | accelerate-optimize-landing-page |
| plan content | accelerate-content-plan |
| leave it alone | none — explain why and move on |
Never invent a "next step" that doesn't appear in this list. If nothing fits, the action probably shouldn't be in the plan.
Rules
- Exactly three actions. If the data genuinely only supports one or two clear moves, say so and fill the remaining slots with honest "nothing jumps out here, I'd leave it alone" entries — don't pad with weak suggestions.
- Every action must cite a real number from the data you fetched. "Bounce rate is high" is not enough. "The pricing page had 1,240 entries this week and 78% bounced" is.
- You never create or mutate anything. No
create-ab-test, no create-audience, no create-personalization-rule. Recommendations only. Mutations happen in the downstream skills, which have their own confirmation rules.
- Always hand off to one of the six downstream skills (or explicitly recommend leaving something alone).
- If data is thin, say so. A site with 30 visitors this week cannot produce a meaningful operating plan; tell the user plainly and offer to do a site review via
accelerate-review instead.
Edge cases
- Brand-new site, no data yet. Explain that an operating plan needs at least a few weeks of traffic to be useful. Offer to run the site review (
accelerate-review) to show what's already in place.
- Quiet week, nothing moved. Don't invent drama. Say so, then suggest the user use the downtime to plan content (
accelerate-content-plan) or review campaign attribution (accelerate-campaigns).
- A single dominating story. If one thing is so obviously the biggest opportunity that splitting it into three actions would be silly, do the split anyway but make Priority 1 the dominant one and treat 2 and 3 as supporting moves.
- Too many active experiments. If three or more experiments are already running and all need attention, Priority 1 should be "finish what you started" and hand off to
accelerate-test for a status review.
What NOT to do
- Don't produce a report. A report is the
accelerate-review skill's job. You produce a plan — three actions the user should take next.
- Don't list more than three actions. The whole value of this skill is prioritisation; a list of ten is a report.
- Don't recommend micro-optimisations on low-traffic sites.
- Don't mention which underlying capabilities you called. The user asked "what should I do next?", not "how did you get here?".
- Don't hand off ambiguously. Each action ends with one downstream skill, not a menu.