Optional code-delivery discipline: decide whether this run needs commit + PR/MR, then commit/push via git-commit and create or update the PR/MR. Use after verification (and OpenSpec archive when the host requires it) and before feature-branch-closeout. Do NOT use for protected-branch merge (merge-discipline) or release→main shipping (git-release-finish). Triggers — 「提交并开PR」「提交并开MR」「代码交付」「开PR」「开MR」「delivery-discipline」 / deliver code, commit and open PR, open merge requ…
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Claude CodeNot declared
CursorNot declared
CodexNot declared
GitHub CopilotNot declared
WindsurfNot declared
Gemini CLINot declared
ClineNot declared
OpenCodeNot declared
Repository health
Stars6
LicenseLICENSE
Default branchmain
Open issues0
Status
Active
Skill metadata
Parsed from SKILL.md frontmatter.
Version1.0.0
Package contents
Files included with this skill beyond the listing page.
skill mdSKILL.md5,126 B
docsSUMMARY.md560 B
History
First seen on skills.sh
First recorded snapshot · 28 installs
SKILL.md
Delivery Discipline
Shared skill — single source of truth for optional post-verify code delivery: need-delivery gate → commit/push → open or update PR/MR. Hosts declare it in dependencies and abort if missing — no silent fallback.
Layering: git-commit (commit/push) → this skill (delivery orchestration) → feature-branch-closeout (menu) → merge-discipline (merge gates). Do not fold merge or release shipping into this skill.
Prerequisite skill check
On load, verify git-commit is available; if missing, abort with install hint (npx skills add FuDesign2008/open-skills -g --skill git-commit --yes). No silent degrade.
After verification is green (or pendings are explicitly listed) — and after OpenSpec archive when the host requires archive before delivery — when the run may need commits and/or a PR/MR.
Not this skill: merge into a protected branch; release-tag / release→main flows; commit-only with no PR intent (call git-commit directly).
1. Need-delivery gate
Skip the rest of this skill (no commit, no PR) when any of the following holds:
Signal
Meaning
Clean delivery surface
No uncommitted changes and no commits ahead of the intended PR base (or no feature branch work to publish)
User declined
User said this run should not deliver / no PR / analysis-only
Host marked non-delivery
Host path is analysis-only or equivalent with no code (or artifact) changes to publish
When skipping: state the reason in one line and return to the host (typically feature-branch-closeout or retrospective). Do not open an empty PR.
When delivery is needed (dirty tree, ahead commits, or user/host requested PR): continue.
2. Commit / push
If there are uncommitted changes: load git-commit with execute=true (unless the user asked for manual commit commands only). Pass {commit-context} when the host has Jira IDs or a fixed message format.
If the tree is clean but the branch is ahead of the remote: push as part of git-commit's auto flow, or push explicitly if commit was skipped.
If already committed and already pushed: continue to §3 without re-committing.
Idempotency: never create an empty commit; never re-commit the same tip “for ceremony.”
If an open PR/MR already exists for this head branch: update title/body when the host supplies new {pr-body-extra}; ensure the branch is pushed.
If none exists: create one against the default / protected base branch.
Minimum body (always): summary of intent, changed-file overview, verification status (Executed / Pending per completion-evidence-discipline honesty when the host has verification notes).
Append {pr-body-extra} exactly as the host provided (do not drop Jira/OpenSpec fields).
Stop after presenting the PR/MR URL. Do not merge.
4. Return to host
Hand back: branch name, tip SHA, PR/MR URL (or “skipped — <reason>”). Hosts then load feature-branch-closeout for merge / keep / continue (and PR-only if delivery was skipped earlier and the user later chooses open PR — closeout option 1 re-enters this skill).
Host integration
solve-workflow / opsx-solve-workflow: after verify (and archive for opsx), load this skill, then feature-branch-closeout, then retrospective.
jira-fix-workflow stage 9 / opsx-jira-fix-workflow post-archive delivery: thin-reference this skill; pass Jira/OpenSpec fields via {pr-body-extra} and {commit-context}.
feature-branch-closeout option “Open / update PR”: load this skill (idempotent).
Prefer not copying commit-message or PR-body prose into hosts beyond the field map.
Forbidden
Merging the PR/MR from this skill
Embedding merge-discipline Parts A–D
Requiring a PR on every host run (gate in §1 is mandatory)
Silent no-op when the user explicitly asked to open a PR and the tree has deliverables