Add spec-driven product task workflow#3561
Conversation
Introduce a three-skill workflow for working product tasks whose GitHub issues arrive underspecified: - grill-the-task: research-first interview (issue, codebase, live API samples, Figma mockups) that fills the task's gaps with the developer and front-loads the executor skills' inputs - to-spec: converts any conversation into a spec in .agents/tasks/, merges updates, and runs the Slack round-trip for open questions (send grouped by owner, harvest replies, follow up) - implement-task: executes the spec one subtask per run, inferring the spec from the issue-<number> branch convention, handing styling work to the developer per the delegation boundary Supporting pieces: .agents/rules/delegation.mdc (living agent/human boundary incl. the scaffold->style split and testing policy), .agents/TEAM.md (per-team contact roster + Slack routing channels), .agents/tasks/README.md (team-facing lifecycle doc), and the generic grilling interview skill promoted from a personal skill. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Encode the draft-PR-first policy across the workflow: to-spec now ends by bootstrapping the branch (issue-<number>, issue-<number>-step-<N>, or the task-dir slug for ad-hoc specs), proposing the spec commit, and suggesting a draft PR — each with explicit developer approval. For ad-hoc ideas the draft PR doubles as a parking spot. implement-task infers the spec from any of the branch conventions and nudges to flip the PR to ready when the last box is checked. The Checks workflow now skips draft PRs entirely (same gate as the "skip checks" label), runs on ready_for_review, and stays manually runnable via workflow_dispatch. Spec-only changes are also excluded via .agents/** in paths-ignore. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Three modes: draft placeholder at spec time (goal + spec link instead of the PR template — nothing is implemented yet), finalize-draft (rewrite the body from the real diff, derive labels, gh pr ready), and the classic create-right-away flow for work done outside the task workflow. implement-task's end-of-task nudge now points at the finalize mode. Also tighten the dependencies label: only actual dependency sections of package.json count, not scripts or other fields. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Apply skill-writing discipline to the product-task workflow skills: - grill-the-task, implement-task: collapse model-facing trigger descriptions to human-facing one-liners (both are user-invoked and pay no context load); add checkable completion criteria to the research and interview steps; fix line-wrap and typos - implement-task: branch conventions + inference now live only in the Branch model section - to-spec: draft-PR rationale deduplicated to .agents/tasks/README.md; completion criteria for the harvest and outreach steps - create-pr: trim body detail from the description grilling is untouched: seven battle-tested lines. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. To trigger a review, include ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Description and Related Issue(s)
Introduces a spec-driven workflow for working product tasks whose GitHub issues arrive underspecified (a title and a couple of links — e.g. #3537, #2909). The workflow fills the task's gaps through a structured interview, routes unanswerable questions to the responsible people via Slack, and executes the resulting spec one subtask at a time — explicitly separating what an agent may implement from what stays with a developer (final markup/styling against Figma mockups).
Entry point for the team:
.agents/tasks/README.md.Proposed Changes
grill-the-task— research-first interview: fetches the issue, explores the codebase, curls live API samples, enumerates Figma mockups; runs mockup↔API sufficiency and field-propagation cross-checks; then grills the developer one question at a time and front-loads the executor skills' inputs into the spec.to-spec— converts any conversation into a spec in.agents/tasks/(or merges into an existing one); sends open questions to their owners in Slack (channel-first for product questions, in Russian), harvests replies back into the spec, and bootstraps the branch + draft PR.implement-task— executes the spec one leaf subtask per run, inferring the spec from the branch name (issue-<number>/issue-<number>-step-<N>/ task-dir slug); hands[human]subtasks over to the developer..agents/rules/delegation.mdc(living agent/human boundary, incl. the scaffold→style split and standing testing policy),.agents/TEAM.md(per-team contact roster + Slack routing channels),.agents/tasks/README.md(lifecycle doc), and the genericgrillinginterview skill promoted from a personal skill.create-prskill reworked into three modes: placeholder draft PR at spec time, finalize-draft into ready-for-review, and the classic create-right-away flow. The dependencies label now requires changes in actual dependency sections ofpackage.json, notscripts.skip checkslabel), checks run onready_for_review, manual runs stay available viaworkflow_dispatch;.agents/**and.cursor/**added topaths-ignore.No ENV variable changes.
Breaking or Incompatible Changes
None for the application. One CI behavior change: the Checks workflow no longer runs automatically on draft PRs — it runs when the PR is marked ready for review, and can always be triggered manually via
workflow_dispatch.Additional Information
Specs will accumulate in
.agents/tasks/(they merge together with their task's PR) and serve as precedent for future tasks..agents/TEAM.mdstores Slack member IDs deliberately — they are workspace-scoped identifiers, not credentials — to make question routing deterministic.Checklist for PR author