Integration Orchestration
Overview
This skill provides a robust, high-frequency workflow for merging multiple active development streams (from Git worktrees or feature branches) into a disposable integration-preview branch. It is designed for fast-paced agentic environments where integration checks should happen continuously or on-demand, rather than just daily.
When to Use
- •Condition: The project MUST be a Git repository.
- •Trigger: Frequent intervals (e.g., hourly, on-demand, or after any significant agent task completion).
- •Goal: Rapidly verify that fast-moving parallel workstreams are compatible before they hit the main branch.
The Orchestration Workflow
1. Discovery
- •List Worktrees: Identify all active worktrees and their current HEAD branches.
git worktree list - •Filter: Exclude
main,master, or maintenance branches. Focus on feature/fix branches.
2. Preparation
- •Fetch Latest: Ensure local repo is up to date.
- •Create Ephemeral Branch: Create a fresh branch from the production trunk.
git checkout main && git pullgit checkout -b integration-preview-YYYY-MM-DD-HHMM
3. The Merge Loop
Iterate through each discovered active branch:
- •Attempt Merge:
git merge origin/<branch-name> --no-ff - •On Success: Log success, proceed to next.
- •On Conflict:
- •Abort:
git merge --abort - •Exclude: Remove this branch from the current integration candidate list.
- •Report: Note the conflict (conflicting files) for the final report.
- •Abort:
4. Verification
- •Install Dependencies: Run
npm install,pip install, etc., as appropriate. - •Run Tests: Execute the full test suite on the combined state.
npm testorpytest
5. Reporting
- •Generate Summary:
- •✅ Integrated: List of branches successfully merged.
- •❌ Excluded (Conflict): List of branches that failed to merge, with conflict details.
- •📊 Test Status: Pass/Fail of the combined build.
- •Cleanup: Offer to delete the
integration-previewbranch if the test fails or upon user request.
Safety Rules
- •NEVER resolve conflicts automatically during orchestration. If it conflicts, it is excluded.
- •NEVER push the
integration-previewbranch to production/main. - •ALWAYS ensure the repo is clean (or stashed) before starting.