Safely plan, implement, validate, and publish contributions to diegosouzapw/OmniRoute. Use for every OmniRoute contribution task that may inspect or change code, create or update a branch, commit, push, add a changelog fragment, open or update a pull request, or mark a PR ready for review. Trigger again at the start of each new PR or independently publishable task, even within the same conversation.
Resources
2Install
npx skillscat add alex-jordan547/agent-setup/omniroute-contribution Install via the SkillsCat registry.
OmniRoute Contribution
Treat the current repository as the source of truth. Never reuse a remembered contribution workflow
without refreshing it for the current PR.
Start every contribution task
- Run
scripts/contribution_preflight.sh startfrom the OmniRoute worktree. - Read these files completely from the current active release context before planning or editing:
- root
AGENTS.mdand everyAGENTS.mdgoverning directories in scope; CONTRIBUTING.md;docs/dev/CONTRIBUTION_GOLDEN_PATH.md;docs/ops/BRANCHING_MODEL.md;changelog.d/README.md;.github/pull_request_template.md.
- root
- Read the area-specific architecture, security, or contributor documents linked by those files.
- Verify the highest active
release/v*branch and check for an openrelease-freezemarker using
live GitHub state. Do not infer either from package versions or memory. - Classify the change by Golden Path category and copy its contracts, focused tests, and gates into
the working plan.
If the repository guidance changed, replace the workflow below with the new repository guidance and
explain the change to the user.
Keep contribution lifecycle ownership at the root
The primary agent owns the base branch, commits, changelog fragment, PR state, remote verification,
and CI follow-up. Delegated agents may inspect or edit an explicitly bounded working set, but must not
create branches, commits, pushes, changelog fragments, or PR state transitions unless explicitly
assigned that lifecycle responsibility.
Monitor every delegated task until completion and integrate its evidence before publishing.
Implement and validate
- Branch from the verified active release tip using the repository's naming conventions.
- Name every affected contract before editing.
- Keep the diff scoped and preserve unrelated user changes.
- Add or update focused automated tests for production-code changes.
- Run the category-specific Golden Path loop during implementation.
- Before review, fetch the active base again, inspect incoming commits, reconcile the branch, inspect
git diff <active-base>...HEAD, and rerun every focused check recorded in the PR description.
Do not claim the full test matrix passed when it was left to CI. Record CI-only validation explicitly.
Publish with the mandatory draft sequence
For a user-facing change requiring a changelog fragment, use this state machine exactly:
- Commit the implementation and focused tests.
- Run
scripts/contribution_preflight.sh draft. - Push the branch and verify the exact remote SHA.
- Create the PR as draft against the verified active release branch using the repository template.
- Read back the PR and record its actual number, base, head, draft state, and head SHA.
- Add exactly one appropriate
changelog.d/{features|fixes|maintenance}/<PR>-<slug>.mdfragment
containing the PR link and repository credit format. Never guess or reserve a PR number. - Run formatting,
npm run check:changelog-integrity, the recorded focused loop, andgit diff --checkon the final tree. - Commit and push the fragment, then verify the remote SHA again.
- Run
scripts/contribution_preflight.sh ready <PR-number> <base-branch>. - Read back the remote PR again. Confirm that it is still draft, its base/head and remote SHA match,
its description records the real evidence, and required checks are not known failing. - Obtain action-time user confirmation before marking the PR Ready for review.
- Mark it Ready, verify
draft=false, then monitor the CI jobs triggered by the transition.
For a change that genuinely needs no fragment, write the reason in the PR description and still use
the draft sequence. Never silently omit the fragment for user-facing behavior.
Fail closed
Stop before publication or Ready transition when any of these is unresolved:
- active release or freeze status;
- applicable repository instructions;
- dirty or unintended diff;
- missing focused test for production code;
- missing or mismatched PR-numbered fragment;
- local/remote SHA mismatch;
- PR base/head/draft mismatch;
- required local gate failure;
- missing user confirmation for the Ready transition.
Do not downgrade a failure to a warning merely to finish the workflow.
Helper script
Resolve scripts/contribution_preflight.sh relative to this skill directory, but execute it with the
OmniRoute repository as the working directory. A standard shared installation can run:
"$HOME/.agents/skills/omniroute-contribution/scripts/contribution_preflight.sh" start
"$HOME/.agents/skills/omniroute-contribution/scripts/contribution_preflight.sh" draft
"$HOME/.agents/skills/omniroute-contribution/scripts/contribution_preflight.sh" ready 9245 release/v3.8.50The script validates local and remote invariants. It does not replace live GitHub verification of
release freezes, PR state, CI, or user confirmation.