agentleFS
pumpkit-iopumpkit-io/sdlc/skills/commands/implement/SKILL.md

implement

Skill2 starsChanged 9 days agoMITView on GitHub

Implement a piece of work from a spec, tickets, or what this session settled.

191 other projects use a version of this, 60 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use setup-ts-deep-modules, ask-matt and 7 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.
  • liufeng1976Skill

    setup-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 43 projects that use this

  • GoogleSkill

    ask-matt

    Ask which skill or flow fits your situation. A router over the skills in this repo.

    Also in 91 projects that use this

  • RoentekSkill

    loop-me

    Grill me about specs for the workflows I want to build, within this workspace.

    Also in 50 projects that use this

  • AWSSkill

    to-questionnaire

    Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

    Also in 88 projects that use this

  • ryotaroh180105Skill

    claude-handoff

    Hand the current conversation off to a fresh background agent that picks up the work immediately.

    Also in 42 projects that use this

  • GoogleSkill

    resolving-merge-conflicts

    Use when you need to resolve an in-progress git merge/rebase conflict.

    Also in 83 projects that use this

  • +1 more from google

The file

We split this skill into the rules it gives an agent

7 rules. 0 are common, 5 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 171 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run worktree.sh create <feature-slug>-t<ticket> origin/<predecessor branch> as the worktrees skill's Create section says, and work there.

    line 13
  2. Distinctive:

    Use /tdd where possible, at the seams the spec or brief agreed.

    line 20
  3. Distinctive:

    Run typechecking regularly, single test files regularly, and the full test suite once at the end.

    line 24
  4. Very specific:

    When scripts/dev-stack is executable and the change is reachable over HTTP or UI, read DEV-STACK-STEP.md once the full suite passes and …

    line 26
  5. Distinctive:

    Commit your work to the worktree's branch.

    line 30
  6. Distinctive:

    Any other work: no base, so the PR targets the default branch.

    line 35
  7. Distinctive:

    When the run didn't finish clean, push nothing.

    line 37

“Common” is measured: kept by at least 6 in 10 of the 171 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Load the worktrees skill and resolve the worktree for this work before writing anything. A Ticket or Spec leads to its Feature worktree through its Feature branch link, work this session settled stays in the worktree the session already worked in, and a raw idea gets a new worktree. When the feature worktree's lock is busy, stop there with the lock holder's name and the suggestion to run implement-spec, the same way in an unattended run.

A Ticket with a Stacks on: line is one pull request of a Stack, so it gets its own worktree instead of the Feature worktree:

  1. Name the predecessor's branch. A Stacks on: naming a Ticket means the branch <feature-slug>-t<ticket>, where the feature slug is the Slug of the Ticket's Feature branch link (worktree.sh slug <branch>). A Stacks on: naming the feature branch or main means that branch.
  2. Run git fetch origin and check that the predecessor's branch is on origin (git ls-remote --exit-code --heads origin <branch>). When it is not, stop and say so: name the branch, the Ticket whose pull request has to be pushed first (for the feature branch, pull request 0, run implement-spec or push the feature branch and open that pull request), and that nothing was built.
  3. Run worktree.sh create <feature-slug>-t<ticket> origin/<predecessor branch> as the worktrees skill's Create section says, and work there. Confirm the branch sits on that base before writing anything.

Implement the work from its source:

  • Spec or tickets: the ones the user names. If commits have landed in their area since they were written, suggest running refresh-spec on them first.
  • The conversation: when the user names no spec or ticket, the work is what this session settled, such as the decisions from grill-with-docs or a fix agreed while discussing a bug. Before writing code, post a short brief: the goal, each settled decision, which loose ends are in scope, and the seams you will test at (prefer existing seams, the highest one possible, as few as possible). Then carry on without waiting for a reply. If the session left the goal or a decision open, name what is open and ask instead.

Use /tdd where possible, at the seams the spec or brief agreed.

Load the code-comments skill before writing code; every comment you write follows it. When the work builds UI, load the ui-design skill and build to the spec's UI Design section, or to the design plan the session settled.

Run typechecking regularly, single test files regularly, and the full test suite once at the end.

When scripts/dev-stack is executable and the change is reachable over HTTP or UI, read DEV-STACK-STEP.md once the full suite passes and follow it before the review.

Once done, load the review-changes skill to review the work. When you worked from the conversation, hand it the brief as the spec.

Commit your work to the worktree's branch.

Then push, the run's only push, and open a PR when the run finished clean: the full suite and typechecking pass, the dev stack check passed when it ran, the last review-changes verdict is pass (fix blocking findings and review again), and no decision waits on the user. Load the pr skill and open the PR as its "Opening the PR" section says. The PR is always complete, never a draft.

  • A Ticket with Stacks on:: pass the predecessor's branch as the base, the Ticket as the only issue it closes, and the Stack for the stack table, read from the Spec's Implementation flow. The Spec closes with the top pull request only, so name it only when this Ticket is the last one in the flow and you run it by hand. Under implement-spec, the top pull request closes the Spec instead.
  • Any other work: no base, so the PR targets the default branch. Name the Spec and Tickets the work came from as the issues it closes (none for work from the conversation).

When the run didn't finish clean, push nothing.

Release this session's worktree lock, as the worktrees skill's Release section says. Then load the run-report skill and end with the Run report. For a Ticket with Stacks on:, list the Stack in merge order, as its Links section says, with this pull request among them.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.