The dashboard is not the decision
A Search Console export can show what moved. It cannot tell you which movement deserves this week, whether the cause is content or infrastructure, or what a reviewer should approve. That translation is where the weekly hours disappear.
Teams open one tab for pages losing clicks, another for positions, a crawl report for technical issues, and a separate document for what ChatGPT or Google's AI features cite. Each list can be correct and the combined backlog can still be wrong: the same URL appears three times, tiny denominators look urgent, and a dramatic percentage wins over a commercially important page with a quieter loss.
This pack gives the review a spine. Six focused skills turn the evidence into one queue and preserve the path back to the export, answer sample or inspection that created each item. The final step is a brief for approval—not an unreviewed website change.
Download the weekly search review pack
Six skills, one standard-library CSV analyzer, templates, source notes and an MIT license. You can also read the plain-text pack index.
Turn search insights into compounding growth
Make AI recommend you, not competitors
Go viral on every social network
Optimise your website to rank on Google
The usual review
Exports become separate backlogs
- Rows are compared without checking filters, aggregation or date-window parity
- Position 11 is treated as an opportunity before intent and page fit are checked
- Technical findings and citation gaps compete on unrelated scoring systems
The pack
Evidence becomes one capacity-limited queue
- Like-for-like periods and missing rows are handled explicitly
- Each lane keeps its own evidence before a shared priority score is applied
- Selected items end as scoped briefs with measures, risks and approval state
Six skills, each with one job
The coordinator is intentionally not a hundred-rule SEO prompt. It routes work to five narrower skills so a traffic loss does not turn into a rewrite before anyone has checked demand, indexing or a recent release.
Weekly review
Use when: you have the review packet and need one ranked queue capped to the team's actual capacity
Output: coverage notes, ranked actions, a holding list, briefs and a recheck loop
Traffic decay
Use when: pages or queries lost clicks and you need to separate the measured pattern from possible causes
Output: absolute loss, scope, supported and contradicted hypotheses, and the cheapest next check
Striking distance
Use when: queries average positions 4–20 and have enough impressions to justify an intent and page-fit review
Output: accepted and rejected candidates with gaps, mechanisms, measures and confidence
Answer citation gap
Use when: you have dated answer samples and want to find questions where competitors recur but your site does not
Output: sample coverage, cited domains and pages, repeated gaps and recheckable actions
Technical search triage
Use when: indexing, crawl, canonical, rendered-page or experience evidence needs to become a fix queue
Output: confirmed blockers, false positives, affected scope, validation and rollback
Search action brief
Use when: a selected opportunity needs exact scope and an approval-ready implementation or experiment brief
Output: evidence, diagnosis, proposed change, acceptance criteria, measures, risk and approval state
Measured first
Observed separately
Proposed last
A weekly review that can be audited
The workflow starts by freezing the packet, not by looking for a dramatic row. That sounds procedural. It is the difference between comparing performance and comparing two differently filtered tables.
1. Freeze comparable inputs
Record the property, search type, filters, aggregation, data state, export method and two equal-length windows with the same weekdays. Add year-over-year evidence where seasonality is plausible.
2. Measure without filling gaps with zero
The included Python script aggregates duplicate keys, derives CTR, weights average position by impressions and reports rows that appear in only one export. Those rows remain unmatched because Search Console tables can be truncated.
3. Explain by lane
A loss is tested against demand, CTR, position, query mix and technical evidence. A near-page-one row is tested for intent and page fit. Citation gaps and technical findings keep their own evidence standards.
4. Rank after diagnosis
Candidates receive an impact band inside their lane, business value from your context, a confidence factor and an effort size. That prevents incompatible raw numbers—lost clicks and affected URLs—from pretending to be the same unit.
5. Brief only what fits this week
The queue is cut at the team's capacity. Every selected item becomes a diagnostic check, page update, new asset, technical fix or experiment with exact acceptance criteria and an owner.
6. Close the loop
The brief sets a baseline, success measure, guardrail and recheck date before the change ships. Next week's review starts by reading those outcomes, not by creating a fresh pile of unrelated ideas.
Why the data guardrails matter
The score orders work; it does not forecast traffic
Each lane first assigns an impact band from one to five using its own observable basis: lost clicks for decay, eligible impressions for striking distance, affected valuable pages for technical issues, or repeated presence in the citation sample. Then the shared queue uses one transparent calculation.
- Impact band, 1–5
- Relative evidence within the lane, with the raw basis retained beside it.
- Business value, 1–3
- The user's stated conversion, priority product, market or page—not a guessed revenue value.
- Confidence
- 0.5 for one weak signal, 0.75 for consistent but incomplete evidence, 1.0 for direct corroborated evidence.
- Effort, 1/2/3/5
- Expected implementation and review cost, including dependencies rather than just editing time.
- Priority
- Impact band × business value × confidence ÷ effort. Ties go to confidence, then lower effort.
A ranked list is useful only when a reviewer can change the assumptions and get a different order
That is why every component stays visible. A result can be high-impact and still wait because evidence is weak. Another can move now because it is reversible and cheap. Neither score is a promise of clicks, position, citation or revenue.
What to export before you run it
The minimum is two like-for-like Search Console CSVs and enough commercial context to know which pages matter. The other lanes improve the decision; they are not a reason to postpone the review when the evidence does not exist yet.
- Current and previous CSVs with clicks, impressions, CTR and position, grouped by page and query when possible
- The property, search type, filters, aggregation, export method and inclusive date windows used for both files
- Primary conversion, priority pages or products, target markets, brand terms and this week's delivery capacity
- Optional Page indexing, URL Inspection, sitemap, crawl, canonical, rendered-page, structured-data or Core Web Vitals evidence
- Optional dated answer samples with engine, exact prompt, locale, answer record and every cited URL
- Release, migration, incident and campaign notes that can explain discontinuities in the chart
Google recommends looking at traffic drops in context, splitting search types and determining whether a fall is sitewide, page-group or page-specific before choosing a remedy. The pack encodes that order from Google's traffic-drop debugging guide.
Install the six folders, then start with one request
Unzip the file and copy the six folders inside skills/ into .agents/skills/ at your repository root, or into ~/.agents/skills/ for personal use across repositories.
Unzip and inspect
Output: README, INSTALL, LICENSE and six skill folders; read each SKILL.md and the analyzer before installing
Copy the six skill folders
Use when: repository scope belongs in .agents/skills; personal scope belongs in ~/.agents/skills
Output: .agents/skills/gsc-weekly-review/SKILL.md plus its five siblings
Invoke the coordinator
Use when: the exports and context are attached or available in the workspace
Output: $gsc-weekly-review turns the packet into a capacity-limited ranked queue
One script, no third-party packages
Official OpenAI documentation says Codex loads repository skills from .agents/skills, user skills from ~/.agents/skills, and can invoke them explicitly with $ or implicitly from the description. See Build skills.
What the pack will not claim
Average position is not a live rank
A drop is not automatically decay
Eligibility is not inclusion
A brief is not approval
Google's current guidance for generative search says the same core technical and people-first SEO practices continue to matter, while explicitly warning that meeting requirements does not guarantee crawling, indexing or serving. OpenAI's publisher guidance similarly says allowing OAI-SearchBot helps content qualify for ChatGPT summaries and citations, not that it will appear. Those are the boundaries used by the citation and technical skills. Read the Google AI features guide and OpenAI publisher FAQ.
Run the next search review as a decision, not a dashboard
Download all six skills, the CSV analyzer, evidence contracts, brief template and source notes. MIT licensed by Tau AI.

Andrew Persh
Founder, Tau AI