SEO Operating System v3

:root{–bg:#f4f6f8;–panel:#fff;–soft:#f7f9fa;–soft2:#e9f7f1;–ink:#16212b;–muted:#667483;–line:#dbe4e7;–brand:#087f5b;–brand2:#0ca678;–blue:#2563eb;–amber:#9a5b00;–red:#b4233c;–violet:#6d28d9;–shadow:0 12px 32px rgba(25,42,51,.08);–radius:16px;–header:76px}
[data-theme=”dark”]{–bg:#0b131d;–panel:#111e2a;–soft:#162633;–soft2:#15352c;–ink:#eef5fa;–muted:#a7b4c0;–line:#2a3d49;–brand:#45d6a3;–brand2:#79e7c0;–blue:#8bb6ff;–amber:#f1c267;–red:#ff94a6;–violet:#c1adff;–shadow:0 18px 48px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(–bg);color:var(–ink);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,”Segoe UI”,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.hidden{display:none!important}a{color:var(–blue)}
header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(–panel),transparent 3%);backdrop-filter:blur(16px);border-bottom:1px solid var(–line)}
.topbar{max-width:1540px;margin:auto;padding:10px 18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;min-width:260px}.logo{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(–brand),var(–blue));display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:var(–shadow)}.brand h1{font-size:16px;line-height:1.15;margin:0}.brand small{display:block;color:var(–muted);font-weight:500}
.nav{display:flex;gap:5px;flex-wrap:wrap}.nav button,.btn{border:1px solid var(–line);background:var(–panel);border-radius:10px;padding:8px 11px;font-weight:700}.nav button.active,.btn.primary{background:var(–brand);border-color:var(–brand);color:#fff}.btn.soft{background:var(–soft)}.btn.danger{color:var(–red);border-color:color-mix(in srgb,var(–red),var(–line) 65%)}.btn.small{padding:5px 8px;font-size:12px}.spacer{flex:1}.searchWrap{position:relative;min-width:220px;flex:0 1 330px}.searchWrap input{width:100%;border:1px solid var(–line);background:var(–soft);border-radius:10px;padding:8px 10px}.searchResults{position:absolute;top:43px;left:0;right:0;max-height:420px;overflow:auto;background:var(–panel);border:1px solid var(–line);border-radius:12px;box-shadow:var(–shadow);padding:7px}.searchItem{padding:9px;border-radius:8px;border-bottom:1px solid var(–line);cursor:pointer}.searchItem:hover{background:var(–soft)}
main{max-width:1540px;margin:auto;padding:22px 18px 70px}.view{display:none}.view.active{display:block}.pageHead{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;flex-wrap:wrap}.pageHead h2{margin:0;font-size:26px;line-height:1.2}.pageHead p{margin:6px 0 0;color:var(–muted);max-width:820px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.grid{display:grid;gap:14px}.grid.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(–panel);border:1px solid var(–line);border-radius:var(–radius);box-shadow:var(–shadow);padding:16px}.metric b{display:block;font-size:26px}.metric span{color:var(–muted)}.progress{height:9px;background:var(–soft);border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(–brand),var(–blue));border-radius:99px}.muted{color:var(–muted)}.notice{border-left:4px solid var(–amber);background:color-mix(in srgb,var(–amber),transparent 92%);padding:13px 15px;border-radius:10px}.success{border-left-color:var(–brand);background:color-mix(in srgb,var(–brand),transparent 92%)}
.checkpointGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.checkpoint h3{margin:0 0 5px}.checkpoint ul{margin:12px 0 0;padding-left:18px}.checkpoint li{margin:5px 0}.dot{display:inline-block;width:9px;height:9px;border-radius:99px;margin-right:6px;background:var(–muted)}.dot.good{background:var(–brand)}.dot.warn{background:var(–amber)}
.stage{margin:0 0 16px}.stageHead{display:flex;gap:14px;align-items:flex-start}.stageNum{min-width:44px;height:44px;border-radius:13px;background:var(–soft2);display:grid;place-items:center;color:var(–brand);font-size:18px;font-weight:900}.stageHead h3{margin:0;font-size:20px}.stageHead p{margin:4px 0;color:var(–muted)}.stageMeta{margin-left:auto;text-align:right}.taskList{display:grid;gap:10px;margin-top:14px}.task{border:1px solid var(–line);background:var(–soft);border-radius:13px;overflow:hidden}.taskMain{display:grid;grid-template-columns:minmax(0,1fr) 130px 110px auto;gap:10px;align-items:center;padding:12px}.taskTitle{font-weight:750}.taskTitle small{display:block;color:var(–muted);font-weight:500;margin-top:3px}.taskDetails{border-top:1px solid var(–line);padding:14px;background:var(–panel)}.twoCol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.threeCol{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.field label{display:block;font-weight:700;font-size:12px;margin-bottom:5px;color:var(–muted)}.field input,.field select,.field textarea{width:100%;border:1px solid var(–line);background:var(–panel);border-radius:9px;padding:8px}.field textarea{min-height:78px;resize:vertical}.readonly{padding:9px;border:1px solid var(–line);background:var(–soft);border-radius:9px}.infoGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:12px 0}.infoBox{background:var(–soft);border:1px solid var(–line);padding:10px;border-radius:10px}.infoBox b{display:block;font-size:11px;text-transform:uppercase;color:var(–muted);letter-spacing:.04em;margin-bottom:4px}
.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:99px;font-size:11px;font-weight:800;border:1px solid transparent;white-space:nowrap}.critical{background:color-mix(in srgb,var(–red),transparent 88%);color:var(–red);border-color:color-mix(in srgb,var(–red),transparent 70%)}.important{background:color-mix(in srgb,var(–amber),transparent 88%);color:var(–amber)}.routine{background:color-mix(in srgb,var(–blue),transparent 90%);color:var(–blue)}.done{background:color-mix(in srgb,var(–brand),transparent 88%);color:var(–brand)}.blocked,.reject{background:color-mix(in srgb,var(–red),transparent 88%);color:var(–red)}.in_progress,.support{background:color-mix(in srgb,var(–blue),transparent 88%);color:var(–blue)}.review,.rescored{background:color-mix(in srgb,var(–violet),transparent 88%);color:var(–violet)}.longterm{background:color-mix(in srgb,var(–amber),transparent 88%);color:var(–amber)}
.playStage details,.moduleCard details{border:1px solid var(–line);border-radius:13px;background:var(–panel);margin:10px 0;overflow:hidden}.playStage summary,.moduleCard summary{padding:13px 15px;font-weight:800;cursor:pointer;background:var(–soft)}.playBody{padding:15px}.playBody ol{padding-left:22px}.playBody li{margin:7px 0}.definition{display:grid;grid-template-columns:140px 1fr;gap:7px;border-top:1px solid var(–line);padding-top:10px;margin-top:10px}.definition b{color:var(–muted)}
.tabs{display:flex;gap:6px;overflow:auto;padding-bottom:6px}.tabs button{white-space:nowrap}.tableWrap{overflow:auto;border:1px solid var(–line);border-radius:13px;background:var(–panel);max-height:650px}.registerTable{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.registerTable th,.registerTable td{border-bottom:1px solid var(–line);border-right:1px solid var(–line);padding:6px;vertical-align:top}.registerTable th{position:sticky;top:0;background:var(–soft);z-index:3;text-align:left;font-size:12px;min-width:150px}.registerTable th:first-child,.registerTable td:first-child{position:sticky;left:0;z-index:4;background:var(–panel);min-width:56px}.registerTable th:first-child{background:var(–soft);z-index:5}.registerTable input,.registerTable select,.registerTable textarea{width:100%;min-width:130px;border:1px solid transparent;background:transparent;border-radius:7px;padding:6px}.registerTable textarea{height:54px;resize:vertical}.registerTable input:focus,.registerTable select:focus,.registerTable textarea:focus{border-color:var(–blue);background:var(–soft);outline:none}.computed{font-weight:800;padding:8px;display:block}.rowActions{display:flex;gap:4px}.highlightRow td{background:color-mix(in srgb,var(–violet),transparent 92%)!important}
.settingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.moduleToggle{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(–line)}.commandTable{width:100%;border-collapse:collapse}.commandTable th,.commandTable td{padding:9px;border-bottom:1px solid var(–line);text-align:left}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.toast{position:fixed;right:20px;bottom:20px;background:var(–ink);color:var(–bg);padding:11px 15px;border-radius:11px;box-shadow:var(–shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:none}.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:90;display:grid;place-items:center;padding:20px}.modalBox{width:min(720px,100%);max-height:85vh;overflow:auto;background:var(–panel);border-radius:18px;padding:20px;box-shadow:var(–shadow)}
@media(max-width:1100px){.grid.cards{grid-template-columns:repeat(2,1fr)}.checkpointGrid{grid-template-columns:1fr}.taskMain{grid-template-columns:minmax(0,1fr) 120px auto}.taskMain .prioritySelect{display:none}.settingsGrid{grid-template-columns:1fr}}
@media(max-width:700px){.grid[style*=”grid-template-columns:1.2fr”]{grid-template-columns:1fr!important}.searchItem{overflow-wrap:anywhere}.searchResults{max-width:calc(100vw – 20px)}main{padding:16px 10px 60px}.topbar{padding:9px 10px}.brand{min-width:0}.brand small{display:none}.nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap}.nav button{white-space:nowrap}.searchWrap{min-width:160px}.grid.cards{grid-template-columns:1fr}.taskMain{grid-template-columns:1fr}.stageMeta{margin-left:58px;text-align:left}.twoCol,.threeCol,.infoGrid{grid-template-columns:1fr}.pageHead h2{font-size:22px}.definition{grid-template-columns:1fr}.taskMain select,.taskMain button{width:100%}}
@media print{header,.toolbar,.btn,.nav,.searchWrap,.toast{display:none!important}body{background:#fff;color:#000}main{max-width:none;padding:0}.view{display:none!important}#view-dashboard{display:block!important}.card{box-shadow:none;break-inside:avoid}.checkpointGrid,.grid.cards{grid-template-columns:repeat(2,1fr)}}

/*#stage-slideover-sidebar > div > div:nth-of-type(2) > nav > div:nth-of-type(8) > div:nth-of-type(3){display:none;}*/
/*#stage-slideover-sidebar > div > div:nth-of-type(2) > nav > div:nth-of-type(8) > div:nth-of-type(3){display:none;}*/

SEO Operating System v3

Small-project workflow + advanced playbook

‘use strict’;
const APP_DATA={“version”:”3.0.0″,”buildDate”:”2026-07-21″,”layer1Stages”:[{“id”:”l1-stage-1″,”number”:”1″,”category”:”Foundation”,”title”:”Business Goal and Scope”,”purpose”:”Define what the business needs from SEO before touching any SEO tool.”,”gate”:”One primary business outcome is selected. Every priority page has an intended audience, offer, and measurable action. The team agrees what a qualified result means.”,”expansion”:”Stage 01 — business definition, customer language, and SEO charter.”,”tasks”:[“l1-01-1″,”l1-01-2″,”l1-01-3″,”l1-01-4”]},{“id”:”l1-stage-2″,”number”:”2″,”category”:”Foundation”,”title”:”Measurement and Baseline”,”purpose”:”Prove you can measure what matters before optimizing anything.”,”gate”:”A test conversion is visible end to end. Primary conversions are not duplicated. Business outcomes can be analyzed by organic landing page and data gaps are documented.”,”expansion”:”Stages 02–03 — measurement, attribution, recovery, and migration planning.”,”tasks”:[“l1-02-1″,”l1-02-2″,”l1-02-3″,”l1-02-4″,”l1-02-5”]},{“id”:”l1-stage-3″,”number”:”3″,”category”:”Eligibility”,”title”:”Technical Eligibility”,”purpose”:”Fix only what blocks indexing, rendering, security, or conversions. Everything else goes to backlog.”,”gate”:”Priority pages are crawlable, render correctly, have coherent canonicals, and conversions work. No P0 issue remains open.”,”expansion”:”Stages 04–05 — full technical audit, rendering, structured data, architecture, and URL governance.”,”tasks”:[“l1-03-1″,”l1-03-2″,”l1-03-3″,”l1-03-4″,”l1-03-5”]},{“id”:”l1-stage-4″,”number”:”4″,”category”:”Intelligence + Strategy”,”title”:”Competitor, Keyword, and Winnability Research”,”purpose”:”Understand who is winning, decide which battles are realistically winnable, and map each opportunity to one page.”,”gate”:”Every Pursue now target has one URL, one conversion action, a five-factor verdict, and no fatal weakness. Cannibalization is resolved.”,”expansion”:”Stages 06–09 — competitive research, demand mapping, topical authority, and execution roadmaps.”,”tasks”:[“l1-04-1″,”l1-04-2″,”l1-04-3″,”l1-04-4″,”l1-04-5″,”l1-04-6″,”l1-04-7″,”l1-04-8”]},{“id”:”l1-stage-5″,”number”:”5″,”category”:”Production”,”title”:”Implementation and Publishing”,”purpose”:”Create or improve pages, build internal links, and publish with risk-based quality assurance.”,”gate”:”Intent, evidence, technical QA, conversion QA, internal links, tracking, publishing, and the 24-hour technical check are complete.”,”expansion”:”Stages 10–13 — content, internal links, authority, UX, accessibility, CWV, and conversion.”,”tasks”:[“l1-05-1″,”l1-05-2″,”l1-05-3″,”l1-05-4″,”l1-05-5″,”l1-05-6”]},{“id”:”l1-stage-6″,”number”:”6″,”category”:”Operations”,”title”:”Results Review and Improvement”,”purpose”:”Measure what happened, decide what to do next, and feed real results back into opportunity scoring.”,”gate”:”Every published page has a recorded outcome, next action, and review schedule. Underperforming work is re-scored.”,”expansion”:”Stage 14 — reporting, experiments, lifecycle management, forecasting, and controlled scaling.”,”tasks”:[“l1-06-1″,”l1-06-2″,”l1-06-3″,”l1-06-4″,”l1-06-5″]}],”layer1Tasks”:[{“num”:”1.1″,”step”:1,”stage”:1,”groupType”:”layer1″,”id”:”l1-01-1″,”action”:”Define the primary market, language, audience, product/service, and the problem being solved.”,”execution”:”Interview the business owner. Use actual customer language and transaction data. AI may organize supplied facts but must not invent them.”,”requiredInput”:”Business owner access, CRM/sales data, customer interviews.”,”expectedOutput”:”Documented market, audience, offer, and problem statement.”,”gate”:”Market, audience, and offer are defined with evidence.”,”register”:”business”,”commandKeys”:[],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”Human owner / manual tool workflow”},{“num”:”1.2″,”step”:2,”stage”:1,”groupType”:”layer1″,”id”:”l1-01-2″,”action”:”Choose one primary business outcome: qualified lead, booking, sale, subscription, trial, store visit, or another verified action.”,”execution”:”Discuss with the business owner what actually drives revenue. The primary outcome must be measurable.”,”requiredInput”:”Business model understanding from 1.1.”,”expectedOutput”:”One selected primary business outcome with definition of what qualifies.”,”gate”:”One primary outcome is selected and the team agrees what a qualified result means.”,”register”:”business”,”commandKeys”:[],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”Human owner / manual tool workflow”},{“num”:”1.3″,”step”:3,”stage”:1,”groupType”:”layer1″,”id”:”l1-01-3″,”action”:”List highest-value landing pages and connect each to an offer, audience, and conversion action. Record unit economics (AOV/lead value, margin, sales cycle).”,”execution”:”Map existing pages to business outcomes. Record financial data from actual records, not estimates.”,”requiredInput”:”Website, CRM data, financial records.”,”expectedOutput”:”Landing page inventory with offer, audience, conversion action, and unit economics per page.”,”gate”:”Every priority page has an intended audience, offer, and measurable action.”,”register”:”business”,”commandKeys”:[“seo-plan”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”claude-seo”},{“num”:”1.4″,”step”:4,”stage”:1,”groupType”:”layer1″,”id”:”l1-01-4″,”action”:”Set guardrails: legal/compliance requirements, brand restrictions, capacity limits, markets the business cannot serve.”,”execution”:”Document constraints that affect SEO scope. These prevent wasted effort on opportunities the business cannot fulfill.”,”requiredInput”:”Legal, compliance, and operational constraints from the business.”,”expectedOutput”:”Documented guardrails and constraints.”,”gate”:”Constraints are recorded and acknowledged by the team.”,”register”:”business”,”commandKeys”:[],”defaultPriority”:”P2″,”verificationTier”:”routine”,”skill”:”Human owner / manual tool workflow”},{“num”:”2.1″,”step”:1,”stage”:2,”groupType”:”layer1″,”id”:”l1-02-1″,”action”:”Verify Search Console ownership for all site variants. Connect the correct GA4 property.”,”execution”:”Confirm access, verify correct properties, check data is flowing.”,”requiredInput”:”Google Search Console access, GA4 access.”,”expectedOutput”:”Verified Search Console and GA4 connections.”,”gate”:”Both tools are connected and receiving data.”,”register”:”business”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P1″,”verificationTier”:”critical”,”skill”:”aaron-marketing”},{“num”:”2.2″,”step”:2,”stage”:2,”groupType”:”layer1″,”id”:”l1-02-2″,”action”:”Define and test primary conversion events. Run a real test conversion from organic landing to final business record.”,”execution”:”Set up events in GA4/GTM. Trigger a real conversion and trace it from landing page through to CRM/order/booking system. Confirm source, page, event, value, and status are all correct.”,”requiredInput”:”GA4/GTM access, CRM/store/booking system access.”,”expectedOutput”:”Tested conversion evidence showing end-to-end tracking.”,”gate”:”A test conversion is visible end to end. Primary conversions are not duplicated.”,”register”:”business”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P1″,”verificationTier”:”critical”,”skill”:”aaron-marketing”},{“num”:”2.3″,”step”:3,”stage”:2,”groupType”:”layer1″,”id”:”l1-02-3″,”action”:”Connect CRM, ecommerce, or booking system so landing pages can be tied to lead quality, sales, revenue, and margin.”,”execution”:”Integrate analytics with the business system of record. Verify revenue and lead quality can be analyzed by organic landing page.”,”requiredInput”:”CRM/ecommerce/booking system access.”,”expectedOutput”:”Working integration between analytics and business system.”,”gate”:”Revenue/lead status can be analyzed by organic landing page.”,”register”:”business”,”commandKeys”:[],”defaultPriority”:”P1″,”verificationTier”:”critical”,”skill”:”Human owner / manual tool workflow”},{“num”:”2.4″,”step”:4,”stage”:2,”groupType”:”layer1″,”id”:”l1-02-4″,”action”:”Save 12 months of baseline data when available; otherwise save all reliable available data and document the limitation. Segment by landing page, query, country, device, and conversion. Create a change log.”,”execution”:”Export and store historical data. New sites and small businesses may not have 12 months — save whatever reliable data exists and note the gap. Start a change log for releases, redirects, content updates, outages, and migrations.”,”requiredInput”:”Search Console and GA4 data access.”,”expectedOutput”:”Baseline data export and initialized change log.”,”gate”:”Baseline data is saved (or data limitation is documented for new/small sites) and change log is created.”,”register”:”business”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”aaron-marketing”},{“num”:”2.5″,”step”:5,”stage”:2,”groupType”:”layer1″,”id”:”l1-02-5″,”action”:”Check for existing recovery issues: manual actions, security problems, traffic drops, or pending migrations. Record “gate passed clean” if no issues.”,”execution”:”Check Search Console for manual actions and security issues. Compare recent traffic trends with the change log. If an incident exists, classify it before proceeding.”,”requiredInput”:”Search Console access, analytics, change log.”,”expectedOutput”:”Either “gate passed clean” or classified incident with action plan.”,”gate”:”Recovery status is assessed and documented.”,”register”:”business”,”commandKeys”:[“seo-audit”,”seo-technical”],”defaultPriority”:”P1″,”verificationTier”:”critical”,”skill”:”claude-seo”},{“num”:”3.1″,”step”:1,”stage”:3,”groupType”:”layer1″,”id”:”l1-03-1″,”action”:”Crawl the site. Classify response codes, redirect chains, blocked resources, robots rules, noindex, canonicals, sitemaps, and orphan URLs.”,”execution”:”Run a full crawl with Screaming Frog, Sitebulb, or equivalent. Compare with Search Console index coverage.”,”requiredInput”:”Crawler tool, Search Console access.”,”expectedOutput”:”Crawl report with classified issues.”,”gate”:”Crawl is complete and issues are classified.”,”register”:”implementation”,”commandKeys”:[“seo-audit”,”seo-technical”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”claude-seo”},{“num”:”3.2″,”step”:2,”stage”:3,”groupType”:”layer1″,”id”:”l1-03-2″,”action”:”Inspect representative money pages: verify indexability, rendering, HTTPS, mobile usability, and structured data. Check for manual actions and security issues.”,”execution”:”Use Search Console URL Inspection on each priority page. Compare raw HTML, rendered HTML, and browser output. Verify HTTPS and mobile usability.”,”requiredInput”:”Search Console access, browser developer tools.”,”expectedOutput”:”Page-level inspection results for all money pages.”,”gate”:”No manual actions or security issues. Money pages are indexable and render correctly.”,”register”:”implementation”,”commandKeys”:[“seo-technical”,”seo-page”,”seo-schema”],”defaultPriority”:”P1″,”verificationTier”:”critical”,”skill”:”claude-seo”},{“num”:”3.3″,”step”:3,”stage”:3,”groupType”:”layer1″,”id”:”l1-03-3″,”action”:”Measure Core Web Vitals (LCP, INP, CLS) at the 75th percentile for priority templates.”,”execution”:”Use PageSpeed Insights with field data (CrUX) where available. Fall back to lab data for new pages.”,”requiredInput”:”PageSpeed Insights, CrUX data.”,”expectedOutput”:”CWV scores by template type.”,”gate”:”CWV data is collected for priority templates.”,”register”:”implementation”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”claude-seo”},{“num”:”3.4″,”step”:4,”stage”:3,”groupType”:”layer1″,”id”:”l1-03-4″,”action”:”Classify all issues as P0 (blocks revenue/indexing/safety), P1 (material pattern), or P2 (improvement). Fix P0s now. Schedule P1s. Send P2s to backlog.”,”execution”:”Prioritize by affected business value, scope, and confidence — not by raw issue count.”,”requiredInput”:”Crawl report from 3.1, inspection results from 3.2, CWV data from 3.3.”,”expectedOutput”:”Classified issue list with P0s assigned, P1s scheduled, P2s in backlog.”,”gate”:”No P0 issues remain open. P1s have owners and deadlines.”,”register”:”implementation”,”commandKeys”:[],”defaultPriority”:”P0″,”verificationTier”:”critical”,”skill”:”Human owner / manual tool workflow”},{“num”:”3.5″,”step”:5,”stage”:3,”groupType”:”layer1″,”id”:”l1-03-5″,”action”:”Define URL governance: deterministic URL rules, canonical rules, index/noindex rules, sitemap plan, and crawl controls for each page template.”,”execution”:”Create the intended index as a finite list or rule set. Compare with the actual crawlable/indexed URL universe.”,”requiredInput”:”CMS template inventory, crawl data.”,”expectedOutput”:”URL governance document with rules per template.”,”gate”:”Every important URL has a clear purpose. Duplicate/filter/empty states are controlled.”,”register”:”implementation”,”commandKeys”:[“seo-sitemap”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”claude-seo”},{“num”:”4.1″,”step”:1,”stage”:4,”groupType”:”layer1″,”id”:”l1-04-1″,”action”:”Run localized live searches for priority intents. Record ranking pages, SERP features, result types, and date. Identify domains and pages that repeatedly compete.”,”execution”:”Search from the target location and device. Record date, location, and exact results. Do not rely solely on third-party SERP tools.”,”requiredInput”:”Priority intent list from Stage 1, live Google access.”,”expectedOutput”:”SERP observation log with dates, locations, and ranking pages.”,”gate”:”Priority queries have current live SERP observations.”,”register”:”opportunities”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”claude-seo”},{“num”:”4.2″,”step”:2,”stage”:4,”groupType”:”layer1″,”id”:”l1-04-2″,”action”:”Tear down the top 3 ranking pages per priority query: page type, headings, evidence, freshness, schema, media, internal links, backlinks, UX, conversion path. Record exploitable weaknesses.”,”execution”:”Analyze each page individually. Focus on what they do well and where they are weak. Record specific, actionable findings — not generic observations.”,”requiredInput”:”SERP observations from 4.1, SEO analysis tools.”,”expectedOutput”:”Page-level teardown for top 3 per priority query.”,”gate”:”Top 3 pages are analyzed at page level with exploitable weaknesses documented.”,”register”:”opportunities”,”commandKeys”:[“seo-page”,”seo-content”,”seo-backlinks”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”claude-seo”},{“num”:”4.3″,”step”:3,”stage”:4,”groupType”:”layer1″,”id”:”l1-04-3″,”action”:”Compare offers, proof, content formats, freshness, media, UX, and authority across competitors. Separate patterns from outliers. Document data limitations and source dates.”,”execution”:”Look for what the market rewards. Treat third-party metrics as estimates. Note when data is old or limited.”,”requiredInput”:”Teardowns from 4.2, SEO suite data.”,”expectedOutput”:”Market pattern summary with documented limitations.”,”gate”:”Competitive patterns are documented with source dates and confidence levels.”,”register”:”opportunities”,”commandKeys”:[],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”aaron-marketing + claude-seo”},{“num”:”4.4″,”step”:4,”stage”:4,”groupType”:”layer1″,”id”:”l1-04-4″,”action”:”Combine first-party queries (Search Console, site search, CRM, customer language), keyword tool data, and qualified competitor gaps. Normalize duplicates.”,”execution”:”Start with first-party data. Layer in keyword tool data as estimates. Preserve meaningful modifiers (audience, use case, location, problem).”,”requiredInput”:”Search Console data, keyword tool exports, customer language from Stage 1.”,”expectedOutput”:”Consolidated keyword list with sources noted.”,”gate”:”Keywords are combined from multiple sources with duplicates normalized.”,”register”:”opportunities”,”commandKeys”:[“seo-cluster”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”claude-seo”},{“num”:”4.5″,”step”:5,”stage”:4,”groupType”:”layer1″,”id”:”l1-04-5″,”action”:”Classify intent, dominant page type, funnel stage, and SERP features for each query group. Group terms that one page can satisfy.”,”execution”:”Validate against live SERPs. Split groups only when intent, offer, or required page type materially differs.”,”requiredInput”:”Keyword list from 4.4, live SERP observations.”,”expectedOutput”:”Intent-classified keyword clusters with page type assignments.”,”gate”:”Every cluster has a validated intent and page type.”,”register”:”opportunities”,”commandKeys”:[“seo-cluster”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”claude-seo”},{“num”:”4.6″,”step”:6,”stage”:4,”groupType”:”layer1″,”id”:”l1-04-6″,”action”:”Score every opportunity on 5 factors: business value, ranking feasibility, evidence advantage, expected impact, and effort. Apply the fatal-weakness rule.”,”execution”:”Score each factor 1-5. The system computes the total score and verdict. Check that no fatal weakness is being hidden by a high total. Override the computed verdict with a reason if needed.”,”requiredInput”:”Classified clusters from 4.5, competitive teardowns from 4.2, business data from Stage 1.”,”expectedOutput”:”All opportunities scored with computed verdicts.”,”gate”:”Every opportunity is scored. Fatal-weakness rule is applied. No score hides a critical gap.”,”register”:”opportunities”,”commandKeys”:[],”defaultPriority”:”P0″,”verificationTier”:”critical”,”skill”:”Human owner / manual tool workflow”},{“num”:”4.7″,”step”:7,”stage”:4,”groupType”:”layer1″,”id”:”l1-04-7″,”action”:”Force a verdict for each opportunity: Pursue now, Pursue after support, Long-term, or Reject. Map each “Pursue now” to one primary URL and conversion action.”,”execution”:”Accept or override the computed verdict. For each Pursue now: assign a URL, define the conversion action, and confirm the evidence advantage is real.”,”requiredInput”:”Scores from 4.6.”,”expectedOutput”:”Final verdicts with URL assignments for Pursue now targets.”,”gate”:”Every opportunity has a verdict. Every Pursue now has a URL and conversion action.”,”register”:”opportunities”,”commandKeys”:[],”defaultPriority”:”P0″,”verificationTier”:”critical”,”skill”:”Human owner / manual tool workflow”},{“num”:”4.8″,”step”:8,”stage”:4,”groupType”:”layer1″,”id”:”l1-04-8″,”action”:”Flag and resolve cannibalization. Build the query-to-URL matrix. Identify missing pages and wrong page types.”,”execution”:”No two Pursue now targets should map to the same URL for the same intent. Resolve conflicts before implementation.”,”requiredInput”:”Verdict map from 4.7.”,”expectedOutput”:”Clean query-to-URL matrix with cannibalization resolved.”,”gate”:”No cannibalization exists. Matrix is clean.”,”register”:”opportunities”,”commandKeys”:[],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”Human owner / manual tool workflow”},{“num”:”5.1″,”step”:1,”stage”:5,”groupType”:”layer1″,”id”:”l1-05-1″,”action”:”Create content briefs for each Pursue now target: intent, audience, unique value, required proof, competitive gap, outline, internal link plan, CTA, eligible schema.”,”execution”:”Use the competitive teardown to define what the page must do better. Identify the specific first-party evidence required.”,”requiredInput”:”Pursue now targets from 4.7, teardowns from 4.2.”,”expectedOutput”:”Content brief per Pursue now target.”,”gate”:”Brief defines intent, unique value, and required evidence.”,”register”:”implementation”,”commandKeys”:[“seo-brief”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”claude-seo”},{“num”:”5.2″,”step”:2,”stage”:5,”groupType”:”layer1″,”id”:”l1-05-2″,”action”:”Create or improve the page: satisfy the validated intent with first-party evidence and genuine value the top 3 competitors do not offer.”,”execution”:”Write from the brief. Include original data, screenshots, case studies, expert quotes, or direct experience. Do not copy competitor structure without adding distinct value.”,”requiredInput”:”Content brief from 5.1.”,”expectedOutput”:”Draft page with content, evidence, and media.”,”gate”:”Page satisfies intent with genuine evidence.”,”register”:”implementation”,”commandKeys”:[“blog-write”,”seo-content”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”claude-blog + claude-seo”},{“num”:”5.3″,”step”:3,”stage”:5,”groupType”:”layer1″,”id”:”l1-05-3″,”action”:”Complete on-page optimization: title, H1, meta description, URL, headings, images, alt text, and structured data for eligible types.”,”execution”:”Follow on-page best practices. Use original images where possible. Add structured data only for supported, visible content.”,”requiredInput”:”Draft page from 5.2.”,”expectedOutput”:”Optimized page elements.”,”gate”:”On-page elements are complete and correct.”,”register”:”implementation”,”commandKeys”:[“seo-page”,”seo-schema”,”seo-images”],”defaultPriority”:”P2″,”verificationTier”:”routine”,”skill”:”claude-seo”},{“num”:”5.4″,”step”:4,”stage”:5,”groupType”:”layer1″,”id”:”l1-05-4″,”action”:”Build internal links: from relevant existing pages to the new page, and from the new page to supporting content. Use descriptive, contextual anchors.”,”execution”:”Place links where they naturally help users. Connect within topical clusters. Fix any orphan pages discovered.”,”requiredInput”:”Published page, existing site structure.”,”expectedOutput”:”Internal links placed and documented.”,”gate”:”Page has incoming and outgoing internal links.”,”register”:”implementation”,”commandKeys”:[],”defaultPriority”:”P2″,”verificationTier”:”routine”,”skill”:”claude-seo”},{“num”:”5.5″,”step”:5,”stage”:5,”groupType”:”layer1″,”id”:”l1-05-5″,”action”:”Run pre-publish QA: indexability, canonical, rendering, mobile, CTA/conversion, analytics, schema validation, fact-check, and load performance.”,”execution”:”Check every item. This is the last gate before the page goes live. Use the Ready to Publish checkpoint conditions.”,”requiredInput”:”Complete page from 5.2-5.4.”,”expectedOutput”:”QA report with all checks passing.”,”gate”:”All Ready to Publish checkpoint conditions are met.”,”register”:”implementation”,”commandKeys”:[“seo-page”,”seo-technical”,”blog-seo-check”,”blog-factcheck”],”defaultPriority”:”P0″,”verificationTier”:”critical”,”skill”:”claude-seo”},{“num”:”5.6″,”step”:6,”stage”:5,”groupType”:”layer1″,”id”:”l1-05-6″,”action”:”Publish. Run a 24-hour technical check: confirm the page is published, crawlable, internally linked, included in the sitemap, and submitted or discoverable. Continue monitoring indexing separately.”,”execution”:”Submit to Search Console. Within 24 hours, verify the page is live, returns 200, is not blocked by robots.txt or noindex, has internal links pointing to it, and appears in the sitemap. Indexing may take longer — monitor it but do not treat delayed indexing as a blocker.”,”requiredInput”:”Passing QA from 5.5.”,”expectedOutput”:”24-hour technical check confirms page is published, crawlable, linked, and submitted. Indexing monitoring is set up.”,”gate”:”24-hour technical check is complete. Page is published, crawlable, and submitted. Indexing is being monitored.”,”register”:”implementation”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P0″,”verificationTier”:”critical”,”skill”:”aaron-marketing”},{“num”:”6.1″,”step”:1,”stage”:6,”groupType”:”layer1″,”id”:”l1-06-1″,”action”:”Confirm indexing. Check rankings, impressions, clicks, and CTR for target queries at 7 and 30 days post-publish.”,”execution”:”Use Search Console. Compare against baseline and predictions from the content brief.”,”requiredInput”:”Published page, Search Console data.”,”expectedOutput”:”Performance snapshot at 7 and 30 days.”,”gate”:”Performance data is recorded with comparison to baseline.”,”register”:”results”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”aaron-marketing”},{“num”:”6.2″,”step”:2,”stage”:6,”groupType”:”layer1″,”id”:”l1-06-2″,”action”:”Measure conversions, revenue, and lead quality from the published page. Compare against baseline and predictions.”,”execution”:”Use GA4 and CRM data. Focus on business outcomes, not just traffic. Compare with the unit economics from Stage 1.”,”requiredInput”:”GA4 data, CRM data, baseline from Stage 2.”,”expectedOutput”:”Conversion and revenue data with comparison.”,”gate”:”Business outcome data is recorded.”,”register”:”results”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”aaron-marketing”},{“num”:”6.3″,”step”:3,”stage”:6,”groupType”:”layer1″,”id”:”l1-06-3″,”action”:”Classify the outcome: met expectations, underperformed, or intent shifted. Record evidence for the classification.”,”execution”:”Use a structured dropdown, not free text. Base the classification on the data from 6.1 and 6.2. If underperformed or intent shifted, the feedback loop triggers automatically.”,”requiredInput”:”Performance data from 6.1, conversion data from 6.2.”,”expectedOutput”:”Classified outcome with evidence.”,”gate”:”Outcome is classified with supporting evidence.”,”register”:”results”,”commandKeys”:[],”defaultPriority”:”P0″,”verificationTier”:”critical”,”skill”:”Human owner / manual tool workflow”},{“num”:”6.4″,”step”:4,”stage”:6,”groupType”:”layer1″,”id”:”l1-06-4″,”action”:”FEEDBACK LOOP: If underperformed or intent shifted — re-enter Opportunities register, re-score with actual data, and issue a new verdict: iterate, pursue after support, or reject.”,”execution”:”Compare original scores with actual results. Update feasibility, evidence advantage, and impact based on real data. Apply fatal-weakness rule to updated scores. Document the re-scoring reason.”,”requiredInput”:”Outcome classification from 6.3, original opportunity scores.”,”expectedOutput”:”Re-scored opportunity with new verdict and documented reasoning.”,”gate”:”Opportunity is re-scored with actual data and a new verdict is issued.”,”register”:”opportunities”,”commandKeys”:[],”defaultPriority”:”P0″,”verificationTier”:”critical”,”skill”:”Human owner / manual tool workflow”},{“num”:”6.5″,”step”:5,”stage”:6,”groupType”:”layer1″,”id”:”l1-06-5″,”action”:”Identify quick wins and refresh triggers using configurable thresholds (defaults: position 4-20, 100+ impressions, 30%+ click decline, 6+ months without page-one visibility). Schedule next review.”,”execution”:”Use the computed quick-win and refresh-trigger formulas. Adjust thresholds in project settings if defaults do not fit the site (e.g., lower impressions threshold for small sites). Add identified opportunities to the backlog or re-enter Stage 4.”,”requiredInput”:”Search Console data, Results register data.”,”expectedOutput”:”Quick wins and refresh triggers identified. Next review date scheduled.”,”gate”:”Quick wins and refresh triggers are documented. Next review is scheduled.”,”register”:”results”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P1″,”verificationTier”:”important”,”skill”:”aaron-marketing”}],”layer1Registers”:[{“id”:”business”,”name”:”Business and Measurement”,”desc”:”Project scope, tracking setup, and baseline data.”,”core”:[“area”,”item”,”value”,”source_date”,”owner”,”verified”],”cols”:[[“area”,”Area”,”text”,”yes”],[“item”,”Item”,”text”,”yes”],[“value”,”Verified value or evidence”,”textarea”,”yes”],[“source_date”,”Source and date”,”text”,”yes”],[“owner”,”Owner”,”text”,”yes”],[“verified”,”Human verified”,”check”,”tier-dependent”],[“task”,”Linked task”,”task”,”no”],[“notes”,”Notes”,”textarea”,”no”]]},{“id”:”opportunities”,”name”:”Opportunities”,”desc”:”Keyword scoring, winnability, competitive evidence, and URL mapping.”,”core”:[“cluster”,”intent”,”primary_url”,”business_value”,”feasibility”,”evidence_advantage”,”impact”,”effort”,”score”,”verdict”,”owner”,”deadline”,”status”],”cols”:[[“cluster”,”Keyword or cluster”,”text”,”yes”],[“intent”,”Intent”,”text”,”yes”],[“primary_url”,”Target URL”,”text”,”yes”],[“business_value”,”Business value 1–5″,”score”,”yes”],[“feasibility”,”Ranking feasibility 1–5″,”score”,”yes”],[“evidence_advantage”,”Evidence advantage 1–5″,”score”,”yes”],[“impact”,”Expected impact 1–5″,”score”,”yes”],[“effort”,”Effort 1–5 (5 = easy)”,”score”,”yes”],[“score”,”Score”,”computed”,”auto”],[“verdict”,”Verdict”,”computed”,”auto”],[“owner”,”Owner”,”text”,”yes”],[“deadline”,”Deadline”,”date”,”yes”],[“status”,”Status”,”status”,”yes”],[“task”,”Linked task”,”task”,”no”],[“target_surface”,”Target surface”,”surface”,”no”],[“serp_page_type”,”Dominant SERP page type”,”text”,”no”],[“top3_url_1″,”Top ranking page 1″,”text”,”no”],[“top3_url_2″,”Top ranking page 2″,”text”,”no”],[“top3_url_3″,”Top ranking page 3″,”text”,”no”],[“top3_weakness”,”Exploitable weakness”,”textarea”,”no”],[“competing_urls”,”Cannibalizing URLs”,”textarea”,”no”],[“resolution”,”Cannibalization resolution”,”textarea”,”no”],[“seasonality_checked”,”Seasonality checked”,”check”,”no”],[“confidence”,”Confidence”,”confidence”,”no”],[“source_date”,”Source and date”,”text”,”no”],[“original_scores”,”Original scores”,”hidden”,”no”],[“rescore_count”,”Times re-scored”,”number”,”no”],[“notes”,”Notes”,”textarea”,”no”]]},{“id”:”implementation”,”name”:”Implementation Log”,”desc”:”Content production, technical changes, publishing, and QA.”,”core”:[“url”,”work_type”,”description”,”qa_status”,”publish_date”,”owner”,”deadline”,”status”],”cols”:[[“url”,”URL”,”text”,”yes”],[“work_type”,”Work type”,”work_type”,”yes”],[“description”,”What was done”,”textarea”,”yes”],[“qa_status”,”QA status”,”pass”,”yes”],[“publish_date”,”Published”,”date”,”yes”],[“owner”,”Owner”,”text”,”yes”],[“deadline”,”Deadline”,”date”,”yes”],[“status”,”Status”,”status”,”yes”],[“task”,”Linked task”,”task”,”no”],[“target_query”,”Target query”,”text”,”no”],[“content_brief”,”Brief reference”,”text”,”no”],[“factcheck”,”Fact check”,”pass”,”no”],[“schema”,”Schema”,”pass”,”no”],[“mobile_cta”,”Mobile and CTA”,”pass”,”no”],[“analytics”,”Analytics verified”,”pass”,”no”],[“internal_links”,”Internal links”,”pass”,”no”],[“reviewer”,”Reviewer”,”text”,”no”],[“notes”,”Notes”,”textarea”,”no”]]},{“id”:”results”,”name”:”Results”,”desc”:”Post-launch performance, outcome decisions, and re-scoring triggers.”,”core”:[“url”,”query”,”check_date”,”position”,”clicks”,”conversions”,”outcome”,”next_action”],”cols”:[[“url”,”URL”,”text”,”yes”],[“query”,”Primary query”,”text”,”yes”],[“check_date”,”Check date”,”date”,”yes”],[“position”,”Position”,”number”,”yes”],[“clicks”,”Clicks”,”number”,”yes”],[“conversions”,”Conversions”,”number”,”yes”],[“outcome”,”Outcome”,”outcome”,”yes”],[“next_action”,”Next action”,”text”,”yes”],[“task”,”Linked task”,”task”,”no”],[“impressions”,”Impressions”,”number”,”no”],[“ctr”,”CTR %”,”number”,”no”],[“previous_clicks”,”Previous comparable clicks”,”number”,”no”],[“page_age”,”Page age months”,”number”,”no”],[“quick_win”,”Quick win”,”computed”,”auto”],[“refresh_trigger”,”Refresh trigger”,”computed”,”auto”],[“diagnosis”,”Diagnosis”,”textarea”,”no”],[“owner”,”Owner”,”text”,”no”],[“next_review”,”Next review”,”date”,”no”]]},{“id”:”backlog”,”name”:”Backlog”,”desc”:”Parked P2 work, future opportunities, and rejected or deferred items.”,”core”:[“work_item”,”source”,”priority”,”owner”,”deadline”,”status”,”trigger”],”cols”:[[“work_item”,”Work item”,”textarea”,”yes”],[“source”,”Source”,”text”,”yes”],[“priority”,”Priority”,”priority”,”yes”],[“owner”,”Owner”,”text”,”yes”],[“deadline”,”Due”,”date”,”no”],[“status”,”Status”,”status”,”yes”],[“trigger”,”Re-evaluation trigger”,”textarea”,”no”],[“task”,”Linked task”,”task”,”no”],[“business_value”,”Business value 0–5″,”score0″,”no”],[“impact”,”Expected impact 0–5″,”score0″,”no”],[“effort”,”Effort 0–5″,”score0″,”no”],[“acceptance”,”Acceptance criteria”,”textarea”,”no”]]}],”layer2Stages”:[{“id”:”stage-01″,”number”:”01″,”category”:”Foundation”,”title”:”Define the business outcome and SEO scope”,”summary”:”SEO activity cannot be prioritized or evaluated until the business model, target customer, offer, economics, market and desired action are explicit.”,”mode”:”Human-led”,”actions”:[“Name the primary market, language, audience, product or service, and the problem being solved.”,”Choose one primary outcome: qualified lead, booking, sale, subscription, trial, store visit or another verified business action.”,”List the highest-value existing or planned landing pages and connect each to an offer and conversion action.”,”Record average order value or lead value, gross margin where available, sales cycle, lead-quality rules, seasonality and operational limits.”,”Set guardrails: legal/compliance requirements, brand restrictions, stock/capacity limits and markets the business cannot serve.”],”tools”:”Business records, CRM or store data, customer interviews, sales/support notes, finance data, spreadsheet. AI may organize supplied facts but must not invent them.”,”execution”:”Interview the owner, sales, support and operations teams. Use actual customer language and transaction data. Build the strategy from business evidence before opening an SEO suite.”,”inputs”:[“⚠️ MISSING: all business facts — website, model, market, language, audience, offer, conversion, value, margin, constraints, owner. Human supplies; AI organizes only.”],”output”:”SEO charter: business model, audience, offer, market, conversion, value/margin, priority page types, constraints, owners and review date.”,”gate”:”One primary business outcome is selected; every priority page has an intended audience, offer and measurable action; the team agrees what a qualified result means.”,”commands”:[“/seo plan “]},{“id”:”stage-02″,”number”:”02″,”category”:”Foundation”,”title”:”Install measurement, attribution and a trustworthy baseline”,”summary”:”Search impressions and rankings are leading indicators. Business decisions require first-party conversion, revenue and quality data.”,”mode”:”Hybrid”,”actions”:[“Verify all relevant site variants in Google Search Console and connect the correct GA4 property.”,”Define and test primary and secondary events in GA4/GTM: form success, booking, purchase, qualified call, trial or subscription.”,”Connect CRM, ecommerce or booking outcomes so landing pages can be tied to lead quality, sales, revenue and margin.”,”Add call tracking or offline conversion capture when phone or offline sales matter.”,”Save 12–16 months of baseline data when available, segmented by landing page, query, country, device, page type and conversion.”,”Create a change log for releases, redirects, content updates, outages and migrations.”],”tools”:”Google Search Console, GA4, Google Tag Manager, CRM/store/booking system, call tracking, Looker Studio or spreadsheet.”,”execution”:”Run a real test conversion from an organic-style landing session to the final CRM/order record. Confirm source, landing page, event, value and status. Reconcile important totals with the source system.”,”inputs”:[“REQUIRED INPUT: Access to Google Search Console, GA4 and the source CRM/store/booking data. When connected tool access is unavailable, upload CSV, JSON or spreadsheet exports and continue from those files.”],”output”:”Measurement plan, event dictionary, attribution map, tested conversion evidence, baseline export and change log.”,”gate”:”A test conversion is visible end to end; primary conversions are not duplicated; revenue/lead status can be analyzed by organic landing page; known data gaps are documented.”,”commands”:[“/seo google setup”,”/seo google gsc”,”/seo google ga4″]},{“id”:”stage-03″,”number”:”03″,”category”:”Foundation”,”title”:”Run the recovery, penalty and migration gate”,”summary”:”A traffic loss, security problem, manual action or failed migration requires diagnosis before normal growth work.”,”mode”:”Hybrid”,”actions”:[“Compare the drop date with the change log, releases, migrations, tracking changes, outages, seasonality and demand trends.”,”Segment the loss by query, page, country, device, search appearance and conversion—not only total clicks.”,”Check Search Console manual actions, security issues, indexing reports and URL Inspection for representative pages.”,”Compare current crawl/index/rendering states with the previous known-good state.”,”For a planned migration, inventory every valuable URL, backlink destination, image/file, canonical, hreflang and analytics dependency before launch.”,”Classify the incident: tracking, demand, technical/indexing, content/intent, competition/SERP, manual action/security or migration.”],”tools”:”Search Console, GA4/CRM, Google Trends, crawler, server/CDN logs, release history, backlink data, uptime monitor.”,”execution”:”Change one major variable at a time where possible. Preserve evidence. For migrations, create a one-to-one redirect map and prelaunch QA; do not combine unnecessary redesign, platform, URL and content changes.”,”inputs”:[“⚠️ MISSING: change log (from Stage 02), server/CDN log access. If no incident → record “gate passed clean” and proceed.”],”output”:”Incident report or migration plan: timeline, affected segments, root-cause confidence, actions, owner, rollback and monitoring plan.”,”gate”:”The issue is classified with evidence; urgent safety/indexing blockers are assigned; migration dependencies and redirects are tested before launch.”,”commands”:[“/seo google gsc”,”/seo drift baseline “,”/seo drift compare “,”/seo technical “]},{“id”:”stage-04″,”number”:”04″,”category”:”Eligibility”,”title”:”Audit technical eligibility, security, rendering and Core Web Vitals”,”summary”:”Pages cannot compete reliably if search engines cannot access, render, understand or index the intended version, or if users cannot use it.”,”mode”:”Tool-assisted”,”actions”:[“Crawl the site and classify response codes, redirect chains, blocked resources, robots rules, noindex, canonicals, sitemaps and orphan URLs.”,”Inspect representative money pages with Search Console URL Inspection and compare raw HTML, rendered HTML and browser output.”,”Verify HTTPS, host/protocol consistency, mobile usability, forms, navigation and key resources.”,”Check manual actions, security issues, hacked content, spam/UGC abuse and server availability.”,”Measure Core Web Vitals by template using field data when available: LCP, INP and CLS at the 75th percentile.”,”Validate only structured data types supported for the visible page content; fix errors and monitor enhancement reports.”,”Classify work as P0 (blocks revenue/indexing/safety), P1 (material pattern) or P2 (improvement).”],”tools”:”Search Console, Screaming Frog or Sitebulb, PageSpeed Insights/CrUX, Rich Results Test, browser developer tools, server/CDN logs, uptime and security tools.”,”execution”:”Sample every template and important state, then confirm patterns at URL level. Do not prioritize by raw issue count; prioritize by affected business value, scope and confidence.”,”inputs”:[“⚠️ OPT-MISSING: server/CDN logs (large sites), staging env. ⚠️ MANUAL: fixes deployed by dev/CMS — skills diagnose, humans deploy → re-run /seo technical on fixed URLs.”],”output”:”Technical audit and backlog with URL/template, evidence, severity, owner, fix, test method, rollback and due date.”,”gate”:”Priority pages return a valid 200 response, are crawlable and intended for indexing, render core content/links, use coherent canonicals, appear in valid sitemaps, have no unresolved security/manual action, and conversions work.”,”commands”:[“/seo audit “,”/seo technical “,”/seo google pagespeed “,”/seo google crux “,”/seo schema “,”aaron /seo:check-technical”]},{“id”:”stage-05″,”number”:”05″,”category”:”Eligibility”,”title”:”Create site architecture, URL governance and crawl controls”,”summary”:”A controlled information architecture helps users and crawlers discover important pages while preventing duplicate, empty and low-value URL states.”,”mode”:”Hybrid”,”actions”:[“Inventory page templates and states: home, categories, products/services, guides, locations, filters, search, pagination, profiles and utilities.”,”Define deterministic URL, canonical, index/noindex, sitemap, pagination, redirect and deletion rules for each template.”,”Build navigation around user tasks and business priorities, not keyword lists alone.”,”Find orphan pages, excessive duplicate paths, broken internal links and dead-end pages.”,”For faceted or parameter navigation, decide which combinations deserve standalone indexable pages and prevent uncontrolled crawl spaces.”,”Ensure important pages are discoverable through normal HTML links; use sitemaps as support, not as the only discovery path.”],”tools”:”Crawler, Search Console, analytics, CMS/database inventory, server logs for large sites, diagram or spreadsheet.”,”execution”:”Create the intended index as a finite list or rule set. Compare it with the actual crawlable/indexed URL universe and close the gap template by template.”,”inputs”:[“⚠️ MISSING: CMS template/state inventory (home, categories, products, guides, locations, filters, search, pagination, profiles, utilities) — export from CMS.”],”output”:”Architecture diagram, URL governance matrix, template rules, sitemap plan, navigation map and redirect/deletion policy.”,”gate”:”Every important URL has a clear purpose and owner; no priority page is orphaned; indexable states match the intended inventory; duplicate/filter/empty states are controlled.”,”commands”:[“/seo sitemap “,”aaron: optimize site structure for “]},{“id”:”stage-06″,”number”:”06″,”category”:”Intelligence”,”title”:”Research the market and validate true organic competitors”,”summary”:”Validate true competitors and reverse-engineer the pages currently winning each target query.”,”mode”:”Hybrid”,”actions”:[“Start with first-party customer questions, CRM notes, site search, Search Console queries and sales/support language.”,”Run localized live searches across priority intents, devices and markets; record the date, location, SERP features and ranking page types.”,”Identify domains, subfolders and individual pages that repeatedly compete for the same non-brand demand.”,”Use one primary SEO suite to estimate competitor pages, keyword gaps, visibility, content gaps and backlink patterns.”,”Compare offers, proof, content formats, freshness, media, UX, internal linking and authority—not word count alone.”,”Separate repeatable market patterns from one-off observations and document data limitations.”,”For every priority query, tear down the top three relevant ranking pages at page level: page type, headings, evidence, freshness, schema, media, internal links, page backlinks, UX and conversion path.”,”Record SERP volatility, result-type changes and evidence age. Recheck unstable or older SERPs before committing resources.”],”tools”:”Live Google results, Search Console, Keyword Planner, Google Trends, Semrush or Ahrefs as the primary suite; Sistrix, SE Ranking or Similarweb when available. AnswerThePublic and TopicMojo may surface phrasing, not prove demand.”,”execution”:”Keep only competitors with the same audience, market, intent and offer category. Save filters and exports. Treat third-party traffic, volume, difficulty and link metrics as estimates.”,”inputs”:[“⚠️ MISSING: Semrush/NoxTools export CSVs — export manually from NoxTools session, load as labeled third-party estimates.”],”output”:”Competitor evidence file plus top-three page-level teardown and evidence-freshness decision.”,”gate”:”Priority queries have current site-level and page-level competitive evidence.”,”commands”:[“/seo competitor-pages “,”aaron: competitor analysis for in “,”/seo dataforseo serp “]},{“id”:”stage-07″,”number”:”07″,”category”:”Intelligence”,”title”:”Build the keyword, intent, entity and demand map”,”summary”:”Build the demand map, resolve cannibalization and force a winnability decision before production.”,”mode”:”Hybrid”,”actions”:[“Combine first-party queries, customer language, Keyword Planner/Trends and qualified competitor gaps.”,”Normalize duplicates while preserving meaningful modifiers: audience, use case, product/service, location, problem, comparison and transaction.”,”Review live SERPs and classify intent, dominant page type, funnel stage, freshness, local/ecommerce/video/image features and expected proof.”,”Group terms that can be satisfied by one strong page; split only when intent, offer or required page type materially differs.”,”List core entities, attributes, relationships, terminology and questions needed to complete the user task.”,”Map each cluster to one primary URL, conversion action, supporting pages, status and evidence level.”,”Flag cannibalization, missing pages, wrong page types and queries the business should reject.”,”Score every cluster for winnability using business value, intent fit, topical fit, weak page-one results, unique evidence advantage, authority gap, link gap and execution effort.”,”Force one decision for each cluster: Pursue now, Pursue after support, Long-term, or Reject. Reject dominated SERPs when the site lacks a realistic evidence, authority or resource path.”,”Choose the primary search surface to win: standard organic, local pack, shopping/free listings, image, video, news, People Also Ask or AI-generated results.”,”Estimate time-to-rank and the minimum resource gap for each Pursue now target, including content, expert proof, internal links and external authority.”,”Build a query-to-URL matrix and resolve cannibalization before creating another page for an existing intent.”],”tools”:”Search Console, Keyword Planner, Trends, live SERPs, Semrush/Ahrefs keyword tools, spreadsheet/database, customer research. AI may cluster a verified export and propose labels for human review.”,”execution”:”Validate the final clusters manually against localized SERPs. Never accept an AI cluster, difficulty score or volume estimate without checking intent and business fit.”,”inputs”:[“REQUIRED INPUT: Search Console and keyword-tool exports or verified manual SERP observations. When a connected tool is unavailable, upload its CSV, JSON or spreadsheet export. Never invent volume, difficulty or demand.”],”output”:”Keyword, intent, entity, target-surface and winnability map.”,”gate”:”Every immediate target is Pursue now, has one primary URL and fits the site’s evidence, authority and capacity.”,”commands”:[“/seo google gsc (T1 first-party queries)”,”/seo cluster “,”aaron /seo:keyword-research”,”aaron content-gap-analysis”,”/seo google Keyword Planner (T3, opt.)”]},{“id”:”stage-08″,”number”:”08″,”category”:”Strategy”,”title”:”Design topical authority and the complete page portfolio”,”summary”:”Design topical authority as a sequenced cluster with minimum support and controlled expansion.”,”mode”:”Human-led”,”actions”:[“Define the core commercial topics the business must own and the customer journeys around them.”,”For each topic, map decision pages, supporting education, comparisons, evidence/case studies, tools/data, policies and post-purchase support.”,”Identify unique experience, expert input, data, inventory, images, video or process evidence needed to make each page worth publishing.”,”Map entity relationships and terminology consistently across pages, organization profiles and structured data.”,”Plan contextual links from support pages to decision pages and between adjacent tasks.”,”Identify gaps that should not become pages because the business lacks relevance, capability or unique value.”,”Set a mandatory cluster publication sequence: minimum supporting pages and evidence assets, contextual links, then commercial/hub launch as one coordinated sprint.”,”Define the minimum viable cluster and the expansion trigger. Do not wait for an arbitrary article count, and do not scale until the first cohort earns relevant impressions or conversions.”],”tools”:”Keyword/page map, customer journey research, content inventory, crawler/internal-link data, expert interviews, Search Console and competitor evidence.”,”execution”:”Build clusters around complete user tasks and commercial relevance. A cluster is complete when the journey is covered—not when an arbitrary article count is reached.”,”inputs”:[“⚠️ MISSING per cluster: which unique experience/expert/data/inventory evidence the business can actually supply — human answers, skill records.”],”output”:”Cluster map, publication sequence, evidence assets and expansion trigger.”,”gate”:”No isolated commercial page launches without its minimum support and link flow.”,”commands”:[“/seo plan “]},{“id”:”stage-09″,”number”:”09″,”category”:”Strategy”,”title”:”Score opportunities and build the execution roadmap”,”summary”:”Score opportunities and select the highest-value ranking battles and quick wins.”,”mode”:”Human-led”,”actions”:[“Add technical fixes, page improvements, new pages, internal-link work, authority assets, local/ecommerce tasks and experiments to one backlog.”,”Score business value, evidence confidence, addressable opportunity, strategic fit, effort and risk on a consistent 0–5 scale.”,”Resolve dependencies: tracking and P0 technical blockers come before production; proof/data comes before claims; one template pilot comes before scale.”,”Choose the first 5–10 work units that fit current capacity and create a 30/60/90-day sequence.”,”Assign owner, reviewer, acceptance criteria, expected effect, guardrails and review date.”,”Keep an explicit “not now / rejected” list to prevent repeated low-value requests.”,”Prioritize quick wins and high-winnability battles ahead of low-confidence new pages, while preserving P0 technical and measurement dependencies.”],”tools”:”Spreadsheet, project management system, GSC/GA4/CRM, crawler, research exports and capacity estimates.”,”execution”:”Use the internal heuristic: priority = value + evidence + opportunity + strategic fit + urgency − effort − risk. This is a decision aid, not a Google metric. Document why each score was chosen.”,”inputs”:[“⚠️ MISSING: team capacity (hrs/week), owner names, score judgments — human supplies; skill computes + sequences only.”],”output”:”Prioritized backlog and 30/60/90-day roadmap.”,”gate”:”The next work batch maximizes expected value while respecting blockers and capacity.”,”commands”:[]},{“id”:”stage-10″,”number”:”10″,”category”:”Production”,”title”:”Create or improve pages with content, on-page, media, E-E-A-T and schema QA”,”summary”:”Create pages from an outranking plan, then enforce prelaunch, launch and AI-visibility verification.”,”mode”:”Hybrid”,”actions”:[“Create a brief from the approved intent/page map: audience, task, SERP evidence, unique value, facts/sources, entities, outline, media, internal links, CTA and KPIs.”,”Collect first-hand experience, expert review, original examples, product/service data, images, video, policies and proof before drafting.”,”Write the title, H1, opening, headings, body, tables, answers and CTA for humans while using natural query language and complete entity coverage.”,”Show who created/reviewed the content where relevant; make organization, contact, policies, limitations, pricing/process and evidence easy to verify.”,”Optimize images/video, descriptive alt text where appropriate, captions, filenames, thumbnails and crawlable embeds.”,”Implement accurate title/meta description, canonical, index rules, breadcrumbs and supported structured data that matches visible content.”,”Run editorial, factual, legal, accessibility, mobile, form/checkout, link and rendering QA before publishing.”,”Convert the top-three teardown into an outranking plan: match intent and required page type, then exceed competitors with stronger evidence, usefulness, internal support, UX or authority.”,”Block publication when required expert proof, first-party evidence, product data, media, citations or legal review is missing.”,”Run a mandatory launch window: technical and index checks within 24 hours, initial query/impression review at 7 days, and ranking/intent/cannibalization review at 14 days.”,”After indexing, verify visibility and citations in relevant AI-generated results. Compare cited competitors and improve direct answers, evidence, entity clarity and rendered accessibility without forcing a fixed paragraph length.”],”tools”:”Approved brief, CMS, primary sources, expert review, crawler/page inspection, Rich Results Test, PageSpeed Insights, accessibility checker, AI as an editor/organizer only.”,”execution”:”Use AI after verified inputs exist. Require claim/source mapping and human subject-matter review. Do not generate statistics, reviews, experience or tool data that were not supplied.”,”inputs”:[“⚠️ MISSING per page: first-hand experience, expert reviewer, original photos/data, real pricing/process facts, author identity — file forbids generating these; pipeline pauses at ② until supplied. AI as editor/organizer only.”],”output”:”Content brief, outranking plan, published page and completed 14-day QA.”,”gate”:”Every page has a reason to win, passes human QA and completes the 14-day launch window.”,”commands”:[“/seo content-brief “,”/blog write (5-gate contract)”,”/blog analyze (100-pt rubric, floor ≥85)”,”/seo page “,”/seo schema “,”/seo geo (G.1 addition)”]},{“id”:”stage-11″,”number”:”11″,”category”:”Distribution”,”title”:”Build internal linking, discovery paths and cluster reinforcement”,”summary”:”Internal links help users continue their task and help search engines discover relationships and priority pages.”,”mode”:”Hybrid”,”actions”:[“Link from relevant high-visibility pages to priority pages using descriptive, natural anchor text.”,”Connect hubs to commercial/support pages, support pages back to the appropriate decision page, and adjacent tasks to each other.”,”Add breadcrumbs and navigation that reflect the real hierarchy; keep key links as crawlable HTML anchors.”,”Find orphan pages, broken links, redirects in link paths and pages receiving many irrelevant links.”,”Use link placement and surrounding context to make the next step useful, not to force exact-match anchors.”,”Recalculate links after merges, redirects, new clusters, product changes and migrations.”],”tools”:”Crawler, Search Console, analytics, content inventory, backlink data and CMS link-management tools.”,”execution”:”Prioritize links by relevance, user journey and page value. Use sitewide links only when they are genuinely navigational. Avoid automated keyword-stuffed linking.”,”inputs”:[“⚠️ MANUAL: implementing links in the CMS. Skills identify source→target; you deploy. No automated keyword-stuffed linking.”],”output”:”Internal-link map and implementation log: source URL, target URL, context, anchor, purpose and QA status.”,”gate”:”No priority page is orphaned; every cluster has clear hub/support/decision paths; links resolve directly; users can reach the relevant next step without confusion.”,”commands”:[“orphan/link data from /seo audit “]},{“id”:”stage-12″,”number”:”12″,”category”:”Authority”,”title”:”Earn relevant authority, brand mentions and digital PR”,”summary”:”Run a complete link-acquisition system from asset selection through prospect closure and campaign learning.”,”mode”:”Human-led”,”actions”:[“Audit existing backlinks, unlinked mentions, partnerships, associations, directories/citations and competitor-linked assets.”,”Choose a legitimate linkable reason: original data, research, expert analysis, calculator/tool, useful dataset, case study, guide, visual asset or community resource.”,”Validate the claim, methodology, sample, rights and publication relevance before outreach.”,”Build a prospect list by topical relevance, real audience, editorial fit and destination value—not domain metrics alone.”,”Pitch the finding or resource personally; track responses, coverage, referral traffic, assisted conversions and brand searches.”,”Reclaim broken/changed URLs and relevant unlinked mentions; use local citations only where accurate and legitimate.”,”Reject paid followed links, PBNs, automated directory blasts, fake research, link exchanges at scale and irrelevant guest-post networks.”,”Discover prospects through competitor page links, resource pages, relevant publishers, suppliers, associations, partners, unlinked mentions and broken/outdated resources.”,”Qualify each prospect for topical relevance, real audience, editorial fit, spam risk, destination-page value and relationship potential before outreach.”,”Use a required outreach sequence: one personalized initial email, up to two useful follow-ups, response tracking and a final closed status.”,”Apply a stop rule after the planned follow-ups or a clear rejection. Measure campaign-level reply, placement, referral and assisted-conversion rates from your own data.”],”tools”:”Backlink database, Google search/news, journalist and publication research, media/contact CRM, brand monitoring, analytics.”,”execution”:”Create the asset first, then outreach. Treat third-party authority metrics as prospecting clues. Review every destination and relationship manually.”,”inputs”:[“⚠️ MISSING: citable asset’s underlying data (real project data, original research); publication contacts. ⚠️ MANUAL: personal pitching, relationship building.”],”output”:”Asset plan, qualified prospects, outreach sequence, earned coverage and campaign metrics.”,”gate”:”Every campaign has a legitimate asset, qualified prospects, dated follow-ups and a stop rule.”,”commands”:[“/seo backlinks “,”/blog write “,”/seo image-gen infographic “]},{“id”:”stage-13″,”number”:”13″,”category”:”Experience”,”title”:”Improve UX, accessibility, Core Web Vitals and conversion rate”,”summary”:”SEO creates an opportunity; the page must help the right visitor understand, trust and complete the intended action.”,”mode”:”Hybrid”,”actions”:[“Review the full query-to-page-to-conversion journey on mobile and desktop for each priority intent.”,”Clarify the offer, next step, proof, price/process expectations, eligibility and risk near the decision point.”,”Remove navigation, form, checkout, account, payment, inventory and error-state friction.”,”Use field data, user feedback, support/sales objections, form analytics and recordings/heatmaps where legally appropriate.”,”Fix accessibility and Core Web Vitals by template; protect content and conversion functions during performance work.”,”Segment conversion and lead quality by landing page, intent, device, market and new/returning user.”,”Prioritize reversible tests with one primary metric and guardrails; never hide important terms or use deceptive patterns.”],”tools”:”GA4/CRM/store, PageSpeed Insights/CrUX, accessibility tools, form/checkout analytics, user testing, surveys, session recordings with consent, experimentation platform.”,”execution”:”Start with observed friction, not random design changes. Use the site’s baseline and comparable segments; universal conversion-rate targets are rarely meaningful.”,”inputs”:[“⚠️ MISSING: session-recording/heatmap access (Clarity/Hotjar with consent), form analytics exports, sales-objection notes — human supplies; skill analyzes.”],”output”:”UX/CRO diagnostic, prioritized friction backlog, test brief, design/technical changes and outcome report.”,”gate”:”The primary action works end to end; the visitor can verify the offer and trust signals; major friction is measured; changes preserve indexable content and tracking.”,”commands”:[“/seo sxo “,”/seo google pagespeed “,”/seo google crux (LCP subparts: TTFB / load-delay / load-duration / render-delay)”]},{“id”:”stage-14″,”number”:”14″,”category”:”Operations”,”title”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”summary”:”Operate weekly opportunity detection, refresh triggers, rank watch, testing and controlled scaling.”,”mode”:”Hybrid”,”actions”:[“Run weekly anomaly checks for tracking, traffic, indexation, errors, revenue and major releases.”,”Run a monthly decision review by landing page, cluster, template, market and page cohort—not only site totals.”,”Classify pages: Grow, Defend, Improve, Merge, Repurpose, Monitor, Noindex or Remove; never delete from traffic alone.”,”Create experiments with hypothesis, eligible population, control/comparison, primary metric, guardrails, contamination risks, stopping rule and rollback.”,”Forecast with base/upside/downside scenarios using first-party demand, CTR, conversion, value and capacity; track forecast error.”,”Scale only when tracking, technical health, demand, page quality, conversion, internal links, QA capacity and monitoring are stable.”,”Maintain SOPs, RACI/owners, change log, experiment registry, source library and incident playbook.”,”Stop or redesign work that repeatedly lacks demand, relevance, unique value, conversions or operational feasibility.”,”Run a weekly quick-wins sweep: prioritize queries in positions 4-20 with meaningful impressions and business value, then diagnose title, intent, content, internal-link or conversion gaps.”,”Run a five-minute weekly watch on the top priority pages. Investigate material position, click, indexation or conversion changes immediately instead of waiting for the monthly report.”,”Trigger a refresh when comparable clicks fall by at least 30% with stable intent and seasonality checked, or when a page is at least six months old and has never achieved useful page-one visibility.”,”Resolve cannibalization using a query-to-URL matrix: select the primary URL, then merge, redirect, reposition, de-optimize or change internal links as appropriate.”,”Before acting on a rise or decline, compare seasonality, year-over-year demand, SERP feature changes, competitor releases and tracking changes.”,”Expire stale keyword, competitor and SERP evidence before major decisions. Recollect evidence when the market, product, search surface or ranking pages materially change.”],”tools”:”Search Console, GA4, CRM/store, Looker Studio/spreadsheet/BI, rank tracker as supporting evidence, crawler, project management and experiment log.”,”execution”:”Use first-party outcomes as truth. Separate correlation from causation. Allow enough time and data for the page type and market, but use urgent technical/safety signals immediately.”,”inputs”:[“⚠️ MISSING: forecast inputs (capacity, seasonality) for base/upside/downside scenarios — human supplies; Claude computes + tracks forecast error.”],”output”:”Weekly watch, quick-win queue, refresh decisions, monthly review and scale decision.”,”gate”:”Priority pages are watched weekly, stale evidence expires, and scaling remains blocked until prerequisites pass.”,”commands”:[“Weekly: /seo google gsc anomaly + aaron /seo:setup-alert”,”Monthly: /seo report (PDF) + /seo drift compare + /seo google ga4″,”Quarterly: /seo schema deprecation sweep (G.2)”,”GEO cadence: aaron /seo:geo-drift-check (G.1)”]}],”modules”:[{“id”:”module-1″,”number”:”M01″,”category”:”Specialist”,”title”:”Local SEO”,”summary”:”Use for an eligible business serving customers at real locations or within genuine service areas.”,”mode”:”Hybrid”,”actions”:[“Verify ownership and eligibility. Use the real-world business name, the most specific truthful primary category, accurate address/service area, phone, hours, website and business links.”,”Keep location facts consistent across the website, Business Profile, major directories and customer touchpoints; correct duplicates and ownership problems.”,”Build one useful page per real location or service area only when the business genuinely serves it and can provide distinct operational/local value.”,”Add services, products, photos, posts and attributes only when accurate. Create a review request process without incentives, gating or fake activity; respond appropriately.”,”Connect GBP website/call/booking actions to landing-page conversions and lead quality. Track local queries, calls, directions, bookings and location revenue.”,”Earn relevant local links/mentions from associations, partners, suppliers, community resources and local media.”],”tools”:”Use only the platforms and data sources required by this module.”,”execution”:”Activate this module only when its entry condition is true. Complete its actions alongside the relevant core stages.”,”inputs”:[],”output”:”GBP QA, location/service-area matrix, citation corrections, review SOP, local-page map, local-link plan and local performance dashboard.”,”gate”:”Every profile/location is eligible and accurate; no fake address or doorway city pages exist; landing pages match actual operations; local actions are measurable.”,”commands”:[“/seo local “,”/seo maps geo-grid”,”/seo maps gbp-audit”,”/seo maps reviews”,”/seo maps competitors”],”recommendedFor”:[“Local business”]},{“id”:”module-2″,”number”:”M02″,”category”:”Specialist”,”title”:”Ecommerce SEO”,”summary”:”Use for stores with products, categories, variants, inventory, merchant feeds, filters and checkout.”,”mode”:”Hybrid”,”actions”:[“Define taxonomy and rules for categories, products, variants, filters, pagination, search, out-of-stock, discontinued and replacement states.”,”Prioritize crawlable category-product navigation; control faceted combinations and prevent endless duplicate URLs.”,”Keep product names, GTIN/MPN/brand, price, currency, availability, shipping, returns, ratings and images accurate on-page, in structured data and Merchant Center.”,”Add unique category guidance and product decision information; avoid copied supplier descriptions as the full value proposition.”,”Optimize product images and video; preserve selected variants through cart/checkout; expose stock and delivery expectations.”,”Measure organic revenue, gross margin, category/product conversion, free-listing performance, returns, inventory and revenue per indexed product.”,”Pilot template changes on a representative cohort before catalog-wide deployment.”],”tools”:”Use only the platforms and data sources required by this module.”,”execution”:”Activate this module only when its entry condition is true. Complete its actions alongside the relevant core stages.”,”inputs”:[],”output”:”Taxonomy map, facet/index rules, product/category template spec, feed/schema QA, inventory-state policy and ecommerce revenue dashboard.”,”gate”:”Priority products/categories are discoverable and accurate; duplicate filters are controlled; product data agrees across surfaces; checkout and attribution work.”,”commands”:[“/seo ecommerce “,”/seo schema (Product/Offer/ProductGroup, hasMerchantReturnPolicy, shippingDetails, EU energyEfficiencyClass)”],”recommendedFor”:[“Ecommerce”]},{“id”:”module-3″,”number”:”M03″,”category”:”Specialist”,”title”:”Programmatic SEO”,”summary”:”Use only when reliable data and templates can create independently useful pages at scale.”,”mode”:”Hybrid”,”actions”:[“Prove the user task and page value manually before building a generator.”,”Specify required unique data, minimum completeness, source provenance, update frequency, empty/error states and human-review rules.”,”Define deterministic URLs, canonicals, index/noindex, sitemaps, pagination, internal links, duplicate handling and deletion/redirect rules.”,”Generate a small representative pilot; QA all critical fields and a statistically/operationally meaningful sample of the rest.”,”Measure indexation, relevant impressions, conversions, user quality, crawl/server impact, duplicate clusters and error rates.”,”Expand only after multiple cohorts demonstrate value and stable QA; maintain kill switches and rollback.”],”tools”:”Use only the platforms and data sources required by this module.”,”execution”:”Activate this module only when its entry condition is true. Complete its actions alongside the relevant core stages.”,”inputs”:[],”output”:”Template/data specification, eligibility rules, URL governance, QA checklist, pilot report, monitoring dashboard and rollback plan.”,”gate”:”Every indexable page has distinct utility and reliable data; the pilot is technically stable, useful and commercially or strategically justified.”,”commands”:[“/seo programmatic “,”pilot QA: /seo page “,”/seo drift baseline (monitor)”],”recommendedFor”:[]},{“id”:”module-4″,”number”:”M04″,”category”:”Specialist”,”title”:”International SEO”,”summary”:”Use when the business genuinely serves multiple languages or regions with localized offers and operations.”,”mode”:”Hybrid”,”actions”:[“Validate demand, legal ability, logistics, support and conversion experience for each target market.”,”Choose stable, crawlable locale URLs; avoid relying on IP/browser-language adaptation as the only access path.”,”Localize offer, terminology, currency, units, imagery, legal, shipping, support and proof—not only text.”,”Implement self-referencing canonicals and complete reciprocal hreflang clusters, including x-default where appropriate.”,”Keep navigation, sitemaps, structured data, internal links and redirects aligned with locale URLs.”,”Measure Search Console, analytics, conversions and revenue separately by market/language; use native review.”],”tools”:”Use only the platforms and data sources required by this module.”,”execution”:”Activate this module only when its entry condition is true. Complete its actions alongside the relevant core stages.”,”inputs”:[],”output”:”Market feasibility matrix, locale URL/hreflang map, localization brief, QA report and market dashboard.”,”gate”:”Every live locale is indexable, internally linked, accurately localized and mapped to valid alternates; users can complete the intended action locally.”,”commands”:[“/seo hreflang (audit + generation, reciprocal + x-default)”,”per-locale Stage 04 + 10 QA re-run”],”recommendedFor”:[“International”]},{“id”:”module-5″,”number”:”M05″,”category”:”Specialist”,”title”:”SaaS SEO”,”summary”:”Use for software products with trials, demos, integrations, use cases, comparison journeys and product-led acquisition.”,”mode”:”Hybrid”,”actions”:[“Map problem, solution, feature, use-case, industry, role, integration, alternative/comparison, template and educational intents.”,”Build pages around actual product capability, screenshots, workflows, limitations, security, pricing and proof.”,”Connect educational discovery to the correct feature/use-case and trial/demo path without forcing every visitor to the homepage.”,”Create useful free tools, templates, benchmarks or datasets only when they provide standalone value and support the product.”,”Instrument signup, activation, qualified account, pipeline, expansion and revenue by organic landing page.”,”Refresh integration, feature, pricing, alternative and comparison pages when the product or market changes.”],”tools”:”Use only the platforms and data sources required by this module.”,”execution”:”Activate this module only when its entry condition is true. Complete its actions alongside the relevant core stages.”,”inputs”:[],”output”:”SaaS intent architecture, feature/use-case map, product evidence library, content plan and acquisition-to-revenue dashboard.”,”gate”:”Claims match the product; trial/demo attribution reaches activation or pipeline; informational growth supports relevant product journeys.”,”commands”:[“/seo plan saas → feeds Stage 08″,”production via Stage 10 pipeline”,”signup→activation via /seo google ga4 (Stage 02)”],”recommendedFor”:[“SaaS”]},{“id”:”module-6″,”number”:”M06″,”category”:”Specialist”,”title”:”Publisher and affiliate SEO”,”summary”:”Use for editorial, review, comparison and ad/affiliate-supported websites.”,”mode”:”Human-led”,”actions”:[“Define editorial standards, conflict/disclosure policy, author/reviewer qualifications, fact-checking and correction process.”,”Use original reporting, tests, samples, images, methodology or expert analysis for high-stakes reviews and comparisons.”,”Separate informational, review, comparison, deal and transactional journeys; keep commercial facts current.”,”Track merchant clicks, commission, RPM, subscription, newsletter and page-level revenue alongside user value.”,”Manage freshness, broken offers, discontinued products, winner changes, cannibalization and content decay.”,”Diversify revenue and merchant dependence; preserve useful content even when a commercial relationship changes.”],”tools”:”Use only the platforms and data sources required by this module.”,”execution”:”Activate this module only when its entry condition is true. Complete its actions alongside the relevant core stages.”,”inputs”:[],”output”:”Editorial SOP, evidence/testing standard, disclosure system, update calendar and page-level revenue dashboard.”,”gate”:”Readers can understand who created the content, how conclusions were reached and what commercial relationship exists; facts remain current.”,”commands”:[“/seo plan publisher”,”/blog strategy “,”every article → Stage 10 claude-blog pipeline”,”freshness → 17_content_lifecycle.csv”],”recommendedFor”:[“Publisher / affiliate”]},{“id”:”module-7″,”number”:”M07″,”category”:”Specialist”,”title”:”Marketplace, directory and UGC SEO”,”summary”:”Use for sites where users, sellers or partners create listings, profiles, reviews or discussions.”,”mode”:”Hybrid”,”actions”:[“Define minimum indexable quality for listings/profiles: identity, availability, location/category, unique details, media and moderation status.”,”Control empty search pages, thin profiles, duplicate listings, expired inventory, pagination and filter combinations.”,”Build abuse prevention, verification, moderation, reporting, spam detection and removal workflows.”,”Use structured data only for verified visible information and prevent aggregate ratings from being fabricated or self-serving.”,”Create strong taxonomy, browse paths and local/category hubs from real inventory.”,”Measure successful matches, inquiries, transactions, repeat use, spam rate, index quality and value per indexed listing.”],”tools”:”Use only the platforms and data sources required by this module.”,”execution”:”Activate this module only when its entry condition is true. Complete its actions alongside the relevant core stages.”,”inputs”:[],”output”:”Index eligibility rules, moderation/abuse SOP, template rules, inventory lifecycle and marketplace quality dashboard.”,”gate”:”Indexable pages have reliable standalone utility; spam/duplicates/expired states are controlled; user and crawler paths remain finite.”,”commands”:[“Stage 05 governance (listing states)”,”/seo audit (thin/duplicate detection)”,”/seo schema (verified visible data only)”],”recommendedFor”:[“Marketplace / UGC”]},{“id”:”module-8″,”number”:”M08″,”category”:”Specialist”,”title”:”Image, video and visual search”,”summary”:”Use when images or video materially help users evaluate, learn, compare or complete a task.”,”mode”:”Hybrid”,”actions”:[“Use original, high-quality, crawlable media near relevant text with descriptive filenames, alt text where appropriate and captions/context.”,”Provide stable image/video URLs, valid thumbnails and accessible embeds; include files in sitemaps when useful.”,”Use supported ImageObject/VideoObject or product/article media data only when accurate and visible.”,”Provide transcripts, chapters/key moments and page-level context for important videos.”,”Optimize dimensions, compression, lazy loading and reserved layout space without hiding critical media from crawlers.”,”Track image/video search appearance, media engagement, assisted conversions and licensing/rights.”],”tools”:”Use only the platforms and data sources required by this module.”,”execution”:”Activate this module only when its entry condition is true. Complete its actions alongside the relevant core stages.”,”inputs”:[],”output”:”Media inventory, optimization rules, sitemap/schema QA, rights/provenance log and media performance report.”,”gate”:”Important media is crawlable, fast, contextually useful, legally usable and connected to the correct page/task.”,”commands”:[“/seo images “,”/seo schema (ImageObject/VideoObject)”,”/seo sitemap (media inclusion)”,”/seo image-gen”],”recommendedFor”:[]},{“id”:”module-9″,”number”:”M09″,”category”:”Specialist”,”title”:”Large-site and JavaScript SEO”,”summary”:”Use for complex rendering, millions of URLs, applications, infinite scroll, dynamic routing or high crawl/server cost.”,”mode”:”Tool-assisted”,”actions”:[“Confirm core content, titles, canonicals, structured data and links exist in rendered HTML available to search engines.”,”Use crawlable anchor hrefs and distinct URLs for states that must be discovered; provide pagination for infinite-scroll content.”,”Compare server logs, crawl inventory and intended index to identify waste, traps, soft errors and capacity problems.”,”Prioritize server health, caching, rendering, duplicate control and high-value update discovery.”,”Test releases on representative templates and bots; monitor rendering errors and crawl behavior.”,”Use crawl-budget work only when site scale and logs show a real constraint.”],”tools”:”Use only the platforms and data sources required by this module.”,”execution”:”Activate this module only when its entry condition is true. Complete its actions alongside the relevant core stages.”,”inputs”:[],”output”:”Rendering specification, crawl-log analysis, URL/state rules, release QA and large-site monitoring.”,”gate”:”Priority states render consistently, are linked and indexable; crawl capacity is stable; low-value states do not dominate requests.”,”commands”:[“/seo audit –render auto (v2 Playwright, raw vs rendered diff)”,”/seo firecrawl crawl (ext — ⚠️ account needed)”,”log analysis on supplied server/CDN exports”],”recommendedFor”:[]},{“id”:”module-10″,”number”:”M10″,”category”:”Specialist”,”title”:”Site migration and redesign”,”summary”:”Use for domain, protocol, CMS, platform, URL, information architecture or major template changes.”,”mode”:”Hybrid”,”actions”:[“Benchmark rankings, traffic, conversions, indexed URLs, backlinks, canonicals, hreflang, sitemaps, media and server performance.”,”Freeze or document simultaneous changes; map every valuable old URL to the closest valid new destination.”,”Test redirects, canonicals, robots, noindex, rendering, structured data, analytics, forms, feeds, internal links and error states before launch.”,”Launch during an operationally manageable period; retain old domain/control and redirects long enough for users and crawlers.”,”Submit updated sitemaps and Change of Address where appropriate; monitor old/new logs, Search Console and business outcomes daily at first.”,”Repair unexpected 404s, redirect chains, missing pages, canonical/hreflang errors and tracking gaps quickly.”],”tools”:”Use only the platforms and data sources required by this module.”,”execution”:”Activate this module only when its entry condition is true. Complete its actions alongside the relevant core stages.”,”inputs”:[],”output”:”Migration inventory, redirect map, pre/post-launch QA, rollback plan, monitoring dashboard and incident log.”,”gate”:”All high-value URLs and assets have tested destinations; tracking works; no accidental block exists; post-launch issues have owners and thresholds.”,”commands”:[“PRE: /seo drift baseline + /seo audit + full inventory → 19_migration_map.csv 1:1″,”staging redirect tests (⚠️ manual dev work)”,”POST: /seo google gsc inspections + /seo technical + /seo drift compare daily”],”recommendedFor”:[]}],”layer2Tasks”:[{“id”:”stage-01-a01″,”groupId”:”stage-01″,”groupNumber”:”01″,”groupTitle”:”Define the business outcome and SEO scope”,”groupType”:”core”,”step”:1,”action”:”Name the primary market, language, audience, product or service, and the problem being solved.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”SEO charter: business model, audience, offer, market, conversion, value/margin, priority page types, constraints, owners and review date.”,”gate”:”One primary business outcome is selected; every priority page has an intended audience, offer and measurable action; the team agrees what a qualified result means.”,”register”:”business”,”commandKeys”:[],”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-01-a02″,”groupId”:”stage-01″,”groupNumber”:”01″,”groupTitle”:”Define the business outcome and SEO scope”,”groupType”:”core”,”step”:2,”action”:”Choose one primary outcome: qualified lead, booking, sale, subscription, trial, store visit or another verified business action.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”SEO charter: business model, audience, offer, market, conversion, value/margin, priority page types, constraints, owners and review date.”,”gate”:”One primary business outcome is selected; every priority page has an intended audience, offer and measurable action; the team agrees what a qualified result means.”,”register”:”business”,”commandKeys”:[],”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-01-a03″,”groupId”:”stage-01″,”groupNumber”:”01″,”groupTitle”:”Define the business outcome and SEO scope”,”groupType”:”core”,”step”:3,”action”:”List the highest-value existing or planned landing pages and connect each to an offer and conversion action.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Website type and business model; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”SEO charter: business model, audience, offer, market, conversion, value/margin, priority page types, constraints, owners and review date.”,”gate”:”One primary business outcome is selected; every priority page has an intended audience, offer and measurable action; the team agrees what a qualified result means.”,”register”:”business”,”commandKeys”:[“seo-plan”],”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-01-a04″,”groupId”:”stage-01″,”groupNumber”:”01″,”groupTitle”:”Define the business outcome and SEO scope”,”groupType”:”core”,”step”:4,”action”:”Record average order value or lead value, gross margin where available, sales cycle, lead-quality rules, seasonality and operational limits.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”SEO charter: business model, audience, offer, market, conversion, value/margin, priority page types, constraints, owners and review date.”,”gate”:”One primary business outcome is selected; every priority page has an intended audience, offer and measurable action; the team agrees what a qualified result means.”,”register”:”business”,”commandKeys”:[],”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-01-a05″,”groupId”:”stage-01″,”groupNumber”:”01″,”groupTitle”:”Define the business outcome and SEO scope”,”groupType”:”core”,”step”:5,”action”:”Set guardrails: legal/compliance requirements, brand restrictions, stock/capacity limits and markets the business cannot serve.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”SEO charter: business model, audience, offer, market, conversion, value/margin, priority page types, constraints, owners and review date.”,”gate”:”One primary business outcome is selected; every priority page has an intended audience, offer and measurable action; the team agrees what a qualified result means.”,”register”:”business”,”commandKeys”:[],”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-02-a01″,”groupId”:”stage-02″,”groupNumber”:”02″,”groupTitle”:”Install measurement, attribution and a trustworthy baseline”,”groupType”:”core”,”step”:1,”action”:”Verify all relevant site variants in Google Search Console and connect the correct GA4 property.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Measurement plan, event dictionary, attribution map, tested conversion evidence, baseline export and change log.”,”gate”:”A test conversion is visible end to end; primary conversions are not duplicated; revenue/lead status can be analyzed by organic landing page; known data gaps are documented.”,”register”:”business”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P1″,”skill”:”aaron-marketing”},{“id”:”stage-02-a02″,”groupId”:”stage-02″,”groupNumber”:”02″,”groupTitle”:”Install measurement, attribution and a trustworthy baseline”,”groupType”:”core”,”step”:2,”action”:”Define and test primary and secondary events in GA4/GTM: form success, booking, purchase, qualified call, trial or subscription.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Measurement plan, event dictionary, attribution map, tested conversion evidence, baseline export and change log.”,”gate”:”A test conversion is visible end to end; primary conversions are not duplicated; revenue/lead status can be analyzed by organic landing page; known data gaps are documented.”,”register”:”business”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P1″,”skill”:”aaron-marketing”},{“id”:”stage-02-a03″,”groupId”:”stage-02″,”groupNumber”:”02″,”groupTitle”:”Install measurement, attribution and a trustworthy baseline”,”groupType”:”core”,”step”:3,”action”:”Connect CRM, ecommerce or booking outcomes so landing pages can be tied to lead quality, sales, revenue and margin.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Measurement plan, event dictionary, attribution map, tested conversion evidence, baseline export and change log.”,”gate”:”A test conversion is visible end to end; primary conversions are not duplicated; revenue/lead status can be analyzed by organic landing page; known data gaps are documented.”,”register”:”business”,”commandKeys”:[],”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-02-a04″,”groupId”:”stage-02″,”groupNumber”:”02″,”groupTitle”:”Install measurement, attribution and a trustworthy baseline”,”groupType”:”core”,”step”:4,”action”:”Add call tracking or offline conversion capture when phone or offline sales matter.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Measurement plan, event dictionary, attribution map, tested conversion evidence, baseline export and change log.”,”gate”:”A test conversion is visible end to end; primary conversions are not duplicated; revenue/lead status can be analyzed by organic landing page; known data gaps are documented.”,”register”:”business”,”commandKeys”:[],”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-02-a05″,”groupId”:”stage-02″,”groupNumber”:”02″,”groupTitle”:”Install measurement, attribution and a trustworthy baseline”,”groupType”:”core”,”step”:5,”action”:”Save 12–16 months of baseline data when available, segmented by landing page, query, country, device, page type and conversion.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Measurement plan, event dictionary, attribution map, tested conversion evidence, baseline export and change log.”,”gate”:”A test conversion is visible end to end; primary conversions are not duplicated; revenue/lead status can be analyzed by organic landing page; known data gaps are documented.”,”register”:”business”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P1″,”skill”:”aaron-marketing”},{“id”:”stage-02-a06″,”groupId”:”stage-02″,”groupNumber”:”02″,”groupTitle”:”Install measurement, attribution and a trustworthy baseline”,”groupType”:”core”,”step”:6,”action”:”Create a change log for releases, redirects, content updates, outages and migrations.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Measurement plan, event dictionary, attribution map, tested conversion evidence, baseline export and change log.”,”gate”:”A test conversion is visible end to end; primary conversions are not duplicated; revenue/lead status can be analyzed by organic landing page; known data gaps are documented.”,”register”:”business”,”commandKeys”:[],”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-03-a01″,”groupId”:”stage-03″,”groupNumber”:”03″,”groupTitle”:”Run the recovery, penalty and migration gate”,”groupType”:”core”,”step”:1,”action”:”Compare the drop date with the change log, releases, migrations, tracking changes, outages, seasonality and demand trends.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Incident report or migration plan: timeline, affected segments, root-cause confidence, actions, owner, rollback and monitoring plan.”,”gate”:”The issue is classified with evidence; urgent safety/indexing blockers are assigned; migration dependencies and redirects are tested before launch.”,”register”:”recovery”,”commandKeys”:[“seo-audit”,”seo-drift-baseline”,”seo-hreflang”,”seo-backlinks”],”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-03-a02″,”groupId”:”stage-03″,”groupNumber”:”03″,”groupTitle”:”Run the recovery, penalty and migration gate”,”groupType”:”core”,”step”:2,”action”:”Segment the loss by query, page, country, device, search appearance and conversion—not only total clicks.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Incident report or migration plan: timeline, affected segments, root-cause confidence, actions, owner, rollback and monitoring plan.”,”gate”:”The issue is classified with evidence; urgent safety/indexing blockers are assigned; migration dependencies and redirects are tested before launch.”,”register”:”recovery”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P1″,”skill”:”aaron-marketing”},{“id”:”stage-03-a03″,”groupId”:”stage-03″,”groupNumber”:”03″,”groupTitle”:”Run the recovery, penalty and migration gate”,”groupType”:”core”,”step”:3,”action”:”Check Search Console manual actions, security issues, indexing reports and URL Inspection for representative pages.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Incident report or migration plan: timeline, affected segments, root-cause confidence, actions, owner, rollback and monitoring plan.”,”gate”:”The issue is classified with evidence; urgent safety/indexing blockers are assigned; migration dependencies and redirects are tested before launch.”,”register”:”recovery”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P1″,”skill”:”aaron-marketing”},{“id”:”stage-03-a04″,”groupId”:”stage-03″,”groupNumber”:”03″,”groupTitle”:”Run the recovery, penalty and migration gate”,”groupType”:”core”,”step”:4,”action”:”Compare current crawl/index/rendering states with the previous known-good state.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Incident report or migration plan: timeline, affected segments, root-cause confidence, actions, owner, rollback and monitoring plan.”,”gate”:”The issue is classified with evidence; urgent safety/indexing blockers are assigned; migration dependencies and redirects are tested before launch.”,”register”:”recovery”,”commandKeys”:[“seo-technical”,”seo-drift-compare”],”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-03-a05″,”groupId”:”stage-03″,”groupNumber”:”03″,”groupTitle”:”Run the recovery, penalty and migration gate”,”groupType”:”core”,”step”:5,”action”:”For a planned migration, inventory every valuable URL, backlink destination, image/file, canonical, hreflang and analytics dependency before launch.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Incident report or migration plan: timeline, affected segments, root-cause confidence, actions, owner, rollback and monitoring plan.”,”gate”:”The issue is classified with evidence; urgent safety/indexing blockers are assigned; migration dependencies and redirects are tested before launch.”,”register”:”recovery”,”commandKeys”:[“seo-audit”,”seo-drift-baseline”,”seo-hreflang”,”seo-backlinks”],”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-03-a06″,”groupId”:”stage-03″,”groupNumber”:”03″,”groupTitle”:”Run the recovery, penalty and migration gate”,”groupType”:”core”,”step”:6,”action”:”Classify the incident: tracking, demand, technical/indexing, content/intent, competition/SERP, manual action/security or migration.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Incident report or migration plan: timeline, affected segments, root-cause confidence, actions, owner, rollback and monitoring plan.”,”gate”:”The issue is classified with evidence; urgent safety/indexing blockers are assigned; migration dependencies and redirects are tested before launch.”,”register”:”recovery”,”commandKeys”:[“seo-audit”,”seo-drift-baseline”,”seo-hreflang”,”seo-backlinks”],”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-04-a01″,”groupId”:”stage-04″,”groupNumber”:”04″,”groupTitle”:”Audit technical eligibility, security, rendering and Core Web Vitals”,”groupType”:”core”,”step”:1,”action”:”Crawl the site and classify response codes, redirect chains, blocked resources, robots rules, noindex, canonicals, sitemaps and orphan URLs.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Technical audit and backlog with URL/template, evidence, severity, owner, fix, test method, rollback and due date.”,”gate”:”Priority pages return a valid 200 response, are crawlable and intended for indexing, render core content/links, use coherent canonicals, appear in valid sitemaps, have no unresolved security/manual action, and conversions work.”,”register”:”technical”,”commandKeys”:[“seo-audit”,”seo-technical”],”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-04-a02″,”groupId”:”stage-04″,”groupNumber”:”04″,”groupTitle”:”Audit technical eligibility, security, rendering and Core Web Vitals”,”groupType”:”core”,”step”:2,”action”:”Inspect representative money pages with Search Console URL Inspection and compare raw HTML, rendered HTML and browser output.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Technical audit and backlog with URL/template, evidence, severity, owner, fix, test method, rollback and due date.”,”gate”:”Priority pages return a valid 200 response, are crawlable and intended for indexing, render core content/links, use coherent canonicals, appear in valid sitemaps, have no unresolved security/manual action, and conversions work.”,”register”:”technical”,”commandKeys”:[“seo-page”,”seo-audit-render”],”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-04-a03″,”groupId”:”stage-04″,”groupNumber”:”04″,”groupTitle”:”Audit technical eligibility, security, rendering and Core Web Vitals”,”groupType”:”core”,”step”:3,”action”:”Verify HTTPS, host/protocol consistency, mobile usability, forms, navigation and key resources.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Technical audit and backlog with URL/template, evidence, severity, owner, fix, test method, rollback and due date.”,”gate”:”Priority pages return a valid 200 response, are crawlable and intended for indexing, render core content/links, use coherent canonicals, appear in valid sitemaps, have no unresolved security/manual action, and conversions work.”,”register”:”technical”,”commandKeys”:[“seo-audit”,”seo-technical”],”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-04-a04″,”groupId”:”stage-04″,”groupNumber”:”04″,”groupTitle”:”Audit technical eligibility, security, rendering and Core Web Vitals”,”groupType”:”core”,”step”:4,”action”:”Check manual actions, security issues, hacked content, spam/UGC abuse and server availability.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Technical audit and backlog with URL/template, evidence, severity, owner, fix, test method, rollback and due date.”,”gate”:”Priority pages return a valid 200 response, are crawlable and intended for indexing, render core content/links, use coherent canonicals, appear in valid sitemaps, have no unresolved security/manual action, and conversions work.”,”register”:”technical”,”commandKeys”:[“seo-audit”,”seo-technical”],”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-04-a05″,”groupId”:”stage-04″,”groupNumber”:”04″,”groupTitle”:”Audit technical eligibility, security, rendering and Core Web Vitals”,”groupType”:”core”,”step”:5,”action”:”Measure Core Web Vitals by template using field data when available: LCP, INP and CLS at the 75th percentile.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Technical audit and backlog with URL/template, evidence, severity, owner, fix, test method, rollback and due date.”,”gate”:”Priority pages return a valid 200 response, are crawlable and intended for indexing, render core content/links, use coherent canonicals, appear in valid sitemaps, have no unresolved security/manual action, and conversions work.”,”register”:”technical”,”commandKeys”:[“seo-technical”],”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-04-a06″,”groupId”:”stage-04″,”groupNumber”:”04″,”groupTitle”:”Audit technical eligibility, security, rendering and Core Web Vitals”,”groupType”:”core”,”step”:6,”action”:”Validate only structured data types supported for the visible page content; fix errors and monitor enhancement reports.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Technical audit and backlog with URL/template, evidence, severity, owner, fix, test method, rollback and due date.”,”gate”:”Priority pages return a valid 200 response, are crawlable and intended for indexing, render core content/links, use coherent canonicals, appear in valid sitemaps, have no unresolved security/manual action, and conversions work.”,”register”:”technical”,”commandKeys”:[“seo-schema”],”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-04-a07″,”groupId”:”stage-04″,”groupNumber”:”04″,”groupTitle”:”Audit technical eligibility, security, rendering and Core Web Vitals”,”groupType”:”core”,”step”:7,”action”:”Classify work as P0 (blocks revenue/indexing/safety), P1 (material pattern) or P2 (improvement).”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Technical audit and backlog with URL/template, evidence, severity, owner, fix, test method, rollback and due date.”,”gate”:”Priority pages return a valid 200 response, are crawlable and intended for indexing, render core content/links, use coherent canonicals, appear in valid sitemaps, have no unresolved security/manual action, and conversions work.”,”register”:”technical”,”commandKeys”:[“seo-audit”,”seo-technical”],”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-05-a01″,”groupId”:”stage-05″,”groupNumber”:”05″,”groupTitle”:”Create site architecture, URL governance and crawl controls”,”groupType”:”core”,”step”:1,”action”:”Inventory page templates and states: home, categories, products/services, guides, locations, filters, search, pagination, profiles and utilities.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Architecture diagram, URL governance matrix, template rules, sitemap plan, navigation map and redirect/deletion policy.”,”gate”:”Every important URL has a clear purpose and owner; no priority page is orphaned; indexable states match the intended inventory; duplicate/filter/empty states are controlled.”,”register”:”technical”,”commandKeys”:[“seo-audit”,”seo-sitemap”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-05-a02″,”groupId”:”stage-05″,”groupNumber”:”05″,”groupTitle”:”Create site architecture, URL governance and crawl controls”,”groupType”:”core”,”step”:2,”action”:”Define deterministic URL, canonical, index/noindex, sitemap, pagination, redirect and deletion rules for each template.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Architecture diagram, URL governance matrix, template rules, sitemap plan, navigation map and redirect/deletion policy.”,”gate”:”Every important URL has a clear purpose and owner; no priority page is orphaned; indexable states match the intended inventory; duplicate/filter/empty states are controlled.”,”register”:”technical”,”commandKeys”:[“seo-sitemap”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-05-a03″,”groupId”:”stage-05″,”groupNumber”:”05″,”groupTitle”:”Create site architecture, URL governance and crawl controls”,”groupType”:”core”,”step”:3,”action”:”Build navigation around user tasks and business priorities, not keyword lists alone.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Architecture diagram, URL governance matrix, template rules, sitemap plan, navigation map and redirect/deletion policy.”,”gate”:”Every important URL has a clear purpose and owner; no priority page is orphaned; indexable states match the intended inventory; duplicate/filter/empty states are controlled.”,”register”:”technical”,”commandKeys”:[“seo-audit”,”seo-sitemap”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-05-a04″,”groupId”:”stage-05″,”groupNumber”:”05″,”groupTitle”:”Create site architecture, URL governance and crawl controls”,”groupType”:”core”,”step”:4,”action”:”Find orphan pages, excessive duplicate paths, broken internal links and dead-end pages.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Architecture diagram, URL governance matrix, template rules, sitemap plan, navigation map and redirect/deletion policy.”,”gate”:”Every important URL has a clear purpose and owner; no priority page is orphaned; indexable states match the intended inventory; duplicate/filter/empty states are controlled.”,”register”:”technical”,”commandKeys”:[“seo-audit”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-05-a05″,”groupId”:”stage-05″,”groupNumber”:”05″,”groupTitle”:”Create site architecture, URL governance and crawl controls”,”groupType”:”core”,”step”:5,”action”:”For faceted or parameter navigation, decide which combinations deserve standalone indexable pages and prevent uncontrolled crawl spaces.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Architecture diagram, URL governance matrix, template rules, sitemap plan, navigation map and redirect/deletion policy.”,”gate”:”Every important URL has a clear purpose and owner; no priority page is orphaned; indexable states match the intended inventory; duplicate/filter/empty states are controlled.”,”register”:”technical”,”commandKeys”:[“seo-audit”,”seo-sitemap”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-05-a06″,”groupId”:”stage-05″,”groupNumber”:”05″,”groupTitle”:”Create site architecture, URL governance and crawl controls”,”groupType”:”core”,”step”:6,”action”:”Ensure important pages are discoverable through normal HTML links; use sitemaps as support, not as the only discovery path.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Architecture diagram, URL governance matrix, template rules, sitemap plan, navigation map and redirect/deletion policy.”,”gate”:”Every important URL has a clear purpose and owner; no priority page is orphaned; indexable states match the intended inventory; duplicate/filter/empty states are controlled.”,”register”:”technical”,”commandKeys”:[“seo-sitemap”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-06-a01″,”groupId”:”stage-06″,”groupNumber”:”06″,”groupTitle”:”Research the market and validate true organic competitors”,”groupType”:”core”,”step”:1,”action”:”Start with first-party customer questions, CRM notes, site search, Search Console queries and sales/support language.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Competitor evidence file: qualified competitors, winning page types, repeated patterns, gaps, source/date and confidence.”,”gate”:”At least several true competitors or alternative result types are validated across the important query set; patterns are supported by more than one observation; estimates are labeled.”,”register”:”competitors”,”commandKeys”:[“aaron-seo-geo”,”seo-page”],”defaultPriority”:”P2″,”skill”:”aaron-marketing + claude-seo”},{“id”:”stage-06-a02″,”groupId”:”stage-06″,”groupNumber”:”06″,”groupTitle”:”Research the market and validate true organic competitors”,”groupType”:”core”,”step”:2,”action”:”Run localized live searches across priority intents, devices and markets; record the date, location, SERP features and ranking page types.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Competitor evidence file: qualified competitors, winning page types, repeated patterns, gaps, source/date and confidence.”,”gate”:”At least several true competitors or alternative result types are validated across the important query set; patterns are supported by more than one observation; estimates are labeled.”,”register”:”competitors”,”commandKeys”:[“aaron-seo-geo”,”seo-page”],”defaultPriority”:”P2″,”skill”:”aaron-marketing + claude-seo”},{“id”:”stage-06-a03″,”groupId”:”stage-06″,”groupNumber”:”06″,”groupTitle”:”Research the market and validate true organic competitors”,”groupType”:”core”,”step”:3,”action”:”Identify domains, subfolders and individual pages that repeatedly compete for the same non-brand demand.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Competitor evidence file: qualified competitors, winning page types, repeated patterns, gaps, source/date and confidence.”,”gate”:”At least several true competitors or alternative result types are validated across the important query set; patterns are supported by more than one observation; estimates are labeled.”,”register”:”competitors”,”commandKeys”:[“aaron-seo-geo”,”seo-page”],”defaultPriority”:”P2″,”skill”:”aaron-marketing + claude-seo”},{“id”:”stage-06-a04″,”groupId”:”stage-06″,”groupNumber”:”06″,”groupTitle”:”Research the market and validate true organic competitors”,”groupType”:”core”,”step”:4,”action”:”Use one primary SEO suite to estimate competitor pages, keyword gaps, visibility, content gaps and backlink patterns.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Competitor evidence file: qualified competitors, winning page types, repeated patterns, gaps, source/date and confidence.”,”gate”:”At least several true competitors or alternative result types are validated across the important query set; patterns are supported by more than one observation; estimates are labeled.”,”register”:”competitors”,”commandKeys”:[“seo-backlinks”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-06-a05″,”groupId”:”stage-06″,”groupNumber”:”06″,”groupTitle”:”Research the market and validate true organic competitors”,”groupType”:”core”,”step”:5,”action”:”Compare offers, proof, content formats, freshness, media, UX, internal linking and authority—not word count alone.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Competitor evidence file: qualified competitors, winning page types, repeated patterns, gaps, source/date and confidence.”,”gate”:”At least several true competitors or alternative result types are validated across the important query set; patterns are supported by more than one observation; estimates are labeled.”,”register”:”competitors”,”commandKeys”:[“aaron-seo-geo”,”seo-page”],”defaultPriority”:”P2″,”skill”:”aaron-marketing + claude-seo”},{“id”:”stage-06-a06″,”groupId”:”stage-06″,”groupNumber”:”06″,”groupTitle”:”Research the market and validate true organic competitors”,”groupType”:”core”,”step”:6,”action”:”Separate repeatable market patterns from one-off observations and document data limitations.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Competitor evidence file: qualified competitors, winning page types, repeated patterns, gaps, source/date and confidence.”,”gate”:”At least several true competitors or alternative result types are validated across the important query set; patterns are supported by more than one observation; estimates are labeled.”,”register”:”competitors”,”commandKeys”:[“aaron-seo-geo”,”seo-page”],”defaultPriority”:”P2″,”skill”:”aaron-marketing + claude-seo”},{“id”:”stage-07-a01″,”groupId”:”stage-07″,”groupNumber”:”07″,”groupTitle”:”Build the keyword, intent, entity and demand map”,”groupType”:”core”,”step”:1,”action”:”Combine first-party queries, customer language, Keyword Planner/Trends and qualified competitor gaps.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Keyword master, intent map, entity/attribute map and keyword-to-page map.”,”gate”:”Every priority cluster has evidence, a clear user task, page type, primary URL, conversion role and owner; no two planned pages intentionally compete for the same task.”,”register”:”keywords”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing”},{“id”:”stage-07-a02″,”groupId”:”stage-07″,”groupNumber”:”07″,”groupTitle”:”Build the keyword, intent, entity and demand map”,”groupType”:”core”,”step”:2,”action”:”Normalize duplicates while preserving meaningful modifiers: audience, use case, product/service, location, problem, comparison and transaction.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Keyword master, intent map, entity/attribute map and keyword-to-page map.”,”gate”:”Every priority cluster has evidence, a clear user task, page type, primary URL, conversion role and owner; no two planned pages intentionally compete for the same task.”,”register”:”keywords”,”commandKeys”:[“seo-cluster”,”aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing + claude-seo”},{“id”:”stage-07-a03″,”groupId”:”stage-07″,”groupNumber”:”07″,”groupTitle”:”Build the keyword, intent, entity and demand map”,”groupType”:”core”,”step”:3,”action”:”Review live SERPs and classify intent, dominant page type, funnel stage, freshness, local/ecommerce/video/image features and expected proof.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Keyword master, intent map, entity/attribute map and keyword-to-page map.”,”gate”:”Every priority cluster has evidence, a clear user task, page type, primary URL, conversion role and owner; no two planned pages intentionally compete for the same task.”,”register”:”keywords”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing”},{“id”:”stage-07-a04″,”groupId”:”stage-07″,”groupNumber”:”07″,”groupTitle”:”Build the keyword, intent, entity and demand map”,”groupType”:”core”,”step”:4,”action”:”Group terms that can be satisfied by one strong page; split only when intent, offer or required page type materially differs.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Keyword master, intent map, entity/attribute map and keyword-to-page map.”,”gate”:”Every priority cluster has evidence, a clear user task, page type, primary URL, conversion role and owner; no two planned pages intentionally compete for the same task.”,”register”:”keywords”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing”},{“id”:”stage-07-a05″,”groupId”:”stage-07″,”groupNumber”:”07″,”groupTitle”:”Build the keyword, intent, entity and demand map”,”groupType”:”core”,”step”:5,”action”:”List core entities, attributes, relationships, terminology and questions needed to complete the user task.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Keyword master, intent map, entity/attribute map and keyword-to-page map.”,”gate”:”Every priority cluster has evidence, a clear user task, page type, primary URL, conversion role and owner; no two planned pages intentionally compete for the same task.”,”register”:”keywords”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing”},{“id”:”stage-07-a06″,”groupId”:”stage-07″,”groupNumber”:”07″,”groupTitle”:”Build the keyword, intent, entity and demand map”,”groupType”:”core”,”step”:6,”action”:”Map each cluster to one primary URL, conversion action, supporting pages, status and evidence level.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Keyword master, intent map, entity/attribute map and keyword-to-page map.”,”gate”:”Every priority cluster has evidence, a clear user task, page type, primary URL, conversion role and owner; no two planned pages intentionally compete for the same task.”,”register”:”keywords”,”commandKeys”:[“seo-cluster”,”aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing + claude-seo”},{“id”:”stage-07-a07″,”groupId”:”stage-07″,”groupNumber”:”07″,”groupTitle”:”Build the keyword, intent, entity and demand map”,”groupType”:”core”,”step”:7,”action”:”Flag cannibalization, missing pages, wrong page types and queries the business should reject.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Keyword master, intent map, entity/attribute map and keyword-to-page map.”,”gate”:”Every priority cluster has evidence, a clear user task, page type, primary URL, conversion role and owner; no two planned pages intentionally compete for the same task.”,”register”:”keywords”,”commandKeys”:[“blog-cannibalization”,”aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing + claude-blog”},{“id”:”stage-08-a01″,”groupId”:”stage-08″,”groupNumber”:”08″,”groupTitle”:”Design topical authority and the complete page portfolio”,”groupType”:”core”,”step”:1,”action”:”Define the core commercial topics the business must own and the customer journeys around them.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Topic authority map: hub, commercial pages, support pages, evidence assets, entity coverage, internal-link flow, owner and review cadence.”,”gate”:”Each cluster supports a real offer or strategic reputation goal; every proposed page has distinct value; expert/evidence requirements and link paths are specified.”,”register”:”content”,”commandKeys”:[“seo-plan”,”aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing + claude-seo”},{“id”:”stage-08-a02″,”groupId”:”stage-08″,”groupNumber”:”08″,”groupTitle”:”Design topical authority and the complete page portfolio”,”groupType”:”core”,”step”:2,”action”:”For each topic, map decision pages, supporting education, comparisons, evidence/case studies, tools/data, policies and post-purchase support.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Topic authority map: hub, commercial pages, support pages, evidence assets, entity coverage, internal-link flow, owner and review cadence.”,”gate”:”Each cluster supports a real offer or strategic reputation goal; every proposed page has distinct value; expert/evidence requirements and link paths are specified.”,”register”:”content”,”commandKeys”:[“blog-cluster”,”seo-plan”],”defaultPriority”:”P2″,”skill”:”claude-blog + claude-seo”},{“id”:”stage-08-a03″,”groupId”:”stage-08″,”groupNumber”:”08″,”groupTitle”:”Design topical authority and the complete page portfolio”,”groupType”:”core”,”step”:3,”action”:”Identify unique experience, expert input, data, inventory, images, video or process evidence needed to make each page worth publishing.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Topic authority map: hub, commercial pages, support pages, evidence assets, entity coverage, internal-link flow, owner and review cadence.”,”gate”:”Each cluster supports a real offer or strategic reputation goal; every proposed page has distinct value; expert/evidence requirements and link paths are specified.”,”register”:”content”,”commandKeys”:[“seo-plan”,”aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing + claude-seo”},{“id”:”stage-08-a04″,”groupId”:”stage-08″,”groupNumber”:”08″,”groupTitle”:”Design topical authority and the complete page portfolio”,”groupType”:”core”,”step”:4,”action”:”Map entity relationships and terminology consistently across pages, organization profiles and structured data.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Topic authority map: hub, commercial pages, support pages, evidence assets, entity coverage, internal-link flow, owner and review cadence.”,”gate”:”Each cluster supports a real offer or strategic reputation goal; every proposed page has distinct value; expert/evidence requirements and link paths are specified.”,”register”:”content”,”commandKeys”:[“seo-plan”,”aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing + claude-seo”},{“id”:”stage-08-a05″,”groupId”:”stage-08″,”groupNumber”:”08″,”groupTitle”:”Design topical authority and the complete page portfolio”,”groupType”:”core”,”step”:5,”action”:”Plan contextual links from support pages to decision pages and between adjacent tasks.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Topic authority map: hub, commercial pages, support pages, evidence assets, entity coverage, internal-link flow, owner and review cadence.”,”gate”:”Each cluster supports a real offer or strategic reputation goal; every proposed page has distinct value; expert/evidence requirements and link paths are specified.”,”register”:”content”,”commandKeys”:[“seo-plan”,”aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing + claude-seo”},{“id”:”stage-08-a06″,”groupId”:”stage-08″,”groupNumber”:”08″,”groupTitle”:”Design topical authority and the complete page portfolio”,”groupType”:”core”,”step”:6,”action”:”Identify gaps that should not become pages because the business lacks relevance, capability or unique value.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Topic authority map: hub, commercial pages, support pages, evidence assets, entity coverage, internal-link flow, owner and review cadence.”,”gate”:”Each cluster supports a real offer or strategic reputation goal; every proposed page has distinct value; expert/evidence requirements and link paths are specified.”,”register”:”content”,”commandKeys”:[“seo-plan”,”aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing + claude-seo”},{“id”:”stage-09-a01″,”groupId”:”stage-09″,”groupNumber”:”09″,”groupTitle”:”Score opportunities and build the execution roadmap”,”groupType”:”core”,”step”:1,”action”:”Add technical fixes, page improvements, new pages, internal-link work, authority assets, local/ecommerce tasks and experiments to one backlog.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Prioritized SEO portfolio and 30/60/90-day roadmap with dependencies, owners, acceptance criteria and review dates.”,”gate”:”The next work batch is small, evidence-backed and executable; all blockers and dependencies are visible; each task has one measurable business or diagnostic purpose.”,”register”:”backlog”,”commandKeys”:[],”defaultPriority”:”P2″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-09-a02″,”groupId”:”stage-09″,”groupNumber”:”09″,”groupTitle”:”Score opportunities and build the execution roadmap”,”groupType”:”core”,”step”:2,”action”:”Score business value, evidence confidence, addressable opportunity, strategic fit, effort and risk on a consistent 0–5 scale.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Prioritized SEO portfolio and 30/60/90-day roadmap with dependencies, owners, acceptance criteria and review dates.”,”gate”:”The next work batch is small, evidence-backed and executable; all blockers and dependencies are visible; each task has one measurable business or diagnostic purpose.”,”register”:”backlog”,”commandKeys”:[],”defaultPriority”:”P2″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-09-a03″,”groupId”:”stage-09″,”groupNumber”:”09″,”groupTitle”:”Score opportunities and build the execution roadmap”,”groupType”:”core”,”step”:3,”action”:”Resolve dependencies: tracking and P0 technical blockers come before production; proof/data comes before claims; one template pilot comes before scale.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Prioritized SEO portfolio and 30/60/90-day roadmap with dependencies, owners, acceptance criteria and review dates.”,”gate”:”The next work batch is small, evidence-backed and executable; all blockers and dependencies are visible; each task has one measurable business or diagnostic purpose.”,”register”:”backlog”,”commandKeys”:[],”defaultPriority”:”P2″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-09-a04″,”groupId”:”stage-09″,”groupNumber”:”09″,”groupTitle”:”Score opportunities and build the execution roadmap”,”groupType”:”core”,”step”:4,”action”:”Choose the first 5–10 work units that fit current capacity and create a 30/60/90-day sequence.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Prioritized SEO portfolio and 30/60/90-day roadmap with dependencies, owners, acceptance criteria and review dates.”,”gate”:”The next work batch is small, evidence-backed and executable; all blockers and dependencies are visible; each task has one measurable business or diagnostic purpose.”,”register”:”backlog”,”commandKeys”:[],”defaultPriority”:”P2″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-09-a05″,”groupId”:”stage-09″,”groupNumber”:”09″,”groupTitle”:”Score opportunities and build the execution roadmap”,”groupType”:”core”,”step”:5,”action”:”Assign owner, reviewer, acceptance criteria, expected effect, guardrails and review date.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Prioritized SEO portfolio and 30/60/90-day roadmap with dependencies, owners, acceptance criteria and review dates.”,”gate”:”The next work batch is small, evidence-backed and executable; all blockers and dependencies are visible; each task has one measurable business or diagnostic purpose.”,”register”:”backlog”,”commandKeys”:[],”defaultPriority”:”P2″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-09-a06″,”groupId”:”stage-09″,”groupNumber”:”09″,”groupTitle”:”Score opportunities and build the execution roadmap”,”groupType”:”core”,”step”:6,”action”:”Keep an explicit “not now / rejected” list to prevent repeated low-value requests.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Prioritized SEO portfolio and 30/60/90-day roadmap with dependencies, owners, acceptance criteria and review dates.”,”gate”:”The next work batch is small, evidence-backed and executable; all blockers and dependencies are visible; each task has one measurable business or diagnostic purpose.”,”register”:”backlog”,”commandKeys”:[],”defaultPriority”:”P2″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-10-a01″,”groupId”:”stage-10″,”groupNumber”:”10″,”groupTitle”:”Create or improve pages with content, on-page, media, E-E-A-T and schema QA”,”groupType”:”core”,”step”:1,”action”:”Create a brief from the approved intent/page map: audience, task, SERP evidence, unique value, facts/sources, entities, outline, media, internal links, CTA and KPIs.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified query, topic or seed term plus market and language; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Published or updated page, completed content brief, evidence/source log, on-page QA, schema validation and conversion test.”,”gate”:”The page matches the approved intent and page type, offers clear original value, supports every important claim, works on mobile, has a measurable next step, and contains no technical or policy blocker.”,”register”:”content”,”commandKeys”:[“seo-brief”,”blog-brief”],”defaultPriority”:”P2″,”skill”:”claude-blog + claude-seo”},{“id”:”stage-10-a02″,”groupId”:”stage-10″,”groupNumber”:”10″,”groupTitle”:”Create or improve pages with content, on-page, media, E-E-A-T and schema QA”,”groupType”:”core”,”step”:2,”action”:”Collect first-hand experience, expert review, original examples, product/service data, images, video, policies and proof before drafting.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Published or updated page, completed content brief, evidence/source log, on-page QA, schema validation and conversion test.”,”gate”:”The page matches the approved intent and page type, offers clear original value, supports every important claim, works on mobile, has a measurable next step, and contains no technical or policy blocker.”,”register”:”content”,”commandKeys”:[“seo-content”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-10-a03″,”groupId”:”stage-10″,”groupNumber”:”10″,”groupTitle”:”Create or improve pages with content, on-page, media, E-E-A-T and schema QA”,”groupType”:”core”,”step”:3,”action”:”Write the title, H1, opening, headings, body, tables, answers and CTA for humans while using natural query language and complete entity coverage.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Published or updated page, completed content brief, evidence/source log, on-page QA, schema validation and conversion test.”,”gate”:”The page matches the approved intent and page type, offers clear original value, supports every important claim, works on mobile, has a measurable next step, and contains no technical or policy blocker.”,”register”:”content”,”commandKeys”:[“blog-write”],”defaultPriority”:”P2″,”skill”:”claude-blog”},{“id”:”stage-10-a04″,”groupId”:”stage-10″,”groupNumber”:”10″,”groupTitle”:”Create or improve pages with content, on-page, media, E-E-A-T and schema QA”,”groupType”:”core”,”step”:4,”action”:”Show who created/reviewed the content where relevant; make organization, contact, policies, limitations, pricing/process and evidence easy to verify.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified query, topic or seed term plus market and language; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Published or updated page, completed content brief, evidence/source log, on-page QA, schema validation and conversion test.”,”gate”:”The page matches the approved intent and page type, offers clear original value, supports every important claim, works on mobile, has a measurable next step, and contains no technical or policy blocker.”,”register”:”content”,”commandKeys”:[“seo-content”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-10-a05″,”groupId”:”stage-10″,”groupNumber”:”10″,”groupTitle”:”Create or improve pages with content, on-page, media, E-E-A-T and schema QA”,”groupType”:”core”,”step”:5,”action”:”Optimize images/video, descriptive alt text where appropriate, captions, filenames, thumbnails and crawlable embeds.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Published or updated page, completed content brief, evidence/source log, on-page QA, schema validation and conversion test.”,”gate”:”The page matches the approved intent and page type, offers clear original value, supports every important claim, works on mobile, has a measurable next step, and contains no technical or policy blocker.”,”register”:”content”,”commandKeys”:[“seo-images”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-10-a06″,”groupId”:”stage-10″,”groupNumber”:”10″,”groupTitle”:”Create or improve pages with content, on-page, media, E-E-A-T and schema QA”,”groupType”:”core”,”step”:6,”action”:”Implement accurate title/meta description, canonical, index rules, breadcrumbs and supported structured data that matches visible content.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Published or updated page, completed content brief, evidence/source log, on-page QA, schema validation and conversion test.”,”gate”:”The page matches the approved intent and page type, offers clear original value, supports every important claim, works on mobile, has a measurable next step, and contains no technical or policy blocker.”,”register”:”content”,”commandKeys”:[“seo-schema”,”seo-page”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-10-a07″,”groupId”:”stage-10″,”groupNumber”:”10″,”groupTitle”:”Create or improve pages with content, on-page, media, E-E-A-T and schema QA”,”groupType”:”core”,”step”:7,”action”:”Run editorial, factual, legal, accessibility, mobile, form/checkout, link and rendering QA before publishing.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Published or updated page, completed content brief, evidence/source log, on-page QA, schema validation and conversion test.”,”gate”:”The page matches the approved intent and page type, offers clear original value, supports every important claim, works on mobile, has a measurable next step, and contains no technical or policy blocker.”,”register”:”content”,”commandKeys”:[“seo-page”,”blog-analyze”,”blog-factcheck”,”blog-seo-check”],”defaultPriority”:”P2″,”skill”:”claude-blog + claude-seo”},{“id”:”stage-11-a01″,”groupId”:”stage-11″,”groupNumber”:”11″,”groupTitle”:”Build internal linking, discovery paths and cluster reinforcement”,”groupType”:”core”,”step”:1,”action”:”Link from relevant high-visibility pages to priority pages using descriptive, natural anchor text.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Internal-link map and implementation log: source URL, target URL, context, anchor, purpose and QA status.”,”gate”:”No priority page is orphaned; every cluster has clear hub/support/decision paths; links resolve directly; users can reach the relevant next step without confusion.”,”register”:”internal”,”commandKeys”:[“seo-audit”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-11-a02″,”groupId”:”stage-11″,”groupNumber”:”11″,”groupTitle”:”Build internal linking, discovery paths and cluster reinforcement”,”groupType”:”core”,”step”:2,”action”:”Connect hubs to commercial/support pages, support pages back to the appropriate decision page, and adjacent tasks to each other.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Internal-link map and implementation log: source URL, target URL, context, anchor, purpose and QA status.”,”gate”:”No priority page is orphaned; every cluster has clear hub/support/decision paths; links resolve directly; users can reach the relevant next step without confusion.”,”register”:”internal”,”commandKeys”:[“seo-audit”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-11-a03″,”groupId”:”stage-11″,”groupNumber”:”11″,”groupTitle”:”Build internal linking, discovery paths and cluster reinforcement”,”groupType”:”core”,”step”:3,”action”:”Add breadcrumbs and navigation that reflect the real hierarchy; keep key links as crawlable HTML anchors.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Internal-link map and implementation log: source URL, target URL, context, anchor, purpose and QA status.”,”gate”:”No priority page is orphaned; every cluster has clear hub/support/decision paths; links resolve directly; users can reach the relevant next step without confusion.”,”register”:”internal”,”commandKeys”:[“seo-audit”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-11-a04″,”groupId”:”stage-11″,”groupNumber”:”11″,”groupTitle”:”Build internal linking, discovery paths and cluster reinforcement”,”groupType”:”core”,”step”:4,”action”:”Find orphan pages, broken links, redirects in link paths and pages receiving many irrelevant links.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Internal-link map and implementation log: source URL, target URL, context, anchor, purpose and QA status.”,”gate”:”No priority page is orphaned; every cluster has clear hub/support/decision paths; links resolve directly; users can reach the relevant next step without confusion.”,”register”:”internal”,”commandKeys”:[“seo-audit”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-11-a05″,”groupId”:”stage-11″,”groupNumber”:”11″,”groupTitle”:”Build internal linking, discovery paths and cluster reinforcement”,”groupType”:”core”,”step”:5,”action”:”Use link placement and surrounding context to make the next step useful, not to force exact-match anchors.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Internal-link map and implementation log: source URL, target URL, context, anchor, purpose and QA status.”,”gate”:”No priority page is orphaned; every cluster has clear hub/support/decision paths; links resolve directly; users can reach the relevant next step without confusion.”,”register”:”internal”,”commandKeys”:[“seo-audit”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-11-a06″,”groupId”:”stage-11″,”groupNumber”:”11″,”groupTitle”:”Build internal linking, discovery paths and cluster reinforcement”,”groupType”:”core”,”step”:6,”action”:”Recalculate links after merges, redirects, new clusters, product changes and migrations.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Internal-link map and implementation log: source URL, target URL, context, anchor, purpose and QA status.”,”gate”:”No priority page is orphaned; every cluster has clear hub/support/decision paths; links resolve directly; users can reach the relevant next step without confusion.”,”register”:”internal”,”commandKeys”:[“seo-audit”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-12-a01″,”groupId”:”stage-12″,”groupNumber”:”12″,”groupTitle”:”Earn relevant authority, brand mentions and digital PR”,”groupType”:”core”,”step”:1,”action”:”Audit existing backlinks, unlinked mentions, partnerships, associations, directories/citations and competitor-linked assets.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Authority campaign brief, source/methodology file, prospect list, outreach log, coverage report and link/mention QA.”,”gate”:”The asset has verifiable original value; prospects are relevant; earned coverage is editorial and accurate; no tactic depends on manipulation.”,”register”:”backlinks”,”commandKeys”:[“seo-backlinks”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-12-a02″,”groupId”:”stage-12″,”groupNumber”:”12″,”groupTitle”:”Earn relevant authority, brand mentions and digital PR”,”groupType”:”core”,”step”:2,”action”:”Choose a legitimate linkable reason: original data, research, expert analysis, calculator/tool, useful dataset, case study, guide, visual asset or community resource.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Authority campaign brief, source/methodology file, prospect list, outreach log, coverage report and link/mention QA.”,”gate”:”The asset has verifiable original value; prospects are relevant; earned coverage is editorial and accurate; no tactic depends on manipulation.”,”register”:”backlinks”,”commandKeys”:[“seo-backlinks”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-12-a03″,”groupId”:”stage-12″,”groupNumber”:”12″,”groupTitle”:”Earn relevant authority, brand mentions and digital PR”,”groupType”:”core”,”step”:3,”action”:”Validate the claim, methodology, sample, rights and publication relevance before outreach.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Authority campaign brief, source/methodology file, prospect list, outreach log, coverage report and link/mention QA.”,”gate”:”The asset has verifiable original value; prospects are relevant; earned coverage is editorial and accurate; no tactic depends on manipulation.”,”register”:”backlinks”,”commandKeys”:[],”defaultPriority”:”P2″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-12-a04″,”groupId”:”stage-12″,”groupNumber”:”12″,”groupTitle”:”Earn relevant authority, brand mentions and digital PR”,”groupType”:”core”,”step”:4,”action”:”Build a prospect list by topical relevance, real audience, editorial fit and destination value—not domain metrics alone.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Authority campaign brief, source/methodology file, prospect list, outreach log, coverage report and link/mention QA.”,”gate”:”The asset has verifiable original value; prospects are relevant; earned coverage is editorial and accurate; no tactic depends on manipulation.”,”register”:”backlinks”,”commandKeys”:[“seo-backlinks”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-12-a05″,”groupId”:”stage-12″,”groupNumber”:”12″,”groupTitle”:”Earn relevant authority, brand mentions and digital PR”,”groupType”:”core”,”step”:5,”action”:”Pitch the finding or resource personally; track responses, coverage, referral traffic, assisted conversions and brand searches.”,”execution”:”MANUAL REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Authority campaign brief, source/methodology file, prospect list, outreach log, coverage report and link/mention QA.”,”gate”:”The asset has verifiable original value; prospects are relevant; earned coverage is editorial and accurate; no tactic depends on manipulation.”,”register”:”backlinks”,”commandKeys”:[],”defaultPriority”:”P2″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-12-a06″,”groupId”:”stage-12″,”groupNumber”:”12″,”groupTitle”:”Earn relevant authority, brand mentions and digital PR”,”groupType”:”core”,”step”:6,”action”:”Reclaim broken/changed URLs and relevant unlinked mentions; use local citations only where accurate and legitimate.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Authority campaign brief, source/methodology file, prospect list, outreach log, coverage report and link/mention QA.”,”gate”:”The asset has verifiable original value; prospects are relevant; earned coverage is editorial and accurate; no tactic depends on manipulation.”,”register”:”backlinks”,”commandKeys”:[“seo-backlinks”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-12-a07″,”groupId”:”stage-12″,”groupNumber”:”12″,”groupTitle”:”Earn relevant authority, brand mentions and digital PR”,”groupType”:”core”,”step”:7,”action”:”Reject paid followed links, PBNs, automated directory blasts, fake research, link exchanges at scale and irrelevant guest-post networks.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Authority campaign brief, source/methodology file, prospect list, outreach log, coverage report and link/mention QA.”,”gate”:”The asset has verifiable original value; prospects are relevant; earned coverage is editorial and accurate; no tactic depends on manipulation.”,”register”:”backlinks”,”commandKeys”:[“seo-backlinks”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-13-a01″,”groupId”:”stage-13″,”groupNumber”:”13″,”groupTitle”:”Improve UX, accessibility, Core Web Vitals and conversion rate”,”groupType”:”core”,”step”:1,”action”:”Review the full query-to-page-to-conversion journey on mobile and desktop for each priority intent.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”UX/CRO diagnostic, prioritized friction backlog, test brief, design/technical changes and outcome report.”,”gate”:”The primary action works end to end; the visitor can verify the offer and trust signals; major friction is measured; changes preserve indexable content and tracking.”,”register”:”experiments”,”commandKeys”:[“seo-sxo”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-13-a02″,”groupId”:”stage-13″,”groupNumber”:”13″,”groupTitle”:”Improve UX, accessibility, Core Web Vitals and conversion rate”,”groupType”:”core”,”step”:2,”action”:”Clarify the offer, next step, proof, price/process expectations, eligibility and risk near the decision point.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”UX/CRO diagnostic, prioritized friction backlog, test brief, design/technical changes and outcome report.”,”gate”:”The primary action works end to end; the visitor can verify the offer and trust signals; major friction is measured; changes preserve indexable content and tracking.”,”register”:”experiments”,”commandKeys”:[“seo-sxo”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-13-a03″,”groupId”:”stage-13″,”groupNumber”:”13″,”groupTitle”:”Improve UX, accessibility, Core Web Vitals and conversion rate”,”groupType”:”core”,”step”:3,”action”:”Remove navigation, form, checkout, account, payment, inventory and error-state friction.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”UX/CRO diagnostic, prioritized friction backlog, test brief, design/technical changes and outcome report.”,”gate”:”The primary action works end to end; the visitor can verify the offer and trust signals; major friction is measured; changes preserve indexable content and tracking.”,”register”:”experiments”,”commandKeys”:[“seo-sxo”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-13-a04″,”groupId”:”stage-13″,”groupNumber”:”13″,”groupTitle”:”Improve UX, accessibility, Core Web Vitals and conversion rate”,”groupType”:”core”,”step”:4,”action”:”Use field data, user feedback, support/sales objections, form analytics and recordings/heatmaps where legally appropriate.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”UX/CRO diagnostic, prioritized friction backlog, test brief, design/technical changes and outcome report.”,”gate”:”The primary action works end to end; the visitor can verify the offer and trust signals; major friction is measured; changes preserve indexable content and tracking.”,”register”:”experiments”,”commandKeys”:[“seo-sxo”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-13-a05″,”groupId”:”stage-13″,”groupNumber”:”13″,”groupTitle”:”Improve UX, accessibility, Core Web Vitals and conversion rate”,”groupType”:”core”,”step”:5,”action”:”Fix accessibility and Core Web Vitals by template; protect content and conversion functions during performance work.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”UX/CRO diagnostic, prioritized friction backlog, test brief, design/technical changes and outcome report.”,”gate”:”The primary action works end to end; the visitor can verify the offer and trust signals; major friction is measured; changes preserve indexable content and tracking.”,”register”:”experiments”,”commandKeys”:[“seo-technical”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-13-a06″,”groupId”:”stage-13″,”groupNumber”:”13″,”groupTitle”:”Improve UX, accessibility, Core Web Vitals and conversion rate”,”groupType”:”core”,”step”:6,”action”:”Segment conversion and lead quality by landing page, intent, device, market and new/returning user.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”UX/CRO diagnostic, prioritized friction backlog, test brief, design/technical changes and outcome report.”,”gate”:”The primary action works end to end; the visitor can verify the offer and trust signals; major friction is measured; changes preserve indexable content and tracking.”,”register”:”experiments”,”commandKeys”:[“seo-sxo”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-13-a07″,”groupId”:”stage-13″,”groupNumber”:”13″,”groupTitle”:”Improve UX, accessibility, Core Web Vitals and conversion rate”,”groupType”:”core”,”step”:7,”action”:”Prioritize reversible tests with one primary metric and guardrails; never hide important terms or use deceptive patterns.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”UX/CRO diagnostic, prioritized friction backlog, test brief, design/technical changes and outcome report.”,”gate”:”The primary action works end to end; the visitor can verify the offer and trust signals; major friction is measured; changes preserve indexable content and tracking.”,”register”:”experiments”,”commandKeys”:[“seo-sxo”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-14-a01″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:1,”action”:”Run weekly anomaly checks for tracking, traffic, indexation, errors, revenue and major releases.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Weekly alert report, monthly SEO business review, lifecycle decisions, experiment registry, forecast and scale/stop record.”,”gate”:”Every material change has evidence, owner, expected effect and review date; reporting connects search visibility to qualified outcomes and profit; scaling gates are explicit.”,”register”:”reporting”,”commandKeys”:[“seo-drift-compare”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-14-a02″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:2,”action”:”Run a monthly decision review by landing page, cluster, template, market and page cohort—not only site totals.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Weekly alert report, monthly SEO business review, lifecycle decisions, experiment registry, forecast and scale/stop record.”,”gate”:”Every material change has evidence, owner, expected effect and review date; reporting connects search visibility to qualified outcomes and profit; scaling gates are explicit.”,”register”:”reporting”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing”},{“id”:”stage-14-a03″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:3,”action”:”Classify pages: Grow, Defend, Improve, Merge, Repurpose, Monitor, Noindex or Remove; never delete from traffic alone.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Weekly alert report, monthly SEO business review, lifecycle decisions, experiment registry, forecast and scale/stop record.”,”gate”:”Every material change has evidence, owner, expected effect and review date; reporting connects search visibility to qualified outcomes and profit; scaling gates are explicit.”,”register”:”reporting”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing”},{“id”:”stage-14-a04″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:4,”action”:”Create experiments with hypothesis, eligible population, control/comparison, primary metric, guardrails, contamination risks, stopping rule and rollback.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Weekly alert report, monthly SEO business review, lifecycle decisions, experiment registry, forecast and scale/stop record.”,”gate”:”Every material change has evidence, owner, expected effect and review date; reporting connects search visibility to qualified outcomes and profit; scaling gates are explicit.”,”register”:”reporting”,”commandKeys”:[“seo-geo”,”blog-geo”],”defaultPriority”:”P2″,”skill”:”claude-blog + claude-seo”},{“id”:”stage-14-a05″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:5,”action”:”Forecast with base/upside/downside scenarios using first-party demand, CTR, conversion, value and capacity; track forecast error.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Weekly alert report, monthly SEO business review, lifecycle decisions, experiment registry, forecast and scale/stop record.”,”gate”:”Every material change has evidence, owner, expected effect and review date; reporting connects search visibility to qualified outcomes and profit; scaling gates are explicit.”,”register”:”reporting”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing”},{“id”:”stage-14-a06″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:6,”action”:”Scale only when tracking, technical health, demand, page quality, conversion, internal links, QA capacity and monitoring are stable.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Weekly alert report, monthly SEO business review, lifecycle decisions, experiment registry, forecast and scale/stop record.”,”gate”:”Every material change has evidence, owner, expected effect and review date; reporting connects search visibility to qualified outcomes and profit; scaling gates are explicit.”,”register”:”reporting”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing”},{“id”:”stage-14-a07″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:7,”action”:”Maintain SOPs, RACI/owners, change log, experiment registry, source library and incident playbook.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Weekly alert report, monthly SEO business review, lifecycle decisions, experiment registry, forecast and scale/stop record.”,”gate”:”Every material change has evidence, owner, expected effect and review date; reporting connects search visibility to qualified outcomes and profit; scaling gates are explicit.”,”register”:”reporting”,”commandKeys”:[“seo-geo”,”blog-geo”],”defaultPriority”:”P2″,”skill”:”claude-blog + claude-seo”},{“id”:”stage-14-a08″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:8,”action”:”Stop or redesign work that repeatedly lacks demand, relevance, unique value, conversions or operational feasibility.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Weekly alert report, monthly SEO business review, lifecycle decisions, experiment registry, forecast and scale/stop record.”,”gate”:”Every material change has evidence, owner, expected effect and review date; reporting connects search visibility to qualified outcomes and profit; scaling gates are explicit.”,”register”:”reporting”,”commandKeys”:[“aaron-seo-geo”],”defaultPriority”:”P2″,”skill”:”aaron-marketing”},{“id”:”module-1-a01″,”groupId”:”module-1″,”groupNumber”:”M01″,”groupTitle”:”Local SEO”,”groupType”:”module”,”step”:1,”action”:”Verify ownership and eligibility. Use the real-world business name, the most specific truthful primary category, accurate address/service area, phone, hours, website and business links.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”GBP QA, location/service-area matrix, citation corrections, review SOP, local-page map, local-link plan and local performance dashboard.”,”gate”:”Every profile/location is eligible and accurate; no fake address or doorway city pages exist; landing pages match actual operations; local actions are measurable.”,”register”:”skills”,”commandKeys”:[“seo-local”,”seo-maps-audit”],”defaultPriority”:”P2″,”skill”:”claude-seo + claude-seo maps extension”},{“id”:”module-1-a02″,”groupId”:”module-1″,”groupNumber”:”M01″,”groupTitle”:”Local SEO”,”groupType”:”module”,”step”:2,”action”:”Keep location facts consistent across the website, Business Profile, major directories and customer touchpoints; correct duplicates and ownership problems.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”GBP QA, location/service-area matrix, citation corrections, review SOP, local-page map, local-link plan and local performance dashboard.”,”gate”:”Every profile/location is eligible and accurate; no fake address or doorway city pages exist; landing pages match actual operations; local actions are measurable.”,”register”:”skills”,”commandKeys”:[“seo-local”,”seo-maps-audit”],”defaultPriority”:”P2″,”skill”:”claude-seo + claude-seo maps extension”},{“id”:”module-1-a03″,”groupId”:”module-1″,”groupNumber”:”M01″,”groupTitle”:”Local SEO”,”groupType”:”module”,”step”:3,”action”:”Build one useful page per real location or service area only when the business genuinely serves it and can provide distinct operational/local value.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”GBP QA, location/service-area matrix, citation corrections, review SOP, local-page map, local-link plan and local performance dashboard.”,”gate”:”Every profile/location is eligible and accurate; no fake address or doorway city pages exist; landing pages match actual operations; local actions are measurable.”,”register”:”skills”,”commandKeys”:[“seo-local”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-1-a04″,”groupId”:”module-1″,”groupNumber”:”M01″,”groupTitle”:”Local SEO”,”groupType”:”module”,”step”:4,”action”:”Add services, products, photos, posts and attributes only when accurate. Create a review request process without incentives, gating or fake activity; respond appropriately.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”GBP QA, location/service-area matrix, citation corrections, review SOP, local-page map, local-link plan and local performance dashboard.”,”gate”:”Every profile/location is eligible and accurate; no fake address or doorway city pages exist; landing pages match actual operations; local actions are measurable.”,”register”:”skills”,”commandKeys”:[“seo-maps-reviews”,”seo-local”],”defaultPriority”:”P2″,”skill”:”claude-seo + claude-seo maps extension”},{“id”:”module-1-a05″,”groupId”:”module-1″,”groupNumber”:”M01″,”groupTitle”:”Local SEO”,”groupType”:”module”,”step”:5,”action”:”Connect GBP website/call/booking actions to landing-page conversions and lead quality. Track local queries, calls, directions, bookings and location revenue.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”GBP QA, location/service-area matrix, citation corrections, review SOP, local-page map, local-link plan and local performance dashboard.”,”gate”:”Every profile/location is eligible and accurate; no fake address or doorway city pages exist; landing pages match actual operations; local actions are measurable.”,”register”:”skills”,”commandKeys”:[“seo-local”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-1-a06″,”groupId”:”module-1″,”groupNumber”:”M01″,”groupTitle”:”Local SEO”,”groupType”:”module”,”step”:6,”action”:”Earn relevant local links/mentions from associations, partners, suppliers, community resources and local media.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”GBP QA, location/service-area matrix, citation corrections, review SOP, local-page map, local-link plan and local performance dashboard.”,”gate”:”Every profile/location is eligible and accurate; no fake address or doorway city pages exist; landing pages match actual operations; local actions are measurable.”,”register”:”skills”,”commandKeys”:[“seo-local”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-2-a01″,”groupId”:”module-2″,”groupNumber”:”M02″,”groupTitle”:”Ecommerce SEO”,”groupType”:”module”,”step”:1,”action”:”Define taxonomy and rules for categories, products, variants, filters, pagination, search, out-of-stock, discontinued and replacement states.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Taxonomy map, facet/index rules, product/category template spec, feed/schema QA, inventory-state policy and ecommerce revenue dashboard.”,”gate”:”Priority products/categories are discoverable and accurate; duplicate filters are controlled; product data agrees across surfaces; checkout and attribution work.”,”register”:”technical”,”commandKeys”:[“seo-ecommerce”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-2-a02″,”groupId”:”module-2″,”groupNumber”:”M02″,”groupTitle”:”Ecommerce SEO”,”groupType”:”module”,”step”:2,”action”:”Prioritize crawlable category-product navigation; control faceted combinations and prevent endless duplicate URLs.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Taxonomy map, facet/index rules, product/category template spec, feed/schema QA, inventory-state policy and ecommerce revenue dashboard.”,”gate”:”Priority products/categories are discoverable and accurate; duplicate filters are controlled; product data agrees across surfaces; checkout and attribution work.”,”register”:”technical”,”commandKeys”:[“seo-ecommerce”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-2-a03″,”groupId”:”module-2″,”groupNumber”:”M02″,”groupTitle”:”Ecommerce SEO”,”groupType”:”module”,”step”:3,”action”:”Keep product names, GTIN/MPN/brand, price, currency, availability, shipping, returns, ratings and images accurate on-page, in structured data and Merchant Center.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Taxonomy map, facet/index rules, product/category template spec, feed/schema QA, inventory-state policy and ecommerce revenue dashboard.”,”gate”:”Priority products/categories are discoverable and accurate; duplicate filters are controlled; product data agrees across surfaces; checkout and attribution work.”,”register”:”technical”,”commandKeys”:[“seo-ecommerce”,”seo-schema”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-2-a04″,”groupId”:”module-2″,”groupNumber”:”M02″,”groupTitle”:”Ecommerce SEO”,”groupType”:”module”,”step”:4,”action”:”Add unique category guidance and product decision information; avoid copied supplier descriptions as the full value proposition.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Taxonomy map, facet/index rules, product/category template spec, feed/schema QA, inventory-state policy and ecommerce revenue dashboard.”,”gate”:”Priority products/categories are discoverable and accurate; duplicate filters are controlled; product data agrees across surfaces; checkout and attribution work.”,”register”:”technical”,”commandKeys”:[“seo-ecommerce”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-2-a05″,”groupId”:”module-2″,”groupNumber”:”M02″,”groupTitle”:”Ecommerce SEO”,”groupType”:”module”,”step”:5,”action”:”Optimize product images and video; preserve selected variants through cart/checkout; expose stock and delivery expectations.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Taxonomy map, facet/index rules, product/category template spec, feed/schema QA, inventory-state policy and ecommerce revenue dashboard.”,”gate”:”Priority products/categories are discoverable and accurate; duplicate filters are controlled; product data agrees across surfaces; checkout and attribution work.”,”register”:”technical”,”commandKeys”:[“seo-ecommerce”,”seo-images”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-2-a06″,”groupId”:”module-2″,”groupNumber”:”M02″,”groupTitle”:”Ecommerce SEO”,”groupType”:”module”,”step”:6,”action”:”Measure organic revenue, gross margin, category/product conversion, free-listing performance, returns, inventory and revenue per indexed product.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Taxonomy map, facet/index rules, product/category template spec, feed/schema QA, inventory-state policy and ecommerce revenue dashboard.”,”gate”:”Priority products/categories are discoverable and accurate; duplicate filters are controlled; product data agrees across surfaces; checkout and attribution work.”,”register”:”technical”,”commandKeys”:[“seo-ecommerce”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-2-a07″,”groupId”:”module-2″,”groupNumber”:”M02″,”groupTitle”:”Ecommerce SEO”,”groupType”:”module”,”step”:7,”action”:”Pilot template changes on a representative cohort before catalog-wide deployment.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Taxonomy map, facet/index rules, product/category template spec, feed/schema QA, inventory-state policy and ecommerce revenue dashboard.”,”gate”:”Priority products/categories are discoverable and accurate; duplicate filters are controlled; product data agrees across surfaces; checkout and attribution work.”,”register”:”technical”,”commandKeys”:[“seo-ecommerce”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-3-a01″,”groupId”:”module-3″,”groupNumber”:”M03″,”groupTitle”:”Programmatic SEO”,”groupType”:”module”,”step”:1,”action”:”Prove the user task and page value manually before building a generator.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Template/data specification, eligibility rules, URL governance, QA checklist, pilot report, monitoring dashboard and rollback plan.”,”gate”:”Every indexable page has distinct utility and reliable data; the pilot is technically stable, useful and commercially or strategically justified.”,”register”:”technical”,”commandKeys”:[“seo-programmatic-url”,”seo-page”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-3-a02″,”groupId”:”module-3″,”groupNumber”:”M03″,”groupTitle”:”Programmatic SEO”,”groupType”:”module”,”step”:2,”action”:”Specify required unique data, minimum completeness, source provenance, update frequency, empty/error states and human-review rules.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Template/data specification, eligibility rules, URL governance, QA checklist, pilot report, monitoring dashboard and rollback plan.”,”gate”:”Every indexable page has distinct utility and reliable data; the pilot is technically stable, useful and commercially or strategically justified.”,”register”:”technical”,”commandKeys”:[“seo-programmatic”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-3-a03″,”groupId”:”module-3″,”groupNumber”:”M03″,”groupTitle”:”Programmatic SEO”,”groupType”:”module”,”step”:3,”action”:”Define deterministic URLs, canonicals, index/noindex, sitemaps, pagination, internal links, duplicate handling and deletion/redirect rules.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Template/data specification, eligibility rules, URL governance, QA checklist, pilot report, monitoring dashboard and rollback plan.”,”gate”:”Every indexable page has distinct utility and reliable data; the pilot is technically stable, useful and commercially or strategically justified.”,”register”:”technical”,”commandKeys”:[“seo-programmatic”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-3-a04″,”groupId”:”module-3″,”groupNumber”:”M03″,”groupTitle”:”Programmatic SEO”,”groupType”:”module”,”step”:4,”action”:”Generate a small representative pilot; QA all critical fields and a statistically/operationally meaningful sample of the rest.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Template/data specification, eligibility rules, URL governance, QA checklist, pilot report, monitoring dashboard and rollback plan.”,”gate”:”Every indexable page has distinct utility and reliable data; the pilot is technically stable, useful and commercially or strategically justified.”,”register”:”technical”,”commandKeys”:[“seo-programmatic-url”,”seo-page”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-3-a05″,”groupId”:”module-3″,”groupNumber”:”M03″,”groupTitle”:”Programmatic SEO”,”groupType”:”module”,”step”:5,”action”:”Measure indexation, relevant impressions, conversions, user quality, crawl/server impact, duplicate clusters and error rates.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Template/data specification, eligibility rules, URL governance, QA checklist, pilot report, monitoring dashboard and rollback plan.”,”gate”:”Every indexable page has distinct utility and reliable data; the pilot is technically stable, useful and commercially or strategically justified.”,”register”:”technical”,”commandKeys”:[“seo-programmatic-url”,”seo-page”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-3-a06″,”groupId”:”module-3″,”groupNumber”:”M03″,”groupTitle”:”Programmatic SEO”,”groupType”:”module”,”step”:6,”action”:”Expand only after multiple cohorts demonstrate value and stable QA; maintain kill switches and rollback.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Template/data specification, eligibility rules, URL governance, QA checklist, pilot report, monitoring dashboard and rollback plan.”,”gate”:”Every indexable page has distinct utility and reliable data; the pilot is technically stable, useful and commercially or strategically justified.”,”register”:”technical”,”commandKeys”:[“seo-programmatic-url”,”seo-page”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-4-a01″,”groupId”:”module-4″,”groupNumber”:”M04″,”groupTitle”:”International SEO”,”groupType”:”module”,”step”:1,”action”:”Validate demand, legal ability, logistics, support and conversion experience for each target market.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Market feasibility matrix, locale URL/hreflang map, localization brief, QA report and market dashboard.”,”gate”:”Every live locale is indexable, internally linked, accurately localized and mapped to valid alternates; users can complete the intended action locally.”,”register”:”technical”,”commandKeys”:[“seo-hreflang”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-4-a02″,”groupId”:”module-4″,”groupNumber”:”M04″,”groupTitle”:”International SEO”,”groupType”:”module”,”step”:2,”action”:”Choose stable, crawlable locale URLs; avoid relying on IP/browser-language adaptation as the only access path.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Market feasibility matrix, locale URL/hreflang map, localization brief, QA report and market dashboard.”,”gate”:”Every live locale is indexable, internally linked, accurately localized and mapped to valid alternates; users can complete the intended action locally.”,”register”:”technical”,”commandKeys”:[“seo-hreflang”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-4-a03″,”groupId”:”module-4″,”groupNumber”:”M04″,”groupTitle”:”International SEO”,”groupType”:”module”,”step”:3,”action”:”Localize offer, terminology, currency, units, imagery, legal, shipping, support and proof—not only text.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Market feasibility matrix, locale URL/hreflang map, localization brief, QA report and market dashboard.”,”gate”:”Every live locale is indexable, internally linked, accurately localized and mapped to valid alternates; users can complete the intended action locally.”,”register”:”technical”,”commandKeys”:[“seo-hreflang”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-4-a04″,”groupId”:”module-4″,”groupNumber”:”M04″,”groupTitle”:”International SEO”,”groupType”:”module”,”step”:4,”action”:”Implement self-referencing canonicals and complete reciprocal hreflang clusters, including x-default where appropriate.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Market feasibility matrix, locale URL/hreflang map, localization brief, QA report and market dashboard.”,”gate”:”Every live locale is indexable, internally linked, accurately localized and mapped to valid alternates; users can complete the intended action locally.”,”register”:”technical”,”commandKeys”:[“seo-hreflang”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-4-a05″,”groupId”:”module-4″,”groupNumber”:”M04″,”groupTitle”:”International SEO”,”groupType”:”module”,”step”:5,”action”:”Keep navigation, sitemaps, structured data, internal links and redirects aligned with locale URLs.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Market feasibility matrix, locale URL/hreflang map, localization brief, QA report and market dashboard.”,”gate”:”Every live locale is indexable, internally linked, accurately localized and mapped to valid alternates; users can complete the intended action locally.”,”register”:”technical”,”commandKeys”:[“seo-hreflang”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-4-a06″,”groupId”:”module-4″,”groupNumber”:”M04″,”groupTitle”:”International SEO”,”groupType”:”module”,”step”:6,”action”:”Measure Search Console, analytics, conversions and revenue separately by market/language; use native review.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Market feasibility matrix, locale URL/hreflang map, localization brief, QA report and market dashboard.”,”gate”:”Every live locale is indexable, internally linked, accurately localized and mapped to valid alternates; users can complete the intended action locally.”,”register”:”technical”,”commandKeys”:[“seo-hreflang”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-5-a01″,”groupId”:”module-5″,”groupNumber”:”M05″,”groupTitle”:”SaaS SEO”,”groupType”:”module”,”step”:1,”action”:”Map problem, solution, feature, use-case, industry, role, integration, alternative/comparison, template and educational intents.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”SaaS intent architecture, feature/use-case map, product evidence library, content plan and acquisition-to-revenue dashboard.”,”gate”:”Claims match the product; trial/demo attribution reaches activation or pipeline; informational growth supports relevant product journeys.”,”register”:”content”,”commandKeys”:[“seo-plan”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-5-a02″,”groupId”:”module-5″,”groupNumber”:”M05″,”groupTitle”:”SaaS SEO”,”groupType”:”module”,”step”:2,”action”:”Build pages around actual product capability, screenshots, workflows, limitations, security, pricing and proof.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”SaaS intent architecture, feature/use-case map, product evidence library, content plan and acquisition-to-revenue dashboard.”,”gate”:”Claims match the product; trial/demo attribution reaches activation or pipeline; informational growth supports relevant product journeys.”,”register”:”content”,”commandKeys”:[“seo-plan”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-5-a03″,”groupId”:”module-5″,”groupNumber”:”M05″,”groupTitle”:”SaaS SEO”,”groupType”:”module”,”step”:3,”action”:”Connect educational discovery to the correct feature/use-case and trial/demo path without forcing every visitor to the homepage.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”SaaS intent architecture, feature/use-case map, product evidence library, content plan and acquisition-to-revenue dashboard.”,”gate”:”Claims match the product; trial/demo attribution reaches activation or pipeline; informational growth supports relevant product journeys.”,”register”:”content”,”commandKeys”:[“seo-plan”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-5-a04″,”groupId”:”module-5″,”groupNumber”:”M05″,”groupTitle”:”SaaS SEO”,”groupType”:”module”,”step”:4,”action”:”Create useful free tools, templates, benchmarks or datasets only when they provide standalone value and support the product.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”SaaS intent architecture, feature/use-case map, product evidence library, content plan and acquisition-to-revenue dashboard.”,”gate”:”Claims match the product; trial/demo attribution reaches activation or pipeline; informational growth supports relevant product journeys.”,”register”:”content”,”commandKeys”:[“seo-plan”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-5-a05″,”groupId”:”module-5″,”groupNumber”:”M05″,”groupTitle”:”SaaS SEO”,”groupType”:”module”,”step”:5,”action”:”Instrument signup, activation, qualified account, pipeline, expansion and revenue by organic landing page.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”SaaS intent architecture, feature/use-case map, product evidence library, content plan and acquisition-to-revenue dashboard.”,”gate”:”Claims match the product; trial/demo attribution reaches activation or pipeline; informational growth supports relevant product journeys.”,”register”:”content”,”commandKeys”:[“seo-plan”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-5-a06″,”groupId”:”module-5″,”groupNumber”:”M05″,”groupTitle”:”SaaS SEO”,”groupType”:”module”,”step”:6,”action”:”Refresh integration, feature, pricing, alternative and comparison pages when the product or market changes.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”SaaS intent architecture, feature/use-case map, product evidence library, content plan and acquisition-to-revenue dashboard.”,”gate”:”Claims match the product; trial/demo attribution reaches activation or pipeline; informational growth supports relevant product journeys.”,”register”:”content”,”commandKeys”:[“seo-plan”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-6-a01″,”groupId”:”module-6″,”groupNumber”:”M06″,”groupTitle”:”Publisher and affiliate SEO”,”groupType”:”module”,”step”:1,”action”:”Define editorial standards, conflict/disclosure policy, author/reviewer qualifications, fact-checking and correction process.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Editorial SOP, evidence/testing standard, disclosure system, update calendar and page-level revenue dashboard.”,”gate”:”Readers can understand who created the content, how conclusions were reached and what commercial relationship exists; facts remain current.”,”register”:”content”,”commandKeys”:[“seo-plan”,”blog-analyze”],”defaultPriority”:”P2″,”skill”:”claude-blog + claude-seo”},{“id”:”module-6-a02″,”groupId”:”module-6″,”groupNumber”:”M06″,”groupTitle”:”Publisher and affiliate SEO”,”groupType”:”module”,”step”:2,”action”:”Use original reporting, tests, samples, images, methodology or expert analysis for high-stakes reviews and comparisons.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Editorial SOP, evidence/testing standard, disclosure system, update calendar and page-level revenue dashboard.”,”gate”:”Readers can understand who created the content, how conclusions were reached and what commercial relationship exists; facts remain current.”,”register”:”content”,”commandKeys”:[“seo-plan”,”blog-analyze”],”defaultPriority”:”P2″,”skill”:”claude-blog + claude-seo”},{“id”:”module-6-a03″,”groupId”:”module-6″,”groupNumber”:”M06″,”groupTitle”:”Publisher and affiliate SEO”,”groupType”:”module”,”step”:3,”action”:”Separate informational, review, comparison, deal and transactional journeys; keep commercial facts current.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Editorial SOP, evidence/testing standard, disclosure system, update calendar and page-level revenue dashboard.”,”gate”:”Readers can understand who created the content, how conclusions were reached and what commercial relationship exists; facts remain current.”,”register”:”content”,”commandKeys”:[“seo-plan”,”blog-analyze”],”defaultPriority”:”P2″,”skill”:”claude-blog + claude-seo”},{“id”:”module-6-a04″,”groupId”:”module-6″,”groupNumber”:”M06″,”groupTitle”:”Publisher and affiliate SEO”,”groupType”:”module”,”step”:4,”action”:”Track merchant clicks, commission, RPM, subscription, newsletter and page-level revenue alongside user value.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Editorial SOP, evidence/testing standard, disclosure system, update calendar and page-level revenue dashboard.”,”gate”:”Readers can understand who created the content, how conclusions were reached and what commercial relationship exists; facts remain current.”,”register”:”content”,”commandKeys”:[“seo-plan”,”blog-analyze”],”defaultPriority”:”P2″,”skill”:”claude-blog + claude-seo”},{“id”:”module-6-a05″,”groupId”:”module-6″,”groupNumber”:”M06″,”groupTitle”:”Publisher and affiliate SEO”,”groupType”:”module”,”step”:5,”action”:”Manage freshness, broken offers, discontinued products, winner changes, cannibalization and content decay.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Editorial SOP, evidence/testing standard, disclosure system, update calendar and page-level revenue dashboard.”,”gate”:”Readers can understand who created the content, how conclusions were reached and what commercial relationship exists; facts remain current.”,”register”:”content”,”commandKeys”:[“blog-cannibalization”,”blog-rewrite”],”defaultPriority”:”P2″,”skill”:”claude-blog”},{“id”:”module-6-a06″,”groupId”:”module-6″,”groupNumber”:”M06″,”groupTitle”:”Publisher and affiliate SEO”,”groupType”:”module”,”step”:6,”action”:”Diversify revenue and merchant dependence; preserve useful content even when a commercial relationship changes.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Editorial SOP, evidence/testing standard, disclosure system, update calendar and page-level revenue dashboard.”,”gate”:”Readers can understand who created the content, how conclusions were reached and what commercial relationship exists; facts remain current.”,”register”:”content”,”commandKeys”:[“seo-plan”,”blog-analyze”],”defaultPriority”:”P2″,”skill”:”claude-blog + claude-seo”},{“id”:”module-7-a01″,”groupId”:”module-7″,”groupNumber”:”M07″,”groupTitle”:”Marketplace, directory and UGC SEO”,”groupType”:”module”,”step”:1,”action”:”Define minimum indexable quality for listings/profiles: identity, availability, location/category, unique details, media and moderation status.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Index eligibility rules, moderation/abuse SOP, template rules, inventory lifecycle and marketplace quality dashboard.”,”gate”:”Indexable pages have reliable standalone utility; spam/duplicates/expired states are controlled; user and crawler paths remain finite.”,”register”:”technical”,”commandKeys”:[“seo-audit”,”seo-page”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-7-a02″,”groupId”:”module-7″,”groupNumber”:”M07″,”groupTitle”:”Marketplace, directory and UGC SEO”,”groupType”:”module”,”step”:2,”action”:”Control empty search pages, thin profiles, duplicate listings, expired inventory, pagination and filter combinations.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Index eligibility rules, moderation/abuse SOP, template rules, inventory lifecycle and marketplace quality dashboard.”,”gate”:”Indexable pages have reliable standalone utility; spam/duplicates/expired states are controlled; user and crawler paths remain finite.”,”register”:”technical”,”commandKeys”:[“seo-audit”,”seo-page”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-7-a03″,”groupId”:”module-7″,”groupNumber”:”M07″,”groupTitle”:”Marketplace, directory and UGC SEO”,”groupType”:”module”,”step”:3,”action”:”Build abuse prevention, verification, moderation, reporting, spam detection and removal workflows.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Index eligibility rules, moderation/abuse SOP, template rules, inventory lifecycle and marketplace quality dashboard.”,”gate”:”Indexable pages have reliable standalone utility; spam/duplicates/expired states are controlled; user and crawler paths remain finite.”,”register”:”technical”,”commandKeys”:[“seo-audit”,”seo-page”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-7-a04″,”groupId”:”module-7″,”groupNumber”:”M07″,”groupTitle”:”Marketplace, directory and UGC SEO”,”groupType”:”module”,”step”:4,”action”:”Use structured data only for verified visible information and prevent aggregate ratings from being fabricated or self-serving.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Index eligibility rules, moderation/abuse SOP, template rules, inventory lifecycle and marketplace quality dashboard.”,”gate”:”Indexable pages have reliable standalone utility; spam/duplicates/expired states are controlled; user and crawler paths remain finite.”,”register”:”technical”,”commandKeys”:[“seo-schema”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-7-a05″,”groupId”:”module-7″,”groupNumber”:”M07″,”groupTitle”:”Marketplace, directory and UGC SEO”,”groupType”:”module”,”step”:5,”action”:”Create strong taxonomy, browse paths and local/category hubs from real inventory.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Index eligibility rules, moderation/abuse SOP, template rules, inventory lifecycle and marketplace quality dashboard.”,”gate”:”Indexable pages have reliable standalone utility; spam/duplicates/expired states are controlled; user and crawler paths remain finite.”,”register”:”technical”,”commandKeys”:[“seo-audit”,”seo-page”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-7-a06″,”groupId”:”module-7″,”groupNumber”:”M07″,”groupTitle”:”Marketplace, directory and UGC SEO”,”groupType”:”module”,”step”:6,”action”:”Measure successful matches, inquiries, transactions, repeat use, spam rate, index quality and value per indexed listing.”,”execution”:”COMMAND REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Index eligibility rules, moderation/abuse SOP, template rules, inventory lifecycle and marketplace quality dashboard.”,”gate”:”Indexable pages have reliable standalone utility; spam/duplicates/expired states are controlled; user and crawler paths remain finite.”,”register”:”technical”,”commandKeys”:[“seo-audit”,”seo-page”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-8-a01″,”groupId”:”module-8″,”groupNumber”:”M08″,”groupTitle”:”Image, video and visual search”,”groupType”:”module”,”step”:1,”action”:”Use original, high-quality, crawlable media near relevant text with descriptive filenames, alt text where appropriate and captions/context.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Media inventory, optimization rules, sitemap/schema QA, rights/provenance log and media performance report.”,”gate”:”Important media is crawlable, fast, contextually useful, legally usable and connected to the correct page/task.”,”register”:”pageqa”,”commandKeys”:[“seo-images”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-8-a02″,”groupId”:”module-8″,”groupNumber”:”M08″,”groupTitle”:”Image, video and visual search”,”groupType”:”module”,”step”:2,”action”:”Provide stable image/video URLs, valid thumbnails and accessible embeds; include files in sitemaps when useful.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Media inventory, optimization rules, sitemap/schema QA, rights/provenance log and media performance report.”,”gate”:”Important media is crawlable, fast, contextually useful, legally usable and connected to the correct page/task.”,”register”:”pageqa”,”commandKeys”:[“seo-sitemap”,”seo-images”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-8-a03″,”groupId”:”module-8″,”groupNumber”:”M08″,”groupTitle”:”Image, video and visual search”,”groupType”:”module”,”step”:3,”action”:”Use supported ImageObject/VideoObject or product/article media data only when accurate and visible.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Media inventory, optimization rules, sitemap/schema QA, rights/provenance log and media performance report.”,”gate”:”Important media is crawlable, fast, contextually useful, legally usable and connected to the correct page/task.”,”register”:”pageqa”,”commandKeys”:[“seo-images”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-8-a04″,”groupId”:”module-8″,”groupNumber”:”M08″,”groupTitle”:”Image, video and visual search”,”groupType”:”module”,”step”:4,”action”:”Provide transcripts, chapters/key moments and page-level context for important videos.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Media inventory, optimization rules, sitemap/schema QA, rights/provenance log and media performance report.”,”gate”:”Important media is crawlable, fast, contextually useful, legally usable and connected to the correct page/task.”,”register”:”pageqa”,”commandKeys”:[“seo-images”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-8-a05″,”groupId”:”module-8″,”groupNumber”:”M08″,”groupTitle”:”Image, video and visual search”,”groupType”:”module”,”step”:5,”action”:”Optimize dimensions, compression, lazy loading and reserved layout space without hiding critical media from crawlers.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Media inventory, optimization rules, sitemap/schema QA, rights/provenance log and media performance report.”,”gate”:”Important media is crawlable, fast, contextually useful, legally usable and connected to the correct page/task.”,”register”:”pageqa”,”commandKeys”:[“seo-images”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-8-a06″,”groupId”:”module-8″,”groupNumber”:”M08″,”groupTitle”:”Image, video and visual search”,”groupType”:”module”,”step”:6,”action”:”Track image/video search appearance, media engagement, assisted conversions and licensing/rights.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Media inventory, optimization rules, sitemap/schema QA, rights/provenance log and media performance report.”,”gate”:”Important media is crawlable, fast, contextually useful, legally usable and connected to the correct page/task.”,”register”:”pageqa”,”commandKeys”:[“seo-images”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-9-a01″,”groupId”:”module-9″,”groupNumber”:”M09″,”groupTitle”:”Large-site and JavaScript SEO”,”groupType”:”module”,”step”:1,”action”:”Confirm core content, titles, canonicals, structured data and links exist in rendered HTML available to search engines.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Rendering specification, crawl-log analysis, URL/state rules, release QA and large-site monitoring.”,”gate”:”Priority states render consistently, are linked and indexable; crawl capacity is stable; low-value states do not dominate requests.”,”register”:”technical”,”commandKeys”:[“seo-audit-render”,”seo-technical”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-9-a02″,”groupId”:”module-9″,”groupNumber”:”M09″,”groupTitle”:”Large-site and JavaScript SEO”,”groupType”:”module”,”step”:2,”action”:”Use crawlable anchor hrefs and distinct URLs for states that must be discovered; provide pagination for infinite-scroll content.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Rendering specification, crawl-log analysis, URL/state rules, release QA and large-site monitoring.”,”gate”:”Priority states render consistently, are linked and indexable; crawl capacity is stable; low-value states do not dominate requests.”,”register”:”technical”,”commandKeys”:[“seo-audit-render”,”seo-technical”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-9-a03″,”groupId”:”module-9″,”groupNumber”:”M09″,”groupTitle”:”Large-site and JavaScript SEO”,”groupType”:”module”,”step”:3,”action”:”Compare server logs, crawl inventory and intended index to identify waste, traps, soft errors and capacity problems.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Rendering specification, crawl-log analysis, URL/state rules, release QA and large-site monitoring.”,”gate”:”Priority states render consistently, are linked and indexable; crawl capacity is stable; low-value states do not dominate requests.”,”register”:”technical”,”commandKeys”:[“seo-audit-render”,”seo-technical”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-9-a04″,”groupId”:”module-9″,”groupNumber”:”M09″,”groupTitle”:”Large-site and JavaScript SEO”,”groupType”:”module”,”step”:4,”action”:”Prioritize server health, caching, rendering, duplicate control and high-value update discovery.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified business facts, source evidence, owner and decision criteria.”,”expectedOutput”:”Rendering specification, crawl-log analysis, URL/state rules, release QA and large-site monitoring.”,”gate”:”Priority states render consistently, are linked and indexable; crawl capacity is stable; low-value states do not dominate requests.”,”register”:”technical”,”commandKeys”:[“seo-audit-render”,”seo-technical”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-9-a05″,”groupId”:”module-9″,”groupNumber”:”M09″,”groupTitle”:”Large-site and JavaScript SEO”,”groupType”:”module”,”step”:5,”action”:”Test releases on representative templates and bots; monitor rendering errors and crawl behavior.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Rendering specification, crawl-log analysis, URL/state rules, release QA and large-site monitoring.”,”gate”:”Priority states render consistently, are linked and indexable; crawl capacity is stable; low-value states do not dominate requests.”,”register”:”technical”,”commandKeys”:[“seo-audit-render”,”seo-technical”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-9-a06″,”groupId”:”module-9″,”groupNumber”:”M09″,”groupTitle”:”Large-site and JavaScript SEO”,”groupType”:”module”,”step”:6,”action”:”Use crawl-budget work only when site scale and logs show a real constraint.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Rendering specification, crawl-log analysis, URL/state rules, release QA and large-site monitoring.”,”gate”:”Priority states render consistently, are linked and indexable; crawl capacity is stable; low-value states do not dominate requests.”,”register”:”technical”,”commandKeys”:[“seo-audit-render”,”seo-technical”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-10-a01″,”groupId”:”module-10″,”groupNumber”:”M10″,”groupTitle”:”Site migration and redesign”,”groupType”:”module”,”step”:1,”action”:”Benchmark rankings, traffic, conversions, indexed URLs, backlinks, canonicals, hreflang, sitemaps, media and server performance.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Migration inventory, redirect map, pre/post-launch QA, rollback plan, monitoring dashboard and incident log.”,”gate”:”All high-value URLs and assets have tested destinations; tracking works; no accidental block exists; post-launch issues have owners and thresholds.”,”register”:”recovery”,”commandKeys”:[“seo-drift-baseline”,”seo-audit”,”seo-backlinks”,”seo-hreflang”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-10-a02″,”groupId”:”module-10″,”groupNumber”:”M10″,”groupTitle”:”Site migration and redesign”,”groupType”:”module”,”step”:2,”action”:”Freeze or document simultaneous changes; map every valuable old URL to the closest valid new destination.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Migration inventory, redirect map, pre/post-launch QA, rollback plan, monitoring dashboard and incident log.”,”gate”:”All high-value URLs and assets have tested destinations; tracking works; no accidental block exists; post-launch issues have owners and thresholds.”,”register”:”recovery”,”commandKeys”:[“seo-audit”,”seo-drift-baseline”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-10-a03″,”groupId”:”module-10″,”groupNumber”:”M10″,”groupTitle”:”Site migration and redesign”,”groupType”:”module”,”step”:3,”action”:”Test redirects, canonicals, robots, noindex, rendering, structured data, analytics, forms, feeds, internal links and error states before launch.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Migration inventory, redirect map, pre/post-launch QA, rollback plan, monitoring dashboard and incident log.”,”gate”:”All high-value URLs and assets have tested destinations; tracking works; no accidental block exists; post-launch issues have owners and thresholds.”,”register”:”recovery”,”commandKeys”:[“seo-audit”,”seo-drift-baseline”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-10-a04″,”groupId”:”module-10″,”groupNumber”:”M10″,”groupTitle”:”Site migration and redesign”,”groupType”:”module”,”step”:4,”action”:”Launch during an operationally manageable period; retain old domain/control and redirects long enough for users and crawlers.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Migration inventory, redirect map, pre/post-launch QA, rollback plan, monitoring dashboard and incident log.”,”gate”:”All high-value URLs and assets have tested destinations; tracking works; no accidental block exists; post-launch issues have owners and thresholds.”,”register”:”recovery”,”commandKeys”:[“seo-audit”,”seo-drift-baseline”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-10-a05″,”groupId”:”module-10″,”groupNumber”:”M10″,”groupTitle”:”Site migration and redesign”,”groupType”:”module”,”step”:5,”action”:”Submit updated sitemaps and Change of Address where appropriate; monitor old/new logs, Search Console and business outcomes daily at first.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Migration inventory, redirect map, pre/post-launch QA, rollback plan, monitoring dashboard and incident log.”,”gate”:”All high-value URLs and assets have tested destinations; tracking works; no accidental block exists; post-launch issues have owners and thresholds.”,”register”:”recovery”,”commandKeys”:[“seo-technical”,”seo-drift-compare”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”module-10-a06″,”groupId”:”module-10″,”groupNumber”:”M10″,”groupTitle”:”Site migration and redesign”,”groupType”:”module”,”step”:6,”action”:”Repair unexpected 404s, redirect chains, missing pages, canonical/hreflang errors and tracking gaps quickly.”,”execution”:”HYBRID REQUIRED”,”requiredInput”:”Verified live, staging, old or new URL as required; Connected tool access or uploaded CSV, JSON or spreadsheet export; Manual business inputs and source date.”,”expectedOutput”:”Migration inventory, redirect map, pre/post-launch QA, rollback plan, monitoring dashboard and incident log.”,”gate”:”All high-value URLs and assets have tested destinations; tracking works; no accidental block exists; post-launch issues have owners and thresholds.”,”register”:”recovery”,”commandKeys”:[“seo-technical”,”seo-drift-compare”],”defaultPriority”:”P2″,”skill”:”claude-seo”},{“id”:”stage-06-a07″,”groupId”:”stage-06″,”groupNumber”:”06″,”groupTitle”:”Research the market and validate true organic competitors”,”groupType”:”core”,”step”:7,”action”:”For every priority query, tear down the top three relevant ranking pages at page level: page type, headings, evidence, freshness, schema, media, internal links, page backlinks, UX and conversion path.”,”execution”:”HYBRID REQUIRED”,”commandKeys”:[“seo-page”,”seo-backlinks”,”seo-sxo”],”requiredInput”:”Localized live SERP, three ranking URLs, backlink/tool exports and observation date.”,”expectedOutput”:”Three verified competitor rows plus an exploitable-gap summary.”,”register”:”competitors”,”gate”:”No priority page enters production without a top-three page-level teardown.”,”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-06-a08″,”groupId”:”stage-06″,”groupNumber”:”06″,”groupTitle”:”Research the market and validate true organic competitors”,”groupType”:”core”,”step”:8,”action”:”Record SERP volatility, result-type changes and evidence age. Recheck unstable or older SERPs before committing resources.”,”execution”:”MANUAL REQUIRED”,”commandKeys”:[],”requiredInput”:”Dated SERP captures from at least two observations when volatility is suspected.”,”expectedOutput”:”SERP stability and evidence-expiry decision.”,”register”:”competitors”,”gate”:”The competitive evidence is current enough to support a ranking decision.”,”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-07-a08″,”groupId”:”stage-07″,”groupNumber”:”07″,”groupTitle”:”Build the keyword, intent, entity and demand map”,”groupType”:”core”,”step”:8,”action”:”Score every cluster for winnability using business value, intent fit, topical fit, weak page-one results, unique evidence advantage, authority gap, link gap and execution effort.”,”execution”:”HYBRID REQUIRED”,”commandKeys”:[“aaron-seo-geo”],”requiredInput”:”Verified keyword cluster, localized page-one evidence, page-level backlink data, site topical coverage and available assets.”,”expectedOutput”:”Calculated 0-100 winnability score and supporting evidence.”,”register”:”keywords”,”gate”:”Every proposed page has a defensible winnability score, not only volume or difficulty.”,”defaultPriority”:”P1″,”skill”:”aaron-marketing”},{“id”:”stage-07-a09″,”groupId”:”stage-07″,”groupNumber”:”07″,”groupTitle”:”Build the keyword, intent, entity and demand map”,”groupType”:”core”,”step”:9,”action”:”Force one decision for each cluster: Pursue now, Pursue after support, Long-term, or Reject. Reject dominated SERPs when the site lacks a realistic evidence, authority or resource path.”,”execution”:”MANUAL REQUIRED”,”commandKeys”:[],”requiredInput”:”Completed winnability row and business constraints.”,”expectedOutput”:”Explicit battle decision and rejection reason where applicable.”,”register”:”keywords”,”gate”:”Only Pursue now opportunities may enter the immediate content backlog.”,”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-07-a10″,”groupId”:”stage-07″,”groupNumber”:”07″,”groupTitle”:”Build the keyword, intent, entity and demand map”,”groupType”:”core”,”step”:10,”action”:”Choose the primary search surface to win: standard organic, local pack, shopping/free listings, image, video, news, People Also Ask or AI-generated results.”,”execution”:”MANUAL REQUIRED”,”commandKeys”:[],”requiredInput”:”Current SERP feature composition and the business asset type.”,”expectedOutput”:”Target surface and page/asset format.”,”register”:”keywords”,”gate”:”The execution format matches the surface Google currently rewards.”,”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-07-a11″,”groupId”:”stage-07″,”groupNumber”:”07″,”groupTitle”:”Build the keyword, intent, entity and demand map”,”groupType”:”core”,”step”:11,”action”:”Estimate time-to-rank and the minimum resource gap for each Pursue now target, including content, expert proof, internal links and external authority.”,”execution”:”MANUAL REQUIRED”,”commandKeys”:[],”requiredInput”:”Page-level competitor evidence, current site authority, production capacity and link prospects.”,”expectedOutput”:”Time-to-rank range, minimum asset plan and capacity decision.”,”register”:”keywords”,”gate”:”The selected battle fits available time, budget and operational capacity.”,”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-07-a12″,”groupId”:”stage-07″,”groupNumber”:”07″,”groupTitle”:”Build the keyword, intent, entity and demand map”,”groupType”:”core”,”step”:12,”action”:”Build a query-to-URL matrix and resolve cannibalization before creating another page for an existing intent.”,”execution”:”HYBRID REQUIRED”,”commandKeys”:[“blog-cannibalization”,”aaron-seo-geo”],”requiredInput”:”GSC query/page export, site crawl and existing content directory.”,”expectedOutput”:”Primary URL, competing URLs and merge/reposition/redirect/link decision.”,”register”:”keywords”,”gate”:”One primary URL owns each priority intent.”,”defaultPriority”:”P1″,”skill”:”aaron-marketing + claude-blog”},{“id”:”stage-08-a07″,”groupId”:”stage-08″,”groupNumber”:”08″,”groupTitle”:”Design topical authority and the complete page portfolio”,”groupType”:”core”,”step”:7,”action”:”Set a mandatory cluster publication sequence: minimum supporting pages and evidence assets, contextual links, then commercial/hub launch as one coordinated sprint.”,”execution”:”HYBRID REQUIRED”,”commandKeys”:[“blog-cluster”,”seo-plan”],”requiredInput”:”Approved keyword battle, page roles, available evidence and production capacity.”,”expectedOutput”:”Numbered cluster sequence with prerequisites and link flow.”,”register”:”content”,”gate”:”No isolated money page launches without the minimum support and evidence defined for its cluster.”,”defaultPriority”:”P1″,”skill”:”claude-blog + claude-seo”},{“id”:”stage-08-a08″,”groupId”:”stage-08″,”groupNumber”:”08″,”groupTitle”:”Design topical authority and the complete page portfolio”,”groupType”:”core”,”step”:8,”action”:”Define the minimum viable cluster and the expansion trigger. Do not wait for an arbitrary article count, and do not scale until the first cohort earns relevant impressions or conversions.”,”execution”:”MANUAL REQUIRED”,”commandKeys”:[],”requiredInput”:”Cluster plan, business value and measurable success criteria.”,”expectedOutput”:”Minimum viable cluster, completion threshold and expansion condition.”,”register”:”content”,”gate”:”Cluster expansion is controlled by evidence, not publishing volume.”,”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-09-a07″,”groupId”:”stage-09″,”groupNumber”:”09″,”groupTitle”:”Score opportunities and build the execution roadmap”,”groupType”:”core”,”step”:7,”action”:”Prioritize quick wins and high-winnability battles ahead of low-confidence new pages, while preserving P0 technical and measurement dependencies.”,”execution”:”MANUAL REQUIRED”,”commandKeys”:[],”requiredInput”:”Winnability register, weekly GSC sweep, technical backlog and team capacity.”,”expectedOutput”:”Ranked execution backlog with an explicit opportunity source.”,”register”:”backlog”,”gate”:”The next work batch contains the highest expected value per unit of effort.”,”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-10-a08″,”groupId”:”stage-10″,”groupNumber”:”10″,”groupTitle”:”Create or improve pages with content, on-page, media, E-E-A-T and schema QA”,”groupType”:”core”,”step”:8,”action”:”Convert the top-three teardown into an outranking plan: match intent and required page type, then exceed competitors with stronger evidence, usefulness, internal support, UX or authority.”,”execution”:”HYBRID REQUIRED”,”commandKeys”:[“seo-page”,”seo-backlinks”,”seo-sxo”],”requiredInput”:”Completed competitor teardown, target query and available first-party assets.”,”expectedOutput”:”Outranking plan recorded in the content brief.”,”register”:”content”,”gate”:”The page has a realistic reason to replace a current winner.”,”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-10-a09″,”groupId”:”stage-10″,”groupNumber”:”10″,”groupTitle”:”Create or improve pages with content, on-page, media, E-E-A-T and schema QA”,”groupType”:”core”,”step”:9,”action”:”Block publication when required expert proof, first-party evidence, product data, media, citations or legal review is missing.”,”execution”:”MANUAL REQUIRED”,”commandKeys”:[],”requiredInput”:”Completed content brief and evidence checklist.”,”expectedOutput”:”Publish, hold or reduce-claim decision.”,”register”:”content”,”gate”:”No unsupported claim or commodity filler is published to meet a deadline.”,”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-10-a10″,”groupId”:”stage-10″,”groupNumber”:”10″,”groupTitle”:”Create or improve pages with content, on-page, media, E-E-A-T and schema QA”,”groupType”:”core”,”step”:10,”action”:”Run a mandatory launch window: technical and index checks within 24 hours, initial query/impression review at 7 days, and ranking/intent/cannibalization review at 14 days.”,”execution”:”HYBRID REQUIRED”,”commandKeys”:[“seo-page”,”seo-drift-compare”],”requiredInput”:”Live URL, publication date, GSC export or manual inspection, and baseline snapshot.”,”expectedOutput”:”Completed 24-hour, 7-day and 14-day QA record.”,”register”:”pageqa”,”gate”:”A new or materially changed page is not considered complete until the 14-day review is recorded.”,”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-10-a11″,”groupId”:”stage-10″,”groupNumber”:”10″,”groupTitle”:”Create or improve pages with content, on-page, media, E-E-A-T and schema QA”,”groupType”:”core”,”step”:11,”action”:”After indexing, verify visibility and citations in relevant AI-generated results. Compare cited competitors and improve direct answers, evidence, entity clarity and rendered accessibility without forcing a fixed paragraph length.”,”execution”:”HYBRID REQUIRED”,”commandKeys”:[“seo-geo”,”blog-geo”],”requiredInput”:”Indexed URL, target questions, observed AI result and cited-source evidence.”,”expectedOutput”:”AI visibility check, cited-source comparison and improvement decision.”,”register”:”pageqa”,”gate”:”AEO/GEO work is verified against real results and human-reviewed.”,”defaultPriority”:”P1″,”skill”:”claude-blog + claude-seo”},{“id”:”stage-12-a08″,”groupId”:”stage-12″,”groupNumber”:”12″,”groupTitle”:”Earn relevant authority, brand mentions and digital PR”,”groupType”:”core”,”step”:8,”action”:”Discover prospects through competitor page links, resource pages, relevant publishers, suppliers, associations, partners, unlinked mentions and broken/outdated resources.”,”execution”:”HYBRID REQUIRED”,”commandKeys”:[“seo-backlinks”],”requiredInput”:”Approved linkable asset, competitor URLs and target audience.”,”expectedOutput”:”Qualified prospect rows with a specific relevance reason.”,”register”:”backlinks”,”gate”:”Every prospect has a real editorial reason to reference the asset.”,”defaultPriority”:”P1″,”skill”:”claude-seo”},{“id”:”stage-12-a09″,”groupId”:”stage-12″,”groupNumber”:”12″,”groupTitle”:”Earn relevant authority, brand mentions and digital PR”,”groupType”:”core”,”step”:9,”action”:”Qualify each prospect for topical relevance, real audience, editorial fit, spam risk, destination-page value and relationship potential before outreach.”,”execution”:”MANUAL REQUIRED”,”commandKeys”:[],”requiredInput”:”Prospect page, site visibility evidence and editorial review.”,”expectedOutput”:”Qualification score and accept/reject decision.”,”register”:”backlinks”,”gate”:”Low-quality, irrelevant or link-selling prospects are rejected before contact.”,”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-12-a10″,”groupId”:”stage-12″,”groupNumber”:”12″,”groupTitle”:”Earn relevant authority, brand mentions and digital PR”,”groupType”:”core”,”step”:10,”action”:”Use a required outreach sequence: one personalized initial email, up to two useful follow-ups, response tracking and a final closed status.”,”execution”:”MANUAL REQUIRED”,”commandKeys”:[],”requiredInput”:”Named contact, specific page, personalized angle and approved asset.”,”expectedOutput”:”Dated outreach sequence and response status.”,”register”:”backlinks”,”gate”:”No prospect remains indefinitely open and no bulk generic blast is used.”,”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-12-a11″,”groupId”:”stage-12″,”groupNumber”:”12″,”groupTitle”:”Earn relevant authority, brand mentions and digital PR”,”groupType”:”core”,”step”:11,”action”:”Apply a stop rule after the planned follow-ups or a clear rejection. Measure campaign-level reply, placement, referral and assisted-conversion rates from your own data.”,”execution”:”MANUAL REQUIRED”,”commandKeys”:[],”requiredInput”:”Completed outreach sequence and campaign totals.”,”expectedOutput”:”Closed prospect status, stop reason and campaign learning.”,”register”:”backlinks”,”gate”:”Future outreach decisions use observed campaign performance, not universal response-rate claims.”,”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-14-a09″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:9,”action”:”Run a weekly quick-wins sweep: prioritize queries in positions 4-20 with meaningful impressions and business value, then diagnose title, intent, content, internal-link or conversion gaps.”,”execution”:”HYBRID REQUIRED”,”commandKeys”:[“aaron-seo-geo”],”requiredInput”:”Latest GSC page/query export, conversion value and current page evidence.”,”expectedOutput”:”Quick-win rows and assigned actions.”,”register”:”reporting”,”gate”:”High-confidence improvements are reviewed before low-confidence new production.”,”defaultPriority”:”P1″,”skill”:”aaron-marketing”},{“id”:”stage-14-a10″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:10,”action”:”Run a five-minute weekly watch on the top priority pages. Investigate material position, click, indexation or conversion changes immediately instead of waiting for the monthly report.”,”execution”:”MANUAL REQUIRED”,”commandKeys”:[],”requiredInput”:”Weekly GSC export or rank-tracker export for the priority page set.”,”expectedOutput”:”Dated weekly watch with material-change decisions.”,”register”:”reporting”,”gate”:”No priority-page anomaly remains unseen for more than seven days.”,”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-14-a11″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:11,”action”:”Trigger a refresh when comparable clicks fall by at least 30% with stable intent and seasonality checked, or when a page is at least six months old and has never achieved useful page-one visibility.”,”execution”:”HYBRID REQUIRED”,”commandKeys”:[“blog-rewrite”,”blog-analyze”],”requiredInput”:”Comparable period data, page age, intent review, seasonality evidence and current competitor state.”,”expectedOutput”:”Refresh, reposition, merge, defend or stop decision.”,”register”:”reporting”,”gate”:”Refreshes are triggered by evidence rather than arbitrary calendars.”,”defaultPriority”:”P1″,”skill”:”claude-blog”},{“id”:”stage-14-a12″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:12,”action”:”Resolve cannibalization using a query-to-URL matrix: select the primary URL, then merge, redirect, reposition, de-optimize or change internal links as appropriate.”,”execution”:”HYBRID REQUIRED”,”commandKeys”:[“blog-cannibalization”,”aaron-seo-geo”],”requiredInput”:”GSC query/page export, crawl, canonicals and content inventory.”,”expectedOutput”:”Documented cannibalization resolution and post-change monitoring date.”,”register”:”keywords”,”gate”:”Competing URLs no longer target the same primary user task without intent justification.”,”defaultPriority”:”P1″,”skill”:”aaron-marketing + claude-blog”},{“id”:”stage-14-a13″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:13,”action”:”Before acting on a rise or decline, compare seasonality, year-over-year demand, SERP feature changes, competitor releases and tracking changes.”,”execution”:”MANUAL REQUIRED”,”commandKeys”:[],”requiredInput”:”Google Trends, comparable GSC periods, change log and dated SERP observation.”,”expectedOutput”:”Confirmed cause category and confidence.”,”register”:”reporting”,”gate”:”The team does not rewrite or remove pages because of normal seasonality or temporary volatility.”,”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”},{“id”:”stage-14-a14″,”groupId”:”stage-14″,”groupNumber”:”14″,”groupTitle”:”Operate reporting, testing, content lifecycle, forecasting and controlled scaling”,”groupType”:”core”,”step”:14,”action”:”Expire stale keyword, competitor and SERP evidence before major decisions. Recollect evidence when the market, product, search surface or ranking pages materially change.”,”execution”:”MANUAL REQUIRED”,”commandKeys”:[],”requiredInput”:”Source dates, change log and current SERP sample.”,”expectedOutput”:”Evidence freshness decision and recollection owner/date.”,”register”:”competitors”,”gate”:”Major execution decisions rely on current, dated evidence.”,”defaultPriority”:”P1″,”skill”:”Human owner / manual tool workflow”}],”layer2Registers”:[{“id”:”business”,”name”:”Business and measurement”,”desc”:”Business truth, conversions, attribution and baseline evidence.”,”cols”:[[“task”,”Linked task”,”task”],[“area”,”Area”,”text”],[“item”,”Item”,”text”],[“value”,”Verified value or evidence”,”textarea”],[“source_date”,”Source and date”,”text”],[“owner”,”Owner”,”text”],[“verified”,”Human verified”,”check”],[“notes”,”Notes”,”textarea”]]},{“id”:”technical”,”name”:”Technical audit”,”desc”:”One row per technical issue, deployment and retest.”,”cols”:[[“task”,”Linked task”,”task”],[“priority”,”Priority”,”priority”],[“url”,”URL or template”,”text”],[“issue”,”Issue”,”textarea”],[“evidence”,”Evidence”,”textarea”],[“impact”,”Business impact”,”textarea”],[“fix”,”Required fix”,”textarea”],[“owner”,”Owner”,”text”],[“status”,”Status”,”status”],[“due”,”Due”,”date”],[“deployed”,”Deployed”,”date”],[“retest”,”Retest evidence”,”textarea”],[“rollback”,”Rollback plan”,”textarea”],[“verified”,”Human verified”,”check”]]},{“id”:”competitors”,”name”:”Competitor research”,”desc”:”Site-level evidence and page-level teardown of the actual ranking pages.”,”cols”:[[“task”,”Linked task”,”task”],[“query”,”Target query”,”text”],[“rank”,”Rank”,”number”],[“competitor_url”,”Ranking page URL”,”text”],[“page_type”,”Page type”,”text”],[“domain_strength”,”Domain strength estimate”,”text”],[“page_ref_domains”,”Page referring domains”,”number”],[“page_internal_links”,”Internal links to page”,”number”],[“word_count”,”Word count”,”number”],[“freshness”,”Last meaningful update”,”text”],[“schema”,”Schema”,”text”],[“evidence_assets”,”Original evidence or assets”,”textarea”],[“ux_cta”,”UX and CTA”,”textarea”],[“weakness”,”Exploitable weakness”,”textarea”],[“outranking_action”,”Outranking action”,”textarea”],[“source_date”,”Source and date”,”text”],[“verified”,”Human verified”,”check”]]},{“id”:”keywords”,”name”:”Keyword, intent and entity map”,”desc”:”Select battles using a forced winnability score, not volume alone.”,”cols”:[[“task”,”Linked task”,”task”],[“cluster”,”Keyword or cluster”,”text”],[“intent”,”Intent”,”text”],[“target_surface”,”Target surface”,”surface”],[“primary_url”,”Target URL”,”text”],[“business_value”,”Business value 0-5″,”score”],[“intent_fit”,”Intent fit 0-5″,”score”],[“topical_fit”,”Topical fit 0-5″,”score”],[“serp_weakness”,”SERP weakness 0-5″,”score”],[“unique_evidence”,”Evidence advantage 0-5″,”score”],[“authority_gap”,”Authority gap 0-5″,”score”],[“link_gap”,”Link gap 0-5″,”score”],[“effort”,”Effort 0-5″,”score”],[“seasonality_checked”,”Seasonality checked”,”check”],[“winnability”,”Winnability”,”computed”],[“decision”,”Decision”,”computed”],[“competing_urls”,”Cannibalizing URLs”,”textarea”],[“resolution”,”Cannibalization resolution”,”textarea”],[“source_date”,”Source and date”,”text”],[“confidence”,”Confidence”,”confidence”],[“owner”,”Owner”,”text”],[“status”,”Status”,”status”],[“notes”,”Notes”,”textarea”]]},{“id”:”content”,”name”:”Content brief”,”desc”:”The page battle plan, cluster sequence and required evidence before production.”,”cols”:[[“task”,”Linked task”,”task”],[“cluster”,”Cluster”,”text”],[“url”,”Target URL”,”text”],[“page_role”,”Page role”,”page_role”],[“sequence”,”Publish sequence”,”number”],[“prerequisites”,”Required pages or assets first”,”textarea”],[“intent”,”Primary intent”,”text”],[“audience”,”Audience and job”,”textarea”],[“unique_value”,”Unique value”,”textarea”],[“first_party_proof”,”First-party proof required”,”textarea”],[“top3_gap”,”Top-3 competitive gap”,”textarea”],[“outline”,”Outline”,”textarea”],[“internal_links”,”Internal-link plan”,”textarea”],[“cta”,”CTA”,”text”],[“schema”,”Eligible schema”,”text”],[“author_reviewer”,”Author and reviewer”,”text”],[“owner”,”Owner”,”text”],[“status”,”Status”,”status”],[“verified”,”Human verified”,”check”]]},{“id”:”pageqa”,”name”:”Page QA”,”desc”:”Prelaunch QA plus 24-hour, 7-day, 14-day and AI-visibility checks.”,”cols”:[[“task”,”Linked task”,”task”],[“url”,”URL”,”text”],[“target_query”,”Target query”,”text”],[“publish_date”,”Published”,”date”],[“page_type_match”,”Intent and page type”,”pass”],[“title_h1″,”Title and H1″,”pass”],[“index_canonical”,”Index and canonical”,”pass”],[“rendered”,”Rendered content”,”pass”],[“schema”,”Schema”,”pass”],[“mobile_cta”,”Mobile and CTA”,”pass”],[“analytics”,”Analytics”,”pass”],[“internal_links”,”Internal links”,”pass”],[“factcheck”,”Fact check”,”pass”],[“geo_audit”,”GEO audit”,”pass”],[“ai_cited”,”AI result cited?”,”pass”],[“competitor_cited”,”Competing source cited”,”text”],[“check_24h”,”24-hour check”,”pass”],[“check_7d”,”7-day check”,”pass”],[“check_14d”,”14-day check”,”pass”],[“overall”,”Overall”,”overall”],[“reviewer”,”Reviewer”,”text”],[“verified”,”Human verified”,”check”],[“notes”,”Notes”,”textarea”]]},{“id”:”internal”,”name”:”Internal linking”,”desc”:”Contextual discovery and authority flow.”,”cols”:[[“task”,”Linked task”,”task”],[“source_url”,”Source URL”,”text”],[“target_url”,”Target URL”,”text”],[“anchor”,”Anchor text”,”text”],[“placement”,”Placement”,”text”],[“reason”,”User and SEO reason”,”textarea”],[“link_type”,”Link type”,”link_type”],[“status”,”Status”,”status”],[“verified”,”Human verified”,”check”],[“notes”,”Notes”,”textarea”]]},{“id”:”backlinks”,”name”:”Backlinks and outreach”,”desc”:”A complete prospect, qualification, outreach and stop-rule workflow.”,”cols”:[[“task”,”Linked task”,”task”],[“campaign”,”Campaign”,”text”],[“asset”,”Linkable asset”,”text”],[“prospect_domain”,”Prospect domain”,”text”],[“prospect_url”,”Relevant page”,”text”],[“relevance”,”Relevance 0-5″,”score”],[“audience”,”Real audience 0-5″,”score”],[“editorial_fit”,”Editorial fit 0-5″,”score”],[“spam_risk”,”Spam risk 0-5″,”score”],[“qualification”,”Qualification”,”computed”],[“contact”,”Contact”,”text”],[“pitch_angle”,”Personalized pitch angle”,”textarea”],[“sent_1″,”Initial outreach”,”date”],[“followup_1″,”Follow-up 1″,”date”],[“followup_2″,”Follow-up 2″,”date”],[“response”,”Response”,”textarea”],[“earned_url”,”Earned link or mention”,”text”],[“referral”,”Referral traffic”,”number”],[“conversions”,”Assisted conversions”,”number”],[“status”,”Status”,”outreach_status”],[“stop_reason”,”Stop reason”,”textarea”],[“owner”,”Owner”,”text”],[“verified”,”Human verified”,”check”]]},{“id”:”recovery”,”name”:”Recovery and migration”,”desc”:”Incident diagnosis, redirect mapping, launch control and post-launch validation.”,”cols”:[[“task”,”Linked task”,”task”],[“type”,”Incident or migration”,”text”],[“date”,”Date”,”date”],[“affected”,”Affected pages or segment”,”textarea”],[“root_cause”,”Root cause”,”textarea”],[“confidence”,”Confidence”,”confidence”],[“action”,”Action”,”textarea”],[“owner”,”Owner”,”text”],[“rollback”,”Rollback”,”textarea”],[“pre_baseline”,”Pre-change baseline”,”textarea”],[“post_check”,”Post-change check”,”textarea”],[“status”,”Status”,”status”],[“verified”,”Human verified”,”check”]]},{“id”:”experiments”,”name”:”Experiments and changes”,”desc”:”Controlled changes with hypotheses, guardrails, stop rules and rollback.”,”cols”:[[“task”,”Linked task”,”task”],[“date”,”Logged”,”date”],[“type”,”Type”,”text”],[“page”,”Page or cohort”,”text”],[“hypothesis”,”Hypothesis”,”textarea”],[“change”,”Change”,”textarea”],[“primary_metric”,”Primary metric”,”text”],[“guardrails”,”Guardrails”,”textarea”],[“control”,”Control or comparison”,”textarea”],[“start”,”Start”,”date”],[“stop_rule”,”Stopping rule”,”textarea”],[“result”,”Result”,”textarea”],[“decision”,”Decision”,”text”],[“rollback”,”Rollback”,”textarea”],[“owner”,”Owner”,”text”],[“verified”,”Human verified”,”check”]]},{“id”:”reporting”,”name”:”Monthly reporting”,”desc”:”Weekly watch, quick wins, refresh triggers and monthly decisions in one register.”,”cols”:[[“task”,”Linked task”,”task”],[“cadence”,”Cadence”,”cadence”],[“date”,”Date”,”date”],[“page”,”Page”,”text”],[“query”,”Query”,”text”],[“position”,”Position”,”number”],[“impressions”,”Impressions”,”number”],[“clicks”,”Clicks”,”number”],[“ctr”,”CTR %”,”number”],[“conversions”,”Conversions”,”number”],[“previous_clicks”,”Previous comparable clicks”,”number”],[“year_ago_clicks”,”Year-ago clicks”,”number”],[“page_age”,”Page age months”,”number”],[“intent_changed”,”Intent changed?”,”yesno”],[“seasonality_checked”,”Seasonality checked”,”check”],[“quick_win”,”Quick win”,”computed”],[“refresh_trigger”,”Refresh trigger”,”computed”],[“diagnosis”,”Diagnosis”,”textarea”],[“decision”,”Decision”,”text”],[“owner”,”Owner”,”text”],[“next_review”,”Next review”,”date”],[“verified”,”Human verified”,”check”]]},{“id”:”backlog”,”name”:”SEO backlog”,”desc”:”Only evidence-backed work enters execution.”,”cols”:[[“task”,”Linked task”,”task”],[“work_item”,”Work item”,”textarea”],[“source”,”Source”,”text”],[“business_value”,”Business value 0-5″,”score”],[“winnability”,”Winnability 0-100″,”number”],[“impact”,”Expected impact 0-5″,”score”],[“effort”,”Effort 0-5″,”score”],[“risk”,”Risk 0-5″,”score”],[“dependency”,”Dependency”,”textarea”],[“priority”,”Priority”,”priority”],[“owner”,”Owner”,”text”],[“due”,”Due”,”date”],[“status”,”Status”,”status”],[“acceptance”,”Acceptance criteria”,”textarea”],[“evidence”,”Result evidence”,”textarea”]]},{“id”:”skills”,”name”:”Skills, tools and missing inputs”,”desc”:”Tool access, command verification and missing-data resolution.”,”cols”:[[“task”,”Linked task”,”task”],[“tool”,”Skill or tool”,”text”],[“purpose”,”Purpose”,”textarea”],[“access”,”Access status”,”access”],[“required_input”,”Required input”,”textarea”],[“missing_input”,”Missing input”,”textarea”],[“source_date”,”Source and date”,”text”],[“owner”,”Owner”,”text”],[“resolution”,”Resolution”,”textarea”],[“verified”,”Human verified”,”check”]]}],”commands”:[{“id”:”seo-audit”,”command”:”/seo audit “,”skill”:”claude-seo”,”purpose”:”Full-site crawl and prioritized audit”,”expected”:”FULL-AUDIT-REPORT.md, ACTION-PLAN.md”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-audit-render”,”command”:”/seo audit –render auto”,”skill”:”claude-seo”,”purpose”:”Rendered crawl for JavaScript sites”,”expected”:”Raw-versus-rendered findings and audit report”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-page”,”command”:”/seo page “,”skill”:”claude-seo”,”purpose”:”Deep single-page analysis”,”expected”:”Page-level on-page, content, technical, schema and image findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-technical”,”command”:”/seo technical “,”skill”:”claude-seo”,”purpose”:”Technical audit”,”expected”:”Technical findings across crawlability, indexability, security, CWV and rendering”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-content”,”command”:”/seo content “,”skill”:”claude-seo”,”purpose”:”E-E-A-T and content-quality audit”,”expected”:”Content quality, freshness, experience and citability findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-brief”,”command”:”/seo content-brief “,”skill”:”claude-seo”,”purpose”:”SEO content brief”,”expected”:”Intent, keywords, outline, links and competitor angle”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-schema”,”command”:”/seo schema “,”skill”:”claude-seo”,”purpose”:”Schema detection, validation and generation”,”expected”:”Validated schema findings and JSON-LD where eligible”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-geo”,”command”:”/seo geo “,”skill”:”claude-seo”,”purpose”:”AI search and citability audit”,”expected”:”Citability, entity clarity, structure and authority findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-images”,”command”:”/seo images “,”skill”:”claude-seo”,”purpose”:”Image SEO audit”,”expected”:”Alt text, format, size, responsive image and CLS findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-sitemap”,”command”:”/seo sitemap “,”skill”:”claude-seo”,”purpose”:”Sitemap validation”,”expected”:”Coverage, status, lastmod and sitemap-quality findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-sitemap-generate”,”command”:”/seo sitemap generate”,”skill”:”claude-seo”,”purpose”:”Sitemap generation”,”expected”:”Generated sitemap and documentation”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-plan”,”command”:”/seo plan “,”skill”:”claude-seo”,”purpose”:”Business-type SEO planning”,”expected”:”Strategy, roadmap, architecture and content calendar”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-hreflang”,”command”:”/seo hreflang “,”skill”:”claude-seo”,”purpose”:”International SEO audit”,”expected”:”Hreflang, reciprocity, x-default and canonical findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-programmatic”,”command”:”/seo programmatic plan”,”skill”:”claude-seo”,”purpose”:”Programmatic SEO planning”,”expected”:”Data, template, URL, quality and index-control plan”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-programmatic-url”,”command”:”/seo programmatic “,”skill”:”claude-seo”,”purpose”:”Programmatic page-set audit”,”expected”:”Programmatic quality, duplicate and index-bloat findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-local”,”command”:”/seo local “,”skill”:”claude-seo”,”purpose”:”Local SEO audit”,”expected”:”GBP, NAP, reviews, citations and local-page findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-maps-geogrid”,”command”:”/seo maps geogrid ” “”,”skill”:”claude-seo maps extension”,”purpose”:”Local geo-grid rank tracking”,”expected”:”Geo-grid visibility results”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-maps-audit”,”command”:”/seo maps audit “,”skill”:”claude-seo maps extension”,”purpose”:”GBP profile audit”,”expected”:”Profile completeness and local visibility findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-maps-reviews”,”command”:”/seo maps reviews “,”skill”:”claude-seo maps extension”,”purpose”:”Review intelligence”,”expected”:”Review velocity, sentiment and response findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-maps-competitors”,”command”:”/seo maps competitors ” ” “,”skill”:”claude-seo maps extension”,”purpose”:”Local competitor discovery”,”expected”:”Competitors within the selected radius”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-backlinks”,”command”:”/seo backlinks “,”skill”:”claude-seo”,”purpose”:”Backlink analysis”,”expected”:”Referring domains, anchors, lost links, spam and link-gap findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-cluster”,”command”:”/seo cluster “””,”skill”:”claude-seo”,”purpose”:”SERP-based semantic clustering”,”expected”:”Clusters, intent, hub-spoke architecture and link matrix”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-sxo”,”command”:”/seo sxo “,”skill”:”claude-seo”,”purpose”:”Search experience audit”,”expected”:”Page-type fit, personas and wireframe-level recommendations”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-drift-baseline”,”command”:”/seo drift baseline “,”skill”:”claude-seo”,”purpose”:”Capture SEO baseline”,”expected”:”Stored baseline of SEO-critical page elements”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-drift-compare”,”command”:”/seo drift compare “,”skill”:”claude-seo”,”purpose”:”Detect SEO regressions”,”expected”:”Severity-classified drift report”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”seo-ecommerce”,”command”:”/seo ecommerce “,”skill”:”claude-seo”,”purpose”:”Ecommerce SEO audit”,”expected”:”Product, shopping, pricing, stock and faceted-navigation findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”blog-write”,”command”:”/blog write “,”skill”:”claude-blog”,”purpose”:”Write a new article with delivery gates”,”expected”:”Article package after blocking quality review”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”blog-rewrite”,”command”:”/blog rewrite “,”skill”:”claude-blog”,”purpose”:”Refresh or improve existing content”,”expected”:”Rewritten content package”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”blog-analyze”,”command”:”/blog analyze “,”skill”:”claude-blog”,”purpose”:”100-point content audit”,”expected”:”Scored review with P0-P3 findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”blog-brief”,”command”:”/blog brief “,”skill”:”claude-blog”,”purpose”:”Detailed blog brief”,”expected”:”Research-backed content brief”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”blog-outline”,”command”:”/blog outline “,”skill”:”claude-blog”,”purpose”:”SERP-informed outline”,”expected”:”Structured outline”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”blog-seo-check”,”command”:”/blog seo-check “,”skill”:”claude-blog”,”purpose”:”Post-writing SEO validation”,”expected”:”SEO validation findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”blog-geo”,”command”:”/blog geo “,”skill”:”claude-blog”,”purpose”:”AI citation readiness audit”,”expected”:”GEO/AEO findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”blog-cannibalization”,”command”:”/blog cannibalization “,”skill”:”claude-blog”,”purpose”:”Content overlap detection”,”expected”:”Cannibalization findings”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”blog-factcheck”,”command”:”/blog factcheck “,”skill”:”claude-blog”,”purpose”:”Source and statistic verification”,”expected”:”Fact-check report”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”blog-cluster”,”command”:”/blog cluster plan “””,”skill”:”claude-blog”,”purpose”:”Topic-cluster planning”,”expected”:”Hub-spoke publication plan”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true},{“id”:”aaron-seo-geo”,”command”:”/aaron-marketing:seo-geo”,”skill”:”aaron-marketing”,”purpose”:”SEO/GEO workflow entrypoint”,”expected”:”Workflow output based on attached exports and task brief”,”source”:”Repository documented; local /help confirmation required”,”repoVerified”:true}],”moduleIntegration”:{“module-local”:[“1″,”3″,”4″,”5″],”module-ecommerce”:[“3″,”4″,”5″],”module-programmatic”:[“3″,”4″,”5″,”6″],”module-international”:[“1″,”3″,”4″,”5″],”module-saas”:[“1″,”4″,”5″],”module-publisher”:[“1″,”4″,”5″,”6″],”module-marketplace”:[“3″,”4″,”5″],”module-visual”:[“5″],”module-large-js”:[“3″],”module-migration”:[“2″,”3″]}};
const KEY=’seoOperatingSystem_v3′;
const OLD_KEY=’completeSEOOperatingSystem2026_rankExecution_v2′;
const VIEWS=[[‘dashboard’,’Dashboard’],[‘workflow’,’Workflow’],[‘playbook’,’Playbook’],[‘registers’,’Registers’],[‘data’,’Data & Export’]];
const STATUS=[[‘not_started’,’Not started’],[‘in_progress’,’In progress’],[‘blocked’,’Blocked’],[‘review’,’Review’],[‘done’,’Done’],[‘na’,’Not applicable’]];
const PRIORITY=[‘P0′,’P1′,’P2′];
const taskById=Object.fromEntries(APP_DATA.layer1Tasks.map(t=>[t.id,t]));
const layer2TaskById=Object.fromEntries(APP_DATA.layer2Tasks.map(t=>[t.id,t]));
const l1RegById=Object.fromEntries(APP_DATA.layer1Registers.map(r=>[r.id,r]));
const l2RegById=Object.fromEntries(APP_DATA.layer2Registers.map(r=>[r.id,r]));
const commandById=Object.fromEntries(APP_DATA.commands.map(c=>[c.id,c]));
let state;
let currentView=’dashboard’;
let currentRegister=’business’;
let registerMode=’layer1′;
let showExtended=false;
let feedbackFocus=”;
const $=id=>document.getElementById(id);
const esc=v=>String(v??”).replace(/[&”‘]/g,c=>({‘&’:’&’,”:’>’,'”‘:’"’,”‘”:’'’}[c]));
const clone=v=>JSON.parse(JSON.stringify(v));
const today=()=>new Date().toISOString().slice(0,10);
const now=()=>new Date().toISOString();
function storageGet(k){try{return window.localStorage.getItem(k)}catch(e){return null}}
function storageSet(k,v){try{window.localStorage.setItem(k,v);return true}catch(e){return false}}
function storageRemove(k){try{window.localStorage.removeItem(k);return true}catch(e){return false}}
function uid(){return ‘r_’+Date.now().toString(36)+’_’+Math.random().toString(36).slice(2,8)}
function emptyTask(t){return{status:’not_started’,priority:t.defaultPriority||’P2′,owner:”,deadline:”,expectedResult:t.expectedOutput||”,acceptance:t.gate||”,postLaunchCheck:”,evidence:”,humanVerified:false,retest:”,rollback:”,notes:”,outcome:”,affectedUrl:”,affectedQuery:”,updated:”}}
function defaultState(){
const tasks={};APP_DATA.layer1Tasks.forEach(t=>tasks[t.id]=emptyTask(t));
const moduleTasks={};APP_DATA.layer2Tasks.filter(t=>t.groupType===’module’).forEach(t=>moduleTasks[t.id]=emptyTask({…t,verificationTier:t.defaultPriority===’P0′?’critical’:t.defaultPriority===’P1′?’important’:’routine’}));
const l1={};APP_DATA.layer1Registers.forEach(r=>l1[r.id]=[]);const l2={};APP_DATA.layer2Registers.forEach(r=>l2[r.id]=[]);
const commands={};APP_DATA.commands.forEach(c=>commands[c.id]={localVerified:false,helpVersion:”,verifiedDate:”,notes:”});
return{version:3,created:now(),project:{site:”,type:’Service / general’,market:”,language:”,goal:”,quickWinMinPosition:4,quickWinMaxPosition:20,quickWinMinImpressions:100,refreshDeclinePct:30,refreshAgeMonths:6},theme:’light’,enabledModules:{},tasks,moduleTasks,registers:{layer1:l1,layer2:l2},commands,checkpointOverrides:[],feedbackPending:null,legacyV2:null,ui:{view:’dashboard’,registerMode:’layer1′,currentRegister:’business’,showExtended:false}};
}
function normalizeState(s){const d=defaultState();s=s&&typeof s===’object’?s:{};return{…d,…s,project:{…d.project,…(s.project||{})},tasks:{…d.tasks,…(s.tasks||{})},moduleTasks:{…d.moduleTasks,…(s.moduleTasks||{})},registers:{layer1:{…d.registers.layer1,…(s.registers?.layer1||{})},layer2:{…d.registers.layer2,…(s.registers?.layer2||{})}},commands:{…d.commands,…(s.commands||{})},enabledModules:{…(s.enabledModules||{})},ui:{…d.ui,…(s.ui||{})}}}
function load(){try{state=normalizeState(JSON.parse(storageGet(KEY)||’null’))}catch(e){state=defaultState()}currentView=state.ui.view||’dashboard’;registerMode=state.ui.registerMode||’layer1′;currentRegister=state.ui.currentRegister||(registerMode===’layer1′?’business’:APP_DATA.layer2Registers[0].id);showExtended=!!state.ui.showExtended;applyTheme()}
function save(){state.ui={view:currentView,registerMode,currentRegister,showExtended};storageSet(KEY,JSON.stringify(state))}
function toast(msg){const el=$(‘toast’);el.textContent=msg;el.classList.add(‘show’);setTimeout(()=>el.classList.remove(‘show’),1900)}
function applyTheme(){document.documentElement.dataset.theme=state?.theme===’dark’?’dark’:”;if($(‘themeBtn’))$(‘themeBtn’).textContent=state?.theme===’dark’?’Light mode’:’Dark mode’}
function badge(text,cls=”){return `${esc(text)}`}
function statusLabel(v){return (STATUS.find(x=>x[0]===v)||[”,v])[1]}
function statusClass(v){return [‘done’,’blocked’,’in_progress’,’review’].includes(v)?v:”}
function taskTier(t){return t.verificationTier||(t.defaultPriority===’P0′?’critical’:t.defaultPriority===’P1′?’important’:’routine’)}
function completed(s){return s.status===’done’||s.status===’na’}
function stageProgress(stageNo){const list=APP_DATA.layer1Tasks.filter(t=>t.stage===Number(stageNo));const done=list.filter(t=>completed(state.tasks[t.id])).length;return{done,total:list.length,pct:list.length?Math.round(done/list.length*100):0}}
function scoreOpportunity(row){
const nums=[‘business_value’,’feasibility’,’evidence_advantage’,’impact’,’effort’].map(k=>Number(row[k])||0);
if(nums.some(n=>n5))return{score:”,verdict:’Incomplete’,reason:’Complete all five scores’};
const [business,feasibility,evidence]=nums;const score=Math.round(nums.reduce((a,b)=>a+b,0)/25*100);
let verdict=score>=75?’Pursue now’:score>=55?’Pursue after support’:score>=35?’Long-term’:’Reject’;let reason=”;
if(business===1){verdict=’Reject’;reason=’No business value’}else if(feasibility===1){verdict=’Reject’;reason=’No feasible ranking path’}else if(evidence===1&&feasibility=10){verdict=row.manual_verdict;reason=’Manual override: ‘+row.override_reason}
return{score,verdict,reason};
}
function quickWin(row){const p=Number(row.position),im=Number(row.impressions);const x=state.project;return p>=Number(x.quickWinMinPosition)&&p=Number(x.quickWinMinImpressions)}
function refreshTrigger(row){const clicks=Number(row.clicks),prev=Number(row.previous_clicks),age=Number(row.page_age),decl=prev>0?((prev-clicks)/prev*100):0;return decl>=Number(state.project.refreshDeclinePct)||age>=Number(state.project.refreshAgeMonths)}
function validateTask(t,s){
if(s.status===’na’){if(!s.humanVerified||String(s.notes||”).trim().length<10)return'Not applicable requires human approval and a written reason of at least 10 characters.';return''}
if(s.status!=='done')return'';const tier=taskTier(t);
if(tier==='critical'){
if(!String(s.evidence||'').trim())return'Critical work requires specific evidence.';
if(!s.humanVerified)return'Critical work requires human approval.';
if(!String(s.retest||'').trim())return'Critical work requires a retest result or a documented not-applicable reason.';
if(!String(s.rollback||'').trim()||String(s.rollback).trim().lengtht.stage===1).every(t=>completed(state.tasks[t.id]));
const stage2Critical=APP_DATA.layer1Tasks.filter(t=>t.stage===2&&taskTier(t)===’critical’).every(t=>state.tasks[t.id].status===’done’);
const noP0=state.tasks[‘l1-03-4′]?.status===’done’;
const opps=state.registers.layer1.opportunities||[];const pursue=opps.filter(r=>scoreOpportunity(r).verdict===’Pursue now’);
const hasPursue=pursue.length>0;const owners=hasPursue&&pursue.every(r=>String(r.owner||”).trim()&&String(r.deadline||r.due||”).trim());
return[{label:’Business goal defined’,ok:stage1},{label:’Tracking works end to end’,ok:stage2Critical},{label:’No P0 technical blocker remains’,ok:noP0},{label:’At least one Pursue now opportunity’,ok:hasPursue},{label:’Owner and deadline assigned’,ok:owners}]
}
function checkpoint2(){
const content=state.tasks[‘l1-05-2′]?.status===’done’;const qa=state.tasks[‘l1-05-5′]?.status===’done’;
const rows=state.registers.layer1.implementation||[];const passing=rows.some(r=>String(r.qa_status).toLowerCase()===’pass’);
const conversion=rows.some(r=>String(r.mobile_cta).toLowerCase()===’pass’&&String(r.analytics).toLowerCase()===’pass’);
const links=state.tasks[‘l1-05-4′]?.status===’done’||rows.some(r=>String(r.internal_links).toLowerCase()===’pass’);
return[{label:’Content satisfies validated intent’,ok:content},{label:’Claims and evidence verified’,ok:qa},{label:’Technical QA passes’,ok:passing},{label:’Conversion path and tracking work’,ok:conversion},{label:’Internal links are in place’,ok:links}]
}
function checkpoint3(){
const indexing=state.tasks[‘l1-06-1′]?.status===’done’;const rows=state.registers.layer1.results||[];
const metrics=rows.some(r=>r.url&&r.query&&String(r.clicks)!==”&&String(r.position)!==”);const outcome=!!(state.tasks[‘l1-06-3’]?.status===’done’&&String(state.tasks[‘l1-06-3′]?.evidence||”).trim());const next=rows.some(r=>String(r.next_action||”).trim());
return[{label:’Indexing confirmed’,ok:indexing},{label:’Rankings, clicks, and conversions checked’,ok:metrics},{label:’Outcome classified with evidence’,ok:outcome},{label:’Next action recorded’,ok:next}]
}
function checkpointCard(title,conds){const met=conds.filter(c=>c.ok).length;const cls=met===conds.length?’success’:”;return `

${esc(title)}

${met}/${conds.length} conditions met
    ${conds.map(c=>`

  • ${esc(c.label)}
  • `).join(”)}

`}
function nav(){ $(‘nav’).innerHTML=VIEWS.map(([id,label])=>``).join(”) }
function showView(id){currentView=id;document.querySelectorAll(‘.view’).forEach(v=>v.classList.remove(‘active’));$(‘view-‘+id).classList.add(‘active’);nav();renderCurrent();save();window.scrollTo({top:0,behavior:’smooth’})}
function renderCurrent(){if(currentView===’dashboard’)renderDashboard();if(currentView===’workflow’)renderWorkflow();if(currentView===’playbook’)renderPlaybook();if(currentView===’registers’)renderRegisters();if(currentView===’data’)renderData()}
function renderDashboard(){
const tasks=APP_DATA.layer1Tasks;const done=tasks.filter(t=>completed(state.tasks[t.id])).length;const pct=Math.round(done/tasks.length*100);const p0open=tasks.filter(t=>state.tasks[t.id].priority===’P0’&&!completed(state.tasks[t.id])).length;
const next=tasks.filter(t=>!completed(state.tasks[t.id])).sort((a,b)=>(state.tasks[a.id].priority||’P2′).localeCompare(state.tasks[b.id].priority||’P2′)).slice(0,7);
const migrate=storageGet(OLD_KEY)&&!state.legacyV2?`

v2 data detected. A migration is available. Your original v2 state will also be preserved inside the v3 backup.

`:”;
$(‘view-dashboard’).innerHTML=`

Project dashboard

Use Layer 1 for daily work. Open the advanced playbook only when the project needs deeper guidance.

${migrate}

${done}/33Layer 1 tasks complete

${pct}%Workflow progress
${p0open}Open P0 tasks
${Object.values(state.enabledModules).filter(Boolean).length}Active specialist modules

Project checkpoints

${checkpointCard(‘1. Ready to Implement’,checkpoint1())}${checkpointCard(‘2. Ready to Publish’,checkpoint2())}${checkpointCard(‘3. Results Reviewed’,checkpoint3())}

Next actions

${next.length?next.map(t=>{const s=state.tasks[t.id];return `

${badge(s.priority,s.priority===’P0′?’critical’:s.priority===’P1′?’important’:’routine’)}

${esc(t.num)} ${esc(t.action)}

${esc(APP_DATA.layer1Stages[t.stage-1].title)} · ${esc(statusLabel(s.status))}

`}).join(”):’

All Layer 1 tasks are complete.

‘}

Project

${[‘site’,’type’,’market’,’language’,’goal’].map(k=>`

`).join(”)}

`;
bindRestore(‘restoreDash’);
}
function taskCard(t,module=false){const s=(module?state.moduleTasks:state.tasks)[t.id]||emptyTask(t);const tier=taskTier(t);return `

${module?badge(‘Module’,’review’):”} ${esc(t.num||((t.groupNumber||”)+’.’+t.step))} ${esc(t.action)}${badge(tier,tier)} ${esc(t.skill||”)}

${STATUS.map(([v,l])=>`${l}`).join(”)}${PRIORITY.map(v=>`${v}`).join(”)}

`}
function renderWorkflow(){
const stages=APP_DATA.layer1Stages.map(st=>{const p=stageProgress(st.number);const tasks=APP_DATA.layer1Tasks.filter(t=>t.stage===Number(st.number));const activeModules=APP_DATA.modules.filter(m=>state.enabledModules[m.id]&&APP_DATA.layer2Tasks.some(t=>t.groupId===m.id&&moduleTaskStage(m,t)===String(st.number)));const modHtml=activeModules.map(m=>{const mt=APP_DATA.layer2Tasks.filter(t=>t.groupId===m.id&&moduleTaskStage(m,t)===String(st.number));return `

${esc(m.number)} ${esc(m.title)}

Optional specialist tasks integrated into this stage.

${mt.map(t=>taskCard({…t,num:m.number+’.’+t.step,verificationTier:t.defaultPriority===’P0′?’critical’:t.defaultPriority===’P1′?’important’:’routine’},true)).join(”)}`}).join(”);return `

${st.number}

${esc(st.title)}

${esc(st.purpose)}

${badge(st.category,’review’)}

${p.done}/${p.total} · ${p.pct}%
${tasks.map(t=>taskCard(t)).join(”)}${modHtml}
Stage gate: ${esc(st.gate)}
Advanced expansion: ${esc(st.expansion)}

`}).join(”);
$(‘view-workflow’).innerHTML=`

Layer 1 workflow

Six stages and exactly 33 core tasks. Verification overhead increases only when task risk increases.

${badge(’33 core tasks’,’done’)} ${badge(Object.values(state.enabledModules).filter(Boolean).length+’ active modules’,’review’)}

${stages}`;
}
function moduleStages(m){const byNumber={‘M01’:[‘1′,’3′,’4′,’5′],’M02’:[‘3′,’4′,’5′],’M03’:[‘3′,’4′,’5′,’6′],’M04’:[‘1′,’3′,’4′,’5′],’M05’:[‘1′,’4′,’5′],’M06’:[‘1′,’4′,’5′,’6′],’M07’:[‘3′,’4′,’5′],’M08’:[‘5′],’M09’:[‘3′],’M10’:[‘2′,’3′]};return byNumber[m.number]||[]}
function moduleTaskStage(m,t){const map={M01:[1,3,5,5,5,5],M02:[3,3,3,5,5,4,5],M03:[4,4,3,5,6,6],M04:[1,3,5,3,3,5],M05:[4,5,5,5,1,5],M06:[1,5,4,1,6,1],M07:[3,3,3,5,4,5],M08:[5,5,5,5,5,5],M09:[3,3,3,3,3,3],M10:[2,3,3,3,2,3]};const arr=map[m.number]||[];return String(arr[(t.step||1)-1]||moduleStages(m)[0]||’5’)}
function renderPlaybook(){
const stages=APP_DATA.layer2Stages.map(st=>`

Stage ${esc(st.number)} · ${esc(st.title)} ${badge(st.mode,’review’)}

${esc(st.summary)}

    ${st.actions.map(a=>`

  1. ${esc(a)}
  2. `).join(”)}

Tools${esc(st.tools)}Execution${esc(st.execution)}Inputs${esc((st.inputs||[]).join(‘ | ‘))}Output${esc(st.output)}Gate${esc(st.gate)}Commands${esc((st.commands||[]).join(‘, ‘)||’None’)}

`).join(”);
const mods=APP_DATA.modules.map(m=>`

${esc(m.number)} · ${esc(m.title)} ${state.enabledModules[m.id]?badge(‘Active’,’done’):badge(‘Optional’,’routine’)}

${esc(m.summary)}

    ${m.actions.map(a=>`

  1. ${esc(a)}
  2. `).join(”)}

Gate${esc(m.gate)}Commands${esc((m.commands||[]).join(‘, ‘))}Layer 1 stages${moduleStages(m).join(‘, ‘)}

`).join(”);
const commands=APP_DATA.commands.map(c=>`

${esc(c.command)} ${esc(c.skill)} ${esc(c.purpose)} ${esc(c.expected)}

`).join(”);
$(‘view-playbook’).innerHTML=`

Layer 2 advanced playbook

The complete 14-stage, 175-action reference library. It is available when needed and never blocks the small-project workflow.

${badge(’14 stages’,’done’)} ${badge(’10 optional modules’,’review’)} ${badge(‘175 actions’,’important’)}

Core playbook

${stages}

Specialist modules

${mods}

Command reference (37)

Command verification is optional and does not block task completion.

${commands}
Command Skill Purpose Expected output Verified

`;
}
function regDefs(){return registerMode===’layer1′?APP_DATA.layer1Registers:APP_DATA.layer2Registers}
function currentRegDef(){return (registerMode===’layer1′?l1RegById:l2RegById)[currentRegister]||regDefs()[0]}
function currentRows(){return state.registers[registerMode][currentRegister]||[]}
function visibleCols(def){if(registerMode===’layer2’||showExtended)return def.cols.filter(c=>c[2]!==’hidden’);return def.cols.filter(c=>def.core.includes(c[0]))}
function optionsHtml(items,current){return items.map(([v,l])=>`${esc(l)}`).join(”)}
function cellInput(def,row,rowIndex,col){const [id,label,type]=col;let val=row[id]??”;if(type===’computed’){
if(currentRegister===’opportunities’){const x=scoreOpportunity(row);val=id===’score’?x.score:x.verdict;return `${id===’verdict’?badge(val,val===’Pursue now’?’done’:val===’Pursue after support’?’support’:val===’Long-term’?’longterm’:’reject’):esc(val)}`}
if(currentRegister===’results’){val=id===’quick_win’?(quickWin(row)?’Yes’:’No’):(refreshTrigger(row)?’Yes’:’No’);return `${esc(val)}`}
return `${esc(val)}`
}
const a=`data-reg=”${currentRegister}” data-row=”${rowIndex}” data-col=”${id}”`;
if(type===’check’)return “;
if(type===’textarea’)return ``;
if(type===’date’)return “;
if(type===’number’)return “;
if(type===’score’)return “;
if(type===’score0′)return “;
if(type===’status’)return `${optionsHtml(STATUS,val)}`;
if(type===’priority’)return `${PRIORITY.map(v=>`${v}`).join(”)}`;
if(type===’pass’)return `${[”,’Pass’,’Fail’,’N/A’].map(v=>`${v||’Select…’}`).join(”)}`;
if(type===’outcome’)return `${[[”,’Select…’],[‘met_expectations’,’Met expectations’],[‘underperformed’,’Underperformed’],[‘intent_shifted’,’Intent shifted’]].map(([v,l])=>`${l}`).join(”)}`;
if(type===’confidence’)return `${[”,’Low’,’Medium’,’High’].map(v=>`${v||’Select…’}`).join(”)}`;
if(type===’task’){const ts=APP_DATA.layer1Tasks.concat(APP_DATA.layer2Tasks.filter(t=>t.groupType===’module’&&state.enabledModules[t.groupId]));return `None${ts.map(t=>`${esc(t.num||t.groupNumber+’.’+t.step)} ${esc(t.action).slice(0,72)}`).join(”)}`}
return “}
function feedbackPanel(){if(currentRegister!==’opportunities’||!state.feedbackPending)return”;const rows=state.registers.layer1.opportunities||[];return `

Feedback loop active

Outcome: ${esc(state.feedbackPending.outcome)}. Re-score the affected opportunity using actual results.

Select opportunity…${rows.map((r,i)=>`${esc(r.cluster||r.primary_url||’Row ‘+(i+1))}`).join(”)}

`}
function renderRegisters(){const defs=regDefs();if(!defs.some(r=>r.id===currentRegister))currentRegister=defs[0].id;const def=currentRegDef();const rows=currentRows();const cols=visibleCols(def);$(‘view-registers’).innerHTML=`

Registers

${esc(def.desc||’Structured project evidence and decisions.’)}

${feedbackPanel()}

${defs.map(r=>``).join(”)}

${cols.map(c=>`

`).join(”)}

${rows.length?rows.map((r,i)=>`

${cols.map(c=>`

`).join(”)}

`).join(”):`

`}

Actions ${esc(c[1])}
${currentRegister===’opportunities’?``:”}
${cellInput(def,r,i,c)}
No rows yet. Add the first record.

`}
function renderData(){
const modules=APP_DATA.modules.map(m=>`

${esc(m.number)} ${esc(m.title)}

Appears in Layer 1 stages ${moduleStages(m).join(‘, ‘)}

`).join(”);
$(‘view-data’).innerHTML=`

Data, settings, and export

The app stores data locally in this browser. Download regular JSON backups for portability and recovery.

Project settings

${[‘site’,’type’,’market’,’language’,’goal’].map(k=>`

`).join(”)}

Configurable result thresholds

${[[‘quickWinMinPosition’,’Quick-win minimum position’],[‘quickWinMaxPosition’,’Quick-win maximum position’],[‘quickWinMinImpressions’,’Minimum impressions’],[‘refreshDeclinePct’,’Click-decline trigger %’],[‘refreshAgeMonths’,’Page-age trigger (months)’]].map(([k,l])=>`

`).join(”)}

Specialist modules

All modules are off by default.

${modules}

Backup and portability

Backup includes project settings, task states, all register rows, command confirmations, feedback history, and preserved legacy data.


Build integrity

${badge(‘v’+APP_DATA.version,’done’)} ${badge(‘Single-file’,’done’)} ${badge(‘Zero external dependencies’,’done’)}

  • 33 Layer 1 tasks
  • 14 Layer 2 stages and 175 actions
  • 10 optional modules
  • 5 simplified + 13 advanced registers
  • 37 command definitions
  • Versioned import validation

${storageGet(OLD_KEY)&&!state.legacyV2?``:state.legacyV2?’

A preserved v2 state is included in this project.

‘:’

No v2 state detected.

‘}

`;bindRestore(‘restoreData’)}
function updateTask(el){const id=el.dataset.task;const module=el.dataset.module===’1′;const map=module?state.moduleTasks:state.tasks;const t=module?layer2TaskById[id]:taskById[id];const s=map[id];const field=el.dataset.field;const old=s[field];let val=el.type===’checkbox’?el.checked:el.value;if(field===’humanVerified’)val=val===’true’;s[field]=val;s.updated=now();
if(field===’status’&&!module&&t.stage===5&&[‘in_progress’,’review’,’done’].includes(val)&&checkpoint1().some(c=>!c.ok)){const reason=prompt(‘Ready to Implement is incomplete. Enter an override reason to continue:’);if(!reason||reason.trim().length!c.ok)){s[field]=old;el.value=old;toast(‘Ready to Publish conditions are incomplete.’);return}
const err=validateTask(t,s);if(err){s[field]=old;el.value=old;toast(err);return}
}
if(!module&&id===’l1-06-3’&&field===’status’&&val===’done’&&[‘underperformed’,’intent_shifted’].includes(s.outcome)){state.feedbackPending={outcome:s.outcome,url:s.affectedUrl||”,query:s.affectedQuery||”,date:now()};currentRegister=’opportunities’;registerMode=’layer1′;feedbackFocus=s.affectedUrl||s.affectedQuery||”;save();showView(‘registers’);toast(‘Feedback loop opened for re-scoring.’);return}
save();if(field===’status’||field===’priority’)renderCurrent();}
function addRow(){const rows=state.registers[registerMode][currentRegister];rows.push({_id:uid(),status:’not_started’});save();renderRegisters()}
function updateReg(el){const rows=state.registers[registerMode][currentRegister];const i=Number(el.dataset.row),col=el.dataset.col;let val=el.type===’checkbox’?el.checked:el.value;rows[i][col]=val;
if(registerMode===’layer1’&&currentRegister===’opportunities’){const r=rows[i];const sc=scoreOpportunity(r);r.score=sc.score;r.verdict=sc.verdict;r.verdict_reason=sc.reason;if(!r.original_scores&&[‘business_value’,’feasibility’,’evidence_advantage’,’impact’,’effort’].every(k=>Number(r[k])>=1))r.original_scores={business_value:Number(r.business_value),feasibility:Number(r.feasibility),evidence_advantage:Number(r.evidence_advantage),impact:Number(r.impact),effort:Number(r.effort)};}
if(registerMode===’layer1’&&currentRegister===’results’){const r=rows[i];r.quick_win=quickWin(r);r.refresh_trigger=refreshTrigger(r);if(col===’outcome’&&[‘underperformed’,’intent_shifted’].includes(val)){state.feedbackPending={outcome:val,url:r.url||”,query:r.query||”,date:now()};feedbackFocus=r.url||r.query||”;toast(‘Feedback loop is ready in Opportunities.’)}}
save();renderRegisters()}
function openRescore(){const idx=Number($(‘feedbackRow’)?.value);if(!Number.isInteger(idx)||idx<0){toast('Select an opportunity first.');return}const r=state.registers.layer1.opportunities[idx];const current={business_value:Number(r.business_value)||1,feasibility:Number(r.feasibility)||1,evidence_advantage:Number(r.evidence_advantage)||1,impact:Number(r.impact)||1,effort:Number(r.effort)||1};const original=r.original_scores||current;$('modalBox').innerHTML=`

Re-score opportunity

${esc(r.cluster||r.primary_url)}

Original scores: ${Object.entries(original).map(([k,v])=>`${esc(k)} ${v}`).join(‘ · ‘)}
${Object.entries(current).map(([k,v])=>`

`).join(”)}

`;$(‘modal’).classList.remove(‘hidden’)}
function applyRescore(idx){const rows=state.registers.layer1.opportunities;const r=rows[idx];const old={business_value:Number(r.business_value),feasibility:Number(r.feasibility),evidence_advantage:Number(r.evidence_advantage),impact:Number(r.impact),effort:Number(r.effort)};const reason=$(‘rs-reason’).value.trim();if(reason.lengthr[k]=Number($(‘rs-‘+k).value));const sc=scoreOpportunity(r);const oldVerdict=r.verdict||scoreOpportunity(old).verdict;r.score=sc.score;r.verdict=sc.verdict;r.verdict_reason=sc.reason;r.rescore_count=Number(r.rescore_count||0)+1;r.rescore_history=r.rescore_history||[];r.rescore_history.push({date:now(),reason,old_scores:old,new_scores:{business_value:r.business_value,feasibility:r.feasibility,evidence_advantage:r.evidence_advantage,impact:r.impact,effort:r.effort},old_verdict:oldVerdict,new_verdict:sc.verdict});r.feedback_outcome=state.feedbackPending?.outcome||”;state.feedbackPending=null;feedbackFocus=”;save();$(‘modal’).classList.add(‘hidden’);renderRegisters();toast(‘Opportunity re-scored and history preserved.’)}
function overrideVerdict(idx){const r=state.registers.layer1.opportunities[idx];const verdict=prompt(‘Manual verdict: Pursue now, Pursue after support, Long-term, or Reject’,r.manual_verdict||r.verdict||”);if(!verdict)return;if(![‘Pursue now’,’Pursue after support’,’Long-term’,’Reject’].includes(verdict)){toast(‘Use one of the four supported verdicts.’);return}const reason=prompt(‘Explain the override (minimum 10 characters):’,r.override_reason||”);if(!reason||reason.trim().lengthURL.revokeObjectURL(a.href),1000)}
function backup(){download(`SEO_OS_v3_backup_${today()}.json`,JSON.stringify(state,null,2))}
function validateImport(x){if(!x||typeof x!==’object’)return’Backup is not an object.’;if(Number(x.version)!==3)return’Only version 3 backups can be restored directly.’;if(!x.project||!x.tasks||!x.registers?.layer1||!x.registers?.layer2)return’Backup structure is incomplete.’;for(const id of APP_DATA.layer1Tasks.map(t=>t.id))if(!x.tasks[id])return’Missing required task state: ‘+id;return”}
function bindRestore(id){const el=$(id);if(!el)return;el.onchange=async()=>{const f=el.files[0];if(!f)return;try{const x=JSON.parse(await f.text());const err=validateImport(x);if(err){toast(err);return}state=normalizeState(x);save();renderCurrent();toast(‘Backup restored successfully.’)}catch(e){toast(‘Invalid JSON backup. Existing data was not changed.’)}el.value=”}}
function csvEscape(v){v=Array.isArray(v)||typeof v===’object’?JSON.stringify(v):String(v??”);return /[“,n]/.test(v)?'”‘+v.replaceAll(‘”‘,'””‘)+'”‘:v}
function exportRegister(id=currentRegister,mode=registerMode){const def=(mode===’layer1′?l1RegById:l2RegById)[id];const rows=state.registers[mode][id]||[];const cols=def.cols.filter(c=>c[2]!==’hidden’);const lines=[cols.map(c=>csvEscape(c[1])).join(‘,’)].concat(rows.map(r=>cols.map(c=>csvEscape(c[2]===’computed’?(id===’opportunities’?(c[0]===’score’?scoreOpportunity(r).score:scoreOpportunity(r).verdict):id===’results’?(c[0]===’quick_win’?quickWin(r):refreshTrigger(r)):r[c[0]]):r[c[0]])).join(‘,’)));download(`${mode}_${id}_${today()}.csv`,’ufeff’+lines.join(‘n’),’text/csv;charset=utf-8′)}
function exportTasks(){const cols=[‘id’,’stage’,’number’,’action’,’verificationTier’,’status’,’priority’,’owner’,’deadline’,’expectedResult’,’acceptance’,’postLaunchCheck’,’evidence’,’humanVerified’,’retest’,’rollback’,’notes’,’updated’];const lines=[cols.join(‘,’)].concat(APP_DATA.layer1Tasks.map(t=>{const s=state.tasks[t.id];const x={…t,…s,number:t.num};return cols.map(c=>csvEscape(x[c])).join(‘,’)}));download(`Layer1_tasks_${today()}.csv`,’ufeff’+lines.join(‘n’),’text/csv;charset=utf-8′)}
function migrateV2(){let old;try{old=JSON.parse(storageGet(OLD_KEY)||’null’)}catch(e){}if(!old){toast(‘No valid v2 state was found.’);return}if(!confirm(‘Migrate v2 data into this v3 project? Current v3 data will be kept where possible.’))return;state.legacyV2=clone(old);state.project={…state.project,…(old.project||{})};state.theme=old.theme||state.theme;state.enabledModules={…state.enabledModules,…(old.enabledModules||{})};
if(old.registers){APP_DATA.layer2Registers.forEach(def=>{if(Array.isArray(old.registers[def.id]))state.registers.layer2[def.id]=clone(old.registers[def.id])});APP_DATA.layer1Registers.forEach(def=>{const src=old.registers[def.id];if(Array.isArray(src))state.registers.layer1[def.id]=src.map(row=>{const out={_id:uid()};def.cols.forEach(c=>{if(row[c[0]]!==undefined)out[c[0]]=row[c[0]]});return out})})}
if(old.commands)state.commands={…state.commands,…old.commands};
const oldTasks=APP_DATA.layer2Tasks.map(t=>({t,s:old.tasks?.[t.id]})).filter(x=>x.s);const words=x=>new Set(String(x).toLowerCase().replace(/[^a-z0-9 ]/g,’ ‘).split(/s+/).filter(w=>w.length>3));const sim=(a,b)=>{const A=words(a),B=words(b);let n=0;A.forEach(w=>{if(B.has(w))n++});return n/Math.max(1,new Set([…A,…B]).size)};APP_DATA.layer1Tasks.forEach(t=>{let best=null,score=0;oldTasks.forEach(x=>{const z=sim(t.action,x.t.action);if(z>score){score=z;best=x}});if(best&&score>=.22)state.tasks[t.id]={…state.tasks[t.id],…best.s,deadline:best.s.due||best.s.deadline||”,expectedResult:t.expectedOutput,acceptance:t.gate}});APP_DATA.layer2Tasks.filter(t=>t.groupType===’module’).forEach(t=>{if(old.tasks?.[t.id])state.moduleTasks[t.id]={…state.moduleTasks[t.id],…old.tasks[t.id]}});save();renderCurrent();toast(‘v2 data migrated and original state preserved.’)}
function globalSearch(q){q=q.trim().toLowerCase();const box=$(‘searchResults’);if(!q){box.classList.add(‘hidden’);return}const items=[];APP_DATA.layer1Tasks.forEach(t=>{if((t.action+’ ‘+t.expectedOutput+’ ‘+t.gate).toLowerCase().includes(q))items.push({type:’task’,id:t.id,title:t.num+’ ‘+t.action,sub:’Layer 1 · ‘+APP_DATA.layer1Stages[t.stage-1].title})});APP_DATA.layer2Stages.forEach(s=>{if((s.title+’ ‘+s.summary+’ ‘+s.actions.join(‘ ‘)).toLowerCase().includes(q))items.push({type:’playbook’,id:s.id,title:’Stage ‘+s.number+’ ‘+s.title,sub:’Advanced playbook’})});for(const mode of [‘layer1′,’layer2′])for(const [reg,rows] of Object.entries(state.registers[mode]))rows.forEach((r,i)=>{if(JSON.stringify(r).toLowerCase().includes(q))items.push({type:’register’,id:reg,index:i,mode,title:(mode===’layer1′?l1RegById[reg]?.name:l2RegById[reg]?.name)||reg,sub:’Register row ‘+(i+1)})});box.innerHTML=items.slice(0,18).map((x,i)=>`

${esc(x.title)}

${esc(x.sub)}

`).join(”)||’

No matches

‘;box._items=items.slice(0,18);box.classList.remove(‘hidden’)}
function handleClick(e){const b=e.target.closest(‘[data-view],[data-action],[data-toggle-task],[data-jump-task],[data-open-register],[data-reg-mode],[data-reg-tab],[data-delete-row],[data-override-row],[data-module-toggle],[data-search-index],[data-apply-rescore]’);if(!b)return;
if(b.dataset.view)showView(b.dataset.view);
if(b.dataset.toggleTask){const d=document.querySelector(`[data-details=”${b.dataset.toggleTask}”]`);d.classList.toggle(‘hidden’)}
if(b.dataset.jumpTask){showView(‘workflow’);setTimeout(()=>{const el=$(‘task-‘+b.dataset.jumpTask);el?.scrollIntoView({behavior:’smooth’,block:’center’});el?.querySelector(‘.taskDetails’)?.classList.remove(‘hidden’)},50)}
if(b.dataset.openRegister){registerMode=’layer1′;currentRegister=b.dataset.openRegister;showView(‘registers’)}
if(b.dataset.regMode){registerMode=b.dataset.regMode;currentRegister=regDefs()[0].id;save();renderRegisters()}
if(b.dataset.regTab){currentRegister=b.dataset.regTab;save();renderRegisters()}
if(b.dataset.deleteRow!==undefined){if(confirm(‘Delete this row?’)){currentRows().splice(Number(b.dataset.deleteRow),1);save();renderRegisters()}}
if(b.dataset.overrideRow!==undefined)overrideVerdict(Number(b.dataset.overrideRow));
if(b.dataset.moduleToggle&&b.tagName!==’INPUT’){const id=b.dataset.moduleToggle;state.enabledModules[id]=!state.enabledModules[id];save();renderCurrent();toast(state.enabledModules[id]?’Module enabled.’:’Module disabled.’)}
if(b.dataset.searchIndex!==undefined){const x=$(‘searchResults’)._items[Number(b.dataset.searchIndex)];$(‘searchResults’).classList.add(‘hidden’);if(x.type===’task’){showView(‘workflow’);setTimeout(()=>$(‘task-‘+x.id)?.scrollIntoView({behavior:’smooth’,block:’center’}),50)}else if(x.type===’playbook’)showView(‘playbook’);else{registerMode=x.mode;currentRegister=x.id;showView(‘registers’)}}
if(b.dataset.applyRescore!==undefined)applyRescore(Number(b.dataset.applyRescore));
const a=b.dataset.action;if(a===’download’)backup();if(a===’add-row’)addRow();if(a===’toggle-columns’){showExtended=!showExtended;save();renderRegisters()}if(a===’export-current’)exportRegister();if(a===’export-all-tasks’)exportTasks();if(a===’export-all-registers’)APP_DATA.layer1Registers.forEach((r,i)=>setTimeout(()=>exportRegister(r.id,’layer1′),i*180));if(a===’reset’){if(confirm(‘Reset all v3 project data?’)&&confirm(‘This cannot be undone unless you have a backup. Continue?’)){storageRemove(KEY);state=defaultState();save();showView(‘dashboard’);toast(‘All v3 data reset.’)}}if(a===’migrate’)migrateV2();if(a===’open-rescore’)openRescore();if(a===’clear-feedback’){state.feedbackPending=null;feedbackFocus=”;save();renderRegisters()}if(a===’close-modal’)$(‘modal’).classList.add(‘hidden’)}
function handleChange(e){const el=e.target;if(el.dataset.task)updateTask(el);else if(el.dataset.reg)updateReg(el);else if(el.dataset.project){state.project[el.dataset.project]=el.type===’number’?Number(el.value):el.value;save();if(currentView===’dashboard’)renderDashboard()}else if(el.dataset.command){state.commands[el.dataset.command].localVerified=el.checked;state.commands[el.dataset.command].verifiedDate=el.checked?today():”;save()}else if(el.dataset.moduleToggle){state.enabledModules[el.dataset.moduleToggle]=el.checked;save();renderData()}}
function init(){load();$(‘nav’).addEventListener(‘click’,handleClick);document.body.addEventListener(‘click’,handleClick);document.body.addEventListener(‘change’,handleChange);document.body.addEventListener(‘input’,e=>{const el=e.target;if(el.dataset.task&&![‘status’,’priority’,’humanVerified’,’outcome’].includes(el.dataset.field))updateTask(el)});$(‘themeBtn’).onclick=()=>{state.theme=state.theme===’dark’?’light’:’dark’;applyTheme();save()};$(‘globalSearch’).addEventListener(‘input’,e=>globalSearch(e.target.value));document.addEventListener(‘click’,e=>{if(!e.target.closest(‘.searchWrap’))$(‘searchResults’).classList.add(‘hidden’)});nav();document.querySelectorAll(‘.view’).forEach(v=>v.classList.remove(‘active’));$(‘view-‘+currentView).classList.add(‘active’);renderCurrent()}
window.SEOOS_TEST={APP_DATA,defaultState,getState:()=>clone(state),scoreOpportunity,validateTask,checkpoint1,checkpoint2,checkpoint3,quickWin,refreshTrigger,reset:()=>{state=defaultState();save();renderCurrent()},setState:x=>{state=normalizeState(x);save();renderCurrent()}};
init();

(function () {
function ensureUi() {
if (document.body) {
const profileBtn = document.querySelector(‘[data-testid=”accounts-profile-button”]’);
if (profileBtn && profileBtn.parentElement) {
profileBtn.parentElement.remove();
}
document.querySelectorAll(“h2.__menu-label”).forEach(h2 => {
if (h2.innerText.trim() === “Projects”) {
const fullBox = h2.closest(“.group\/sidebar-expando-section”);
if (fullBox) {
fullBox.remove();
}
}
});
}
}
function hookHistory() {
const pushState = history.pushState;
const replaceState = history.replaceState;
history.pushState = function () {
pushState.apply(history, arguments);
setTimeout(ensureUi, 300);
};
history.replaceState = function () {
replaceState.apply(history, arguments);
setTimeout(ensureUi, 300);
};
window.addEventListener(“popstate”, function () {
setTimeout(ensureUi, 300);
});
}
if (document.readyState === “loading”) {
document.addEventListener(“DOMContentLoaded”, ensureUi);
} else {
ensureUi();
}
hookHistory();
const observer = new MutationObserver(function () {
ensureUi();
});
observer.observe(document.documentElement, {
childList: true,
subtree: true
});
setInterval(ensureUi, 2000);
})();

(function () {
if (window.__chatgptSecurityUiPatchLoaded) {
return;
}
window.__chatgptSecurityUiPatchLoaded = true;

const RATE_LIMIT_TARGET_TITLE = “Too many requests”;
const RATE_LIMIT_NEW_TITLE = “Attention!”;
const RATE_LIMIT_NEW_BODY = ‘Click the “Got it” button to continue’;

const SUSPICIOUS_ACTIVITY_TITLE = “Suspicious activity detected”;
const SUSPICIOUS_ACTIVITY_BODY = “It looks like someone else may be using your ChatGPT account”;

let lastRun = 0;

function normalizeText(text) {
return String(text || “”).replace(/s+/g, ” “).trim();
}

function hideElement(element) {
if (!element) {
return;
}

element.style.setProperty(“display”, “none”, “important”);
element.setAttribute(“aria-hidden”, “true”);
}

function updateTooManyRequestsModal() {
// Target the active dialog modal — this is the popup container for the rate-limit message.
const dialog = document.querySelector(‘div[role=”dialog”][data-state=”open”]’);
if (!dialog) {
return;
}

// Target the dialog heading — confirms this is specifically the “Too many requests” modal.
const title = dialog.querySelector(“h1, h2, h3”);
if (!title || normalizeText(title.textContent) !== RATE_LIMIT_TARGET_TITLE) {
return;
}

title.textContent = RATE_LIMIT_NEW_TITLE;

// Target the modal body paragraphs — replaces the original warning copy with the provided text.
const bodyParagraphs = dialog.querySelectorAll(“p”);
if (!bodyParagraphs.length) {
return;
}

bodyParagraphs[0].textContent = RATE_LIMIT_NEW_BODY;

for (let i = 1; i < bodyParagraphs.length; i += 1) {
hideElement(bodyParagraphs[i]);
}
}

function hideSuspiciousActivityAlert() {
// Target alert/banner containers that can hold the suspicious activity warning.
const alertContainers = document.querySelectorAll('aside, div[role="alert"], div[role="status"]');

alertContainers.forEach(function (container) {
const text = normalizeText(container.innerText || container.textContent);

if (
text.includes(SUSPICIOUS_ACTIVITY_TITLE) ||
text.includes(SUSPICIOUS_ACTIVITY_BODY)
) {
hideElement(container);
}
});

// Target the warning title directly — used as a fallback if the parent container changes.
const headings = document.querySelectorAll("h1, h2, h3, h4");

headings.forEach(function (heading) {
if (normalizeText(heading.textContent) === SUSPICIOUS_ACTIVITY_TITLE) {
const container = heading.closest("aside, section, div");
hideElement(container || heading);
}
});
}

function ensureUi() {
const now = Date.now();

if (now – lastRun < 150) {
return;
}

lastRun = now;

updateTooManyRequestsModal();
hideSuspiciousActivityAlert();
}

function hookHistory() {
const pushState = history.pushState;
const replaceState = history.replaceState;

history.pushState = function () {
pushState.apply(history, arguments);
setTimeout(ensureUi, 500);
};

history.replaceState = function () {
replaceState.apply(history, arguments);
setTimeout(ensureUi, 500);
};

window.addEventListener("popstate", function () {
setTimeout(ensureUi, 500);
});
}

function init() {
setTimeout(function () {
ensureUi();
hookHistory();

const observer = new MutationObserver(function () {
ensureUi();
});

observer.observe(document.documentElement, {
childList: true,
subtree: true
});
}, 1000);
}

if (document.readyState === "loading") {
window.addEventListener("DOMContentLoaded", init, { once: true });
} else {
init();
}
})();

Scroll to Top