timbo2547/my-skills

plan-to-code

Stage 3 of the feature workflow.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/timbo2547/my-skills --skill plan-to-code

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

Plan to Code

Stage 3 of 4. Consumes a plan and one task number. Produces code, one commit, and ticked checkboxes. Runs once per task, in its own session.

Announce at start: "Using plan-to-code to implement Task N of this plan, and only Task N."

The whole point of this skill is that it stops. It stops before verifying, because the user verifies. It stops at the task boundary, because the next task gets a fresh session. Momentum past either of those points is the failure mode this design exists to prevent.

1. Take the arguments

You need a plan path and a task number. Never choose a task yourself.

If the task number is missing, read the plan, then print exactly and stop:

No task number was given, so I have not started anything.

Unchecked tasks in <plan path>:

  Task 4: <title>
  Task 5: <title>

Next is Task 4. Start it with:

  Use the plan-to-code skill with <plan path> task 4

I will not pick a task on my own.

If the plan has no task with that number, print the same list and stop.

2. Check the preconditions, before writing anything

Both gates run before any file is touched, including the plan file.

Dirty working tree. Run git status --short. If anything is listed, print exactly and stop:

The working tree has uncommitted changes, so I have not started Task <N>.

<git status --short output>

This skill commits exactly one task, and it cannot do that cleanly on top of unrelated
changes. Commit or stash them, then run this again.

Out of order. Scan the plan for - [ ] **Task lines with a lower number than the one requested. If any exist, print exactly and stop:

Task <N> was requested, but earlier tasks are still unchecked:

  Task 1: <title>
  Task 2: <title>

Tasks are ordered because later ones consume interfaces earlier ones produce.

Reply "proceed anyway" to start Task <N> regardless, or start Task 1 instead.
I will not proceed until you answer.

Already ticked. If the requested task's box is already ticked, say so and stop.

3. Pin the base commit and the branch

Read the plan header. If **Base commit:** is empty, this is the first task to run against this plan, so record the fixed point now, before any change:

  • **Base commit:** gets the output of git rev-parse HEAD.
  • **Branch:** gets the output of git rev-parse --abbrev-ref HEAD.

Write both into the plan header and nothing else. If either is already filled, leave it exactly as it is. This is the fixed point code-to-review diffs against, so it is recorded once and never revised.

When you fill these in and the branch is main or master, add this line once, as a notice and not a refusal, since this skill never creates branches:

Note: base commit pinned on <branch>. Every task in this plan will commit here.

4. Load the context, and no more

Read exactly this much:

Read in fullRead partiallyDo not read
The plan header and ## Global ConstraintsThe **Interfaces:** block of earlier tasksThe bodies of other tasks
The target task, wholeThe CONTEXT.md terms named in the headerUnrelated ADRs
The spec named in the header
Every ADR the target task's **Satisfies:** line cites

Earlier tasks exist to tell you the names and signatures you must consume. Their steps, their code, and their tests are none of your business this session.

State in one short block which artifacts you read.

The ## Global Constraints section applies to this task even though it is not repeated inside it. Treat every line of it as a requirement of Task N.

5. Implement exactly one task

Follow the task's steps in order. Write the failing test, then the implementation, as the task lays out.

Do not start, peek at, or quickly also do any other task. If implementing this task reveals work that belongs elsewhere, write it on a deferred list for the closing report and stop at the task boundary regardless. A task that is easy to also do is still a different task, and it gets its own session, its own verification, and its own commit.

If a step cannot be followed as written because the plan is wrong about the codebase, say so and stop. Do not improvise around a plan defect.

6. Tick nothing yet

Do not touch a checkbox during implementation. A checkbox records verified work, not attempted work. There is no partial credit and no in progress state.

7. Stop and name the tests

Do not run the build. Do not run the test suite. Do not run a single test. Building and testing is the user's job, and this skill has no opinion it is entitled to form about the result.

Do not print a build command or a test command either. The user builds and runs their own project every day and does not need to be told how. What they cannot know without reading the task is which tests this task made relevant.

Print exactly this, filled from the task, then wait:

Task <N> is implemented. I have not built it and I have not run any tests.

Tests to run:

  New       <test name>
            <test name>
  Affected  <test name>

A pass looks like: <the task's "A pass looks like" line>

Tell me the result. I will not tick a checkbox or commit until you confirm those pass.

Omit the New or Affected group if the task has neither. If the task names no tests at all, say so plainly rather than inventing some, and ask what the user wants to verify.

Then stop and wait. Silence is not confirmation.

8. The failure path

If the user reports a build break or a test failure, fix it within the scope of this task, then reprint the block from step 7 with one added line naming what changed. Loop until the user confirms a pass.

If the fix would need work outside this task, print exactly and stop:

Fixing this needs work outside Task <N>.

  You reported:  <the failure>
  The cause:     <what is actually wrong>
  The fix needs: <what it would take>
  Out of scope because: <which task owns it, or that no task does>

Task <N> stays as it is. Tell me whether to expand Task <N> deliberately, defer this to
a new task, or stop here. I will not widen the task on my own.

9. Tick, only after explicit confirmation

Only once the user has said in words that the project builds and the tests pass:

  • Tick every step checkbox in Task N.
  • Tick the - [ ] **Task N complete** box.

Edit the plan file in place. The plan is the single source of truth for progress. Never write a separate state file, a progress log, or a summary document.

10. Commit, locally

bash
git add <the files this task touched> <the plan path>
git commit -m "<the task's Commit message, verbatim>"

Stage the task's files plus the updated plan. Use the plan's commit message unchanged.

Forbidden, without exception: creating a branch, creating a worktree, pushing, opening a pull request, merging, rebasing, tagging, or amending an earlier commit. If the user wants any of those, they will ask for them themselves.

11. Close the session

If unchecked tasks remain, print exactly:

plan-to-code complete for Task <N>.

  Plan:    <plan path>
  Commit:  <short SHA>  <commit subject>
  Ticked:  Task <N> and its <n> steps

Deferred work discovered:
  - <item>, belongs to <task or nothing>
  (or: None.)

Next: Task <N+1>, in a fresh session.

  Use the plan-to-code skill with <plan path> task <N+1>

This session is done. I will not start Task <N+1>.

If this was the last unchecked task, replace the last three lines with:

Every task in this plan is now ticked.

Next stage: code-to-review, once, against the whole plan.

  Use the code-to-review skill with <plan path>

This session is done.

Then stop. Do not continue, do not offer to continue, and do not summarise the feature.

Refuse rather than improvise

  • No task number means no work. Never infer which task is next and start it.
  • A dirty tree means stop, not "commit it for them".
  • Unconfirmed tests mean no tick and no commit, however obviously correct the code looks

to you.

  • Work outside the task is written down, never done.
  • A defect in the plan is raised, never patched around.

Less common branches, including a filled base commit that HEAD has diverged from, a branch mismatch, and abandoning a task part way, are in TROUBLESHOOTING.md.

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills
timbo2547
커뮤니티

code-to-review

Stage 4 of the feature workflow. Use when every task in an implementation plan under docs/plans/ is ticked and the finished feature needs reviewing as a whole. Takes a plan path, diffs HEAD against the base commit recorded in the plan header, and reviews that diff along two axes in parallel sub-agents: Standards, meaning this repo's documented standards, a code smell baseline, and the CONTEXT.md glossary, and Spec, meaning the spec the plan names and the ADRs that spec lists. Writes a report to

설치 수
1
GitHub Stars
0
업데이트
9월 5일
timbo2547
커뮤니티

interview-to-specs

Stage 1 of the feature workflow. Use when an intent, idea, or rough plan exists but no spec has been written to disk yet. Interviews the user one question at a time, challenges the idea against the repo's glossary and recorded decisions, and produces a feature spec under docs/specs/ plus glossary updates in CONTEXT.md and any warranted ADRs. Also use when a downstream skill reports that no spec exists, or when a review shows the spec or an ADR was wrong. Do not use when a spec already exists and

설치 수
1
GitHub Stars
0
업데이트
9월 5일
timbo2547
커뮤니티

specs-to-plan

Stage 2 of the feature workflow. Use when a written spec exists under docs/specs/ and no implementation plan has been written for it yet. Reads the spec, every ADR its front matter lists, and the CONTEXT.md glossary terms it depends on, then writes a task by task implementation plan to docs/plans/ with TDD steps, exact file paths, real code, the tests each task adds or affects, and a per task commit message. Refuses to run without a spec. Do not use to write the spec itself, which is interview-t

설치 수
1
GitHub Stars
0
업데이트
9월 5일