68 lines
7.1 KiB
Markdown
68 lines
7.1 KiB
Markdown
---
|
|
status: resolved
|
|
parent: "[[038-implement-skill-map]]"
|
|
claimed-by: "019fbb66-80d0-7a01-8ac9-01255adfc7b2"
|
|
claimed-at: "2026-07-31T23:42:05-04:00"
|
|
blocked-by: []
|
|
tags:
|
|
- ticket/research
|
|
---
|
|
|
|
# Implement skill old workflow research
|
|
|
|
## Question
|
|
|
|
What behavior should the migrated `implement` skill preserve, adapt, or reject from the old local `/implement` skill and the old skills it depends on?
|
|
|
|
## Findings
|
|
|
|
The old `/implement` skill is task-file driven and explicitly refuses to infer a task from context.
|
|
It expects a `.claude/tasks/<NNNN>-slug.md` path produced by `/to-tasks`, checks any `blocked-by` entries by reading referenced task files, and treats a blocker as unresolved if it has any unchecked acceptance criterion.
|
|
A Wayfinder-aware migration should preserve explicit work selection, but adapt readiness checks from legacy task-file checkboxes to Wayfinder ticket metadata: an implementation task is actionable when the ticket is unblocked by resolved blockers and claimed by the current session before work starts.
|
|
Source: `/home/alexion/wrk/dotfiles/modules/agents/claude-code/skills/implement/SKILL.md`.
|
|
|
|
The old workflow has strong git guardrails.
|
|
It syncs `main` with `git pull --ff-only`, branches as `task-<NNNN>-<slug>`, never branches from a sibling task branch, refuses to stash uncommitted work automatically, never resets diverged `main`, and reuses an existing task branch without rebasing it.
|
|
A migrated skill should preserve the safety properties, but must redesign branch naming because Wayfinder artifact names are human-readable artifact links with identifiers inside filenames, not legacy `.claude/tasks` stems.
|
|
Source: `/home/alexion/wrk/dotfiles/modules/agents/claude-code/skills/implement/SKILL.md`.
|
|
|
|
The old workflow treats blocker work not reachable from `main` as a stop-and-ask condition because the blocker's PR is likely unmerged.
|
|
Wayfinder metadata can prove planning blockers are resolved, but it cannot prove code from prerequisite implementation tickets has landed on `main`.
|
|
A migrated skill should keep an explicit reachability check for implementation blockers that correspond to prior code changes, or else record a policy decision that Wayfinder task resolution is allowed to precede merge.
|
|
Source: `/home/alexion/wrk/dotfiles/modules/agents/claude-code/skills/implement/SKILL.md`.
|
|
|
|
The old implementation step delegates test-first work to `/test-driven-development` where possible and tells the agent to run typechecking regularly, focused tests regularly, and the full suite at the end.
|
|
The local `/test-driven-development` dependency adds stricter rules: tests verify behavior through public interfaces, avoid tautological assertions, proceed one test at a time through tracer bullets, and use a test-writer sub-agent while the main agent writes implementation.
|
|
A migrated skill should preserve the intent to use TDD at agreed seams, but should not blindly import Claude-specific sub-agent mechanics if the target runtime lacks them.
|
|
Sources: `/home/alexion/wrk/dotfiles/modules/agents/claude-code/skills/implement/SKILL.md`, `/home/alexion/wrk/dotfiles/modules/agents/claude-code/skills/test-driven-development/SKILL.md`.
|
|
|
|
The old staging rule is intentionally conservative: stage created and modified files specifically, not with `git add -A`, so unrelated untracked work is not swept in.
|
|
This remains valid for a Wayfinder-aware implementation workflow and should be preserved.
|
|
Source: `/home/alexion/wrk/dotfiles/modules/agents/claude-code/skills/implement/SKILL.md`.
|
|
|
|
The old review step runs `/review-uncommitted` with the task file as the spec source, then addresses findings before continuing.
|
|
The review dependency reviews `git diff HEAD` across Risk, Standards, and Spec axes, requires new files to already be tracked so they appear in the diff, and aggregates the Risk block plus Standards and Spec findings.
|
|
A migrated skill should preserve a pre-commit review gate, but adapt the spec source to the Wayfinder task ticket artifact and decide whether the risk axis belongs in the new review contract.
|
|
Sources: `/home/alexion/wrk/dotfiles/modules/agents/claude-code/skills/implement/SKILL.md`, `/home/alexion/wrk/dotfiles/modules/agents/claude-code/skills/review-uncommitted/SKILL.md`.
|
|
|
|
The old closeout updates the task artifact as part of the implementation commit.
|
|
It marks each acceptance criterion `[x]` when satisfied or `[-]` when deliberately dropped, appends `## Implementation Notes` for deviations, keeps permanent provenance and blocker frontmatter untouched, and stages the task file with code.
|
|
A migrated skill should preserve recording deviations and acceptance-criterion outcomes in the task artifact, but adapt lifecycle status to Wayfinder's `claimed` to `resolved` transition rather than treating checkboxes as the authoritative lifecycle.
|
|
Sources: `/home/alexion/wrk/dotfiles/modules/agents/claude-code/skills/implement/SKILL.md`, `/home/alexion/wrk/dotfiles/modules/agents/claude-code/skills/to-tasks/TASK-FORMAT.md`.
|
|
|
|
The old commit and PR mechanics are opinionated.
|
|
It makes one commit for the whole task, follows the repository's commit convention, references the task in the subject, pushes `task-<NNNN>-<slug>`, opens a ready PR against `main` using the repo forge CLI, includes the task path, summary, deviations, the review Risk block, and only unaddressed Standards and Spec findings, and does not ask before pushing or opening the PR.
|
|
A migrated skill should preserve the one-task-one-commit bias and PR body usefulness, but adapt task references to Wayfinder artifact links and decide whether automatic push and PR creation remain acceptable for every target repo.
|
|
Source: `/home/alexion/wrk/dotfiles/modules/agents/claude-code/skills/implement/SKILL.md`.
|
|
|
|
The legacy `/to-tasks` dependency produces tracer-bullet vertical slices as files under `.claude/tasks`, with `spec` and `blocked-by` frontmatter and checkbox acceptance criteria.
|
|
The already-packaged `slice` migration replaced that output with open, unclaimed Wayfinder task tickets in the AI-artifacts destination, using Wayfinder parent and `blocked-by` links instead of legacy stems.
|
|
The migrated `implement` skill should consume the Wayfinder task-ticket format created by `slice`, not the old `.claude/tasks` format.
|
|
Sources: `/home/alexion/wrk/dotfiles/modules/agents/claude-code/skills/to-tasks/SKILL.md`, `/home/alexion/wrk/dotfiles/modules/agents/claude-code/skills/to-tasks/TASK-FORMAT.md`, `/home/alexion/Documents/ai-artifacts/projects/skills/031-slice-skill-map.md`.
|
|
|
|
## Conclusion
|
|
|
|
The migrated `implement` skill should preserve explicit task selection, blocker safety, conservative git branching from `main`, no automatic stashing or destructive resets, TDD where appropriate, regular verification, specific staging, pre-commit review, deviation notes, one commit per task, and useful PR reporting.
|
|
It should adapt task identity, blocker readiness, branch naming, spec source, task closeout, PR references, and lifecycle state from legacy `.claude/tasks` conventions to Wayfinder task-ticket artifacts.
|
|
It should reject legacy assumptions that a task is identified by a `.claude/tasks` basename, that checkbox completion is the authoritative lifecycle, and that `spec` or `blocked-by` frontmatter from `.claude/tasks` exists.
|