Pre-Release PR Triage
jamiepine/voicebox
Sorts a backlog of open pull requests into must-merge, candidate, superseded and deferred, writes a triage doc and works the merge loop before a release.
Spin up an isolated agent to work a GitHub issue of kube-coder or any other repo checked out in the workspace.
$ npx skills add imran31415/kube-coder --skill kc-issue -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install imran31415/kube-coder kc-issue --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/imran31415/kube-coder.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/kc-issue .claude/skills/kc-issue && 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 "kc-issue" agent skill from https://github.com/imran31415/kube-coder/tree/main/.claude/skills/kc-issue into .claude/skills/kc-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kc-issue", 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/imran31415/kube-coder/tree/main/.claude/skills/kc-issueType 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 imran31415/kube-coder --skill kc-issue -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install imran31415/kube-coder kc-issue --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imran31415/kube-coder.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/kc-issue .agents/skills/kc-issue && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "kc-issue" agent skill from https://github.com/imran31415/kube-coder/tree/main/.claude/skills/kc-issue into .agents/skills/kc-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kc-issue", 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 imran31415/kube-coder --skill kc-issue -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install imran31415/kube-coder kc-issue --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imran31415/kube-coder.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/kc-issue .cursor/skills/kc-issue && 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 "kc-issue" agent skill from https://github.com/imran31415/kube-coder/tree/main/.claude/skills/kc-issue into .cursor/skills/kc-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kc-issue", 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/imran31415/kube-coder.git --path .claude/skills/kc-issue--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 imran31415/kube-coder --skill kc-issue -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install imran31415/kube-coder kc-issue --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imran31415/kube-coder.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/kc-issue .gemini/skills/kc-issue && 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 "kc-issue" agent skill from https://github.com/imran31415/kube-coder/tree/main/.claude/skills/kc-issue into .gemini/skills/kc-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kc-issue", 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 imran31415/kube-coder kc-issueInstalls 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 imran31415/kube-coder --skill kc-issue -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/imran31415/kube-coder.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/kc-issue .github/skills/kc-issue && 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 "kc-issue" agent skill from https://github.com/imran31415/kube-coder/tree/main/.claude/skills/kc-issue into .github/skills/kc-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kc-issue", 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 imran31415/kube-coder --skill kc-issue -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install imran31415/kube-coder kc-issue --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imran31415/kube-coder.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/kc-issue .opencode/skills/kc-issue && 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 "kc-issue" agent skill from https://github.com/imran31415/kube-coder/tree/main/.claude/skills/kc-issue into .opencode/skills/kc-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kc-issue", 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.
kc-issueSpin up an isolated agent to work a GitHub issue of kube-coder or any other repo checked out in the workspace.
Kc Issue is an agent skill from imran31415/kube-coder. Spin up an isolated agent to work a GitHub issue of kube-coder or any other repo checked out in the workspace. Given an issue number, pulls the issue text and launches a background Claude task that is BORN inside its own git worktree, branched from a freshly-fetched origin default branch, so it cannot work in the shared clone. Use whenever the user wants to "work on issue N", "start an agent on issue N", or set up a per-issue worktree. Also lists issue worktrees and their task status.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `kc-issue.sh` and `lint_test.sh`).
It sits in Development, covering Git worktrees. It works with GitHub and Git. The repository describes itself as: helm chart for a isolated dev coding environment pod in kubernetes. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit fc0b886. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadmcp__dashboard__create_taskmcp__dashboard__list_tasksmcp__dashboard__get_taskFrom allowed-tools in the SKILL.md frontmatter.
Ships script files (Shell), which the agent can run.
Shell commands in SKILL.md call:
bashgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From 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.
Kc Issue loads about 1.9k tokens when it runs. Until then it costs about 125 tokens; SKILL.md has 957 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, mcp__dashboard__create_task, mcp__dashboard__list_tasks, mcp__dashboard__get_taskAutomated 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 imran31415/kube-coder at commit fc0b886, republished under its MIT licence (© imran31415). 957 words, ~1,930 tokens.
.claude/skills/kc-issue/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.This is the reliable entrypoint for per-issue work — on kube-coder or any other repository checked out in the workspace. It removes the two things that made ad-hoc worktree use flaky:
origin/<default branch>, never a
stale local HEAD.Which repository: the git checkout you run the script from (any folder in
it, or one of its worktrees), or KC_REPO_ROOT=/home/dev/<repo>; the GitHub
repo is read from its origin remote (KC_REPO_SLUG=owner/repo overrides).
From /home/dev itself it falls back to /home/dev/kube-coder.
The heavy lifting is in kc-issue.sh next to this file. It does the git/fs part
and prints JSON; you (the assistant) do the launch via create_task.
list — show existing issue worktrees + task statusbash "$CLAUDE_SKILL_DIR/kc-issue.sh" listThen call mcp__dashboard__list_tasks and correlate by worktree/branch so the
user sees which issues have a live agent.
<issue-number> (optionally --pr) — start an agent on an issueStep 1 — create/reuse the worktree and get the prompt. If the user passed
--pr (auto-open a PR when done), set KC_AUTO_PR=1:
# without --pr (default: preflight then STOP for review):
bash "$CLAUDE_SKILL_DIR/kc-issue.sh" <N>
# with --pr (preflight, push, open PR):
KC_AUTO_PR=1 bash "$CLAUDE_SKILL_DIR/kc-issue.sh" <N>Capture the JSON it prints on stdout:
{issue,title,url,worktree,branch,port,prompt_file,auto_pr,mode,repo_root,repo,slug,base_ref,lint,lint_blockers}.
mode says who makes the worktree:
server — this workspace's dashboard creates it when the Build launches
(#701), so the Build is recorded with it: its Changes tab shows the diff
and push command, and Settings → Worktrees lists it. worktree is where
it will be; port is empty until launch.script — an older workspace: the script created the worktree itself.Step 1b — surface the issue-body lint (#569). The script lints the body
before the worktree exists, because the body is baked verbatim into the agent
prompt: a thin issue silently produces a thin prompt, and the cost is paid
before anyone can react. Findings arrive two ways — human-readable on stderr,
and structured in the JSON's lint array ({severity,code,message}).
If lint is non-empty, show the user the findings before Step 3 — a short
list, one per line. Then:
lint_blockers > 0 (today: the needs-scoping label — the repo itself
saying this isn't ready to implement): stop and ask whether to proceed.
Spawning on a needs-scoping issue is almost always wrong, so this is the one
case where you wait for an explicit yes.Never edit or enrich the issue body to silence a warning; the lint reports, it doesn't rewrite.
Step 2 — read the baked prompt (do NOT reconstruct it — use the file):
cat <prompt_file>Step 3 — launch the agent with mcp__dashboard__create_task:
prompt = the full contents of prompt_fileassistant = claude (default)mode: "server":workdir = repo_rootisolate = true ← this is what forces isolationworktree_slug = slug (so re-running an issue continues its worktree)base_ref = base_refmode: "script": workdir = the worktree path ← forces isolationA 409 whose code is busy means an agent is already working this issue
in that worktree — tell the user and offer its task instead of starting another.
Step 4 — confirm & report. Tell the user: the task id, and — from the
worktree object in the response (server mode) or the JSON (script mode) — the
branch, the worktree path and the preview port. Offer to show live output with
mcp__dashboard__get_task; the Build's Changes tab is where they review the
diff and copy the push command.
<slug> "free text" — ad-hoc (no GitHub issue)Same flow; the description text is used in place of an issue body — and it is
linted the same way. This path is more exposed than the issue path: a
one-line --desc becomes the entire specification the agent ever sees, so take
its warnings seriously.
lint [file] — check a body without spawning anythingbash "$CLAUDE_SKILL_DIR/kc-issue.sh" lint path/to/draft.md # or pipe on stdinTouches no git, no GitHub, no worktree. Findings print on stderr, JSON on
stdout; exits 1 on a blocker. Useful for sanity-checking a draft issue before
filing it, and it's what lint_test.sh drives.
kc-preflight / kc-ship-pr;
in any other repo it tells the agent to run that repo's own tests instead.
(Repo skills are NOT in scope for you at /home/dev, which is why this
orchestration skill lives in the user-global skills dir.)KC_ISSUE_STRICT=1 to make the script refuse to spawn when a blocker fires
— it exits before creating the worktree, so nothing is spent. Leave it unset
unless you want that guardrail.KC_ISSUE_STRICT=1 bash "$CLAUDE_SKILL_DIR/kc-issue.sh" <N>bash /home/dev/kube-coder/.claude/skills/worktree/worktree.sh rm issue-<N>
git -C <repo_root> branch -D kc/issue-<N> # after merge onlynode_modules/build output — keep only a
handful live at once; tear down finished ones.Just invoke this once per issue. Each gets its own worktree, branch, port, and
background task, so agents run truly in parallel without colliding. Use list
to keep track.
© imran31415, 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 2 other files in .claude/skills/kc-issue of imran31415/kube-coder.
Open the folder on GitHubat commit fc0b886
Kc Issue 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 |
|---|---|---|---|---|---|---|
| Kc Issue this skillimran31415/kube-coder | 388 | — | ~1.9k | Automated safety check: Notes | MIT | |
| Pre-Release PR Triagejamiepine/voicebox | 57k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Ff Worktreesdamus-io/damus | 2.1k | — | ~451 | Automated safety check: Pass | GPL-3.0 | |
| Clean Complete Branchesjtenniswood/espcontrol | 1.1k | — | ~820 | Automated safety check: Pass | Custom licence | |
| Clean Merged Branch Foldersjtenniswood/espcontrol | 1.1k | — | ~813 | Automated safety check: Pass | Custom licence | |
| Fixexercism/website | 549 | — | ~1.2k | Automated safety check: Notes | AGPL-3.0 |
jamiepine/voicebox
Sorts a backlog of open pull requests into must-merge, candidate, superseded and deferred, writes a triage doc and works the merge loop before a release.
damus-io/damus
Fast-forward master and every git worktree branch up to a target ref (default github/master), skipping any worktree with unmerged commits.
jtenniswood/espcontrol
Clean up completed Git branches and worktrees for this repository both locally and on GitHub.
jtenniswood/espcontrol
Clean up local branch worktree folders for this repository after their branches or pull requests have merged to main.
exercism/website
Fix a GitHub issue end-to-end — fetches issue, creates worktree, plans and implements fix, runs validation, opens PR, cleans up.
rookedsysc/kanvibe
A skill your agent uses whenever releasing or deploying KanVibe desktop from a clean, up-to-date dev checkout: ask only for the target version and release-note approval, then let the AI update…
imran31415/kube-coder
Safely edit the workspace pod's boot scripts (start.sh, the entrypoint/ssh-server configmaps) in kube-coder.
imran31415/kube-coder
Capture desktop + mobile, dark + light screenshots of the kube-coder dashboard SPA for visual QA of a UI change.
imran31415/kube-coder
Commit local changes and open a pull request against kube-coder from inside a workspace pod.
imran31415/kube-coder
Launch a Claude task on a remote kube-coder workspace, check task status, or attach to a running session.
imran31415/kube-coder
Run kube-coder's full CI suite locally before pushing — helm lint + unit tests, server.py tests, dashboard + controller SPA builds + vitest, and shell syntax checks.
imran31415/kube-coder
Scope a kube-coder change before you open or update a PR — what the diff actually touches, which tests reach it, what the change made worse, and what is left untested.
Categories
Spin up an isolated agent to work a GitHub issue of kube-coder or any other repo checked out in the workspace. Kc Issue is an agent skill from imran31415/kube-coder. Spin up an isolated agent to work a GitHub issue of kube-coder or any other repo checked out in the workspace.
Kc Issue fits situations like: the user wants to work on issue N; start an agent on issue N; set up a per-issue worktree.
Run `npx skills add imran31415/kube-coder --skill kc-issue -a claude-code`. Or copy the skill folder (.claude/skills/kc-issue in imran31415/kube-coder) into .claude/skills/kc-issue in your project. Claude Code loads it when a task matches its description.
Run `npx skills add imran31415/kube-coder --skill kc-issue -a codex`. Or copy the skill folder (.claude/skills/kc-issue in imran31415/kube-coder) into .agents/skills/kc-issue 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 imran31415/kube-coder --skill kc-issue -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kc-issue, .gemini/skills/kc-issue, .github/skills/kc-issue and .opencode/skills/kc-issue in your project.
Going by SKILL.md and its folder, Kc Issue needs a shell for the scripts in its folder and the command-line tools its instructions call (bash and git). Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Bash, Read, mcp__dashboard__create_task, mcp__dashboard__list_tasks, mcp__dashboard__get_task.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Kc Issue 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.9k tokens (SKILL.md is roughly 7.7k 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 Kc Issue: Pre-Release PR Triage (jamiepine/voicebox, 57k stars), Ff Worktrees (damus-io/damus, 2.1k stars), Clean Complete Branches (jtenniswood/espcontrol, 1.1k stars) and Clean Merged Branch Folders (jtenniswood/espcontrol, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
imran31415 (a GitHub user) maintains it in imran31415/kube-coder, which has 388 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 8, 2026.
Source: imran31415/kube-coder on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.