eliteforge-feature-oriented-release-flow
Stateful release workflow controller for EliteForge Feature-Oriented Git projects. Use for workflow boundary actions such as initializing iteration branches, publishing dev, submitting or verifying QA, deploying QA, handling QA fixes, squashing a feature branch, merging release branches, deploying snapshot or formal versions, tagging a version, or merging a release back to master. Do not use for ordinary coding, local tests, formatting, simple commits, or unrelated Git inspection.
What this skill does
# EliteForge Feature-Oriented Release Flow ## Overview Advance one release workflow state at a time for the full EliteForge Feature-Oriented Git process. Keep the state machine strict at release boundaries, but leave normal development work outside this skill. ## Invocation Boundary Always follow the EliteForge Git Feature-Oriented Spec. Use this skill only for workflow boundary actions: - Initialize iteration branches. - Publish feature work to dev through `nightly`. - Submit, verify, or deploy QA through `qa/<version>`. - Return from failed QA to feature fixes. - Squash the feature branch after QA passes. - Merge approved feature branches into `release/<version>`. - Rebase/push release, deploy snapshot, tag, deploy formal version, and merge back to `master`. Do not use this skill for ordinary feature coding, routine commits, local tests, linting, formatting, dependency bumps, or generic Git questions. ## Inputs - `version`: required release version, for example `1.0.0`. - `developer`: required developer segment, for example `clouds3n`. - `taskName`: required branch-safe task name, for example `demo`. - `taskId`: optional task identifier, for example `#123`. - `multiAgent`: optional mode. Use it only when the task has entered the EliteForge Git Feature-Oriented Spec multi-agent workflow. When `taskId` exists, derive non multi-agent branch `feature/<version>/<developer>/<taskId>/<taskName>` and state file `docs/tasks/release-flow/<version>/<taskId>-<taskName>.json`. When `taskId` is absent, derive non multi-agent branch `feature/<version>/<developer>/<taskName>` and state file `docs/tasks/release-flow/<version>/<taskName>.json`. When `multiAgent` is active, the release-flow `feature_branch` is the matching multi-agent base branch: `feature/<version>/<developer>[/<taskId>]/<taskName>/base`. Subagent branches must already be merged into this `/base` branch before release-flow promotion states run. ## Operating Rules - Execute exactly one state transition per user request unless the user explicitly asks for a larger run. - Before risky transitions, run `scripts/release_flow_state.sh --version <version> --developer <developer> --task-name <taskName>` from the target repository; add `--task-id <taskId>` only when a task ID exists, and add `--multi-agent` only when the release-flow feature branch must be `.../<taskName>/base`. - Use `references/release-flow-state-machine.md` when command details, transition guards, or failure handling are needed. - Persist workflow state in `docs/tasks/release-flow/<version>/<taskId>-<taskName>.json`. This state file is required, not optional. - `taskId` is optional. If `taskId` is absent, persist workflow state in `docs/tasks/release-flow/<version>/<taskName>.json`. - Use the literal `taskId` and `taskName` in the state file name. Do not strip `#` from task IDs such as `#123`; quote the path in shell commands. Do not add a leading hyphen when `taskId` is absent. - Stop if `version`, `taskId` when present, or `taskName` contains `/`, because each value must remain one path segment. - Do not use `/base` for non multi-agent release flows. If a task starts non multi-agent and later enters multi-agent mode, rename the existing feature branch to the matching `/base` branch before creating or promoting subagent work. - Update the state file only after the command sequence and guard checks for the new state have succeeded. Use `scripts/persist_release_flow_state.py` for the write. ## Invariants - Stop if `git status --porcelain` contains non-state-file changes before switching, merging, rebasing, tagging, deploying, or pushing, except when intentionally committing user changes. - Never skip MR approval before QA deployment. - Never force push except after feature squash or release rebase. - Never deploy from an ambiguous or wrong branch. - Never continue automatically through merge conflicts, rebase conflicts, missing remote branches, existing tags, failed deploys, or unclear protected-branch rules. - Treat `master` and `main` as equivalent only for branch policy; follow the repository's actual default branch in commands. If this release flow names `master`, verify whether the repo uses `master` or `main` before executing. ## Compact State Table | State | Expected branch | Boundary action | Next | | --- | --- | --- | --- | | `READY` | any clean branch | Fetch, prune, verify default branch | `INIT_BRANCHES` | | `INIT_BRANCHES` | default branch refs | Create `feature`, `qa`, and `release` from default | `FEATURE_DEV` | | `FEATURE_DEV` | `feature/...` or `feature/.../base` | Commit normal feature or fix work | `DEV_PUBLISH` | | `DEV_PUBLISH` | `nightly`, then feature | Merge feature into `nightly`, push, deploy dev, push feature | `QA_MR` | | `QA_MR` | GitLab | Create or verify MR from feature to `qa/<version>` | `QA_DEPLOY` | | `QA_DEPLOY` | `qa/<version>` | Pull QA, deploy `VERSION=<version>-SNAPSHOT` | `FEATURE_FIX` or `SQUASH` | | `FEATURE_FIX` | `feature/...` or `feature/.../base` | Commit QA fix | `DEV_PUBLISH` | | `SQUASH` | `feature/...` or `feature/.../base` | Interactive rebase from merge-base, force push feature | `RELEASE_MERGE` | | `RELEASE_MERGE` | `release/<version>` | Merge approved squashed feature branches | `RELEASE_REBASE` | | `RELEASE_REBASE` | `release/<version>` | Rebase onto default remote, force push release | `SNAPSHOT_DEPLOY` | | `SNAPSHOT_DEPLOY` | `release/<version>` | Deploy `VERSION=<version>-SNAPSHOT` | `TAG` | | `TAG` | `release/<version>` | Create and push tag `<version>` | `PROD_DEPLOY` | | `PROD_DEPLOY` | `release/<version>` | Deploy `VERSION=<version>` | `MASTER_BACKMERGE` | | `MASTER_BACKMERGE` | default branch | Fast-forward merge `release/<version>` or create protected-branch MR | `DONE` | ## Resources - `references/release-flow-state-machine.md`: Complete state machine, command templates, guards, and blocked states. - `scripts/release_flow_state.sh`: Read-only Git diagnostic helper for current branch, cleanliness, derived branches, state file path, upstreams, remote refs, local tag existence, optional remote tag existence, and state hints. - `scripts/persist_release_flow_state.py`: Deterministically create or update the required state JSON after a successful state transition.
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.