S

scoping-changes

by @riekeltv
4.6(120)

此技能用于在决定修复规模、任务中范围漂移、计划被悄然缩减或出现“顺便改一下”的请求时,确保变更与触发原因匹配。它将修复大小绑定到触发因素,强制分解而非悄悄删减,并通过显式追踪未完成部分来驱动任务完成,从而减少范围蔓延、提升交付可预期性和审查效率。

scope-managementchange-managementtask-decompositioncode-reviewproject-planningGitHub
安装方式
npx skills add https://github.com/riekelt/principal-engineer --skill scoping-changes
compare_arrows

Before / After 效果对比

1 组
使用前

在没有此技能之前,开发者容易被“顺手改一下”诱惑,导致变更范围悄然膨胀,原计划被悄悄缩减却未告知,最终交付延期、审查复杂,质量下降。

使用后

此技能通过将修复大小与触发原因绑定,并强制分解而非悄悄删减,显著减少范围蔓延,交付物清晰可预期,审查更快更聚焦。

SKILL.md

Scoping changes

REQUIRED BACKGROUND: the principal-engineering skill.

Overview

Scope fails in both directions: gold-plating grows a fix past its trigger, and silent descoping shrinks an approved task below what was agreed. Both are the same defect: the delivered change no longer matches its cause. Core principle: size fixes to their trigger, and when reality forces a cut, decompose visibly instead of trimming quietly.

Sizing to the trigger

  • The trigger is the defect or need itself, not the ticket's sentence about it. The same defect discovered on a second path is in scope (shipping "fixed" while it lives on elsewhere is a half-true report); an adjacent improvement discovered because the file was open is not.
  • The fix is as big as the thing that triggered it. No gold-plating, no fencing unreachable edges, no refactor riding along because the file was open.
  • Adjacent improvements you noticed are real and belong in the tracker, not in this diff.
  • The test for a borderline addition: would this change ship on its own merits if the main fix did not exist? If not, it is decoration on someone else's diff. If it would, it ships on its own: passing the test licenses a separate change, never a rider.
  • The owner can re-scope; the owner cannot merge scopes. "Squeeze it in" from whoever owns the work legitimately adds the second task, and it still ships as its own change. These rules govern how work is shaped; the owner decides what work exists.
  • Unrequested structure is scope creep wearing a design pattern: an interface with a single implementer, a factory that only ever builds one thing, configuration for a value nobody will change. Add the structure when the second case arrives, not when it is imagined.
  • A deliberate simplification that accepts a real limit carries that limit in a comment: what the ceiling is and what would justify raising it ("one shared queue; shard per tenant when a single consumer can no longer keep up"). The ceiling is a current constraint, so the comment describes what the system does today, not the history of the decision.
  • Choosing how to solve, not only how much: exhaust the codebase, the standard library, the platform, and the dependencies already installed before writing new code, and see adding-dependencies before reaching for a new package.

Decompose, never silently descope

  • The owner decomposes an approved task that turns out too big into named parts with the cut line stated, never delivering a quiet "pragmatic minimum" that looks complete.
  • The author files what gets deferred as a tracked item with an owner, or explicitly "owner pending triage" when none exists yet. The tracker discipline lives in the technical-writer plugin's writing-issues where installed. Deferred work that lives only in the author's memory was descoped, not deferred.
  • The report says plainly which parts shipped and which did not. A partial delivery honestly labeled is a plan; a partial delivery labeled complete is a defect.

Driving to completion

  • An approved plan runs to completion without "want me to continue?" checkpoints; stop only for genuine blockers, destructive actions, or hard gates that need the operator.
  • Blocked on one part: finish the unblocked parts, surface the blocker with what it needs, never let one stuck task silently stall the rest.
  • Settled decisions stay settled mid-execution. New information that genuinely reopens one becomes an explicit re-decision, not a quiet swerve. Record it via recording-decisions where the technical-writer plugin is installed.

Scope in review

  • Reviewing a change: an unrelated defect you noticed in passing is not your finding; note it once for the tracker and stay on the diff. Out-of-scope findings dilute the verdict and train authors to fear review.
  • Being reviewed: findings against the diff get fixed or explicitly answered; findings outside the diff get tracked, not absorbed into the change.

Common mistakes

  • "While I'm here" as a justification. You are here for the trigger.
  • Descoping to hit a deadline and reporting done. The deadline pressure was real; the honest move was decomposing and saying which half shipped.
  • Fencing edge cases the system cannot reach, to feel thorough. Unreachable defensiveness is dead code with good intentions.
  • Re-litigating an approved design in the middle of implementing it because a mildly better idea appeared. Write the idea down; finish the plan; propose the idea against the shipped reality.
  • Letting a reviewer's out-of-scope wish expand the diff. Track it, thank them, ship the trigger.

用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价

统计数据

安装量17.1K
评分4.6 / 5.0
版本
更新日期2026年10月23日
对比案例1 组

用户评分

4.6(120)
5
37%
4
43%
3
13%
2
5%
1
2%

为此 Skill 评分

0.0

兼容平台

🤖claude-code

时间线

创建2026年8月30日
最后更新2026年10月23日
🎁 Agent 知识卡片
调研问卷