sync-docs-release
Skill50 starsChanged 4 days agoMITView on GitHub
Use when the user wants to sync docs and then cut a release in one shot. Combines sync-docs (which lands its edits through its own docs PR) → optional merge of that PR → create-release in sequence. Triggers on phrases like "sync docs and release", "sync and cut a release", "update docs and publish a release".
In this repository39 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- app-prdSkill
- cli-dispatchSkill
- codex-validate-plan-work-on-issueSkill
- create-releaseSkill
- execution-plan-reviewSkill
- expo-app-initializeSkill
- fable-advisorSkill
- fable-dispatchSkill
- fable-new-issue-loopSkill
- fable-new-issueSkill
- fable-orchestrateSkill
- fableplan-loopSkill
- fableplanSkill
- fableplan-work-on-issueSkill
- fable-validate-fableplan-loopSkill
- fable-validate-fableplanSkill
- fable-validate-loopSkill
- fable-validateSkill
- fix-pr-review-loopSkill
- fix-pr-reviewSkill
- github-issue-formatSkill
- issueplanSkill
- milestoneplanSkill
- milestone-workflowSkill
- new-app-pipelineSkill
- new-issue-loopSkill
- new-issueSkill
- prd-questionsSkill
- prd-to-issuesSkill
- pr-reviewSkill
- sync-docsSkill
- tldrSkill
- validate-fableplan-loopSkill
- validate-issue-loopSkill
- validate-issueSkill
- wansSkill
- work-on-issue-loopSkill
- work-on-issueSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
If sync-docs reported no doc changes, go straight to Step 3.
- Very specific: line 20
When the caller's approved plan already authorizes the docs-sync PR and its merge (as the milestone-workflow close-out does with merging …
- Distinctive: line 26
Treat their answer, or the caller's plan, as authorization for that one merge only.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
sync-docs-release
Runs three operations in strict sequence, all in the main session. Do not skip steps or reorder them, and do not delegate any step to a subagent.
Step 1 — Sync docs
Invoke the sync-docs skill via the Skill tool and follow it to completion here, passing the user's request plus any session context (target branch, last-sync SHA, specific files).
sync-docs works in its own worktree off the latest origin/<default> and ends with either "no doc changes" or an open docs PR. Summarize the doc edits and the PR for the user before proceeding.
Step 2 — Decide how the docs PR relates to the release
If sync-docs reported no doc changes, go straight to Step 3.
When the caller's approved plan already authorizes the docs-sync PR and its merge (as the milestone-workflow close-out does with merging on), take the merge-then-release choice below without asking. Otherwise ask the user once (AskUserQuestion) how Step 3 should relate to it:
- Merge the doc PR once its checks pass, then release from the updated default branch (recommend this one).
- Release now without the doc changes, leaving the PR open.
- Stop here with no release.
Treat their answer, or the caller's plan, as authorization for that one merge only. Their answer never authorizes the version-bump PR merge that create-release asks about. Never merge without that answer or that plan, and never merge past a failing or pending check.
Step 3 — Create a release
Skip this step entirely if the user chose "stop here".
If they chose merge-then-release, first wait for the PR's checks (gh pr checks <n> --watch); a failing or pending check stops the run with the PR left open and no release. Apply the create-release step 4 Merge bullet's rules to this docs PR: its no-checks rule (no checks reported counts as no failing check only when $DEFAULT requires no status check) and its merge-method choice (--squash, else --merge, else --rebase, as the repo allows). Then merge it with that method and its head pinned (--match-head-commit <head-sha>). After the merge command, read gh pr view <n> --json state,mergeCommit. When state is not MERGED (a merge queue holds the PR, or gh pr merge only enabled auto-merge), stop with the PR left open, report its state, and start no release. Otherwise git fetch origin and confirm git merge-base --is-ancestor <mergeCommit.oid> "origin/$DEFAULT" holds before create-release starts. On both release paths, remove the sync-docs worktree (git worktree remove <path>; the branch and the PR stay) and run git fetch origin before create-release starts. Do not check out or pull the local default branch.
Then invoke the create-release skill via the Skill tool and follow it to completion here, carrying the user's original context (target version or bump type, release-notes specifics) and how the doc changes landed (the PR number and merge commit, or the fact that they are still unmerged).
Report the tag and the release URL to the user.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

