← CitunaCONTENT HISTORY

Update to Cituna

Snapshot Nov 12, 2026 · 00:09 UTC · version 0.2.2

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Cituna and check future changes in Following.

Up to 3 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Keep Cituna Autopilot's change log and re-check each change after its 28-day window, comparing Search Console clicks with the site's own trend and AI citations with the 30-day record, without claiming causes the data cannot show. Use for \"log this change\", \"did our changes work\", \"28-day re-check\", \"what have we learned\".",
  "included_files": [],
  "name": "autopilot-measure",
  "skill_md_contents": "---\r\nname: autopilot-measure\r\ndescription: Keep Cituna Autopilot's change log and re-check each change after its 28-day window, comparing Search Console clicks with the site's own trend and AI citations with the 30-day record, without claiming causes the data cannot show. Use for \"log this change\", \"did our changes work\", \"28-day re-check\", \"what have we learned\".\r\n---\r\n\r\n# Log every change, re-check it after 28 days\r\n\r\nRead [connection and evidence rules](../../references/connection-and-evidence.md) and\r\n[autopilot rules](../../references/autopilot-rules.md), which define the log line. A change\r\nnobody logged cannot be learned from, so log on the day it goes live, not the day it merges.\r\n\r\n## Log a change\r\n\r\n1. Take the live date (deploy day), the URL, the type and the evidence from the plan row.\r\n   For an AutoSEO page the live date is its new `lastSentAt` in `list_articles`.\r\n2. Read the `before` numbers now, while they are easy to get:\r\n   - The page: `gsc_query` with `domain`, `dimensions: [\"page\"]`, `startDate` = live date\r\n     minus 28 days, `endDate` = live date minus 1, and a filter `{dimension: \"page\",\r\n     operator: \"equals\", expression: <url>}`. Keep clicks, impressions, CTR, position.\r\n   - The site, same window: `gsc_query` with `dimensions: [\"date\"]`, `rowLimit: 40`; sum the\r\n     clicks and impressions.\r\n   - Each evidence prompt: today's `get_visibility` cells (engines that answered, engines\r\n     naming the brand) and the page's entry in `list_citation_sources.yourPagesEnginesCite`\r\n     (30-day `count` and `byEngine`), if it has one.\r\n   - A pitch: the host's `youOnThisSite` and `outreachStatus` from `list_citation_sources`\r\n     with `search` set to the host.\r\n   - A refresh: the title and description it replaced, from the `before` that\r\n     `enrich_article` returned.\r\n3. Set `hold_until` to the live date plus 30 days and `recheck_on` to the live date plus 33:\r\n   the after-window runs from day 3 to day 30, and Search Console reports about 3 days late.\r\n4. Append the line to the log (with a filesystem,\r\n   `~/.cituna/autopilot/<domain>/changes.jsonl`; otherwise print it in a fenced block titled\r\n   \"Cituna change log\" and ask the user to keep it for the next run).\r\n\r\n## Re-check what is due\r\n\r\nRead the log (or ask the user to paste it). Due: `recheck_on` on or before today. Early: at\r\nleast 14 days of after-data; report those as \"so far\", never as a result.\r\n\r\nFor each due change:\r\n\r\n1. **Windows.** Before: the 28 days before the live date. After: day 3 to day 30. Read the\r\n   page and the site for the after window exactly as for `before`. Check the `history` block:\r\n   a window the property does not fully cover is reported as such.\r\n2. **Search Console verdict.**\r\n   - `title`, `description` or `refresh`: if the average position moved more than 3, the change is\r\n     confounded (report it as a ranking move). Otherwise expected clicks = after impressions x\r\n     before CTR.\r\n   - `enrich` or `fix`: expected clicks = before clicks x (site clicks after / site clicks\r\n     before), so a seasonal rise or fall does not count.\r\n   - Win or loss only when actual and expected clicks differ by more than 2 x the square root\r\n     of expected and by at least 5 clicks; otherwise flat. Under 100 impressions in the after\r\n     window: too few impressions to judge, report the movement only.\r\n   - `new-page`: no before. Report the impressions, clicks, position and top queries it\r\n     earned in the after window (`gsc_query` with `dimensions: [\"query\"]` and the page filter).\r\n3. **AI verdict.** Compare with the `before` snapshot. The 30-day record is the measure: read\r\n   at the re-check, the page's `yourPagesEnginesCite` entry (`count`, `byEngine`, `queries`)\r\n   covers about the after window. Missing before and listed now means engines started reading\r\n   the page; more engines or citations means they read it more. Today's `get_visibility` cells\r\n   for each evidence prompt say whether engines name the brand: absent to cited, and source\r\n   only to named, are the movements that matter, and the reverse counts the same way. Daily\r\n   answers flip, so a one-day difference is noise. With no `before`, the audit nearest before\r\n   the live date (`list_audits`, then `get_audit`) is the fallback; say it is one snapshot.\r\n4. **Pitch.** `list_citation_sources` with `search` set to the host: `absent` turning\r\n   `mentioned` or `linked` means it landed. `set_outreach_status` to `placed` only on the\r\n   user's word.\r\n5. Write the result back into the log line: `read_on`, `after`, `verdict`, `ai`.\r\n\r\n## Report\r\n\r\nOne row per change: change, live date, type, clicks before and after (with the expected\r\nfigure), verdict, AI before and after, note. Then:\r\n\r\n- **Wins and losses** with their numbers; **flat** and **too early** in one line each.\r\n- **What repeats:** a pattern only when 4 or more decided changes of one type go at least 75%\r\n  one way. Fewer: \"not enough cases yet\". With a filesystem, keep confirmed patterns in\r\n  `~/.cituna/autopilot/<domain>/lessons.md`; the autopilot reads it before planning.\r\n- **Limits, plainly:** a before-and-after read is not proof of cause. Seasons, Google\r\n  updates, rival moves and engine changes move these numbers too.\r\n\r\nNever change a page inside its window to rescue a result, never run a scan to re-measure,\r\nand never report a single day's answer as a trend.\r\n\r\n## Relevant tools\r\n\r\n`gsc_query`, `get_visibility`, `list_citation_sources`, `list_articles`, `list_audits`,\r\n`get_audit`, `set_outreach_status`.\r\n"
}

SHA-256 of public snapshot: a7c4d5b0387a65b8cf70bb18d340bf95400df41de5531b83ec7cc48b4972297c