implement
Skill262 starsChanged 2 months agoApache-2.0View on GitHub
Implement a GitHub issue end-to-end: fetch, plan, code with approval, commit incrementally, and generate a PR summary
We split this skill into the rules it gives an agent
28 rules. 0 are common, 25 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 170 edited versions we read keep these.
25
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Read AGENTS.md first. It is the canonical project guide for this repository.
- Very specific: line 15
If it is a full URL like https://github.com/{owner}/{repo}/issues/{number}, extract {owner}/{repo} and {number}.
- Very specific: line 16
If it is just a number, use the current repo (run gh repo view --json nameWithOwner -q .nameWithOwner to get it).
- Distinctive: line 26
Ask the programmer to confirm this is the right issue before proceeding.
- Distinctive: line 31
If there is more than one remote, ask the programmer which remote to use as upstream using AskUserQuestion (list the remote names as …
- Distinctive: line 32
If there is only one remote, use it automatically.
- Distinctive: line 39
Create a new branch from main.
- Distinctive: line 51
Create an implementation plan with numbered steps.
- Distinctive: line 73
Ask the programmer using AskUserQuestion with options: "Approve plan", "Modify plan", "Cancel".
- Distinctive: line 74
If the programmer wants modifications, iterate on the plan until approved.
- Very specific: line 82
If the step involves logic changes, run tests (npm run test) and show the result
- Distinctive: line 84
Ask the programmer using AskUserQuestion with options: "Commit this step", "Revise changes", "Skip this step", "Stop here".
- Distinctive: line 85
If the programmer picks "Commit this step", run the /commit skill to commit the changes
- Distinctive: line 86
If the programmer picks "Revise changes", iterate until they are satisfied
- Distinctive: line 87
If the programmer picks "Skip this step", move to the next step without committing
- Distinctive: line 88
If the programmer picks "Stop here", skip all remaining steps and jump to Phase 5
- Distinctive: line 90
After each commit, briefly confirm the commit was made and move to the next step.
- Distinctive: line 94
After all steps are complete (or the programmer stops early):
- Distinctive: line 95
Run the /summary skill to generate a PR description based on all commits made during this session
- Distinctive: line 97
Do NOT create a PR or push.
- Distinctive: line 98
If no commits were made (e.g.
- Distinctive: line 102
Never make code changes without programmer approval
- Distinctive: line 103
Always show what changed after each step before committing
- Distinctive: line 107
If the issue is from a different repo (not the current one), fetch it via the full URL but make changes in the current repo
- Distinctive: line 108
No emojis in any output
- Distinctive: line 109
Do not create a PR or push to remote — only local commits and a summary
- Distinctive: line 110
If a step requires running tests, run them and show results before committing
- Distinctive: line 111
Use subagents for codebase exploration and code changes.
“Common” is measured: kept by at least 6 in 10 of the 170 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Implement a GitHub issue end-to-end: fetch the issue, plan, code with approval, commit incrementally, and generate a PR summary.
Read AGENTS.md first. It is the canonical project guide for this repository.
The argument is an issue number (e.g. /implement 42) or a full GitHub URL (e.g. /implement https://github.com/finos/git-proxy/issues/42). If no argument is given, ask the user.
Phase 1: Fetch issue
- Parse the argument:
- If it is a full URL like
https://github.com/{owner}/{repo}/issues/{number}, extract{owner}/{repo}and{number}. - If it is just a number, use the current repo (run
gh repo view --json nameWithOwner -q .nameWithOwnerto get it).
- If it is a full URL like
- Fetch issue details:
gh issue view <number> --repo <owner/repo> --json title,body,labels,assignees,comments - Display a summary to the programmer:
- Issue number and title
- Labels (if any)
- Body (truncated to ~40 lines if longer)
- Number of comments and any noteworthy discussion points
- Ask the programmer to confirm this is the right issue before proceeding. Use AskUserQuestion with options: "Proceed", "Show full issue body", "Cancel".
Phase 2: Branch setup
- List all configured remotes:
git remote -v - If there is more than one remote, ask the programmer which remote to use as upstream using AskUserQuestion (list the remote names as options). If there is only one remote, use it automatically.
- Fetch and update main from the chosen remote:
git fetch <remote> git checkout main git pull <remote> main - Create a new branch from main. The branch name must follow this convention:
- Format:
<type>/<short-slug>where<type>is a Conventional Commits type (feat,fix,refactor,docs,chore, etc.) and<short-slug>is a kebab-case summary derived from the issue title (3-5 words max). - Examples:
feat/dynamic-allocation-support,fix/event-watcher-reconnect,refactor/pod-spec-converter - Pick the type based on the issue labels and description (e.g. a bug report maps to
fix/, a feature request tofeat/).
git checkout -b <type>/<short-slug> - Format:
- Confirm to the programmer: "Created branch
<branch-name>from<remote>/main."
Phase 3: Plan
- Based on the issue description, explore the codebase to understand the relevant code paths. Use subagents to search for files, classes, and patterns referenced in or implied by the issue.
- Create an implementation plan with numbered steps. Each step should be a logical, committable unit of work. The plan must include:
- A 1-2 sentence summary of the issue
- Numbered steps, where each step has a title, a description of what to change, and the affected file paths
Save the plan to
plans/implement-<issue-number>.mdusing this format:## Issue #<number>: <title> <1-2 sentence summary of what the issue asks for> ## Steps 1. <step title> - <what to change and where> - Files: <path/to/file.ts> 2. <step title> - <what to change and where> - Files: <path/to/file.ts, path/to/other.ts>- Show the full plan to the programmer for approval.
- Ask the programmer using AskUserQuestion with options: "Approve plan", "Modify plan", "Cancel".
- If the programmer wants modifications, iterate on the plan until approved.
Phase 4: Execute step by step
For each step in the approved plan:
- Announce the step: "Step
<n>/<total>:<step title>" - Make the code changes for that step
- If the step involves logic changes, run tests (
npm run test) and show the result - Show the programmer a brief summary of what changed (key files and the nature of the change)
- Ask the programmer using AskUserQuestion with options: "Commit this step", "Revise changes", "Skip this step", "Stop here".
- If the programmer picks "Commit this step", run the /commit skill to commit the changes
- If the programmer picks "Revise changes", iterate until they are satisfied
- If the programmer picks "Skip this step", move to the next step without committing
- If the programmer picks "Stop here", skip all remaining steps and jump to Phase 5
After each commit, briefly confirm the commit was made and move to the next step.
Phase 5: Summary
- After all steps are complete (or the programmer stops early):
- Run the /summary skill to generate a PR description based on all commits made during this session
- Show the summary to the programmer
- Do NOT create a PR or push. Just present the summary for the programmer to use when they are ready.
- If no commits were made (e.g. the programmer cancelled early), skip the summary and say so.
Rules
- Never make code changes without programmer approval
- Always show what changed after each step before committing
- The programmer can modify, skip, reorder, or stop steps at any point
- Save the plan file before starting execution so the programmer has a reference
- Each commit should be a logical unit (one step = one commit, unless the step is trivial)
- If the issue is from a different repo (not the current one), fetch it via the full URL but make changes in the current repo
- No emojis in any output
- Do not create a PR or push to remote — only local commits and a summary
- If a step requires running tests, run them and show results before committing
- Use subagents for codebase exploration and code changes; keep the main flow focused on coordination and programmer interaction
$ARGUMENTS
Other versions191 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 191
- mattpocock/skills★ 309ksame name
- QuivrHQ/quivr★ 40ksame name
- foambubble/foam★ 17ksame name
- formbricks/formbricks★ 13ksame name
- ArcReel/ArcReel★ 6ksame name
- vinvcn/mattpocock-skills-zh-CN★ 5.5ksame name
- fallow-rs/fallow★ 5.3ksame name
- withcoral/coral★ 4.9ksame name
- bestofjs/bestofjs★ 3.1ksame name
- meta-pytorch/OpenEnv★ 2.8ksame name
181 more not listed
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.
Used alongsideProjects with it also use setup-ts-deep-modules, ask-matt and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
liufeng1976Skillsetup-ts-deep-modules
Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files. User-invoked.
Also in 38 projects that use this
GoogleSkillask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Also in 84 projects that use this
AWSSkillto-questionnaire
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
Also in 82 projects that use this
ryotaroh180105Skillclaude-handoff
Hand the current conversation off to a fresh background agent that picks up the work immediately.
Also in 38 projects that use this
RoentekSkillloop-me
Grill me about specs for the workflows I want to build, within this workspace.
Also in 45 projects that use this
GoogleSkillto-spec
Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.
Also in 154 projects that use this
- +3 more from google
In this repository10 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- address-reviewSkill
- commitSkill
- docsSkill
- issueSkill
- lintSkill
- sink-paritySkill
- summarySkill
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.

