Finishing a Development Branch
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
A skill your agent uses when publishing harness improvements to the remote kit repo.
$ npx skills add withkynam/vibecode-pro-max-kit --skill vc-publish -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install withkynam/vibecode-pro-max-kit vc-publish --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/withkynam/vibecode-pro-max-kit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/vc-publish .claude/skills/vc-publish && 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 "vc-publish" agent skill from https://github.com/withkynam/vibecode-pro-max-kit/tree/main/.claude/skills/vc-publish into .claude/skills/vc-publish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vc-publish", 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/withkynam/vibecode-pro-max-kit/tree/main/.claude/skills/vc-publishType 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 withkynam/vibecode-pro-max-kit --skill vc-publish -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install withkynam/vibecode-pro-max-kit vc-publish --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/withkynam/vibecode-pro-max-kit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/vc-publish .agents/skills/vc-publish && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "vc-publish" agent skill from https://github.com/withkynam/vibecode-pro-max-kit/tree/main/.claude/skills/vc-publish into .agents/skills/vc-publish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vc-publish", 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 withkynam/vibecode-pro-max-kit --skill vc-publish -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install withkynam/vibecode-pro-max-kit vc-publish --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/withkynam/vibecode-pro-max-kit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/vc-publish .cursor/skills/vc-publish && 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 "vc-publish" agent skill from https://github.com/withkynam/vibecode-pro-max-kit/tree/main/.claude/skills/vc-publish into .cursor/skills/vc-publish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vc-publish", 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/withkynam/vibecode-pro-max-kit.git --path .claude/skills/vc-publish--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 withkynam/vibecode-pro-max-kit --skill vc-publish -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install withkynam/vibecode-pro-max-kit vc-publish --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/withkynam/vibecode-pro-max-kit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/vc-publish .gemini/skills/vc-publish && 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 "vc-publish" agent skill from https://github.com/withkynam/vibecode-pro-max-kit/tree/main/.claude/skills/vc-publish into .gemini/skills/vc-publish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vc-publish", 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 withkynam/vibecode-pro-max-kit vc-publishInstalls 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 withkynam/vibecode-pro-max-kit --skill vc-publish -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/withkynam/vibecode-pro-max-kit.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/vc-publish .github/skills/vc-publish && 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 "vc-publish" agent skill from https://github.com/withkynam/vibecode-pro-max-kit/tree/main/.claude/skills/vc-publish into .github/skills/vc-publish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vc-publish", 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 withkynam/vibecode-pro-max-kit --skill vc-publish -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install withkynam/vibecode-pro-max-kit vc-publish --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/withkynam/vibecode-pro-max-kit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/vc-publish .opencode/skills/vc-publish && 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 "vc-publish" agent skill from https://github.com/withkynam/vibecode-pro-max-kit/tree/main/.claude/skills/vc-publish into .opencode/skills/vc-publish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vc-publish", 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.
vc-publishA skill your agent uses when publishing harness improvements to the remote kit repo.
Vc Publish is an agent skill from withkynam/vibecode-pro-max-kit. Use when publishing harness improvements to the remote kit repo. Diffs managed files, shows what changed, bumps version, and pushes. Counterpart to vc-update (pull).
Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/vc-publish.md`).
It sits in Development. It works with Git. The repository describes itself as: Your AI forgets. This remembers. Spec-driven coding harness for vibecoders, product owners, CEOs and real builders — self-improving context memory, 15 agents, 33 skills working…. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3bcb2f9. 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:
gitnodeFrom 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:
github.comFrom 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.
Vc Publish loads about 4.9k tokens when it runs, and up to ~7.1k if it reads all its reference files. Until then it costs about 44 tokens; SKILL.md has 2,238 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 withkynam/vibecode-pro-max-kit at commit 3bcb2f9, republished under its MIT licence (© withkynam). 2,238 words, ~4,899 tokens.
.claude/skills/vc-publish/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Output style: Follow
process/development-protocols/communication-standards.md— answer-first, plain language, no unexplained jargon, TL;DR on long responses.
Push harness improvements from the current development repo to the remote kit repository (vibecode-pro-max-kit). This is the maintainer counterpart to vc-update.
vc-update = user pulls latest harness INTO their project FROM the remotevc-publish = maintainer pushes improvements FROM the development repo TO the remote kit repogit clone git@github.com:withkynam/vibecode-pro-max-kit.git).vc-publish-config file in the current repo root (see Configuration below)Create .vc-publish-config in the repo root:
{"kitRepoPath": "/path/to/vibecode-pro-max-kit"}If this file is missing, ask the user for the kit repo checkout path and offer to create it.
.vc-publish-config from the current repo root.vc-manifest.json.git -C <kitRepoPath> status --porcelain). If dirty, warn and ask whether to proceed or abort.vc-manifest.json from the kit repo checkout.version.3.0.0). If the kit version already equals the target: skip the bump step entirely and proceed directly to Step 3 with a tag-as-is note — do not increment the version. Record in the publish summary that the version was unchanged.Catalog-regen (pre-publish): Before resolving files in Steps 3–4, regenerate the skills catalog in the dev repo:
node .claude/skills/vc-audit-context/scripts/generate-skills-catalog.mjs --writeThis ensures process/context/generated-skills-catalog.json is current before it is copied into the kit repo.
Run the resolver against the kit repo to get the kit file list:
node <kitRepoPath>/resolve-manifest.mjs --root <kitRepoPath> --jsonExtract files (kit managed files) and kitOnly (kit-exclusive files).
Note: resolve-manifest.mjs reads vc-manifest.json from its --root directory and also scans files from that same root. vc-manifest.json is NOT installed into dev/user projects by install.sh, so the resolver must always be pointed at the kit repo checkout (which does have it). There is no separate dev-repo resolver call — the dev-side file comparison happens inside compute-sync-plan.mjs in Step 4.
Computation via compute-sync-plan.mjs: Use the shared computation core to produce the diff between the dev repo's managed files and the kit repo's current managed files.
Direction note:
compute-sync-plan.mjsloadsvc-manifest.jsonfrom--kit-rootand runs the resolver with--root <kit-root>. Sincevc-manifest.jsonlives in the kit repo (not the dev repo),--kit-rootmust always be the kit repo checkout.--rootis the dev repo (the project being compared). This is the same direction as a normal install — vc-publish uses it to see what a fresh install FROM dev INTO the kit would change.
# --root = dev repo (the "project" being compared against the kit source)
# --kit-root = kit repo (where vc-manifest.json lives; source of truth for file lists)
# --resolver overrides the resolver path because compute-sync-plan
# would otherwise look for resolve-manifest.mjs inside --kit-root,
# which IS the kit repo here, so --resolver is optional but explicit for clarity.
node <kitRepoPath>/compute-sync-plan.mjs \
--root <devRepoRoot> \
--kit-root <kitRepoPath> \
--resolver <kitRepoPath>/resolve-manifest.mjs \
--jsonParse the JSON output: { toAdd, toModify, toDelete, toPreserve, staleWarnings }.
toAdd — files to copy from dev to kit (present in dev, not yet in kit).toModify — files to overwrite in kit (tracked in both, content differs).toDelete — files to remove from kit (no longer in dev managed set).toPreserve — files to leave untouched (merge/copyIfMissing survivors, unchanged files).staleWarnings — paths that failed the namespace guard — print to user; do NOT delete.The ownedPaths for the publish direction are the dev repo's resolved ownedPaths. CLAUDE.md and AGENTS.md are always in the merge category — they require special stripping regardless of diff status (see Step 7).
vc-publish diff: current repo -> kit repo (v2.1.0)
================================================
FILES:
[modified] .claude/agents/vc-execute-agent.md (+8 -3)
[modified] .claude/hooks/lib/scout-checker.cjs (+2 -1)
[new] .claude/skills/vc-new-skill/SKILL.md
[merge] CLAUDE.md (needs content review)
[merge] AGENTS.md (needs content review)
[unchanged] .claude/settings.json
... (350 more unchanged)
Total changes: 4 files modified, 1 new, 0 removedVersion bump semantics:
Copy all modified and new managed files from current repo to kit repo checkout.
For each removed file: delete it from the kit repo checkout.
CLAUDE.md and AGENTS.md stripping: Do NOT copy the current repo's project-specific versions directly. Instead:
/Users/...)Manifest reconciliation (vc-manifest.json) — the manifest is NOT a normally-copied
managed file (it is dev-only on one side and kit-resolved on the other), so its fields do
NOT auto-sync. Handle it explicitly:
version: bump per the chosen bump type. Kit-authoritative.legacyDeletions (the deprecation ledger): dev is authoritative and always the
superset. Whenever dev removes a skill/dir/file from the harness it appends the path
here so downstream projects clean it up on their next vc-update. Set
kit.legacyDeletions = dev.legacyDeletions (preserve dev order). This field is a literal
path array, NOT a glob — it genuinely changes every time the harness deprecates something,
so it MUST be reconciled at every publish. (Historically this was skipped, which silently
stranded the kit with stale deletions — never skip it.)include, exclude, strip, merge, copyIfMissing,
symlinks, kitOnly): these legitimately diverge — the kit carries packaging-only rules
(e.g. excluding **/*.test.mjs and __tests__/** so tests are not shipped to users;
kitOnly tooling like compute-sync-plan.mjs). Do NOT blindly overwrite them — a
blanket dev→kit copy would strip the kit's test-excludes and ship test files. Instead run
the field-level drift report below and reconcile any unexpected drift by hand.Drift-report command (run during Step 4 summary AND here before writing):
node -e '
const d=require("<devRepoPath>/vc-manifest.json");
const k=require("<kitRepoPath>/vc-manifest.json");
let drift=0;
for(const key of new Set([...Object.keys(d),...Object.keys(k)])){
if(key==="version") continue;
if(JSON.stringify(d[key])!==JSON.stringify(k[key])){
drift++;
console.log("DRIFT field:",key);
console.log(" dev:",JSON.stringify(d[key]));
console.log(" kit:",JSON.stringify(k[key]));
}
}
console.log(drift?("\n"+drift+" manifest field(s) drift — legacyDeletions auto-syncs dev→kit; reconcile the rest consciously."):"manifest in sync (besides version)");
'legacyDeletions appearing in the drift report is EXPECTED and is auto-resolved (dev→kit).
Any OTHER field in the report is a conscious decision: confirm the kit value is the intended
packaging rule, or update dev/kit so they converge. Never let a drift go unexamined.
Create symlinks if missing (.agents/skills -> ../.claude/skills).
Verify no project-specific content leaked into the kit repo. This is a
resolved-set, two-check gate that scans the full shipped TEXT surface, not
just CLAUDE.md/AGENTS.md.
Resolve the shipped set via the kit's resolver, then restrict to TEXT surfaces:
node <kitRepoPath>/resolve-manifest.mjs --root <kitRepoPath> --jsonTake the resolved files and keep only TEXT surfaces:
.claude/skills/** matching *.md, *.cjs, *.mjs, *.py, *.js, *.json.claude/agents/** matching *.md.codex/**process/development-protocols/**CLAUDE.md, AGENTS.mdExclude binaries and **/node_modules/**.
Check (a) -- product-name grep over the resolved text set. Scan for the
product names in the grep below ONLY. tRPC/Prisma are DROPPED from this
skill-prose scan to avoid false positives in legitimate generic test guidance;
the hosted-database product name is KEPT (see the pattern):
grep -rIin "flowser\|CloakBrowser\|OpenClaw\|Supabase" <resolved-text-files>Allowlist the Bucket-4 lines that MUST keep the literal to function (otherwise
the gate flags itself): author: flowser frontmatter; the isFlowserActivePlanPath
identifier; this skill's OWN scrub-grep pattern lines below; the new validator's
own pattern strings; and the one internal plan-generation validation comment in
session-init.cjs.
Check (b) -- non-portable context-path grep: any concrete backticked
process/context/... file reference in the resolved text set, MINUS the
shipped/seeded survivors, is a dangling-link leak → FAIL with file:line.
Survivors (allowed): process/context/all-context.md,
process/context/tests/all-tests.md. Portable directory refs (e.g.
process/context/tests/) and the process/context/... placeholder are fine.
Keep the existing narrow CLAUDE.md/AGENTS.md grep (this stays as-is on
just those two files; tRPC/Prisma plus the hosted-database product name all
REMAIN here, as shown in the pattern below):
# Must return empty -- any matches indicate leaked content
grep -ri "flowser\|tRPC\|Prisma\|Supabase\|CloakBrowser\|OpenClaw" CLAUDE.md AGENTS.md
# Must return empty -- no absolute paths
grep -r "/Users/" .Check (c) -- README badge counts: Verify the kit README.md badge counts match actual agent and skill counts:
actual_agents=$(ls <kitRepoPath>/.claude/agents/*.md | wc -l | tr -d ' ')
actual_skills=$(ls -d <kitRepoPath>/.claude/skills/vc-*/ | wc -l | tr -d ' ')
readme_agents=$(grep -oE '[0-9]+-Agents' <kitRepoPath>/README.md | grep -oE '[0-9]+')
readme_skills=$(grep -oE '[0-9]+-Skills' <kitRepoPath>/README.md | grep -oE '[0-9]+')
echo "Agents: actual=$actual_agents badge=$readme_agents"
echo "Skills: actual=$actual_skills badge=$readme_skills"
[ "$actual_agents" = "$readme_agents" ] && [ "$actual_skills" = "$readme_skills" ] && echo "PASS" || echo "FAIL: badge counts mismatch"If FAIL: update README.md badges to match actual counts before committing.
NOTE: the brand grep matches product names ONLY. It does NOT match
.ck.json/.ckignore -- those Phase-2 legacy-fallback literals are intentional
and must NOT be flagged. Do not add ck/ckignore to any leak grep.
The standing validate-kit-portability.mjs validator (run by vc-audit-vc)
mirrors checks (a) and (b) for between-release drift; this Step-8 gate is the
publish-time enforcement.
If leak detection fails:
git -C <kitRepoPath> checkout .).tag-as-is and commit with the existing version number. Otherwise: bump the version in vc-manifest.json and commit with the new version.cd <kitRepoPath>
git add -A
git commit -m "Release vX.Y.Z"
git tag vX.Y.ZLeak detection passed. The commit and tag are ready locally. Before running git push, you MUST stop and get explicit user approval:
"Leak detection passed. The commit is ready locally (
git log --oneline -1shows the new commit). Type 'push' to publish to remote, or 'abort' to keep the commit local."
Do NOT run git push or git push --tags until the user types 'push' (or a clear affirmative). This is a separate gate from the publish-confirm at Step 6 — even if the user approved publishing in Step 6, they must re-confirm before the actual remote push.
If the user says 'abort':
git push origin main && git push --tags when ready."Only on explicit 'push': proceed to Step 10 (git push origin main && git push --tags).
git push origin main && git push --tagsAfter a successful push, create a GitHub Release so watchers are notified and the release appears in the Releases tab:
gh release create vX.Y.Z \
--repo <remote-owner>/<remote-repo> \
--title "vX.Y.Z: <first sentence of release notes>" \
--notes "<full release notes>""N modified, M new, P removed. See commit log for details."--title one-liner should be the first sentence of the notes (truncate at 72 chars if longer).gh is unavailable or the push to remote failed, skip this step and note it in the summary.After a successful push, clone the kit from remote to a temp dir and verify the catalog works on a fresh install:
TS=$(date +%s)
git clone <remote-kit-url> /tmp/vc-kit-verify-$TS
node /tmp/vc-kit-verify-$TS/.claude/skills/vc-context-discovery/scripts/discover-skills.mjs 2>&1
rm -rf /tmp/vc-kit-verify-$TSExpected: exit 0 and expected skill count in output. If FAIL: note the error in the publish summary — the push succeeded but the remote install may have a catalog issue.
vc-publish complete
===================
Version: v2.2.0 (was v2.1.0)
Files changed: 4
Remote: git@github.com:withkynam/vibecode-pro-max-kit.git
Tag: v2.2.0
Release: https://github.com/<owner>/<repo>/releases/tag/v2.2.0include/exclude/kitOnly are stable — adding a new skill or agent requires zero manifest
edits (new files are auto-included by the globs). BUT legacyDeletions is a literal path array,
not a glob: it grows every time the harness deprecates a skill/dir/file, and it MUST be
reconciled dev→kit at every publish (see Step 7 Manifest reconciliation). Skipping it strands
the kit with a stale deletion ledger so downstream vc-updates never clean up the newly
deprecated dirs. So publish-time manifest edits are: (1) version bump, (2) legacyDeletions
sync, (3) conscious reconciliation of any other field flagged by the drift report.resolve-manifest.mjs (which requires vc-manifest.json in its --root). The dev-side file comparison is handled inside compute-sync-plan.mjs, which reads the manifest from --kit-root (always the kit checkout). Dev repos do not carry vc-manifest.json.managed/managedDirs arrays to update. The old workflow of adding new files to these arrays is eliminated.process/context/all-context.md (with real content), process/features/*, process/general-plans/* (with real plans)git push must be preceded by a separate explicit 'push' confirmation (Step 9b), distinct from the publish-confirm at Step 6. This rule holds even when VC_KIT_SOURCE is a local path..vc-publish-config (add to .gitignore)See references/vc-publish.md for the detailed algorithm, CLAUDE.md/AGENTS.md stripping rules, error handling, and example outputs.
© withkynam, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in .claude/skills/vc-publish of withkynam/vibecode-pro-max-kit.
Open the folder on GitHubat commit 3bcb2f9
Vc Publish 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 |
|---|---|---|---|---|---|---|
| Vc Publish this skillwithkynam/vibecode-pro-max-kit | 1.1k | — | ~4.9k | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 296k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Codebase Knowledge Graph Q&AEgonex-AI/Understand-Anything | 86k | 1 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Code Design Rationale Investigatorcursor/plugins | 10k | 9 repos | ~2.6k | Automated safety check: Pass | None | |
| Understand Diff AnalysisEgonex-AI/Understand-Anything | 86k | 1 repos | ~1.4k | Automated safety check: Pass | MIT |
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
Egonex-AI/Understand-Anything
Answers questions about a codebase by searching a prebuilt knowledge graph of its files, functions, classes and dependencies, not by rereading every source file.
cursor/plugins
Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.
Egonex-AI/Understand-Anything
Reads your git changes or a pull request against a prebuilt knowledge graph of the project to explain what changed, which components are affected and what is risky.
Egonex-AI/Understand-Anything
Gives an in-depth explanation of one file, function or module by reading the project's knowledge graph and checking that the graph is still fresh.
withkynam/vibecode-pro-max-kit
Looks up library and framework documentation through Context7 first, with bundled Node scripts as a fallback that fetch and analyze llms.txt files.
withkynam/vibecode-pro-max-kit
Apply step-by-step analysis for complex problems with revision capability.
withkynam/vibecode-pro-max-kit
Drives a browser through the agent-browser CLI, using compact snapshots with element refs to keep context small in long sessions, plus video recording and cloud browsers.
withkynam/vibecode-pro-max-kit
Audits a project's context routing, skill discoverability and skill wiring by running a chain of validator scripts and fixing whatever they report.
withkynam/vibecode-pro-max-kit
Reviews a codebase's active plan files for staleness and completion, then archives only the ones confirmed done or obsolete against the real code.
withkynam/vibecode-pro-max-kit
Forces root-cause investigation before any fix, combining a four-phase debugging method with log, CI and performance investigation techniques and a rule against unverified completion claims.
Works with
Categories
A skill your agent uses when publishing harness improvements to the remote kit repo. Vc Publish is an agent skill from withkynam/vibecode-pro-max-kit. Use when publishing harness improvements to the remote kit repo.
Vc Publish fits situations like: publishing harness improvements to the remote kit repo.
Run `npx skills add withkynam/vibecode-pro-max-kit --skill vc-publish -a claude-code`. Or copy the skill folder (.claude/skills/vc-publish in withkynam/vibecode-pro-max-kit) into .claude/skills/vc-publish in your project. Claude Code loads it when a task matches its description.
Run `npx skills add withkynam/vibecode-pro-max-kit --skill vc-publish -a codex`. Or copy the skill folder (.claude/skills/vc-publish in withkynam/vibecode-pro-max-kit) into .agents/skills/vc-publish 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 withkynam/vibecode-pro-max-kit --skill vc-publish -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vc-publish, .gemini/skills/vc-publish, .github/skills/vc-publish and .opencode/skills/vc-publish in your project.
Going by SKILL.md and its folder, Vc Publish needs the command-line tools its instructions call (git and node).
SKILL.md names 1 domain. In commands or code: github.com; 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.
Vc Publish is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Vc Publish: Finishing a Development Branch (obra/superpowers, 296k stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Codebase Knowledge Graph Q&A (Egonex-AI/Understand-Anything, 86k stars) and Code Design Rationale Investigator (cursor/plugins, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
withkynam (a GitHub user) maintains it in withkynam/vibecode-pro-max-kit, which has 1,145 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on June 21, 2026.
Source: withkynam/vibecode-pro-max-kit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.