AGENT SKILL

implement

Implement a ticket or spec end to end. Invoke ONLY when the user types /implement, or a dispatch prompt explicitly says to run implement for a named issue. Never invoke it on your own initiative, for ad hoc coding requests, or because a task looks like implementation work.

License 许可
MIT
最近更新
2026-11-11
Stars
★ 0
Forks
0

01 前言 Front Matter

name
implement
description
Implement a ticket or spec end to end. Invoke ONLY when the user types /implement, or a dispatch prompt explicitly says to run implement for a named issue. Never invoke it on your own initiative, for ad hoc coding requests, or because a task looks like implementation work.

02 资源文件 3

03 SKILL.md 正文

If you were not explicitly told to run implement, stop and say so instead of continuing.

If you are not the implementation agent, delegate the entire job to that agent in the assigned worktree. Include the original ticket/spec, base, size, brief, files, scratch/report path and fleet result contract verbatim; do not implement or review in the parent. If the agent cannot be found or launched, report blocked (reviewed=no for fleet) rather than silently doing the work yourself. The agent loads this skill and follows the worker instructions below; this delegation does not repeat inside it. Wait for its result and preserve the fleet one-line output unchanged.

Implement the work described by the user in the spec or tickets.

For a large or multi-part ticket, split it into smaller /implement runs by logical slice, or checkpoint with /compact between major phases (after planning, after test-writing, before the final review). A single long session re-sends its whole growing history on every turn, so cost compounds with session length far faster than with the same work split into smaller ones.

Run test suites expected to take over about 30 seconds in the background, end the turn and wait for the completion notification. Never poll with sleep or Monitor loops: each poll re-sends the whole session.

Before editing unfamiliar code in a repo with a .codegraph/ index, make codegraph_explore (load it via ToolSearch if deferred) your first lookup, before any grep or search. Pass the symbols or files the ticket names or you expect to touch; the result is verbatim source, so don't cat, sed -n or Read what it already returned. Read only files you are about to edit or that it didn't surface. If a fleet brief is named, start from it. For research broader than one query, use a cheap exploration subagent (e.g. Explore) and take its distilled summary rather than grepping and reading extensively yourself in this session.

If a merge or rebase stops on a conflict, trace each side to its intent from the diffs (read commit messages for the conflicting files only if intent is still unclear), keep both intents or name what was dropped, invent no new behaviour, and run typecheck and the scoped tests before continuing. Never abort to dodge a real conflict; abort only if the base is wrong.

Load the standards skill for each language this change touches before editing a file in it, and follow it as written. Existing code that breaks the standard is not licence to match it.

~/.claude/rules/comments.md is the authority on comments. It outranks a standards skill's own comment guidance.

If every change the issue asks for is under skills/, load skill-updater with the issue number for its baseline-versus-new verification and draft PR, then independently review the PR's final diff with code-review at the required level before reporting reviewed=yes. Apply and push warranted findings to that branch and repeat review if the fix materially changes the diff. If the updater or independent review cannot finish, return blocked with reviewed=no for fleet. This route does not bypass the review gate merely because the updater opened a PR.

Load tdd where possible, at pre-agreed seams.

Signatures in the ticket's ## Signatures section are frozen: write them exactly as given and never change one to make the work fit. If a frozen signature can't be kept, take the contract-change path and stop:

  1. Create the contract-change label if missing (check gh label list first; --force would recolour an existing one).
  2. File an issue labelled contract-change, status:backlog and the ticket's feature label (the user approves it by moving it to ready), naming the signature, why it can't be kept, and the proposed new one. The user resolves it by updating the plan and the ## Signatures of every affected ticket, then closing it.
  3. Add - Blocked by #<new issue> to this ticket's ## Blocked by section and set it back to status:backlog.
  4. Open a draft PR with the work so far, leaving the signature untouched, and stop.

/fleet reconcile moves the ticket back to ready once the contract-change issue is closed.

A ticket carrying size:xs, or a dispatch prompt saying Size: xs, is a small fix: keep the diff to what the ticket asks, with no adjacent refactors. Skip tdd unless the fix changes observable behaviour, and then add one regression test. Skip code-simplifier. Review with /code-review low instead of medium. Both levels require an independent reviewer.

Given several issues at once (a fleet bundle), work them in the order given, one commit per issue whose message ends Closes #<N>, and one PR for the whole bundle. Run the review passes once, over the whole bundle.

Run typechecking regularly, single test files regularly, and the full test suite once at the end. For the regular checks, run the narrowest command that proves the point (a single test file or package, e.g. go test ./path -run TestName) rather than the project's full test/lint runner (e.g. just test, just lint) — save that for the one full-suite pass at the end.

If the repo has .claude/fleet.toml, the final pass before pushing runs every command in its [checks] pre_push list, in order, and fixes failures before pushing. Run only the listed commands; anything not listed is left to CI. Without the file, behave as above.

Don't invoke code-simplifier after each individual edit. Load code-simplifier once near the end of the change, right before code-review.

Before committing or reporting a reviewed result, follow references/review-gate.md for the independent review and failure path.

When a fleet dispatch prompt names a Base:, the work belongs on the ticket branch issue-<N>/<short-title>: <N> the issue number, <short-title> a kebab-case slug of the issue title, a few words (issue-142/stuck-scrape-run). Dispatch normally creates it; if the current branch is anything else, create it with tp new <branch> --base <Base> --current (see treepad) and work in that worktree. Never git switch -c or checkout -b in the current checkout: other sessions may share it, and moving its HEAD changes files under them.

Commit your work to the current branch.

Finish by raising a PR for review. Its base is Base: when a fleet dispatch prompt names one; ad hoc runs use the repo's default base.

04 同仓库更多 Skills

O-Marsters-1997
O-Marsters-1997/my-claude-code

vault-recall

Answer the user's conceptual or technical question using their Obsidian vault as well as general knowledge. Use when the user asks a question (not a task) whose topic appears in the vault MOC digest from session start. Not for task instructions, not mid-task, and not for writing to the vault (that is to-vault).

★ 0
O-Marsters-1997
O-Marsters-1997/my-claude-code

ingest

Ingest one external source (an article, course lesson, doc, PDF or URL) into the user's Obsidian vault: save the original to raw/, then build wiki/ pages per the vault's § Ingest. Use when the user types /ingest, or says "ingest this", "add this source to my wiki", "put this article/lesson in the vault as a wiki page". Works from any repo. Routing rule: someone else's words go to wiki/ (this skill); the user's own learnings and decisions go to notes/ (/to-vault).

★ 0
O-Marsters-1997
O-Marsters-1997/my-claude-code

to-tickets

Breaks a source into independently-grabbable GitHub tickets. For a code feature the source is the plan (`docs/plans/<feature>.md`, from /to-plan) and every new or changed symbol lands in exactly one ticket, its signatures copied into the ticket body; a non-code feature is cut from the PRD's slices. Cuts tickets for one feature per run. If a code feature has no approved plan, offers /to-plan instead of cutting from prose. In a repo that runs command-centre, also emits `[[task]]` blocks into its config; in a plain treepad repo, emits a Batch Manifest instead so the tickets materialise as stacked worktrees.

★ 0
O-Marsters-1997
O-Marsters-1997/my-claude-code

to-seams

Records an agreed-but-unlanded cross-repo interface as a seam: the file a consumer's agent gets pasted into its prompt as ground truth, plus the `[[seam]]` block command-centre reads for the retirement pointer. Use when two repos need to build against an interface neither has landed yet — "record a seam for X", "we agreed on this schema, seam it", "add a seam so Y can build against Z's new field". Halts for approval before writing either file.

Skill与智能体开发
★ 0
O-Marsters-1997
O-Marsters-1997/my-claude-code

to-roadmap

Prioritises settled features into a Now / Next / Later kanban board, rendered as a self-contained ./ideas/roadmap.html. Each card is a feature, not a ticket — one card later becomes several tickets via /to-prd -> /to-plan -> /to-tickets. Boards the features in ./docs/approach.md, or the "## Accepted ideas" in ./ideas/CONTEXT.md when there is no approach doc. The approach doc is settled truth: this assigns tiers and reasons about ordering, it never re-litigates what was decided.

产品经理
★ 0
O-Marsters-1997
O-Marsters-1997/my-claude-code

to-prd

Turns one feature idea into a PRD built on journeys: a one-line problem, journeys (each ending in an observable state) and delivery slices that say what is usable after each. Interviews, explores the codebase, and saves to docs/prds/<feature>.md. Covers exactly one feature: given a multi-feature source, ask which one. Reads any approach doc or ideate report as priors so it doesn't re-ask what's settled, but needs none. Starts the per-feature spine (/to-prd -> /to-plan -> /to-tickets).

产品经理
★ 0