Geo Fundamentals
wasp-lang/wasp
Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).
Move content between platforms, domains, or URL structures while preserving SEO equity, user bookmarks, and integrations.
$ npx skills add rampstackco/claude-skills --skill content-migration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rampstackco/claude-skills content-migration --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/rampstackco/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/content-migration .claude/skills/content-migration && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "content-migration" agent skill from https://github.com/rampstackco/claude-skills/tree/main/skills/content-migration into .claude/skills/content-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-migration", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/rampstackco/claude-skills/tree/main/skills/content-migrationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add rampstackco/claude-skills --skill content-migration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rampstackco/claude-skills content-migration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rampstackco/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/content-migration .agents/skills/content-migration && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "content-migration" agent skill from https://github.com/rampstackco/claude-skills/tree/main/skills/content-migration into .agents/skills/content-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-migration", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rampstackco/claude-skills --skill content-migration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rampstackco/claude-skills content-migration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rampstackco/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/content-migration .cursor/skills/content-migration && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "content-migration" agent skill from https://github.com/rampstackco/claude-skills/tree/main/skills/content-migration into .cursor/skills/content-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-migration", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/rampstackco/claude-skills.git --path skills/content-migration--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add rampstackco/claude-skills --skill content-migration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rampstackco/claude-skills content-migration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rampstackco/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/content-migration .gemini/skills/content-migration && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "content-migration" agent skill from https://github.com/rampstackco/claude-skills/tree/main/skills/content-migration into .gemini/skills/content-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-migration", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install rampstackco/claude-skills content-migrationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add rampstackco/claude-skills --skill content-migration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/rampstackco/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/content-migration .github/skills/content-migration && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "content-migration" agent skill from https://github.com/rampstackco/claude-skills/tree/main/skills/content-migration into .github/skills/content-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-migration", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rampstackco/claude-skills --skill content-migration -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install rampstackco/claude-skills content-migration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rampstackco/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/content-migration .opencode/skills/content-migration && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "content-migration" agent skill from https://github.com/rampstackco/claude-skills/tree/main/skills/content-migration into .opencode/skills/content-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-migration", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
content-migrationMove content between platforms, domains, or URL structures while preserving SEO equity, user bookmarks, and integrations.
Content Migration is an agent skill from rampstackco/claude-skills. Move content between platforms, domains, or URL structures while preserving SEO equity, user bookmarks, and integrations. Use this skill when planning a CMS migration, replatforming, consolidating sites, changing URL structures, or merging content from multiple sources. Triggers on content migration, replatform, CMS migration, domain migration, URL restructure, redirect map, site merge, content consolidation, migration plan, post-migration drop. Also triggers when planning a launch that involves moving existing…
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `README.md` and `references/migration-runbook.md`).
It sits in Marketing & SEO. The repository describes itself as: Stack-agnostic Claude Skills covering the full website lifecycle: brand, design, content, SEO, dev, ops, growth, and research. Build, ship, audit, optimize. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 482c9bf. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Content Migration loads about 2.7k tokens when it runs, and up to ~5.1k if it reads all its reference files. Until then it costs about 136 tokens; SKILL.md has 1,442 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from rampstackco/claude-skills at commit 482c9bf, republished under its MIT licence (© rampstackco). 1,442 words, ~2,711 tokens.
.claude/skills/content-migration/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Move content from one platform, domain, or URL structure to another without breaking SEO, user bookmarks, or downstream integrations. Stack-agnostic.
content-and-copy)seo-technical)seo-content-audit)Every content migration follows the same arc. Skipping a phase is how migrations go badly.
You can't migrate what you don't know. Build a complete map of what exists.
For each piece of content:
Pull from: CMS export, XML sitemap, server logs, analytics, search console, backlink tool.
The inventory is a spreadsheet. It's the source of truth for the rest of the migration.
For each piece of content, decide:
This is seo-content-audit work. The migration is the time to do it; not the time to skip it.
For each "Update" or "Merge," document the specific changes.
The URL map is the most important migration artifact.
| Old URL | New URL | Status code | Reason |
|---|---|---|---|
| /old/path | /new/path | 301 | Direct equivalent |
| /old/page-1, /old/page-2 | /new/merged | 301 | Merged content |
| /old/deprecated | /related/replacement | 301 | Closest replacement |
| /old/junk | (none) | 410 | Intentionally gone |
Rules:
For domain migrations, use a 1:1 path mapping by default (old.com/page → new.com/page) with specific overrides where structure changes.
Build the destination. Don't skip a staging environment.
If possible, get the destination crawled by Google before the cutover, so it's already indexed when redirects flip.
The actual switch. Plan it like a launch (and use launch-runbook alongside this skill).
Pre-cutover:
Cutover:
Immediately post-cutover:
The migration isn't done at cutover. The next 30-90 days reveal problems.
Watch:
Common 30-day fixes:
What's in scope? What's out? Write it down. Migrations expand if not bounded.
Pull every URL, traffic, backlinks, internal links. The spreadsheet is the artifact.
Keep, update, merge, redirect, delete. Document decisions.
The complete redirect map. Reviewed by SEO and content stakeholders.
In a staging environment. Real content (or representative content). Real redirects.
Following the cutover checklist. Have rollback ready.
Daily for the first week. Weekly for the first month. Monthly through 90 days.
What worked. What didn't. Lessons. (See after-action-report.)
No URL inventory. Migration team thinks they have everything. They don't. Old PDFs, archived posts, marketing landing pages with backlinks. Build the inventory.
302 redirects instead of 301. 302 is temporary. SEO equity doesn't reliably pass. Use 301 unless you have a specific reason.
Redirecting everything to the homepage. "We'll let users find their way." They won't. They'll bounce. Map specifically.
Long redirect chains. /a → /b → /c → /d. Each hop loses a little equity and adds latency. Collapse to /a → /d.
Forgetting non-HTML URLs. PDFs, images, downloads. They have URLs too. They have backlinks too. Include in the map.
Forgetting query strings. /page?id=123 is a different URL than /page. Patterns or specific maps for query string variants.
Ignoring trailing slashes. /page and /page/ are different to most servers. Pick one canonical form. Redirect the other.
No staging. The first time the migration runs is in production. Things break. Stage and test.
Stage that's too different from production. Different DNS, different CDN, different platform. Tests pass on staging, fail on production. Stage as close to prod as feasible.
Leaving the source live. Two sites serving the same content. Duplicate content, split equity, user confusion. Take down the source after confirming the destination is solid.
Leaving the source domain unrenewed. Domain expires, redirects break, traffic dies. Renew the source domain for a long time, even if you're not using it.
Big-bang migration with no rollback plan. Something goes wrong. Now what? Plan rollback before cutover.
Cutover during a busy period. End of quarter, holiday season, big campaign. Bad timing. Pick a quiet period.
No comms. Users find their bookmarks broken with no warning. Some won't come back. Communicate.
Migration as a one-time event. It's not done at cutover. Monitor for 30-90 days. Fix what surfaces.
Treating migration as just a dev project. SEO, content, support, comms all need to be involved. Cross-functional from day one.
A migration plan document includes:
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.
references/migration-runbook.md: Step-by-step runbook for cutover day, including pre-flight checks, the actual switch, immediate verification, and the first 24 hours of monitoring.© rampstackco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in skills/content-migration of rampstackco/claude-skills.
Open the folder on GitHubat commit 482c9bf
Content Migration next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Content Migration this skillrampstackco/claude-skills | 940 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Geo Fundamentalswasp-lang/wasp | 19k | 9 repos | ~861 | Automated safety check: Pass | MIT | |
| Ab Testingcoreyhaines31/marketingskills | 54k | 3 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Hreflang and International SEOAgriciDaniel/claude-seo | 18k | 5 repos | ~3.4k | Automated safety check: Pass | MIT | |
| Referralscoreyhaines31/marketingskills | 54k | 2 repos | ~2.4k | Automated safety check: Pass | MIT | |
| SEO GeoReScienceLab/opc-skills | 1.8k | 4 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 |
wasp-lang/wasp
Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).
coreyhaines31/marketingskills
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program.
AgriciDaniel/claude-seo
Audits, validates and generates hreflang tags for multi-language and multi-region sites in HTML, HTTP headers or XML sitemaps, flagging common code and return-tag mistakes.
coreyhaines31/marketingskills
When the user wants to create, optimize, or analyze a referral program, affiliate program, or word-of-mouth strategy.
ReScienceLab/opc-skills
SEO & GEO (Generative Engine Optimization) for websites. An agent skill from ReScienceLab/opc-skills.
LeoYeAI/openclaw-marketing-skills
When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad variations — for any paid advertising platform.
rampstackco/claude-skills
Run 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.
rampstackco/claude-skills
Design measurement frameworks including event taxonomy, KPI hierarchy, dashboard architecture, attribution models, and analytics implementation strategy.
rampstackco/claude-skills
Build or audit a comprehensive brand style guide that documents the full brand system including story, logo system, color, typography, imagery, voice, applications, and dos/don'ts.
rampstackco/claude-skills
Develop or document a complete brand voice and tone system covering voice attributes, tone shifts by context, vocabulary preferences, grammar rules, and copy examples.
rampstackco/claude-skills
Write or edit website copy, blog content, and editorial pieces with attention to voice, structure, and goal.
rampstackco/claude-skills
Develop a content strategy covering editorial positioning, content pillars, formats, calendar, governance, and topical authority planning.
Categories
Move content between platforms, domains, or URL structures while preserving SEO equity, user bookmarks, and integrations. Content Migration is an agent skill from rampstackco/claude-skills. Move content between platforms, domains, or URL structures while preserving SEO equity, user bookmarks, and integrations.
Content Migration fits situations like: planning a CMS migration; consolidating sites; changing URL structures; merging content from multiple sources.
Run `npx skills add rampstackco/claude-skills --skill content-migration -a claude-code`. Or copy the skill folder (skills/content-migration in rampstackco/claude-skills) into .claude/skills/content-migration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add rampstackco/claude-skills --skill content-migration -a codex`. Or copy the skill folder (skills/content-migration in rampstackco/claude-skills) into .agents/skills/content-migration in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rampstackco/claude-skills --skill content-migration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/content-migration, .gemini/skills/content-migration, .github/skills/content-migration and .opencode/skills/content-migration in your project.
SKILL.md names no scripts, command-line tools or credentials: Content Migration is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Content Migration is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Content Migration: Geo Fundamentals (wasp-lang/wasp, 19k stars), Ab Testing (coreyhaines31/marketingskills, 54k stars), Hreflang and International SEO (AgriciDaniel/claude-seo, 18k stars) and Referrals (coreyhaines31/marketingskills, 54k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
rampstackco (a GitHub organization) maintains it in rampstackco/claude-skills, which has 940 GitHub stars. The repository holds 103 skills in this directory. The repository was last updated on October 7, 2026.
Source: rampstackco/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.