New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Audit existing content across a site to decide what to keep

Content Audit

by rampstackco · MIT license · ★ 901 on GitHub · updated Sep 15

Content Audit cover

Audit existing content across a site to decide what to keep, update, merge, redirect, or delete. Use this skill whenever the user wants to audit existing content, fix content decay, resolve keyword cannibalization, prune underperforming…

---
name: seo-content-audit
description: "Audit existing content across a site to decide what to keep, update, merge, redirect, or delete. Use this skill whenever the user wants to audit existing content, fix content decay, resolve keyword cannibalization, prune underperforming pages, prioritize content updates, or apply a keep/update/merge/redirect/delete framework to a content library. Triggers on content audit, content decay, content refresh, cannibalization, keyword cannibalization, prune content, delete pages, redirect old pages, content inventory, what to keep, what to update, content scorecard, evergreen refresh. Also triggers when traffic is dropping site-wide and the cause might be content quality, even if 'audit' is not said explicitly."
category: seo-foundation
catalog_summary: "Keep/update/merge/redirect/delete decisions across a site"
display_order: 6
---

# Content Audit

Inventory existing content, score it, and decide for each piece: keep, update, merge, redirect, or delete. Stack-agnostic. Works on blogs, marketing sites, knowledge bases, and product content.

---

## When to use

- Inheriting a content library you did not create
- Diagnosing site-wide traffic decline

Overview

Inventory existing content, score it, and decide for each piece: keep, update, merge, redirect, or delete. Stack-agnostic. Works on blogs, marketing sites, knowledge bases, and product content.

What you get

  • Page type (article, product, category, etc.)
  • Sessions (90d), organic clicks (90d), impressions (90d), avg position
  • Referring domains
  • Word count
  • Last modified
  • Decision (keep / update / merge / redirect / delete)
Manual install (npx, ZIP)
Claude Codenpx skills add rampstackco/claude-skills --skill seo-content-audit -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/rampstackco/claude-skills/tar.gz/3d4510a94a76 \ | tar -xz -C ~/.claude/skills --strip-components=2 claude-skills-3d4510a94a76/skills/seo-content-audit
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/9b0f701f61167ef7f860/seo-content-audit.zip" -OutFile "$env:TEMP\seo-content-audit.zip"; Expand-Archive "$env:TEMP\seo-content-audit.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md8.4 KB
  • references/2 files · 14.9 KB
Read the files here
rampstackco/3d4510a3 files
SKILL.md
Show the full text200 lines

Content Audit

Inventory existing content, score it, and decide for each piece: keep, update, merge, redirect, or delete. Stack-agnostic. Works on blogs, marketing sites, knowledge bases, and product content.


When to use

  • Inheriting a content library you did not create
  • Diagnosing site-wide traffic decline
  • Resolving cannibalization (two pages competing for the same query)
  • Pre-migration cleanup
  • Annual or semi-annual content health check
  • Pruning before a redesign or replatform

When NOT to use

  • Optimizing a single page (use seo-onpage)
  • Planning new content (use seo-keyword)
  • Comparing your content to competitors (use seo-competitor)
  • Site-level technical issues (use seo-technical)

Required inputs

  • The site URL and access to crawl it (or a complete URL list)
  • Search console access (or a 12-month export)
  • Analytics access (sessions, conversions, engagement)
  • A backlink tool (to identify pages with referring domains worth preserving)

The framework: 5 actions

For every content piece, the audit produces one of five decisions.

1. Keep

The page performs well, has clear intent, and needs no changes.

Signals:

  • Top 10 ranking for its primary query
  • Consistent traffic with no decay
  • Healthy engagement (above-site-average time on page or interaction rate)
  • Up-to-date information
2. Update

The page has potential but is underperforming due to fixable issues.

Signals:

  • Page 2 ranking for high-value queries (rank 11 to 30)
  • Traffic decay over the last 6 to 12 months
  • Information gone stale
  • Title or meta need rewriting for CTR
  • Thin content that could expand to match competitor depth
  • Missing schema or other technical hygiene
3. Merge

Two or more pages target overlapping queries and should consolidate.

Signals:

  • Cannibalization (multiple pages ranking for the same query, none ranking well)
  • Significant content overlap between pages
  • Combined, they would outperform either alone
  • Both have backlinks worth preserving
4. Redirect

The page has no future but has assets (links, equity) worth preserving.

Signals:

  • No traffic, no rankings
  • Holds backlinks (especially editorial ones)
  • A relevant target page exists that would benefit from the equity
  • Topic is still relevant but this specific page is not
5. Delete (and let return 404 or 410)

The page has no future and no assets worth preserving.

Signals:

  • No traffic, no rankings, no backlinks
  • Content is outdated and not worth updating
  • Topic is no longer relevant
  • Even thin or spam content from a previous era

Note: In most cases, return 410 (gone) for intentionally deleted content. 410 is processed faster than 404 and signals the deletion was deliberate.


Scoring inputs

Pull these for every URL before deciding:

Metric Source Threshold for "low"
Sessions (last 90 days) Analytics <10/month
Organic traffic (last 90 days) Search console or analytics <5/month
Average position for top query Search console >30
Impressions (last 90 days) Search console <100/month
Click-through rate Search console <1% (when impressions exist)
Referring domains Backlink tool 0
Engagement (avg time on page) Analytics <30 seconds
Last meaningful update Manual / git >24 months
Word count Crawler <300 (for articles)
Internal links in Crawler 0

A page can survive low scores on a few metrics. A page that fails on most is a delete or redirect candidate.


Decision matrix

A simplified decision tree:

Has traffic? ─── Yes ──── Recent decay? ─── Yes ── UPDATE
        │                          │
        │                          └── No ─── KEEP
        │
        └── No ──── Has backlinks? ─── Yes ── Has relevant target? ─── Yes ── REDIRECT
                          │                            │
                          │                            └── No ─── UPDATE (rebuild)
                          │
                          └── No ──── Cannibalizing another page? ─── Yes ── MERGE
                                              │
                                              └── No ─── DELETE (410)

For overlapping pages, "merge" usually wins over "delete" because it preserves both link equity and any topical authority.


Workflow

  1. Inventory. Pull a complete URL list from the crawl, sitemap, and search console (some indexed pages may not be in the sitemap).
  2. Pull the metrics. Sessions, organic, search console rank/CTR, backlinks, last-modified date, word count.
  3. Score each URL. Use the framework. Mark a decision: Keep / Update / Merge / Redirect / Delete.
  4. Identify cannibalization clusters. Group URLs targeting the same query. Decide which becomes the canonical, what to merge, what to redirect.
  5. Sequence the work. Do redirects and deletes in batches. Plan updates by priority (highest-traffic-recovery potential first).
  6. Implement. With change tracking. Re-crawl after each batch to confirm no broken redirect chains.
  7. Measure. Track aggregate organic traffic 30, 60, 90 days post-audit.

Failure patterns

  • Deleting pages with backlinks. Always check referring domains before deleting. A redirect preserves equity at near-zero cost.
  • Updating pages that should be merged. Two thin pages updated to medium pages still cannibalize. Merge first.
  • Merging without preserving the better URL. Pick the merge target by which URL has stronger signals (older URL, more backlinks, better URL slug, currently better ranking), not which one has more content.
  • Mass-deleting low-traffic pages. Some have value: fresh pages still ramping, niche pages serving a specific audience, evergreen pages with seasonal traffic. Do not bulk-delete by sessions alone.
  • Over-aggressive pruning of "old" content. Date alone is not a delete signal. Topic relevance and intent quality are.
  • No post-audit measurement. Without measurement, you cannot tell if the audit worked.

Output format

Default output: a spreadsheet with one row per URL, plus a summary markdown report.

Spreadsheet columns:

  • URL
  • Page type (article, product, category, etc.)
  • Sessions (90d), organic clicks (90d), impressions (90d), avg position
  • Referring domains
  • Word count
  • Last modified
  • Decision (keep / update / merge / redirect / delete)
  • Merge target / redirect target (if applicable)
  • Priority (1-5)
  • Notes

Summary report:

  1. Inventory totals (URLs by decision)
  2. Cannibalization clusters identified
  3. Top 20 update priorities
  4. Redirect map (CSV)
  5. Delete list
  6. Implementation roadmap (sequenced by priority)
  7. Measurement plan

If required data is unavailable

This skill's output depends on data, measurements, or tool results it cannot generate on its own. When a required input, tool, or data source is unavailable or unverifiable, the sanctioned output is the deliverable with the gap stated: what was needed, what was actually obtained or verified, and which parts of the output are affected. Fabricating, estimating, or interpolating a required number to complete the deliverable is never sanctioned. A stated gap is a complete answer.


Reference files

1---
2name: seo-content-audit
3description: "Audit existing content across a site to decide what to keep, update, merge, redirect, or delete. Use this skill whenever the user wants to audit existing content, fix content decay, resolve keyword cannibalization, prune underperforming pages, prioritize content updates, or apply a keep/update/merge/redirect/delete framework to a content library. Triggers on content audit, content decay, content refresh, cannibalization, keyword cannibalization, prune content, delete pages, redirect old pages, content inventory, what to keep, what to update, content scorecard, evergreen refresh. Also triggers when traffic is dropping site-wide and the cause might be content quality, even if 'audit' is not said explicitly."
4category: seo-foundation
5catalog_summary: "Keep/update/merge/redirect/delete decisions across a site"
6display_order: 6
7---
8 
9# Content Audit
10 
11Inventory existing content, score it, and decide for each piece: keep, update, merge, redirect, or delete. Stack-agnostic. Works on blogs, marketing sites, knowledge bases, and product content.
12 
13---
14 
15## When to use
16 
17- Inheriting a content library you did not create
18- Diagnosing site-wide traffic decline
19- Resolving cannibalization (two pages competing for the same query)
20- Pre-migration cleanup
21- Annual or semi-annual content health check
22- Pruning before a redesign or replatform
23 
24## When NOT to use
25 
26- Optimizing a single page (use `seo-onpage`)
27- Planning new content (use `seo-keyword`)
28- Comparing your content to competitors (use `seo-competitor`)
29- Site-level technical issues (use `seo-technical`)
30 
31---
32 
33## Required inputs
34 
35- The site URL and access to crawl it (or a complete URL list)
36- Search console access (or a 12-month export)
37- Analytics access (sessions, conversions, engagement)
38- A backlink tool (to identify pages with referring domains worth preserving)
39 
40---
41 
42## The framework: 5 actions
43 
44For every content piece, the audit produces one of five decisions.
45 
46### 1. Keep
47The page performs well, has clear intent, and needs no changes.
48 
49**Signals:**
50- Top 10 ranking for its primary query
51- Consistent traffic with no decay
52- Healthy engagement (above-site-average time on page or interaction rate)
53- Up-to-date information
54 
55### 2. Update
56The page has potential but is underperforming due to fixable issues.
57 
58**Signals:**
59- Page 2 ranking for high-value queries (rank 11 to 30)
60- Traffic decay over the last 6 to 12 months
61- Information gone stale
62- Title or meta need rewriting for CTR
63- Thin content that could expand to match competitor depth
64- Missing schema or other technical hygiene
65 
66### 3. Merge
67Two or more pages target overlapping queries and should consolidate.
68 
69**Signals:**
70- Cannibalization (multiple pages ranking for the same query, none ranking well)
71- Significant content overlap between pages
72- Combined, they would outperform either alone
73- Both have backlinks worth preserving
74 
75### 4. Redirect
76The page has no future but has assets (links, equity) worth preserving.
77 
78**Signals:**
79- No traffic, no rankings
80- Holds backlinks (especially editorial ones)
81- A relevant target page exists that would benefit from the equity
82- Topic is still relevant but this specific page is not
83 
84### 5. Delete (and let return 404 or 410)
85The page has no future and no assets worth preserving.
86 
87**Signals:**
88- No traffic, no rankings, no backlinks
89- Content is outdated and not worth updating
90- Topic is no longer relevant
91- Even thin or spam content from a previous era
92 
93Note: In most cases, return 410 (gone) for intentionally deleted content. 410 is processed faster than 404 and signals the deletion was deliberate.
94 
95---
96 
97## Scoring inputs
98 
99Pull these for every URL before deciding:
100 
101| Metric | Source | Threshold for "low" |
102|---|---|---|
103| Sessions (last 90 days) | Analytics | <10/month |
104| Organic traffic (last 90 days) | Search console or analytics | <5/month |
105| Average position for top query | Search console | >30 |
106| Impressions (last 90 days) | Search console | <100/month |
107| Click-through rate | Search console | <1% (when impressions exist) |
108| Referring domains | Backlink tool | 0 |
109| Engagement (avg time on page) | Analytics | <30 seconds |
110| Last meaningful update | Manual / git | >24 months |
111| Word count | Crawler | <300 (for articles) |
112| Internal links in | Crawler | 0 |
113 
114A page can survive low scores on a few metrics. A page that fails on most is a delete or redirect candidate.
115 
116---
117 
118## Decision matrix
119 
120A simplified decision tree:
121 
122```
123Has traffic? ─── Yes ──── Recent decay? ─── Yes ── UPDATE
124 │ │
125 │ └── No ─── KEEP
126 │
127 └── No ──── Has backlinks? ─── Yes ── Has relevant target? ─── Yes ── REDIRECT
128 │ │
129 │ └── No ─── UPDATE (rebuild)
130 │
131 └── No ──── Cannibalizing another page? ─── Yes ── MERGE
132 │
133 └── No ─── DELETE (410)
134```
135 
136For overlapping pages, "merge" usually wins over "delete" because it preserves both link equity and any topical authority.
137 
138---
139 
140## Workflow
141 
1421. **Inventory.** Pull a complete URL list from the crawl, sitemap, and search console (some indexed pages may not be in the sitemap).
1432. **Pull the metrics.** Sessions, organic, search console rank/CTR, backlinks, last-modified date, word count.
1443. **Score each URL.** Use the framework. Mark a decision: Keep / Update / Merge / Redirect / Delete.
1454. **Identify cannibalization clusters.** Group URLs targeting the same query. Decide which becomes the canonical, what to merge, what to redirect.
1465. **Sequence the work.** Do redirects and deletes in batches. Plan updates by priority (highest-traffic-recovery potential first).
1476. **Implement.** With change tracking. Re-crawl after each batch to confirm no broken redirect chains.
1487. **Measure.** Track aggregate organic traffic 30, 60, 90 days post-audit.
149 
150---
151 
152## Failure patterns
153 
154- **Deleting pages with backlinks.** Always check referring domains before deleting. A redirect preserves equity at near-zero cost.
155- **Updating pages that should be merged.** Two thin pages updated to medium pages still cannibalize. Merge first.
156- **Merging without preserving the better URL.** Pick the merge target by which URL has stronger signals (older URL, more backlinks, better URL slug, currently better ranking), not which one has more content.
157- **Mass-deleting low-traffic pages.** Some have value: fresh pages still ramping, niche pages serving a specific audience, evergreen pages with seasonal traffic. Do not bulk-delete by sessions alone.
158- **Over-aggressive pruning of "old" content.** Date alone is not a delete signal. Topic relevance and intent quality are.
159- **No post-audit measurement.** Without measurement, you cannot tell if the audit worked.
160 
161---
162 
163## Output format
164 
165Default output: a spreadsheet with one row per URL, plus a summary markdown report.
166 
167**Spreadsheet columns:**
168- URL
169- Page type (article, product, category, etc.)
170- Sessions (90d), organic clicks (90d), impressions (90d), avg position
171- Referring domains
172- Word count
173- Last modified
174- Decision (keep / update / merge / redirect / delete)
175- Merge target / redirect target (if applicable)
176- Priority (1-5)
177- Notes
178 
179**Summary report:**
1801. Inventory totals (URLs by decision)
1812. Cannibalization clusters identified
1823. Top 20 update priorities
1834. Redirect map (CSV)
1845. Delete list
1856. Implementation roadmap (sequenced by priority)
1867. Measurement plan
187 
188---
189 
190## If required data is unavailable
191 
192This skill's output depends on data, measurements, or tool results it cannot generate on its own. When a required input, tool, or data source is unavailable or unverifiable, the sanctioned output is the deliverable with the gap stated: what was needed, what was actually obtained or verified, and which parts of the output are affected. Fabricating, estimating, or interpolating a required number to complete the deliverable is never sanctioned. A stated gap is a complete answer.
193 
194---
195 
196## Reference files
197 
198- [`references/audit-template.md`](references/audit-template.md) - Spreadsheet column definitions and report template.
199- [`references/cannibalization-resolution.md`](references/cannibalization-resolution.md) - Detailed methodology for resolving cannibalization clusters.
200 
View all files on GitHub →

Details

Updated
Sep 15, 2026
License
MIT
Stars on the repo
★ 901
Checked
Source
rampstackco/claude-skills ↗
Creator
rampstackco · 60 listings
View creator

Made with seo-content-audit

Content Audit — Showcase grid filtered by Tone equals Provocative and Sensory equals Resonant, showing eight matching brand cards with… (from the rampstackco/claude-skills README)
Content Audit — Showcase grid filtered by Tone equals Provocative and Sensory equals Resonant, showing eight matching brand cards with… (from the rampstackco/claude-skills README)

by rampstackco

Content Audit — Showcase grid with all four axis filters set to Provocative, Editorial Restrained, Coach, and Resonant, showing zero… (from the rampstackco/claude-skills README)
Content Audit — Showcase grid with all four axis filters set to Provocative, Editorial Restrained, Coach, and Resonant, showing zero… (from the rampstackco/claude-skills README)

by rampstackco

Content Audit — RampStack architecture diagram. A central navy hub card shows the RampStack mark with the subtitle 'Stack-agnostic… (from the rampstackco/claude-skills README)
Content Audit — RampStack architecture diagram. A central navy hub card shows the RampStack mark with the subtitle 'Stack-agnostic… (from the rampstackco/claude-skills README)

by rampstackco

Similar skills

See all →
SkillThe Lighthouse Agentic Browsing fractionAgentic Browsing ReadinessAgriciDaniel/claude-seo · by AgriciDanielAudit and fix agent readiness: the Lighthouse Agentic Browsing fraction, accessibility tree for agents, robots.txt and Content-Signal for AI agents, WAF treatment of agent traffic, llms.txt, Markdown delivery, ai-catalog.json, /.well-known discovery files, and WebMCP tools. Exclude AI citability and brand signals (seo-geo) and commerce protocol depth (seo-ecommerce).★ 17.4k GitHub starsSkillReferring domains, anchor text distributionBacklink Profile AnalysisAgriciDaniel/claude-seo · by AgriciDanielBacklink profile analysis: referring domains, anchor text distribution, toxic link detection, competitor gap analysis. Works with free APIs (Moz, Bing Webmaster, Common Crawl) and DataForSEO extension. Use when user says backlinks, link profile, referring domains, anchor text, toxic links, link gap, link building, disavow, or backlink audit.★ 17.4k GitHub starsSkillConnect a CMS to notfair SEO tools/setup-cmsnowork-studio/notfair-plugin · by nowork-studioConnect a CMS to notfair SEO tools. Guides users through configuring WordPress, Strapi, Contentful, or Ghost — tests the connection, and writes credentials to .env.local. Once set up, seo-analysis automatically cross- references CMS content against Google Search Console data. Use whenever the user says "connect my CMS", "set up WordPress", "configure Strapi", "add Contentful", "connect Ghost", or "CMS setup". Also trigger if the user asks why no CMS data appears in a seo-analysis report.★ 3.9k GitHub starsSkillBacklink profile for any domainBacklink checkRyze-AI-Adgent/open-seo-mcp-skills · by Ryze-AI-AdgentBacklink profile for any domain — referring domains, authority, anchors, new/lost links, and a side-by-side vs a competitor. Use when asked "check my backlinks", "backlink profile of X", "who links to them", or "link gap vs competitor".★ 3.1k GitHub starsSkillOptimize Core Web Vitals for better page experienceCore Web Vitals optimizationaddyosmani/web-quality-skills · by addyosmaniOptimize Core Web Vitals (LCP, INP, CLS) for better page experience using field and lab evidence. Use when asked to "improve Core Web Vitals", "fix LCP", "reduce CLS", "optimize INP", "page experience optimization", or "fix layout shifts".★ 2.8k GitHub starsSkillRun an SEO page observation-action-review loopRun the SEO page looptsingyuai/growth-lab · by tsingyuaiRun an SEO page observation-action-review loop with persistent Memory by coordinating demand research, page creation, adversarial review, image generation, IndexNow submission, and performance review. Use when taking an SEO page from opportunity discovery through publication, measurement, iteration, or continuing a previous SEO loop from Memory.★ 2k GitHub stars

More from rampstackco

SkillRun a comprehensive WCAG accessibility audit coveringrampstackco/claude-skills · by rampstackcoRun a comprehensive WCAG accessibility audit covering perceivable, operable, understandable, and robust principles. Use this skill whenever the user wants to audit accessibility, review WCAG compliance, fix accessibility issues, prepare for accessibility certification, address an accessibility lawsuit risk, or systematically improve a site's accessibility. Triggers on accessibility audit, WCAG audit, a11y audit, accessibility compliance, ADA compliance, screen reader test, keyboard navigation, accessibility report, fix accessibility, axe scan. Also triggers when accessibility issues have been reported and need systematic remediation.★ 901 GitHub starsSkillOptimize content and site structure for AI-driven searchAEO and GEOrampstackco/claude-skills · by rampstackcoOptimize content and site structure for AI-driven search experiences including AI overviews, large language model citations, generative answer engines, and AI assistants. Use this skill whenever the user wants to optimize for AI search, get cited by language models, appear in AI overviews, build llms.txt, structure content for AI extraction, or future-proof their SEO for the shift from blue links to AI answers. Triggers on AEO, GEO, AI search, AI SEO, AI overview, generative search, LLM optimization, llms.txt, AI citation, ChatGPT search, Perplexity, Gemini, Claude search, AI assistant optimization, answer engine. Also triggers when the user expresses concern about AI eating their organic traffic or wants to understand how to remain visible as search shifts.★ 901 GitHub starsSkillRun a structured after-action review on a launch, incidentAfter action reportrampstackco/claude-skills · by rampstackcoRun a structured after-action review (postmortem, retrospective) on a launch, incident, or completed project to capture timeline, root cause analysis, contributing factors, and actionable lessons. Use this skill whenever the user wants to run a postmortem, retrospective, AAR, or after-action review on any past event. Triggers on after-action report, AAR, postmortem, retrospective, retro, post-incident review, what went well what didn't, lessons learned, blameless postmortem, root cause analysis, RCA, five whys. Also triggers when the user has just shipped something or just resolved an incident and wants to capture learnings.★ 901 GitHub starsSkillDesign measurement frameworks including event taxonomyAnalytics strategyrampstackco/claude-skills · by rampstackcoDesign measurement frameworks including event taxonomy, KPI hierarchy, dashboard architecture, attribution models, and analytics implementation strategy. Use this skill whenever the user wants to plan analytics, design dashboards, build event taxonomies, define KPIs, set up tracking, or audit existing measurement. Triggers on analytics strategy, measurement plan, event taxonomy, tracking plan, KPI framework, dashboard design, north star metric, attribution model, conversion tracking, GA4 setup, Mixpanel setup, analytics audit. Also triggers when the user has data but no clear way to use it, or wants to make decisions but doesn't know what to track.★ 901 GitHub starsSkillDirect visual and creative work for campaigns, photographyArt directionrampstackco/claude-skills · by rampstackcoDirect visual and creative work for campaigns, photography, illustration, video, and branded experiences. Use this skill whenever the user wants to brief a photographer, direct illustrators, plan a creative campaign, develop visual concepts, or evaluate creative work for fit. Triggers on art direction, photo brief, photography brief, illustration brief, campaign concept, creative concept, visual direction, mood board, look and feel, visual treatment, video direction. Also triggers when the user has approved brand identity but needs to extend it into specific creative deliverables. Use `creative-direction` instead when the ask is the project-wide aesthetic brief that this skill consumes as input.★ 901 GitHub starsSkillPlan and run backups, set recovery objectivesBackup and disaster recoveryrampstackco/claude-skills · by rampstackcoPlan and run backups, set recovery objectives, and run disaster recovery drills. Use this skill when defining RPO/RTO targets, designing backup architecture, deciding what to back up and how often, planning for full-region or platform outages, or running a restoration drill. Triggers on backup, restore, RPO, RTO, disaster recovery, DR, business continuity, what if the database is gone, what if our hosting goes down, recovery drill, ransomware planning. Also triggers when an incident reveals a gap in restoration capability.★ 901 GitHub stars