Project Context Migration
Adopt project-context in a repo that already has legacy docs, or partial target-tree adoption plus legacy docs elsewhere.
Do not move everything blindly. First decide what should become agent working context, what should stay as human-facing documentation, and what can be archived if the user wants cleanup.
If the repo is effectively empty and there is nothing to migrate, use project-context instead.
Workflow
- Read ../project-context/SKILL.md to review the target layout.
- Create one dated migration task under
docs/tasks/...first and use it as the audit surface for the whole move. - Inventory likely source roots with
rg --filesacrossdocs/,notes/,adr/,runbooks/,plans/,tasks/, or.ai/. - Before mapping, ask whether each source is AI-working context at all. Human-facing top-level notes, origin/about/repository narrative, and user/team docs usually stay
LEAVE. - Build an audit map before editing:
path | kind | current-or-stale | scope | target | note. - Apply in order:
TASK -> REFERENCE -> MEMORY -> LEAVE/ARCHIVE. - Once the target tree exists and
project-contextis installed alongside this skill, the agent can run the bundled checker from../project-context/scripts/check_runtime_shape.pywhile the shell stays in the target repo root, or any subdirectory inside it; the checker infers the target repo from the current working directory. - Treat that check as destination-shape confirmation only; migration correctness still depends on the audit map and spot review.
Classification
TASK: task-local, historical, exploratory, uncertain, or migration-audit material. Start here when unsure.REFERENCE: reusable topic-scoped reference state. Rewrite to current reference state only, strip timeline noise, and keep durable topic detail that another task would actually reuse.MEMORY: small project-wide working memory worth loading almost every time: active invariants, current phase, temporary global constraints, currently active cross-task conditions, and other compressed global notes. Keep declarative and compressed.LEAVE: product/user/team docs, human-facing top-level notes, and origin/about/repository narrative that do not belong in AI memory.ARCHIVE: stale duplicates or superseded docs if the user wants cleanup; it is a migration decision, not a coreproject-contextdestination.- Fast rules:
runbook -> reference,task note -> task,ADR -> current conclusion to reference / superseded to archive,origin/about/repository note -> usually leave,notes -> memory only if they compress to global working memory; otherwise reference/task/archive,short project-wide repository facts -> memory only when many tasks should reload them soon; otherwise leave or reference.
Rules
- Do not bulk-copy legacy docs into
docs/memory.md. - Record audit decisions in the migration task before rewriting global files.
- Merge overlapping sources into one preferred destination reference file or one dated task.
- Before promoting anything into
REFERENCEorMEMORY, ask whether another task would reuse it as AI-working context. If not, preferLEAVE. - Do not create
REFERENCEfiles that mostly restatedocs/memory.md. If the content is mostly compressed project-wide facts with little durable topic detail, keep it inMEMORYorLEAVE. - When migration creates new tasks, follow the
project-contextfile shapes exactly:BRIEF.mdis a rewrite-only reopen brief,STATUS.mdis a rewrite-only current handoff note and should usually start directly with current-state lines rather than a title line, fixed headings are not required,MEMORY-CANDIDATES.mdis omitted unless migration discovers task-derived global working-memory candidates, and when present it contains only plain- <STATE> | <summary> | <evidence-pointer>entries with no title text, whilelogs/DECISIONS.md/logs/WORKLOG.mdare the append-only history and use**YYYY-MM-DD**headings followed only by bullet lines (latestDECISIONS.md: 4 bullets; latestWORKLOG.md: 1+ bullet). - If a task item has no trustworthy date, use the migration date and record the uncertainty in that task.
- Create
MEMORY-CANDIDATES.mdentries only for compressed global working-memory notes discovered during migration, not for reference file creation or plain file moves. - When unsure between
REFERENCEandLEAVEfor a human-facing top-level doc, bias towardLEAVE. - If the rollout must be staged, move high-value task/reference material first and compress
memory.mdlast.