Skip to content
cccskills
FreePublished on GitHub

scope-management

Use when defining a feature - name what is in scope, out of scope, and assumed, and handle mid-flight expansion without corrupting in-progress tasks

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md3.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Scope Management

Overview

Scope is defended by what you write DOWN, especially the "out of scope" line. Undocumented scope drifts; a task whose AC quietly grows mid-flight is the classic cause of a blown estimate and a bounced UAT.

Core principle: Name the boundary explicitly. New scope becomes a new task, never an edit to an in-progress one.

For every feature, write

  • In scope: concrete deliverables in this iteration.
  • Out of scope: explicitly named items deferred or excluded — this line does the real work.
  • Assumptions: constraints treated as given.

TaskTrooper has no epic. For a single direct task, this lives in its own description. For a feature that spans several tasks via analiz, it lives on the analiz task (description or add_task_document) — never re-written per implementation task.

Mid-flight expansion

When a request grows while work is in progress: create a new task for the expansion. Do NOT edit the AC of an in-progress task — a moving target invalidates the developer's plan and QA's scenarios and silently inflates the estimate.

Except when the human changes the task themselves. A comment the task's owner writes ON the task ("also show the logos in the marquee"), or their own edit of its description or criteria, is not mid-flight expansion to push back on — it is the task's requirement now. It outranks the original description and its out-of-scope list; every role builds, reviews, tests and accepts against it. Do not split it into a new task or treat it as creep unless the human asks for that.

MoSCoW inside a feature

Must → this task's acceptance_criteria. Should/Could → separate backlog tasks, never folded into this one. Won't → the Out of scope line, with a reason (see backlog-prioritization).

Dropping a criterion deliberately

Use cancel_criterion with a reason when a criterion is descoped, superseded by a later human comment, or moved to another task — never to get past work that simply wasn't done. cancel_criterion says "we're not shipping this here," which is a scope decision; a rejected review_criterion says "this doesn't work yet," which is a defect. Don't use one for the other.

A new idea found during UAT

Something the PM or QA notices in pm_uat/human_uat that nobody asked for is a candidate for a new backlog task (create_board_task, priority low, same repository/project) — it is never a gap on the current task and never blocks its approval. Only something that breaks a criterion, a human comment, or the original request is a gap.

Worked Example

Feature: "task export."

  • In scope: CSV export of a project's tasks via the board UI.
  • Out of scope: PDF export, scheduled/emailed exports, custom column selection.
  • Assumptions: export is on-demand; ≤ 10k tasks per project.

Mid-sprint the stakeholder says "also email it weekly." That's the out-of-scope "scheduled export" — create a new task for it, keep the in-progress CSV task untouched, and tell the stakeholder it's queued separately.

Common Mistakes

  • Omitting the "out of scope" line → scope creeps by default.
  • Editing an in-progress task's AC to absorb new asks.
  • "We'll figure out scope later" → later is a UAT surprise.

Red Flags

  • A feature with an in-scope list but no out-of-scope list.
  • An in-progress task whose AC changed after work started.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases

The English summary is being prepared. Showing the original description.

makifbaysal/tasktrooper117Updated Oct 21, 2026

Use when the diff adds or changes an endpoint, resolver, RPC, job or query that takes an object id, a role check, a request binding or a tenant filter - BOLA/IDOR, function-level authorization, mass assignment and tenant scoping

The English summary is being prepared. Showing the original description.

makifbaysal/tasktrooper117Updated Oct 21, 2026

Use on every UI change - semantic HTML, labels for controls, keyboard-navigable dialogs/menus, visible focus, and never color as the only signal

The English summary is being prepared. Showing the original description.

makifbaysal/tasktrooper117Updated Oct 21, 2026

Use when a task changes any screen, form, dialog, menu or control - Lighthouse/axe scan of the changed screens, a keyboard walk, and the thresholds that fail a task

The English summary is being prepared. Showing the original description.

makifbaysal/tasktrooper117Updated Oct 21, 2026

How to work a task returned with review, QA or UAT findings. Use when a task is in need_revision or PR review comments are in your context.

The English summary is being prepared. Showing the original description.

makifbaysal/tasktrooper117Updated Oct 21, 2026

Use when the repository keeps its alerting in code, or a person asks for alerts outside TaskTrooper - PrometheusRule YAML, a Cloud Monitoring alert policy in Terraform, a Datadog monitor, each routed to TaskTrooper's alert ingest URL so it opens an incident here

The English summary is being prepared. Showing the original description.

makifbaysal/tasktrooper117Updated Oct 21, 2026

See all skills by makifbaysal

Report a problem with this skill