Agent skill

Sync Main

by yamcodes in yamcodes/arkenv

Update the v0 docs archive on main (arkenv-v0.vercel.app) immediately without waiting for a new npm release.

MITAuto-check passedDevelopment

Install Sync Main

skills CLI
$ npx skills add yamcodes/arkenv --skill sync-main -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yamcodes/arkenv sync-main --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/yamcodes/arkenv.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/sync-main .claude/skills/sync-main && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
sync-main
GitHub stars
145
Token cost
~1.4k tokens
SKILL.md length
678 words
Files
1
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

Update the v0 docs archive on main (arkenv-v0.vercel.app) immediately without waiting for a new npm release.

  • Works in 3 steps: Doc-Only (Easy Case): All changed files… → Infra-Only (Easy Case + Force): There… → Code Changes (Hard Case): There are…
  • The user mentions hotfix docs
  • SKILL.md covers Analysis Step (Do This First), Easy Case Workflows and Hard Case Workflow
  • Calls git, gh and pnpm; reaches arkenv-v0.vercel.app

What it does

Sync Main is an agent skill from yamcodes/arkenv. 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.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Git workflow. It works with Git, Vercel, npm and GitHub. The repository describes itself as: ⛯ Typesafe environment variables with ArkType, Zod, or Valibot. The licence is MIT.

When your agent uses it

  • The user mentions hotfix docs
  • Push doc changes live now
  • Promote docs to main
  • Bypass package release for docs

Example prompts

  • “hotfix docs”
  • “push doc changes live now”
  • “promote docs to main”
  • “/sync-main”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Doc-Only (Easy Case): All changed files are strictly under docs/, apps/www/, or are root-level Markdown files (matching the regex…
  2. Infra-Only (Easy Case + Force): There are no changes to package code, tests, or examples, but there are changes to workflows, scripts, or…
  3. Code Changes (Hard Case): There are modifications to files in the packages/, tests/, examples/, or apps/ directories (unreleased library…

What it can do on your machine

Read from SKILL.md and the folder at commit 74b3732. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh
    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • arkenv-v0.vercel.app

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sync Main loads about 1.4k tokens when it runs. Until then it costs about 127 tokens; SKILL.md has 678 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~127
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from yamcodes/arkenv at commit 74b3732, republished under its MIT licence (© yamcodes). 678 words, ~1,354 tokens.

Download SKILL.mdSave it as .claude/skills/sync-main/SKILL.md (or your agent's skills folder).
name
sync-main
description
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.
metadata
internal: true

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:

bash
git fetch origin
git diff --name-only origin/main...origin/dev

Based on the file list, classify the sync into one of the following three categories:

  1. 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)$).
  2. 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/).
  3. Code Changes (Hard Case): There are modifications to files in the packages/, tests/, examples/, or apps/ 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:
    bash
    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_override checkbox in the GitHub UI.
  • Or trigger it automatically via GitHub CLI with the bypass flag:
    bash
    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.

Show full SKILL.md (339 more words)Show less
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:

  1. Option 1: Wait for Release
    • Keep the doc changes on dev and let them deploy naturally on the next package release.
    • Recommendation: Use this if the doc fix is not urgent.
  2. 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 dev is stable and ready to go live.
  3. 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 dev cannot be released, AND the doc commits do not contain unreleased code.
  4. 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 main using your code editing tools.
    • Recommendation: Use this if the doc fix is urgent but the commits are hopelessly tangled with unreleased code.

Executing Option 3 (Cherry-Pick / Rescue)

If the user explicitly approves Option 3, follow these steps using the helper script:

  1. Identify Commit Hashes: Locate the specific commit hashes on dev containing the doc changes.
  2. Run Rescue Script: Execute the helper script to cherry-pick these commits onto a branch from origin/main:
    bash
    ./scripts/sync-main.sh rescue <commit-hash-1> [commit-hash-2 ...]
  3. Submit PR: The script will attempt to create a PR to main via gh CLI. If it fails, help the user open the PR manually.
  4. Deploy: Once the PR is merged to main, the v0 archive (https://arkenv-v0.vercel.app) refreshes. Production / arkenv.js.org is unchanged (tracks v1).
  5. Reconcile: Merge main back into dev to prevent drift:
    bash
    ./scripts/sync-main.sh reconcile
    If conflicts occur during reconciliation, prompt the user to help resolve them, commit, and push dev.

© yamcodes, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/sync-main of yamcodes/arkenv.

Open the folder on GitHubat commit 74b3732

Compare with similar skills

Sync Main next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Sync Main compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sync Main this skillyamcodes/arkenv145—~1.4kAutomated safety check: PassMIT
Hunk Release Workflowmodem-dev/hunk9.5k—~3.8kAutomated safety check: PassMIT
ZCF Release AutomationUfoMiao/zcf6.1k—~3.4kAutomated safety check: PassMIT
ClawRouter Release ChecklistBlockRunAI/ClawRouter6.6k—~1.4kAutomated safety check: PassMIT
npm Package Publisherklaudworks/universal-skills181—~923Automated safety check: PassMIT
Releasedcb/homeassistant-claude-kit123—~3.1kAutomated safety check: PassMIT

Similar skills

  • Hunk Release Workflow

    modem-dev/hunk

    Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.

    9.5k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.

    6.1k GitHub stars~3.4k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • ClawRouter Release Checklist

    BlockRunAI/ClawRouter

    Walks the agent through every ClawRouter release step in order, from the version bump and changelog entry to build, tests, npm publish, git tag and GitHub release.

    6.6k GitHub stars~1.4k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • npm Package Publisher

    klaudworks/universal-skills

    Releases an npm package by committing changes, bumping the version with npm version, pushing the tag and checking the GitHub Actions publish.

    181 GitHub stars~923 tokensUpdated 8 mo ago
    DevelopmentAuto-check passed
  • Release

    dcb/homeassistant-claude-kit

    Cut a new homeassistant-claude-kit version. An agent skill from dcb/homeassistant-claude-kit.

    123 GitHub stars~3.1k tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • 自分の依存ライブラリにバグや欠けている機能があり、上流に PR を出して取り込まれるまで下流プロジェクトを動かしたいときの運用。git ref pin(branch HEAD SHA → merge SHA)、link: への退避判断、SHA 取り扱い、pnpm v10 の build script gating まで含む。

    356 GitHub stars~1k tokensUpdated 6 days ago
    DevelopmentAuto-check passed

More from yamcodes/arkenv

All 20 skills in this repo
  • Hallmark

    yamcodes/arkenv

    Anti-AI-slop design skill for greenfield pages, audits, redesigns, and design extraction from URLs or screenshots.

    145 GitHub starsUsed in 4 repos~18k tokens
    Auto-check passed
  • Bulletproof React

    yamcodes/arkenv

    Bulletproof React architecture patterns for scalable, maintainable applications.

    145 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Arkenv

    yamcodes/arkenv

    Answer questions about ArkEnv and help implement environment variable validation.

    145 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Code Review

    yamcodes/arkenv

    Fetch, analyze, and address code reviews and comments on GitHub, or perform a code review on changes in the workspace.

    145 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Forward Port

    yamcodes/arkenv

    Manually forward-ports merged dev (v0) changes to the v1 branch, adapting code to v1's package layout and changeset names.

    145 GitHub stars~970 tokensUpdated today
    Auto-check passed
  • Groom Issue

    yamcodes/arkenv

    Groom a poorly written issue by grilling the user to clarify requirements, updating the issue on GitHub via the gh cli, and utilizing the triage skill to apply the correct label and add an agent…

    145 GitHub stars~1k tokensUpdated today
    Auto-check passed

Categories

Questions about Sync Main

What does Sync Main do?

Update the v0 docs archive on main (arkenv-v0.vercel.app) immediately without waiting for a new npm release. Sync Main is an agent skill from yamcodes/arkenv.app) immediately without waiting for a new npm release.

When should I use Sync Main?

Sync Main fits situations like: the user mentions hotfix docs; push doc changes live now; promote docs to main; bypass package release for docs.

How do I install Sync Main in Claude Code?

Run `npx skills add yamcodes/arkenv --skill sync-main -a claude-code`. Or copy the skill folder (skills/sync-main in yamcodes/arkenv) into .claude/skills/sync-main in your project. Claude Code loads it when a task matches its description.

How do I install Sync Main in Codex?

Run `npx skills add yamcodes/arkenv --skill sync-main -a codex`. Or copy the skill folder (skills/sync-main in yamcodes/arkenv) into .agents/skills/sync-main in your project. Codex loads it when a task matches its description.

Can I use Sync Main in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yamcodes/arkenv --skill sync-main -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sync-main, .gemini/skills/sync-main, .github/skills/sync-main and .opencode/skills/sync-main in your project.

What does Sync Main need to run?

Going by SKILL.md and its folder, Sync Main needs the command-line tools its instructions call (git, gh and pnpm).

Does Sync Main access the network?

SKILL.md names 1 domain. In commands or code: arkenv-v0.vercel.app; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Sync Main safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Sync Main use?

Sync Main is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sync Main use?

About 1.4k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Sync Main?

Skills that share tags, products or a category with Sync Main: Hunk Release Workflow (modem-dev/hunk, 9.5k stars), ZCF Release Automation (UfoMiao/zcf, 6.1k stars), ClawRouter Release Checklist (BlockRunAI/ClawRouter, 6.6k stars) and npm Package Publisher (klaudworks/universal-skills, 181 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sync Main?

yamcodes (a GitHub user) maintains it in yamcodes/arkenv, which has 145 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 8, 2026.

Source: yamcodes/arkenv on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.