task-brieflisted
Install: claude install-skill uzysjung/uzys-agent-harness
# Task Brief
A single shape for "here is the task". The point is not tidiness — it is that every field is a
place where an unstated assumption would otherwise stay unstated. A worker that receives prose
guesses what done means; a worker that receives this brief can be judged against it.
Use it in both directions. **Inbound**, an arriving request gets normalized into the shape before
you act on it. **Outbound**, a delegation prompt *is* this shape — you do not write a different
prompt format per worker.
## The template
Copy this shape. Fill what applies, delete what does not — an empty section left in place reads
as a field that was considered and found empty, which is a claim you did not make.
```xml
<objective>
[최종적으로 만들어야 할 의사결정 가능 상태 — 무엇을, 왜]
[가능하면 한 문장 판정 기준. 예: "이 화면을 보고 실제 주문을 낼 수 있는가"]
</objective>
<inputs>
[파일은 @경로로 직접 지정, 에러/로그는 요약 없이 원문]
[기존 자산을 승계할 경우: 무엇을 참고하고, 어떤 개념·인터페이스를
재정의하지 않고 그대로 쓰는지 명시]
</inputs>
<invariants>
[정답의 기준. 구현 방법이 아니라 결과값의 정의이므로 autonomy가 침범 불가.
계산 규칙·법규·도메인 제약 등. 바뀔 수 있는 값(세율 등)은 파라미터로 다루라고 명시.
해당 없으면 섹션 삭제 — 빈 섹션을 남기지 않는다]
</invariants>
<success_criteria>
[명령어·외부 관찰로 검증 가능한 완료 조건. 체크리스트 형태 권장.
항목 간 수치·개수 표현은 실제와 대조 확인 — 모델이 문자 그대로 대조한다]
</success_criteria>
<boundaries>
- Scope:
- Non-scope: [필요해 보여도 만들지 않는 것. 배출구를 함께 지정:
"대신 인계 문서의 후속 제안에 한 줄로 남긴다"]
- Guardrails: [이 태스크 한정 제약. 프로젝트 불변 규칙은 CLAUDE.md,
결과값 정의는 invariants로]
- Resource limit: [서브에이전트 상한, 시간·토큰 캡 등 결정적 상한]
- Stop conditions: [실패로 간