원클릭으로
spec-kitty-implement
Execute a work package implementation
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Execute a work package implementation
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | spec-kitty.implement |
| description | Execute a work package implementation |
| user-invocable | true |
Version: 0.12.0+
Execute the implementation of a work package according to its prompt file. Follow TDD practices, respect file ownership boundaries, and apply safety guardrails for bulk operations.
IMPORTANT: This step works inside the execution workspace (worktree)
allocated by spec-kitty agent action implement WPxx --agent <name>. Do NOT modify files outside
your owned_files boundaries.
In repos with multiple missions, always pass --mission <handle> to every spec-kitty command. The <handle> can be the mission's mission_id (ULID), mid8 (first 8 chars of the ULID), or mission_slug. The resolver disambiguates by mission_id and returns a structured MISSION_AMBIGUOUS_SELECTOR error on ambiguity — there is no silent fallback.
The content of the user's message that invoked this skill (everything after the skill invocation token, e.g. after /spec-kitty.<command> or $spec-kitty.<command>) is the User Input referenced elsewhere in these instructions.
You MUST consider this user input before proceeding (if not empty).
Run:
spec-kitty agent context resolve --action implement --mission <handle> --json
Then execute the returned check_prerequisites command and capture
feature_dir. All paths must be absolute.
The output of spec-kitty agent action implement ... is the authoritative work
package prompt and execution context. Do not separately call
spec-kitty charter context or rummage through unrelated files looking for a
"newer" prompt unless the command output tells you to.
Read the WP prompt file from feature_dir/tasks/WPxx-slug.md.
Parse frontmatter for:
owned_files -- only modify files matching these globsauthoritative_surface -- primary directory for this WPexecution_mode -- code_change or planning_artifactsubtasks -- ordered list of subtask IDsdependencies -- WPs that must be done firstConfirm all dependency WPs are in done status before proceeding.
If any are not done, stop and report which dependencies are blocking.
Work through each subtask in order:
After all subtasks are complete:
owned_files were modifiedIf this mission has change_mode: bulk_edit in its meta.json, an occurrence
classification artifact is required before implementation can begin.
What to check:
meta.json in the feature directory — look for "change_mode": "bulk_edit"occurrence_map.yaml exists in the same directoryrename, manual_review, do_not_change, rename_if_user_visibleDuring implementation:
do_not_changemanual_review categories, document your decision in the WP review notesrename_if_user_visible, only change user-facing text (docs, UI, error messages)exceptions section for files/patterns with overriding rulesIf the gate blocks you:
The system will refuse to start implementation if the occurrence map is missing or
incomplete. Create occurrence_map.yaml following the schema with target, categories
(3+ with actions), and optionally exceptions. Re-run the implement command.
If an inference warning fires:
The system may warn that spec content looks like a bulk edit even without change_mode set.
Either set change_mode: "bulk_edit" in meta.json, or re-run with --acknowledge-not-bulk-edit.
WHEN THIS APPLIES: Any work package that performs bulk renaming, terminology cutover, or mass find-and-replace across multiple files. If your WP does NOT involve bulk text replacement, skip this section.
Before performing bulk renames or term replacements:
Search the codebase for ALL occurrences of the target term:
grep -rn "target_term" src/ tests/ docs/ --include="*.py" --include="*.md" --include="*.yaml" --include="*.json"
Classify each occurrence into one of these categories:
| Category | Example Pattern | Typical Action |
|---|---|---|
import_path | from module.old_name import | RENAME |
class_name | class OldName: | RENAME |
function_name | def old_name(): | RENAME |
variable | old_name = ... | RENAME |
dict_key | "old_name": value | RENAME |
file_path | src/old_name/ | RENAME (with filesystem move) |
config_value | setting: old_name | RENAME |
log_message | log("Processing old_name") | UPDATE (human-readable) |
comment | # old_name does X | UPDATE |
documentation | The old_name module... | UPDATE |
test_fixture | test_old_name_works | RENAME |
external_ref | URL or external API name | PRESERVE |
Produce a classification report as a markdown table in the WP implementation notes. Example:
| File | Line | Occurrence | Category | Action |
|---|---|---|---|---|
src/foo.py | 12 | from old_name import | import_path | RENAME |
docs/api.md | 45 | The old_name module | documentation | UPDATE |
src/config.yaml | 8 | endpoint: https://api.old_name.com | external_ref | PRESERVE |
Get classification confirmed before proceeding with edits.
Apply edits category by category, verifying each category independently.
After completing bulk renames:
Search for remaining occurrences of the old term:
grep -rn "old_term" src/ tests/ docs/ --include="*.py" --include="*.md" --include="*.yaml" --include="*.json"
For each remaining occurrence, classify it:
Search command template and agent directories explicitly:
grep -rn "old_term" src/specify_cli/missions/*/command-templates/
grep -rn "old_term" .claude/commands/ .codex/prompts/ .opencode/command/
grep -rn "old_term" .github/prompts/ .gemini/commands/ .cursor/commands/
grep -rn "old_term" .qwen/commands/ .kilocode/workflows/ .windsurf/workflows/
grep -rn "old_term" .augment/commands/ .roo/commands/ .amazonq/prompts/
Produce a verification report:
After completing implementation:
Next step: spec-kitty next --agent <name> will advance to review.
Interview and compile a project charter
Generate a requirements-quality checklist
Create an implementation plan
Generate research documents for the current mission
Review a work package implementation
Create a mission specification