sync-main
Skill147 starsChanged 23 days agoMITView on GitHub
Update the v0 docs archive on main (arkenv-v0.vercel.app) immediately without waiting for a new npm release. Use this skill whenever the user mentions 'hotfix docs', 'push doc changes live now', 'promote docs to main', 'bypass package release for docs', 'sync-main', 'sync main', or wants to rescue already-merged doc commits from dev. It handles cherry-picking to main and merging main back into dev to prevent git drift. Note: Production / arkenv.js.org tracks v1 — sync-main does not flip apex.
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 3 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 12
After the RC docs cutover (Option A), a push to main refreshes the v0 archive at https://arkenv-v0.vercel.app.
- Very specific: line 17
Before performing any Git actions, you must analyze the changes between dev and main to classify the sync:
- Distinctive: line 19
Run the following command to check the list of changed files:
- Very specific: line 27
Doc-Only (Easy Case): All changed files are strictly under docs/, apps/www/, or are root-level Markdown files (matching the regex …
- Very specific: line 55
If there are changes in the packages/ directory, do not execute any git commands automatically.
- Very specific: line 62
Keep the doc changes on dev and let them deploy naturally on the next package release.
- Distinctive: line 71
If the urgent doc fix is bundled in the *exact same commit* as unreleased package code, do not cherry-pick.
- Distinctive: line 78
If the user explicitly approves Option 3, follow these steps using the helper script:
- Very specific: line 98
If conflicts occur during reconciliation, prompt the user to help resolve them, commit, and push dev.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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 Main
This skill enables you to safely sync documentation and tooling changes from the dev branch to main without waiting for the next package release, while ensuring that the dev and main branches remain in a clean, compatible topological state (preventing future merge conflicts).
After the RC docs cutover (Option A), a push to main refreshes the v0 archive at https://arkenv-v0.vercel.app. It does not deploy Production / arkenv.js.org (that tracks v1). Use this skill for urgent legacy v0 doc fixes, not for the live v1 site.
Analysis Step (Do This First)
Before performing any Git actions, you must analyze the changes between dev and main to classify the sync:
Run the following command to check the list of changed files:
git fetch origin
git diff --name-only origin/main...origin/devBased on the file list, classify the sync into one of the following three categories:
- Doc-Only (Easy Case): All changed files are strictly under
docs/,apps/www/, or are root-level Markdown files (matching the regex^(docs/|apps/www/|[^/]+\.md)$). - Infra-Only (Easy Case + Force): There are no changes to package code, tests, or examples, but there are changes to workflows, scripts, or skills (e.g.
.github/workflows/,scripts/,skills/). - Code Changes (Hard Case): There are modifications to files in the
packages/,tests/,examples/, orapps/directories (unreleased library features, fixes, or test/example updates).
Easy Case Workflows
Category 1: Doc-Only Sync
Since the changes are strictly doc-only, they are safe to sync directly:
- Instruct the user that they can run the Sync main workflow normally.
- Or trigger it automatically via GitHub CLI:
gh workflow run sync-main.yml --ref dev
Category 2: Infra-Only Sync
Since the changes contain tooling or workflow updates but do not touch the library package code, they can be synced, but the workflow's safety check will block them unless overridden:
- Instruct the user that they can run the Sync main workflow but must check the
force_overridecheckbox in the GitHub UI. - Or trigger it automatically via GitHub CLI with the bypass flag:
gh workflow run sync-main.yml --ref dev -f force_override=true
Hard Case Workflow
If there are changes in the packages/ directory, do not execute any git commands automatically. You must stop and interview the user in the chat to align on how to proceed.
The Interview
Present the user with a clear summary of the unreleased package files that were detected, outline their choices, and make a recommendation based on the situation:
- Option 1: Wait for Release
- Keep the doc changes on
devand let them deploy naturally on the next package release. - Recommendation: Use this if the doc fix is not urgent.
- Keep the doc changes on
- Option 2: Run a Patch Release
- Release a patch version of the packages (
pnpm changeset-> trigger release workflow). - Recommendation: Use this if the doc fix is urgent, and the unreleased library code on
devis stable and ready to go live.
- Release a patch version of the packages (
- Option 3: Cherry-Pick/Rescue
- Cherry-pick only the doc commits onto
main(if the doc fixes are isolated in their own clean commits). - Recommendation: Use this if the doc fix is urgent, the library code on
devcannot be released, AND the doc commits do not contain unreleased code.
- Cherry-pick only the doc commits onto
- Option 4: Manual Recreation (Tangled Commits)
- If the urgent doc fix is bundled in the exact same commit as unreleased package code, do not cherry-pick. Instead, manually recreate the doc fix directly against
mainusing your code editing tools. - Recommendation: Use this if the doc fix is urgent but the commits are hopelessly tangled with unreleased code.
- If the urgent doc fix is bundled in the exact same commit as unreleased package code, do not cherry-pick. Instead, manually recreate the doc fix directly against
Executing Option 3 (Cherry-Pick / Rescue)
If the user explicitly approves Option 3, follow these steps using the helper script:
- Identify Commit Hashes:
Locate the specific commit hashes on
devcontaining the doc changes. - Run Rescue Script:
Execute the helper script to cherry-pick these commits onto a branch from
origin/main:./scripts/sync-main.sh rescue <commit-hash-1> [commit-hash-2 ...] - Submit PR:
The script will attempt to create a PR to
mainviaghCLI. If it fails, help the user open the PR manually. - Deploy:
Once the PR is merged to
main, the v0 archive (https://arkenv-v0.vercel.app) refreshes. Production /arkenv.js.orgis unchanged (tracksv1). - Reconcile:
Merge
mainback intodevto prevent drift:
If conflicts occur during reconciliation, prompt the user to help resolve them, commit, and push./scripts/sync-main.sh reconciledev.
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- SrdjanCoric/skills★ 18same name
- kuhlman-labs/fishhawk★ 9same name
- noGarne/skills★ 1same name
- venables/skills★ 1same name
- kameyama/claude_skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository40 other files it gives its agents.
- .agents/AGENTS.mdAGENTS.md
- AGENTS.mdAGENTS.md
- skills/typescript/AGENTS.mdAGENTS.md
- .agents/platforms/copilot-instructions.mdCopilot instructions
- arkenvSkill
- bulletproof-reactSkill
- changesetSkill
- code-reviewSkill
- create-skillSkill
- diagnoseSkill
- docs-writerSkill
- excalidrawSkill
- forward-portSkill
- gh-cliSkill
- grill-meSkill
- grill-with-docsSkill
- groom-issueSkill
- hallmarkSkill
- hexagonal-architectureSkill
- improve-codebase-architectureSkill
- internalize-skillSkill
- jsdocSkill
- modularizeSkill
- next-best-practicesSkill
- nuxtSkill
- pnpmSkill
- point-latest-at-rcSkill
- rename-skillSkill
- setup-matt-pocock-skillsSkill
- tackle-issueSkill
- tddSkill
- the-hatSkill
- the-voiceSkill
- to-prdSkill
- triageSkill
- turborepoSkill
- typescriptSkill
- write-a-skillSkill
- write-issueSkill
- zoom-outSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

