adopt - bootstrap the blueprint from an existing codebase
SkillDev toolsAdopt Blueprint into an existing brownfield codebase by surveying shipped behavior and generating plans, standards, commands, adapter choices, and visibility setup. Use for /adopt or requests to bootstrap Blueprint into an established app. Use onboard for a fresh scaffold.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the adopt - bootstrap the blueprint from an existing codebase skill
What this skill tells your AI
The instructions your AI receives, as published by aiblueprinthq/ai-blueprint in .agents/skills/adopt/SKILL.md and read by ahel’s review.
Context reuse: Reuse any required file already loaded in project instructions or the current session. Read it again only if absent, changed, or exact current bytes or line references are needed.
First action: Before project inspection, preflight, or any other tool call,
publish running to blueprint/.state/run.json using the dashboard activity
contract in AGENTS.md.
Where this sits in the workflow:
existing codebase -> [adopt] -> project-plan + build-plan + coding-standards -> /overview -> normal loop
(already has code) (survey + (seeded from the real code; shipped (project- (/feature,
interview) features already checked off) overview.md) /implement, ...)
The standard onboarding assumes a freshly scaffolded, near-empty app: you write
the two plans from scratch and build forward. That doesn't fit a project that
already has thousands of lines of working code. /adopt is the brownfield
on-ramp: it reads what's already there, asks you only for what the code can't tell
it (the why and the roadmap), and produces the same input files the rest of
the workflow expects - so an existing project joins the loop without you
hand-writing everything.
It generates the inputs; it does not generate project-overview.md. That stays
/overview's job. /adopt ends by telling you to run /overview.
Input
A description of what the project is, if the user offers one. Otherwise just the repository itself. No argument is required.
Step 0 - confirm it's brownfield and safe
Look at blueprint/project-plan.md and blueprint/build-plan.md.
- If they're missing or still the empty worksheet/placeholder, proceed.
- If they already hold real content, this project is already adopted. Stop and say so; offer to refresh a specific file instead of overwriting work the user owns.
Never overwrite a filled-in plan without explicit confirmation. Never run a framework scaffolder (the blueprint is an overlay, never a generator).
Protect the project README:
- If the root
README.mdalready looks like a real project README, leave it alone. - If the root
README.mdis the copied Blueprint workflow doc (for example it starts with# AI Coding Blueprint), report it as obsolete overlay content and ask before replacing or removing it. Do not move it intoblueprint/. - Do not create or overwrite a root project README for a brownfield app unless the user explicitly asks. The existing project face belongs to the app, not the workflow.
Step 1 - survey the codebase (read-only)
Read the repo to establish the facts. Change nothing in this step. Establish:
- Stack and tooling - language(s), framework(s), and versions, from the real
manifest (
package.json,requirements.txt,pyproject.toml,go.mod,Gemfile,Cargo.toml, etc.). Note the package manager actually in use (lockfile). - Commands - the real dev / build / test / lint scripts. These feed the
Commands section of
AGENTS.mdand, per the testing opt-in switch, decide whether a testing gate even applies. - Conventions in practice - directory layout, component/file naming, styling approach, state management, data-fetching pattern, error handling. Read what the code does, not what a default template prescribes.
- Testing reality - is a runner configured and are there tests, or none? Be honest; don't describe a gate the project doesn't have.
- Verification and CI - note any combined verification command, GitHub
remote,
.github/workflows/, or external CI. Preserve what already exists. - What the app already does - the shipped features, inferred from routes, pages, entry points, and modules. This becomes the checked part of the build plan.
Keep notes; you'll turn them into the files in Step 3.
Step 2 - interview for intent
The code reveals what and how, never why or what next. Ask the user a short set of questions (aim for three to five, not an interrogation) to fill the gaps:
- What is this project for, and who uses it? (the problem and the users)
- Is the stack and structure you found intentional, or are there parts they'd call legacy / want to change?
- What do you want to build next? (the unchecked items in the build plan)
- Anything the survey got wrong or missed?
If the user already gave intent up front, skip what they've answered. Don't ask what you can read from the code.
Step 3 - generate the inputs
Write these, drawn from the survey (facts) and the interview (intent). Mark every
inference you're unsure of with a clear > TODO (confirm) so the user can correct
it rather than inherit a wrong guess.
blueprint/project-plan.md- the what & why, following the existing worksheet structure (problem, users, features, data, tech, monetization, UI/UX). The "features" and "tech" sections describe what already exists; the rest comes from the interview.blueprint/build-plan.md- the ordered feature list as a checklist. Mark shipped features- [x](this is the brownfield difference: the build plan reflects reality, so most of an existing app starts checked) and the roadmap items from the interview as- [ ]. This makes/statusand/featurework immediately - the next unchecked item is genuinely what's next.blueprint/context/coding-standards.md- rewrite the default to match the project's actual conventions from Step 1, not the shipped Next.js/Prisma defaults. Keep the Writing and Comments sections; replace the stack-specific ones with what the code really does. Its Testing section must reflect the real testing state (the opt-in switch is atestcommand inAGENTS.md).AGENTS.mdCommands section - fill in the real dev / build / test / lint commands you found, so the rest of the workflow (and the testing gate) uses the project's actual scripts. IncludeVerifywhen a real combined command exists.
Do not write project-overview.md; that's /overview's job, downstream of these.
Step 4 - point to optional CI setup
Do not create or change Verify commands or GitHub workflows during adoption. Report any verification command or CI already present. When equivalent automatic pull-request checks are absent, mention the optional standalone setup:
Run /ci or $ci when you want automatic GitHub checks.
Explain that CI is not required to finish adoption. The /ci skill owns
project-specific Verify and GitHub workflow setup.
Step 5 - ask about Blueprint visibility
Ask how the Blueprint workflow files should be handled in git, unless the user already gave a preference:
Blueprint visibility?
1. Commit Blueprint workflow files
Portable. Best for teams and working across machines.
2. Keep Blueprint workflow files local
Adds .agents/, .claude/, blueprint/, and CLAUDE.md to .gitignore.
Keeps AGENTS.md public as the lightweight project agent guide.
Recommend option 1 by default. If the user chooses option 2:
-
Add this block to
.gitignore, preserving existing entries:# AI Blueprint local workflow files .agents/ .claude/ blueprint/ CLAUDE.md -
Keep
AGENTS.mdtracked. It remains the lightweight public project guide for commands and conventions. -
Make
AGENTS.mdpublic-safe: keep project description, commands, testing gate, and coding conventions, but remove or avoid Blueprint workflow explanations, hidden adapter paths, workflow-document pointers, and core skill lists that would expose the local-only workflow. -
Explain that local-only mode hides the workflow contents from the repo, but the
.gitignorenames still reveal the ignored paths. -
Explain that Blueprint state, specs, findings, and history will not travel with the repo; another machine needs the Blueprint reinstalled or restored locally.
-
Because adoption runs right after the Blueprint files were added to an existing repository, they are more likely to already be staged or committed than in a fresh install. If any of
.agents/,.claude/,blueprint/, orCLAUDE.mdare already tracked, say.gitignorewill not hide tracked files. Ask before runninggit rm --cached -r .agents .claude blueprint CLAUDE.md, and only run it if the user explicitly approves. Never delete the local files.
Step 6 - review gate, then hand off
Stop and show the user what you generated, calling out:
- the build-plan split - what you marked shipped vs not, since that's the judgment most worth their eyes,
- every
> TODO (confirm)you left, - anything the survey and the interview disagreed on,
- verification command and GitHub checks status,
- Blueprint visibility choice, and a tracked-file warning if local-only mode was chosen after files were already tracked.
These files are the ones the user owns. Have them review and adjust, then tell
them to run /overview to distill the plans into project-overview.md and start
the normal loop.
Rules
- Read-only until Step 3. The survey changes nothing; only generation writes.
- Reflect reality, don't prescribe.
coding-standards.mdmust match the code that exists. A project using Zustand and REST routes should not be handed standards about Server Actions and Prisma just because that's the default. - Follow and preserve the proportional-engineering contract in
AGENTS.md; record only established usage or trust constraints and leave unknowns blank. - Never invent intent. Ask for the why and the roadmap; mark anything inferred
with
> TODO (confirm). Silent guesses about purpose are the main failure mode. - Don't clobber owned work. If the plans already have real content, confirm before touching them. Never run a scaffolder.
- Be honest about testing. If there's no runner, say testing is opt-in and not yet set up; don't describe a gate the project hasn't adopted.
- Keep
AGENTS.mdpublic in local-only mode unless the user explicitly asks for a more advanced setup. - Do not untrack Blueprint files with
git rm --cachedwithout a separate explicit approval.
Formatting
Format the output to match the project's conventions in
blueprint/context/ai-interaction.md: concise, scannable markdown, with lists for
enumerations and tables for matrices rather than dense paragraphs.
Signals
- GitHub stars
- 406
- Forks
- 102
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
adopt- Source
- github.com/aiblueprinthq/ai-blueprint