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.
Update the v0 docs archive on main (arkenv-v0.vercel.app) immediately without waiting for a new npm release.
$ npx skills add yamcodes/arkenv --skill sync-main -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install yamcodes/arkenv sync-main --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "sync-main" agent skill from https://github.com/yamcodes/arkenv/tree/v1/skills/sync-main into .claude/skills/sync-main/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sync-main", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/yamcodes/arkenv/tree/v1/skills/sync-mainType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add yamcodes/arkenv --skill sync-main -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install yamcodes/arkenv sync-main --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yamcodes/arkenv.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/sync-main .agents/skills/sync-main && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "sync-main" agent skill from https://github.com/yamcodes/arkenv/tree/v1/skills/sync-main into .agents/skills/sync-main/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sync-main", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yamcodes/arkenv --skill sync-main -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install yamcodes/arkenv sync-main --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yamcodes/arkenv.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/sync-main .cursor/skills/sync-main && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "sync-main" agent skill from https://github.com/yamcodes/arkenv/tree/v1/skills/sync-main into .cursor/skills/sync-main/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sync-main", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/yamcodes/arkenv.git --path skills/sync-main--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add yamcodes/arkenv --skill sync-main -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install yamcodes/arkenv sync-main --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yamcodes/arkenv.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/sync-main .gemini/skills/sync-main && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "sync-main" agent skill from https://github.com/yamcodes/arkenv/tree/v1/skills/sync-main into .gemini/skills/sync-main/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sync-main", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install yamcodes/arkenv sync-mainInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add yamcodes/arkenv --skill sync-main -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/yamcodes/arkenv.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/sync-main .github/skills/sync-main && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "sync-main" agent skill from https://github.com/yamcodes/arkenv/tree/v1/skills/sync-main into .github/skills/sync-main/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sync-main", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yamcodes/arkenv --skill sync-main -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install yamcodes/arkenv sync-main --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yamcodes/arkenv.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/sync-main .opencode/skills/sync-main && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "sync-main" agent skill from https://github.com/yamcodes/arkenv/tree/v1/skills/sync-main into .opencode/skills/sync-main/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sync-main", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
sync-mainUpdate 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. 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.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 74b3732. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitghpnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
arkenv-v0.vercel.appFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from yamcodes/arkenv at commit 74b3732, republished under its MIT licence (© yamcodes). 678 words, ~1,354 tokens.
.claude/skills/sync-main/SKILL.md (or your agent's skills folder).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).
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.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:
docs/, apps/www/, or are root-level Markdown files (matching the regex ^(docs/|apps/www/|[^/]+\.md)$)..github/workflows/, scripts/, skills/).packages/, tests/, examples/, or apps/ directories (unreleased library features, fixes, or test/example updates).Since the changes are strictly doc-only, they are safe to sync directly:
gh workflow run sync-main.yml --ref devSince 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:
force_override checkbox in the GitHub UI.gh workflow run sync-main.yml --ref dev -f force_override=trueIf 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.
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:
dev and let them deploy naturally on the next package release.pnpm changeset -> trigger release workflow).dev is stable and ready to go live.main (if the doc fixes are isolated in their own clean commits).dev cannot be released, AND the doc commits do not contain unreleased code.main using your code editing tools.If the user explicitly approves Option 3, follow these steps using the helper script:
dev containing the doc changes.origin/main:./scripts/sync-main.sh rescue <commit-hash-1> [commit-hash-2 ...]main via gh CLI. If it fails, help the user open the PR manually.main, the v0 archive
(https://arkenv-v0.vercel.app) refreshes. Production /
arkenv.js.org is unchanged (tracks v1).main back into dev to prevent drift:./scripts/sync-main.sh reconciledev.© yamcodes, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/sync-main of yamcodes/arkenv.
Open the folder on GitHubat commit 74b3732
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Sync Main this skillyamcodes/arkenv | 145 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Hunk Release Workflowmodem-dev/hunk | 9.5k | — | ~3.8k | Automated safety check: Pass | MIT | |
| ZCF Release AutomationUfoMiao/zcf | 6.1k | — | ~3.4k | Automated safety check: Pass | MIT | |
| ClawRouter Release ChecklistBlockRunAI/ClawRouter | 6.6k | — | ~1.4k | Automated safety check: Pass | MIT | |
| npm Package Publisherklaudworks/universal-skills | 181 | — | ~923 | Automated safety check: Pass | MIT | |
| Releasedcb/homeassistant-claude-kit | 123 | — | ~3.1k | Automated safety check: Pass | MIT |
modem-dev/hunk
Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.
UfoMiao/zcf
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.
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.
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.
dcb/homeassistant-claude-kit
Cut a new homeassistant-claude-kit version. An agent skill from dcb/homeassistant-claude-kit.
mizchi/skills
自分の依存ライブラリにバグや欠けている機能があり、上流に PR を出して取り込まれるまで下流プロジェクトを動かしたいときの運用。git ref pin(branch HEAD SHA → merge SHA)、link: への退避判断、SHA 取り扱い、pnpm v10 の build script gating まで含む。
yamcodes/arkenv
Anti-AI-slop design skill for greenfield pages, audits, redesigns, and design extraction from URLs or screenshots.
yamcodes/arkenv
Bulletproof React architecture patterns for scalable, maintainable applications.
yamcodes/arkenv
Answer questions about ArkEnv and help implement environment variable validation.
yamcodes/arkenv
Fetch, analyze, and address code reviews and comments on GitHub, or perform a code review on changes in the workspace.
yamcodes/arkenv
Manually forward-ports merged dev (v0) changes to the v1 branch, adapting code to v1's package layout and changeset names.
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…
Categories
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.
Sync Main fits situations like: the user mentions hotfix docs; push doc changes live now; promote docs to main; bypass package release for docs.
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.
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.
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.
Going by SKILL.md and its folder, Sync Main needs the command-line tools its instructions call (git, gh and pnpm).
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.
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.
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.
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.
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.
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.