Use when a repo has a legacy AIBOARDING.md (v1 layout) and should move to the standard AGENTS.md + CLAUDE.md layout with the .aiboarding/state.json sidecar. One-shot, preview-first migration that preserves the existing onboarding content and rewires the hooks.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add thedixitjain/the-mega-skill-library --skill migrate-aiboarding --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Migrate Aiboarding?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/thedixitjain-migrate-aiboarding)More formats (shields.io, HTML) on the badges page.
---
name: migrate-aiboarding
description: "Use when a repo has a legacy AIBOARDING.md (v1 layout) and should move to the standard AGENTS.md + CLAUDE.md layout with the .aiboarding/state.json sidecar. One-shot, preview-first migration that preserves the existing onboarding content and rewires the hooks."
category: ai-agents-and-harness
source_repo: hashgraph-online/awesome-codex-plugins
source_path: "plugins/gustavo-meilus/aiboarding/skills/migrate-aiboarding/SKILL.md"
source_url: https://github.com/hashgraph-online/awesome-codex-plugins/blob/HEAD/plugins/gustavo-meilus/aiboarding/skills/migrate-aiboarding/SKILL.md
---
# Migrating AIBOARDING.md → AGENTS.md + CLAUDE.md
One-shot migration from the v1 custom-injection layout to the standard-files
layout. The onboarding knowledge in `AIBOARDING.md` is an investment - carry it
over; never regenerate from scratch and never delete anything without approval.
**Announce at start:** "Using migrate-aiboarding to move this repo to the AGENTS.md layout."
**Precondition:** `AIBOARDING.md` exists at the repo root. If it does not, stop and
suggest `create-agent-onboarding`. If `AGENTS.md` *also* already exists, stop and ask
the user which file is authoritative before writing anything.
## Step 1: Carry over state
Read the `AIBOARDING.md` frontmatter (`aiboarding_version`, `generated`,
`last_synced_commit`). These seed `.aiboarding/state.json`:
- `aiboarding_version: 2`
- `generated`: today's date
- `last_synced_commit`: carried over verbatim (empty stays empty - the repair
semantics of an empty pointer are preserved).
## Step 2: Map the body
Map the three v1 H1 sections onto the v2 schema (see create-agent-onboarding's
Shared contracts for the exact section list and order):
| v1 source | v2 target sections |
| :--- | :--- |
| `# 1. Engineering Basics` | `Stack and Runtime`, `Build, Test, Run`, `Architecture Map` |
| `# 2. Domain & Business Logic` | `Project Purpose`, `Domain Model` |
| `# 3. AI-Specific Context` | `Agent Guardrails`, `Known Failure Modes` |
Preserve the compressed density of the source text; split it, don't rewrite it.
Backtick-quote any command, identifier, path, or error string that isn't already.
Two v2 sections have no v1 source: `Verification Before Completion` and
`Escalation - Ask the User When`. Run a short, scoped grilling pass (the
one-question-at-a-time style from create-agent-onboarding) ONLY for these gaps.
## Step 3: Generate the wrapper and lifecycle files
Follow create-agent-onboarding Phase 6: `CLAUDE.md` (`@AGENTS.md` + fenced
Claude-notes block), `state.json`, `config.json`, `.aiboarding/.gitignore`, the six
hook files, and the three tools. Runtime awareness applies (hook/settings steps are
Claude Code-only).
## Step 4: Rewire hooks and settings (Claude Code runtimes)
In `<repo>/.claude/settings.json`:
- Replace the `SessionStart` full-injection entry with the current template's entry
(the modern `session-start` is a fallback warner, not an injector).
- **Delete** the `PreToolUse[Task]` entry (`pre-task` is retired - `SubagentStart`
is native now).
- Replace the `PostToolUse` entry so it dispatches `drift-check` (not `post-commit`).
- Add the `SubagentStart` and `InstructionsLoaded` entries from the template.
Delete `<repo>/.aiboarding/hooks/pre-task` and `<repo>/.aiboarding/hooks/post-commit`.
All edits idempotent: match aiboarding entries by `command` containing
`.aiboarding/hooks/run-hook.cmd`; never duplicate; leave non-aiboarding hooks alone.
## Step 5: Retire the legacy document
Ask the user to choose (default: archive):
- **Archive (default):** move `AIBOARDING.md` to `docs/archive/AIBOARDING.md`
unchanged. Git history preserves it either way; nothing at the root keeps stale
onboarding discoverable by tools.
- **Keep as legacy:** leave `AIBOARDING.md` in place and prepend a deprecation
banner via `inject-fenced AIBOARDING.md deprecation <banner-file>` pointing to
`AGENTS.md`. The drift hook keeps honoring the legacy layout only when
`state.json` is absent, so with both present the sidecar wins.
Never delete `AIBOARDING.md` outright unless the user explicitly asks.
## Step 6: Single approval gate, then write
Before writing ANYTHING, present the full migration plan in one preview: every file
to be created, modified (with the settings diff), moved, or deleted. One approval
covers the whole batch; a rejection means nothing was touched.
## Step 7: Exit check
Run create-agent-onboarding's Phase 7 validation gate, then `audit-agent-onboarding`
if available. Report the file-by-file outcome, and remind the user to commit the new
layout (the drift hook stays silent for onboarding-only commit ranges).
---
**Source:** [`hashgraph-online/awesome-codex-plugins`](https://github.com/hashgraph-online/awesome-codex-plugins) → `plugins/gustavo-meilus/aiboarding/skills/migrate-aiboarding/SKILL.md`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!