feat(skills): add orchestrate-epic + fast-feature devflow skills - #78
Merged
Conversation
orchestrate-epic is a persistent, cross-repo epic coordinator: it ingests an epic (with per-dimension trust for user-supplied PRD/design/spec), builds the dependency graph from BOTH formal Jira issuelinks AND free-text "Dependencies" notes (the latter matters — real epics carry zero formal links), computes a parallel wave schedule + eligibility/workable filter deterministically via lib/schedule.py, presents the schedule, spawns one fast-feature session per workable ticket with a distilled per-ticket brief, then stays resident as a coordinator that re-verifies unblocks (Jira + MR) before advancing a wave. fast-feature is the reusable per-ticket driver (also invoked by orchestrate-epic): ambiguity-only quick brainstorm, then spec -> plan -> lock-tests back-to-back in ONE session (suppressing the intermediate phase-handoffs), spawning a new session only at the execute boundary. Validation: schedule.py has 14 passing behavior tests (lib/schedule_test.py, fixtures = the real MES-4414 tag graph, cycle-abstain + eligibility edge cases); tessl review scores orchestrate-epic 94, fast-feature 88 (both >= 85). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TL;DR
Two new devflow skills for coordinating and driving epic work.
/devflow:orchestrate-epic <epic-url>(the "brain"): ingests an epic, builds the dependency graph from BOTH formal Jira issuelinks AND the free-text "Dependencies" notes in ticket descriptions, computes a deterministic parallel wave schedule + eligibility/workable filter, presents it, offers to spawn onefast-featuresession per workable ticket, then stays resident as a coordinator that re-verifies unblocks (Jira + MR) before advancing a wave./devflow:fast-feature <ticket>(the reusable per-ticket driver, also invoked by orchestrate-epic): an ambiguity-only quick brainstorm, then spec, plan, and lock-tests back-to-back in ONE session, spawning a new session only at the execute boundary.Why
The standard devflow pipeline is per-ticket and spawns a session at every phase boundary (spec, plan, lock-tests, impl). Coordinating a multi-ticket, cross-repo epic on top of that meant holding the whole dependency picture by hand. These skills split that into a coordination layer (orchestrate-epic) that composes a fast per-ticket layer (fast-feature), so you can start every non-blocking ticket in parallel without breaking dependencies, and keep one resident brain that answers "what is unblocked now".
Real driver: on the MES-4414 WhatsApp-tags vertical, every child ticket had EMPTY formal Jira issuelinks; all dependencies lived only in the "Dependencies" description text. A links-only coordinator would read a zero-edge graph and call everything unblocked. orchestrate-epic reads both sources, so it schedules correctly.
Changes
skills/orchestrate-epic/SKILL.mdskills/orchestrate-epic/lib/schedule.pyskills/orchestrate-epic/lib/schedule_test.pyskills/orchestrate-epic/requirements.jsonskills/fast-feature/SKILL.md+requirements.jsonskills/registry.jsondevflow-plugin/**make skills-sync)Design notes
(unassigned AND To Do)or(assigned to me AND (To Do OR In Progress)). The "mine + In Progress" allowance covers moving a ticket to In Progress before actually starting it.Validation
schedule.py: 14/14 behavior tests pass. Fixtures are the real MES-4414 tag graph, plus a cycle case (asserts abstain, exit 10) and the eligibility edge cases.tessl review run: orchestrate-epic 94, fast-feature 88 (both at or above 85).make skills-checkandmake flows-checkpass locally.🤖 Generated with Claude Code