PostHog / PostHog/wizard

Prompt guidance: distinguish `[STATUS]` lines from `TaskCreate`/`TaskUpdate` calls

Open Beginner friendly
#588 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

wizard-pain
Dominant language
TypeScript
Stars
197
Forks
51
Avg merge
1d 23h
Merged PRs (30d)
94

Description

Problem

Agent prompts use two progress mechanisms — [STATUS] lines and the TaskCreate/TaskUpdate task list — but when to use which isn't documented in one place. basic-integration uses both; audit deliberately uses [STATUS] + the audit ledger and forbids task calls (audit/description.md: "Do not call TaskCreate / TaskUpdate / TaskGet / TaskList"). We should document the distinction and ship one reusable blurb.

When to use which

TaskCreate / TaskUpdate — the task list (durable plan).
Use when the work has distinct stages the user should follow as a plan with lifecycle. Create the list up front in a single TaskCreate (don't wait for a perfect plan), refine with further TaskCreate/TaskUpdate as understanding sharpens, and drive it with TaskUpdate: in_progress on start, completed on finish. Titles broad and job-oriented — not file/path/symbol specific.

[STATUS] — the live banner (transient activity).
Use for moment-to-moment "Working on …" narration within a stage. Emit a plain-text line prefixed [STATUS] before each phase/sub-step. Cheap, ephemeral, no lifecycle — the harness intercepts it and updates the spinner.

One or both:

  • Multi-stage flow with a task pane → use the task list for the stage backbone and [STATUS] for sub-step narration (basic-integration).
  • Flow whose progress is already tracked another way (e.g. a ledger) → skip task calls entirely, use [STATUS] only (audit).
  • Trivial/single-step work → neither.

Transportable blurb

## Task list

As soon as you have a rough sense of the work, **call `TaskCreate` immediately** — before reading any reference file or starting analysis — so the task pane isn't empty. It's fine if the first list is incomplete: seed it with the high-level items you can infer, then call `TaskCreate` again (or `TaskUpdate` to refine existing items) every time your understanding sharpens. Use `TaskUpdate` to mark an item `in_progress` when you start it and `completed` when you finish. Keeping the list current matters more than getting it right on the first call.

Keep task titles broad and job-oriented — describe the purpose or area of work (e.g. "Planning the migration", "Wiring up auth", "Writing tests"), not the specific files, paths, or symbols involved. Adjust the names to the user's project and context.

## Status

Before beginning each phase or sub-step, emit a plain-text line with the exact prefix `[STATUS]`:

[STATUS] Checking project structure

The harness intercepts these and updates the "Working on …" banner. Use them freely — they are cheap. Use `[STATUS]` for transient activity; use the task list for the durable plan of stages. If progress is already visible through another mechanism (a ledger, etc.), skip the task list and use `[STATUS]` only.

Source references

  • wizard/src/lib/agent/commandments.ts — the shared task-list commandment
  • context-mill/llm-prompts/basic-integration/1.0-begin.md — "Task list" + "Status" sections (uses both)
  • context-mill/transformation-config/skills/audit/description.md — "Live activity — [STATUS]" (uses [STATUS] + ledger, no task calls)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the shared task-list guidance in wizard/src/lib/agent/commandments.ts with the Task list and Status sections in context-mill/llm-prompts/basic-integration/1.0-begin.md and context-mill/transformation-config/skills/audit/description.md. Add one reusable blurb that clearly distinguishes durable task stages from transient [STATUS] activity and documents when to use either, both, or neither.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
developer-experience, documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.