5.3 KiB
name, description
| name | description |
|---|---|
| harness-workflow | Plan and run the Report Harness workflow for this repository. Use when Codex needs to read `AGENTS.md` and `docs/*.md`, discuss report scope, draft research/drafting/revision phase plans, or create/update `phases/index.json`, `phases/{phase}/index.json`, and `phases/{phase}/stepN.md` files for staged execution. |
Report Harness Workflow
Use this skill when the user is working in the report-generation Harness template and wants structured planning or phase-file generation.
Workflow
1. Explore first
Read these files before proposing steps:
/AGENTS.md/docs/PRD.md/docs/ARCHITECTURE.md/docs/ADR.md/docs/UI_GUIDE.md/docs/RESEARCH_LOG.md/docs/REPORT_DRAFT.md/docs/FEEDBACK.md
If the user explicitly asks for parallel exploration, use built-in Codex subagents such as explorer, or the repo-scoped custom agent phase_planner.
2. Confirm report inputs before locking the plan
Check that docs/PRD.md has enough information for:
- Report topic.
- Purpose and target reader.
- Required keywords.
- Direction or stance.
- Output format and success criteria.
If any of these are missing and cannot be reasonably inferred, create a short blocked step or ask the user for the missing input instead of fabricating intent.
3. Design steps with strict boundaries
When drafting a report phase plan:
- Keep each step focused on one research question, source-review pass, outline pass, draft pass, or feedback pass.
- Make each
stepN.mdself-contained so it can run in an isolated Codex session. - List prerequisite files explicitly. Never rely on "as discussed above".
- Specify report artifacts and invariants, not line-by-line prose.
- Use executable acceptance commands, not vague success criteria.
- Write concrete warnings in "do not do X because Y" form.
- Use kebab-case step names.
- Require web search for facts, current information, market data, policy/law, statistics, or recommendations.
- Require source notes in
docs/RESEARCH_LOG.mdbefore adding claims todocs/REPORT_DRAFT.md.
Recommended step sequence:
brief-audit: validate the report brief and derive research questions.source-discovery: perform broad web search and record candidate sources.deep-research-{topic}: research one specific keyword, stakeholder, region, or issue.source-review: check source quality, conflicts, freshness, and missing evidence.outline: design the report structure from the evidence.draft-report: write or revisedocs/REPORT_DRAFT.md.feedback-questions: add targeted questions for the user and updatedocs/FEEDBACK.md.
Files to generate
phases/index.json
Top-level phase registry. Append to phases[] when the file already exists.
{
"phases": [
{
"dir": "0-research",
"status": "pending"
}
]
}
dir: phase directory name.status:pending,completed,error, orblocked.- Timestamp fields are written by
scripts/execute.py; do not seed them during planning.
phases/{phase}/index.json
{
"project": "<report-project-name>",
"phase": "<phase-name>",
"steps": [
{ "step": 0, "name": "brief-audit", "status": "pending" },
{ "step": 1, "name": "source-discovery", "status": "pending" },
{ "step": 2, "name": "draft-outline", "status": "pending" }
]
}
project: fromAGENTS.mdordocs/PRD.md.phase: directory name.steps[].step: zero-based integer.steps[].name: kebab-case slug.steps[].status: initialize topending.
phases/{phase}/stepN.md
Each step file should contain:
- A title.
- A "read these files first" section.
- A concrete task section.
- Executable acceptance criteria.
- Verification instructions.
- Explicit prohibitions.
Recommended structure:
# Step {N}: {name}
## Read First
- /AGENTS.md
- /docs/PRD.md
- /docs/ARCHITECTURE.md
- /docs/ADR.md
- /docs/UI_GUIDE.md
- /docs/RESEARCH_LOG.md
- /docs/REPORT_DRAFT.md
- /docs/FEEDBACK.md
- {files from previous steps}
## Task
{specific report research, source review, drafting, or feedback instructions}
## Acceptance Criteria
```bash
python scripts/validate_workspace.py
```
## Verification
1. Run the acceptance commands.
2. Check `AGENTS.md` and `docs/*.md` for report-rule drift.
3. Confirm every new factual claim has a source or is listed under `검증 필요`.
4. Update the matching step in `phases/{phase}/index.json`:
- completed + summary
- error + error_message
- blocked + blocked_reason
## Do Not
- {concrete prohibition}
Execution
Run the generated phase with:
python scripts/execute.py <phase-name>
python scripts/execute.py <phase-name> --push
scripts/execute.py handles:
report-{phase}branch checkout/creation when the directory is a git repository- guardrail injection from
AGENTS.mdanddocs/*.md - accumulation of completed-step summaries into later prompts
- up to 3 retries with prior error feedback
- two-phase commit of report artifact changes and metadata updates
- timestamps such as
created_at,started_at,completed_at,failed_at, andblocked_at
Recovery rules
- If a step is
error, reset its status topending, removeerror_message, then rerun. - If a step is
blocked, resolve the blocker, reset topending, removeblocked_reason, then rerun.