원클릭으로
harness-implement
Phase skill: TDD implementation — write tests first, then make them pass
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Phase skill: TDD implementation — write tests first, then make them pass
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Phase skill: fetch Linear ticket or parse task description into structured context
Phase skill: post-merge cleanup — merge the approved PR, verify Railway deploy, finalize Linear status, remove worktree
Universal state machine driver — reads state file, dispatches to phase skills, loops until workflow complete
Phase skill: create an implementation plan with TDD test strategy
Phase skill: run all quality checks — typecheck, tests, lint, format
Phase skill: commit changes, push branch, create a GitHub pull request, and watch CI to green
| name | harness-implement |
| description | Phase skill: TDD implementation — write tests first, then make them pass |
| user-invocable | false |
Implement the change using TDD: write failing tests, then write code to make them pass.
Read the plan from state outputs.
state.outputs.plan exists (written by harness-plan). Use it.harness-plan is skipped, so state.outputs.plan is missing. Fall back to state.outputs.pickup (ticket title, description, requirements) and infer the work directly. Quick profile is meant for trivial changes (typos, small fixes) where a formal plan would be overkill — keep the implementation surface tight and skip TDD ceremony if the change is a one-liner.If schema changes needed:
packages/db/src/schema.tspackages/types/src/entities.ts and/or api.tspnpm --filter @agentfleet/db drizzle-kit generate to create migrationTDD cycle — for each change in the plan:
__tests__/ directories:
apps/api/src/**/__tests__/apps/web/**/__tests__/ or apps/web/components/__tests__/packages/types/src/__tests__/pnpm --filter <package> vitest run <test-file>Follow existing patterns:
apps/api/src/routes/, register in apps/api/src/index.tspackages/types/, imported by both api and webapps/web/components/, pages in apps/web/app/(dashboard)/db from @agentfleet/dbRecord to conversation file:
Insert before the ## Harness Issues marker in .harness/conversations/<task-id>.md (use Edit tool with ## Harness Issues as the anchor — do NOT literally append, that would land below the issues section):
## Implement
**Tests written:** <count>
**Files changed:** <list>
**Key decisions:** <any deviations from plan>
If you hit friction while implementing (failed test approach, unclear pattern, retried more than once, plan revision), append an entry to the literal end of the file — it will land inside the ## Harness Issues section since that section is last.