implement-change
Procedure for making a change in a repository that publishes an implementation profile (docs/implementing-changes.md), from the worktree and the plan to the…
Skill by EJRyan89
Chalk Labs
Need help deploying implement-change?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ejryan89-implement-change-d5b8c1
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
implement-change- Description
- Procedure for making a change in a repository that publishes an implementation profile (docs/implementing-changes.md), from the worktree and the plan to the pull request. Use it when asked to implement an issue or make a change in such a repository.
- License
- MIT
- Instructions
- 82 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (3)
- SKILL.md
- pull_request.py · scripts/
- test_pull_request.py · scripts/
SKILL.md (first lines)
# Implementing a change A change is finished only when it is tested, documented, validated, and opened as a pull request. The steps below are in order; do not edit before step 1 is done. Every repository-specific fact comes from the repository's implementation profile, `docs/implementing-changes.md`. Read it first, then its sections as each step names them: *Worktree*, *Size gate*, *Model guidance*, *Contract files*, *Validation*, *Documentation*, *Pull requests*. If the profile or a section is missing, stop and tell the user. Also follow the repository's own instruction file (`CLAUDE.md`, `AGENTS.md`), and any procedure that specializes this one for the kind of change. ## 1. Worktree Settle the change's title type from the request first; *Pull requests* lists the types. Then follow *Worktree* for the place the session started. From the main checkout, create the task's working tree with its command and move the session into it with the runtime's worktree transition. From a worktree the runtime already made for the session, stay in it, create no second tree, and start its branch from the current base as *Worktree* says. Do this before planning: plans and project memory are keyed by working directory. If intake or the bug class later changes the type, rename the branch as *Worktree* says before its first push. ## 2. Intake Start from an issue the user hands over or a need they describe; an open issue alone is not the signal to start. Restate the scope and where it stops before exploring. ## 3. Bug class For a defect, find its class before planning the fix: the same pattern elsewhere, the other callers of the same reader or writer, and its twin in another shell or runtime. Fix each sibling in the same change, or file a follow-up issue for it and name that issue in the pull request. Fixing only the named instance leaves the rest to be found again. ## 4. Size gate Apply *Size gate*. A change that passes is implemented on the current model without a plan. Otherwise plan. ## 5. Plan Plan in the runtime's read-only planning mode, on the strongest model it offers. Read the files the change touches and their tests. Settle real design choices with the user. The deliverable is a handoff prompt that stands alone, in a fenced block: - the issue and the scope, with where it stops; - the files to change; - the tests to write first; - the validation to run, from *Validation*; - the documentation to update, from *Documentation*; - the pull request's title, and whether the change owes an upgrade note, from *Contract files* and *Pull requests*. Choose the model by this rubric: - **Strongest** when *Model guidance* names the area, a *Contract files* entry is touched, or a design choice remains. - **Balanced** when the plan is concrete and follows an existing pattern. - **Cheapest** only for a fully specified mechanical edit whose test already exists, and never for a turn that later starts subagents, because a skill's model carries into them. ## 6. Approval and handoff The user approves the plan and the model together, then chooses how to continue. State the trade-off once: staying in this session and switching the model keeps the context; a new session started from the handoff prompt costs less and starts clean. A skill cannot switch the model or mode itself, so give the user the command for their runtime from the table below. | Runtime | Planning mode | Switch model | |---|---|---| | Claude Code | `/plan`, or start with `--permission-mode plan` | `/model`, or start with `--model <name>` | | Codex CLI | `/plan` | `/model`, or start with `--model <name>` | | Copilot CLI | `/plan` | `/model`, or start with `--model <name>` | ## 7. Implement Work test first: write the failing test, then make it pass. Update *Documentation* in the same change. Run the local checks *Validation* names for the files the change touches, in full only where it says the change's reach warrants it, and get them green without skipping, weakening, or suppressing a check; rerun them after anything that changes the tree. Continuous integration runs the full gate; the gates *Validation* names as calling a model are yours to run. Read the whole diff once more for personal paths, credentials, and generated artifacts, and leave no scratch file or background command behind. ## 8. Pull request `.claude/skills/implement-change/scripts/pull_request.py` does the deterministic part: it drafts the body from the repository's pull request template, checks the title, the body, and the branch, and opens the pull request with the title read from its file, so no title is pasted into a command. Any command of it that cannot finish prints a last line `FAILED <reason>`: report it and stop. Take these in order: 1. Draft the body, with one `--closes` for each issue the change resolves and none when it resolves none: ```bash python -B .claude/skills/implement-change/scripts/pull_request.py draft --closes '<number>' ``` It prints `TEMPLATE "<file>"`, the template it read, a `CLOSES <number>` line for each issue, and the `BODY` and `TITLE` files. Write the title, as *Pull requests* says, on one line in the `TITLE` file it names, and fill the `BODY` file: replace each template comment and empty item with what it asks for, and state the upgrade note when the change owes one. 2. Bring the branch up to date with its base as *Pull requests* says; continuous integration validates the result, so it needs no local rerun. 3. Check both files and the branch against the base *Pull requests* names, such as `origin/main`, then run *Validation*'s title and body checks on the same files. It prints the `TITLE` it read, a `CLOSES` line for each issue the body closes by any closing reference GitHub reads, and `BASE <base> <commit>`, the base's tip after its fetch, then a line for each problem: `TITLE_EMPTY` or `TITLE_LINES <count>` for a title file that holds no title or more than one line; `PLACEHOLDER <line> <what>`, `CLOSES_LINE <line> <text>`, or `HEADING_MISSING <heading>` for a template comment or empty item left in the body, a line holding a closing reference, anywhere and in any form GitHub reads, that is not a `Closes #<number>` line of its own, or a template heading the body dropped; `BEHIND <base> <commit>` for a branch to bring up to date (step 2); `NO_COMMITS <base>` for a branch with nothing to open; and `UNCOMMITTED <count>` for changed or untracked files the pull request would leave out. Fix what each line names and rerun until it prints `READY`: ```bash python -B .claude/skills/implement-change/scripts/pull_request.py check --title-file "<title file>" --body-file "<body file>" --base "<base>" ``` 4. Push the branch under its own name, as *Pull requests* says, so the pull request has a branch to open from. 5. Open the pull request. `open` repeats the check, refuses a branch whose upstream does not hold `HEAD` with `UNPUSHED <upstream>`, or `UNPUSHED no upstream`, so push it (step 4), and prints `PULL_REQUEST <url>`: ```bash python -B .claude/skills/implement-change/scripts/pull_request.py open --title-file "<title file>" --body-file "<body file>" --base "<base>" ``` When a continuous integration leg fails, reproduce that leg as *Validation* says, fix it, and push. While the pull request is open, bring it current by merging its base, never by rebasing; the merge may be made on the remote, so pull the branch before the next push. If a push is rejected, fetch and inspect the remote branch before anything else. Do not merge.
From EJRyan89/coding-agent-skills, MIT.
More from EJRyan89/coding-agent-skills
- 0.599score
audit-ai-config
EJRyan89
Read-only assessment of a repository's AI agent configuration for Claude Code, Codex, and Copilot that reports findings and never writes files.
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
dotnet-dependencies
EJRyan89
Answer why a package or assembly is in a legacy or SDK-style C# solution, which projects reference an assembly, and where versions and binding redirects…
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
curate-agent-memory
EJRyan89
Audit and clean up Claude Code auto-memory for a project: find stale, duplicated, or misplaced memories, move durable rules to their proper home, and apply…
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
dotnet-format
EJRyan89
Run dotnet format (whitespace + style + analyzers) and region layout checks on C# files changed on the current branch and optionally auto-fix violations.
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
audit-skill
EJRyan89
Audit an agent skill's contract, grants, and cost: whether its Markdown names the lines and exit codes its scripts print, its allowed-tools grants and…
SkillAFreshness: A★ 2Claude Code +9 - 0.592score
ejryan89-code-review-core
EJRyan89
Internal support for the code-review operations bundle.
SkillAFreshness: A★ 2Claude Code +9 - 0.589score
evaluate-skill
EJRyan89
Run a skill's fixed scenarios on each model from throwaway homes, once or several times, and judge each record by script: a review's, or whether a request…
SkillAFreshness: A★ 2Claude Code +9 - 0.589score
implement-change
EJRyan89
Procedure for making a change in a repository that publishes an implementation profile (docs/implementing-changes.md), from the worktree and the plan to the…
SkillAFreshness: A★ 2Claude Code +9 - 0.589score
change-skill
EJRyan89
Procedure for adding or changing a skill in this repository, shipped under skills/ or repository-only under .claude/skills: its SKILL.md, scripts, metadata…
SkillAFreshness: A★ 2Claude Code +9 - 0.586score
shepherd-pull-requests
EJRyan89
Run one merge-shepherd tick from the hub over this repository's open pull requests: fast-forward main, arm auto-merge, merge main into behind branches, judge…
SkillAFreshness: A★ 2Claude Code +9 - 0.586score
review-repository
EJRyan89
This repository's own pull request reviewer: a specialists manifest that routes the deployer, the skills, the validation policies, the trust-boundary files…
SkillAFreshness: A★ 2Claude Code +9 - 0.586score
runtime-canary
EJRyan89
Check that Claude Code, Codex, and Copilot CLI find and run deployed skills, by deploying this checkout into a throwaway home and starting each runtime there.
SkillAFreshness: A★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 4
- Open issues
- 93
- Last commit (this folder)
- Oct 22, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/EJRyan89/coding-agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from EJRyan89
- 0.599score
curate-agent-memory
EJRyan89
Audit and clean up Claude Code auto-memory for a project: find stale, duplicated, or misplaced memories, move durable rules to their proper home, and apply…
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
dotnet-dependencies
EJRyan89
Answer why a package or assembly is in a legacy or SDK-style C# solution, which projects reference an assembly, and where versions and binding redirects…
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
audit-ai-config
EJRyan89
Read-only assessment of a repository's AI agent configuration for Claude Code, Codex, and Copilot that reports findings and never writes files.
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
dotnet-format
EJRyan89
Run dotnet format (whitespace + style + analyzers) and region layout checks on C# files changed on the current branch and optionally auto-fix violations.
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
audit-skill
EJRyan89
Audit an agent skill's contract, grants, and cost: whether its Markdown names the lines and exit codes its scripts print, its allowed-tools grants and…
SkillAFreshness: A★ 2Claude Code +9 - 0.592score
ejryan89-code-review-core
EJRyan89
Internal support for the code-review operations bundle.
SkillAFreshness: A★ 2Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get implement-change running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
implement-change skill. Agent Mart. https://agentmart.dev/skills/ejryan89-implement-change-d5b8c1 (last updated 2026-10-24)