skills/implementation-planning-guide/SKILL.md
Orchestrates the test-first implementation planning workflow. Use this skill whenever plan mode is active and the task involves implementing, adding, or modifying code. This includes feature implementation, bug fixes, refactoring, and any task that will result in code changes. Even if the user only says "plan this" or "how should we implement this", load this skill to ensure the full test-first planning workflow is followed.
npx skillsauth add nowsprinting/claude-code-settings-for-unity implementation-planning-guideInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Guide for plan mode. This skill defines the orchestration workflow for test-first implementation planning.
Launch Explore agents to understand the codebase relevant to the task.
TBD items: If the requirements or specifications explicitly contain the text "TBD" for any item, treat that item as non-existent — do not design or implement it. Only ask the user via AskUserQuestion if the TBD item is a prerequisite that cannot be deferred without blocking the overall design.
Launch a Plan agent to design the class/method structure. Include the following instruction in the Plan agent prompt:
Design the class/method seams with testability in mind:
- Prefer small, focused public interfaces
- Inject dependencies via interfaces so they can be replaced with test doubles
- Avoid hidden static/global state and
newcalls inside constructors for external dependenciesNaming: If any class or public method name explicitly specified by the user is a poor fit for what the spec describes, propose a more appropriate alternative using
AskUserQuestionbefore finalizing the design. Accept the user's final choice without further challenge.TBD items: Any item explicitly marked "TBD" in the requirements or spec must be excluded from the design. Skip it silently unless it is structurally required to complete the design (in which case, ask via
AskUserQuestion).
The Plan agent output should include only:
Do NOT include test cases, manual tests, or any test design — those are the sole responsibility of the test-designer agent in Phase 2.5.
After Phase 2, launch the test-designer agent using the following prompt structure:
## Requirements
[feature requirements]
## Task Type
[feature | bug-fix]
## Implementation Design
[class names, public method signatures, dependency interfaces, and design rationale from the Phase 2 Plan agent]
## Existing Code Context
[relevant existing code structure from Phase 1 Explore]
Rules for assembling the prompt:
Task Type to bug-fix when fixing a bug; omit or set to feature otherwise.Implementation Design, include only the design output — do NOT include any test cases or manual tests the Plan agent may have produced. Test design is the test-designer agent's sole responsibility.test-designer agent's output format is self-contained; caller-supplied format overrides produce non-standard output.The test-designer agent returns:
TESTABILITY: PASS, WARN, or FAIL)| Result | Action |
|---------------------|-------------------------------------------------------------------------------------------------|
| TESTABILITY: PASS | Proceed to Phase 3 (Review) |
| TESTABILITY: WARN | Proceed to Phase 3; record the Testability Issues in the plan file's "Known Trade-offs" section |
| TESTABILITY: FAIL | Loop back to Phase 2 (see below); maximum 1 retry |
test-designer agent outputFAIL after one retry → Abort (see below)Use AskUserQuestion to present the user with three options:
Read the critical files identified in the plan. Verify that the Plan agent's design and the test-designer agent's test cases are consistent with each other and with the user's intent.
Assemble the plan file with the following sections:
test-designer agent output. When transcribing, rewrite any mechanism-leaking descriptions to verification content only. Test framework attributes ([Test] / [UnityTest] / [LoadScene], etc.) and async/coroutine patterns are decided in the test-writing phase, not in the plan.test-designer agent outputTESTABILITY: WARN issues (if any)Include the following implementation steps in the plan file:
Create only the types and public method signatures for the product code that can be compiled. It's okay even if it does not work.
Launch a general-purpose subagent. The main agent itself does NOT load test-writing-guide — the subagent does.
Subagent prompt must include:
test-writing-guide skill before writing or modifying any test codeSubagent responsibilities:
test-writing-guide skill/run-tests skill, and confirm that they failOn subagent failure:
(reproduction test) in the plan) passes unexpectedly, report to the main agent without committing — this has no exception./run-tests command, and confirm that they all pass./code-review high skill./run-tests command to confirm they still pass.warning or higher severity level: for each modified file, run open_file_in_editor → mcp__ide__getDiagnostics → fix as a single set, one file at a time (opening all files at once exceeds the editor tab limit); re-run tests using /run-tests command to pass.reformat_file tool.testing
Orchestrates the test-first implementation planning workflow for feature implementation and spec changes. Use this skill whenever plan mode is active and the task involves implementing or adding a new feature, or changing an existing specification. Even if the user only says "plan this" or "how should we implement this", load this skill to ensure the full test-first planning workflow is followed.
testing
Diagnoses and fixes bugs using a test-first workflow (reproduce, diagnose, fix). Use this skill whenever the user reports a bug, describes unexpected behavior, or asks to investigate or fix a defect. Even if the user says "something's broken", "this isn't working", "fix this bug", or "why does X happen", load this skill to guide the full reproduce → diagnose → fix cycle.
development
Creates and modifies Unity scene and prefab files. Use this skill whenever creating, editing, or modifying .unity scene files or .prefab prefab files, or writing editor scripts under Assets/Editor/ that generate or manipulate scenes, prefabs, or scene-bound assets. This includes adding GameObjects, building uGUI hierarchies, wiring up components, and any task that results in changes to .unity or .prefab files.
tools
Provides guidelines for directly editing Unity YAML-serialized asset files for Unity projects. Make sure to use this skill whenever creating, editing, or modifying simple YAML asset files (ScriptableObjects, Materials, etc.) via Edit/Write tools without going through the Unity Editor. This includes adjusting ScriptableObject field values, modifying material shader properties, or any task that results in direct changes to allowlisted Unity YAML asset files. Even for small edits or one-line value changes, load this skill to ensure Unity asset-YAML conventions are followed.