FORGE Cross-Project
Use this skill only when the user explicitly asks for multi-repo,
cross-project, authority-repo, sister-repo, shared-contract, or XPD
coordination.
Do not load or apply this workflow during normal solo-simple,
solo-governed, or team-full work unless the project-local docs already
declare cross-project coordination.
Use When
- the user asks for multi-repo, cross-project, authority-repo, peer-repo,
downstream, sister-repo, shared-contract, inbox, or XPD coordination
- a repo already declares
docs/forge/cross-project/
- an authority-owned contract change needs affected repo review
Do Not Use When
- normal single-repo team mode is sufficient
- the repo only needs
contract-first local contract discipline
- no repo can act as authority and the user has not chosen a federation model
Covers
- authority, peer, and downstream repo roles
docs/forge/cross-project/ scaffolding
- cross-repo coordination ledger entries
- contract documents for authority-owned shared shapes
- XPD records for cross-project decisions
- inbox drafts from peer repos
- agent-surface pointers from peer or downstream repos to the authority repo
Read On Demand
../references/cross-project.md
Use templates from ../assets/cross-project/templates/ when creating or
refreshing cross-project docs.
Workflows
Initialize Authority Repo
When the user asks to initialize the current repo as the authority repo:
- Read
../references/cross-project.md.
- Create
docs/forge/cross-project/.
- Copy the authority-repo templates from
../assets/cross-project/templates/.
Exclude sister-repo-pointer.md unless adding a peer or downstream pointer.
- Fill project-specific repo names, owner fields, and dates when known.
- Keep
COORDINATION.yaml as the cross-project ledger, not a replacement for
the task source or issue tracker.
- Add a short pointer in
docs/forge/AI.md only when that file exists.
- Add
docs/forge/cross-project/README.md to root agent-surface reading
order only when those surfaces already exist.
Create XPD
When the user asks for a new cross-project decision:
- Find the next
XPD-NNNN number under
docs/forge/cross-project/decisions/.
- Create
XPD-NNNN-<slug>.md from the XPD template.
- Set status to
draft unless the user explicitly says otherwise.
- Add or update the matching entry in
COORDINATION.yaml.
- If a contract shape changes, link the affected contract doc from the XPD.
Draft Inbox Proposal
When working from a peer repo:
- Create an inbox draft from
inbox/draft-template.md.
- Record the originating repo, requested change, affected contracts, and open
questions.
- Do not edit authority-owned contract docs directly from the peer repo unless
the user explicitly instructs that this repo is also the authority.
Add Sister Repo Pointer
When adding cross-project awareness to a peer or downstream repo:
- Prefer existing agent-surface files such as
AGENTS.md, CLAUDE.md,
.github/copilot-instructions.md, Cursor rules, Codex hooks, or Windsurf
rules.
- Insert a compact pointer based on
sister-repo-pointer.md.
- Include the authority repo location, reading order, and any specific XPD or
contract docs the repo must check.
- Keep the pointer explicit and non-blocking; do not make FORGE always-on.
Hard Stops
Stop and ask for a human decision when:
- no authority repo is identifiable
- two repos claim authority for the same contract
- a peer repo proposes a breaking contract change without an XPD
- an XPD lists a repo in
review_requested_from and that repo has not reviewed
- a project needs a federation model rather than authority-led coordination
Rationalizations To Reject
| Rationalization |
FORGE response |
| "The peer repo can just patch the contract." |
Authority-owned contracts change through the authority workflow. |
| "This breaking change is obvious." |
Breaking or externally visible changes require XPD traceability. |
| "We can notify sister repos after merge." |
XPDs pause for listed affected repo review before acceptance. |
| "The inbox draft is already a decision." |
Inbox drafts are proposals until elevated by the authority repo. |
Evidence Required
- authority, peer, or downstream role recorded or explicitly confirmed
COORDINATION.yaml entry for active cross-project movement
- linked XPD, inbox draft, contract doc, PR/MR, or issue artifact
- review status for repos listed in
review_requested_from
- updated agent-surface pointer when adding a peer or downstream repo
1---2name: forge-cross-project3description: Bootstrap and maintain opt-in FORGE cross-project coordination docs for multi-repo projects with shared contracts, authority repos, peer repos, downstream repos, XPDs, and inbox proposals.4---56# FORGE Cross-Project78Use this skill only when the user explicitly asks for multi-repo,9cross-project, authority-repo, sister-repo, shared-contract, or XPD10coordination.1112Do not load or apply this workflow during normal `solo-simple`,13`solo-governed`, or `team-full` work unless the project-local docs already14declare cross-project coordination.1516## Use When1718- the user asks for multi-repo, cross-project, authority-repo, peer-repo,19 downstream, sister-repo, shared-contract, inbox, or XPD coordination20- a repo already declares `docs/forge/cross-project/`21- an authority-owned contract change needs affected repo review2223## Do Not Use When2425- normal single-repo team mode is sufficient26- the repo only needs `contract-first` local contract discipline27- no repo can act as authority and the user has not chosen a federation model2829## Covers3031- authority, peer, and downstream repo roles32- `docs/forge/cross-project/` scaffolding33- cross-repo coordination ledger entries34- contract documents for authority-owned shared shapes35- XPD records for cross-project decisions36- inbox drafts from peer repos37- agent-surface pointers from peer or downstream repos to the authority repo3839## Read On Demand4041- `../references/cross-project.md`4243Use templates from `../assets/cross-project/templates/` when creating or44refreshing cross-project docs.4546## Workflows4748### Initialize Authority Repo4950When the user asks to initialize the current repo as the authority repo:51521. Read `../references/cross-project.md`.532. Create `docs/forge/cross-project/`.543. Copy the authority-repo templates from `../assets/cross-project/templates/`.55 Exclude `sister-repo-pointer.md` unless adding a peer or downstream pointer.564. Fill project-specific repo names, owner fields, and dates when known.575. Keep `COORDINATION.yaml` as the cross-project ledger, not a replacement for58 the task source or issue tracker.596. Add a short pointer in `docs/forge/AI.md` only when that file exists.607. Add `docs/forge/cross-project/README.md` to root agent-surface reading61 order only when those surfaces already exist.6263### Create XPD6465When the user asks for a new cross-project decision:66671. Find the next `XPD-NNNN` number under68 `docs/forge/cross-project/decisions/`.692. Create `XPD-NNNN-<slug>.md` from the XPD template.703. Set status to `draft` unless the user explicitly says otherwise.714. Add or update the matching entry in `COORDINATION.yaml`.725. If a contract shape changes, link the affected contract doc from the XPD.7374### Draft Inbox Proposal7576When working from a peer repo:77781. Create an inbox draft from `inbox/draft-template.md`.792. Record the originating repo, requested change, affected contracts, and open80 questions.813. Do not edit authority-owned contract docs directly from the peer repo unless82 the user explicitly instructs that this repo is also the authority.8384### Add Sister Repo Pointer8586When adding cross-project awareness to a peer or downstream repo:87881. Prefer existing agent-surface files such as `AGENTS.md`, `CLAUDE.md`,89 `.github/copilot-instructions.md`, Cursor rules, Codex hooks, or Windsurf90 rules.912. Insert a compact pointer based on `sister-repo-pointer.md`.923. Include the authority repo location, reading order, and any specific XPD or93 contract docs the repo must check.944. Keep the pointer explicit and non-blocking; do not make FORGE always-on.9596## Hard Stops9798Stop and ask for a human decision when:99100- no authority repo is identifiable101- two repos claim authority for the same contract102- a peer repo proposes a breaking contract change without an XPD103- an XPD lists a repo in `review_requested_from` and that repo has not reviewed104- a project needs a federation model rather than authority-led coordination105106## Rationalizations To Reject107108| Rationalization | FORGE response |109|---|---|110| "The peer repo can just patch the contract." | Authority-owned contracts change through the authority workflow. |111| "This breaking change is obvious." | Breaking or externally visible changes require XPD traceability. |112| "We can notify sister repos after merge." | XPDs pause for listed affected repo review before acceptance. |113| "The inbox draft is already a decision." | Inbox drafts are proposals until elevated by the authority repo. |114115## Evidence Required116117- authority, peer, or downstream role recorded or explicitly confirmed118- `COORDINATION.yaml` entry for active cross-project movement119- linked XPD, inbox draft, contract doc, PR/MR, or issue artifact120- review status for repos listed in `review_requested_from`121- updated agent-surface pointer when adding a peer or downstream repo