Agent skill

Avoid Feature Creep

by waynesutton in waynesutton/builder-skills

Keeps a change scoped to what was asked. An agent skill from waynesutton/builder-skills.

Apache-2.0Auto-check passedProduct & Project Management

Install Avoid Feature Creep

skills CLI
$ npx skills add waynesutton/builder-skills --skill avoid-feature-creep -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install waynesutton/builder-skills avoid-feature-creep --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/waynesutton/builder-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/avoid-feature-creep .claude/skills/avoid-feature-creep && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
avoid-feature-creep
GitHub stars
404
Token cost
~1.3k tokens
SKILL.md length
795 words
Files
4 (incl. assets)
Skills in repo
17
Repo updated
First seen
Licence
Apache-2.0

At a glance

Keeps a change scoped to what was asked. An agent skill from waynesutton/builder-skills.

  • Works in 4 steps: Finish the ask. Ship the smallest change… → Collect the extras as you go. Do not act… → Put them in one place at the end → …
  • A request is small and the agent is about to expand it
  • SKILL.md covers The core rule, Signals that creep is starting, What to do instead and Stakeholders, including agents, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Avoid Feature Creep is an agent skill from waynesutton/builder-skills. Keeps a change scoped to what was asked. Flags extra features, refactors, and 'while we are here' edits, and moves them to a suggestions list instead of the diff. Use when a request is small and the agent is about to expand it, when a PRD grows beyond its problem statement, or when the user says 'just do what I asked'.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including assets (for example `agents/openai.yaml`).

It sits in Product & Project Management, covering PRD writing and Refactoring. The repository describes itself as: Builder skills for Convex apps. Convex patterns plus a PRD, task.md, changelog, and files.md workflow for Claude Code, Codex, Cursor, and OpenCode. The licence is Apache-2.0.

When your agent uses it

  • A request is small and the agent is about to expand it
  • A PRD grows beyond its problem statement
  • The user says just do what I asked

Example prompts

  • “while we are here”
  • “just do what I asked”
  • “Use the avoid-feature-creep skill to keep a change scoped to what was asked. An agent skill from waynesutton/builder-skills”
  • “/avoid-feature-creep”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Finish the ask. Ship the smallest change that fully answers the request.
  2. Collect the extras as you go. Do not act on them.
  3. Put them in one place at the end
  4. Let the user pick. "The agent thought so" is not approval.

What it can do on your machine

Read from SKILL.md and the folder at commit 82d1ce2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Avoid Feature Creep loads about 1.3k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 795 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~85
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from waynesutton/builder-skills at commit 82d1ce2, republished under its Apache-2.0 licence (© waynesutton). 795 words, ~1,312 tokens.

Download SKILL.mdSave it as .claude/skills/avoid-feature-creep/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
avoid-feature-creep
description
Keeps a change scoped to what was asked. Flags extra features, refactors, and 'while we are here' edits, and moves them to a suggestions list instead of the diff. Use when a request is small and the agent is about to expand it, when a PRD grows beyond its problem statement, or when the user says 'just do what I asked'.

Avoid feature creep

The request sets the scope. Everything the diff contains should trace back to a sentence in the ask. Anything else is a suggestion, not a change.

The core rule

Build what was asked. Not what would be nice, not what a senior engineer would also do, not what the codebase "should" have. If a line of the diff cannot be justified by the request, it does not belong in the diff.

This applies to product scope and to code scope. A PRD that grows past its problem statement has the same disease as a bug fix that ships with a refactor.

Signals that creep is starting

Stop when you notice any of these:

  • "While we're here" or "might as well" appears in your reasoning
  • Adding a config option, flag, or parameter for a case nobody asked about
  • Refactoring code adjacent to the change because it looked untidy
  • Adding a second feature to make the first one feel complete
  • Adding error handling for edge cases the user has never hit
  • Adding tests, types, or docs for code outside the change
  • Generalizing a one off into a reusable abstraction
  • Copying a competitor feature without a stated user need
  • A PRD section titled "Future" or "Nice to have" that keeps getting longer
  • The change touches a file the request never implied

Each of these might be a good idea. None of them are in scope unless the user says so.

What to do instead

  1. Finish the ask. Ship the smallest change that fully answers the request.
  2. Collect the extras as you go. Do not act on them.
  3. Put them in one place at the end:
    • In a chat or PR summary, under a Suggestions heading, one line each
    • In a PRD, under Out of scope with a one line reason
    • In a repo with a prds/ folder, append to the relevant PRD's Out of scope section
  4. Let the user pick. "The agent thought so" is not approval.

Suggestions are cheap to write and free to ignore. Unrequested code costs review time, adds bugs, and blurs what the change was for.

Stakeholders, including agents

Every feature request has a source: a PM, an exec, a user, a developer scratching an itch, or an AI coding agent. Treat them all the same way. Log the request, weigh it against the current scope, and defer it unless it solves the problem the work was started for.

AI agents are stakeholders now. They have opinions and they push. Common agent driven creep:

  • "Let me also add error handling for edge cases you haven't hit yet"
  • "This would be cleaner with a refactor"
  • "You should probably add tests for this"
  • "I added types for these additional scenarios"

If you are the agent, catch yourself doing this and move it to the suggestions list. If you are working with an agent, state the scope at the start of the session and treat its extras like any other stakeholder ask.

Before adding anything, ask:

  • Does this solve the problem the request named?
  • What is the smallest version that works?
  • What happens if we never build it?

If the first answer is no, it goes in suggestions.

Show full SKILL.md (262 more words)Show less

Before and after

Request: "Add a deletedAt field to tasks and hide deleted tasks from the list query."

Before, the creeping version:

  • Added deletedAt to the schema
  • Added a by_user_and_deleted index
  • Rewrote list to use the index
  • Added softDelete, restore, and purgeDeleted mutations
  • Added a cron to purge after 30 days
  • Renamed list to listActive and updated three call sites
  • Added a showDeleted argument "for the admin view later"

After, the scoped version:

  • Added deletedAt: v.optional(v.number()) to the schema
  • Added the index and pointed list at it so deleted rows never load

Summary sent with the change:

Done: deletedAt field and list query now skips deleted tasks.

Suggestions
- A softDelete mutation to set deletedAt (nothing sets it yet)
- A restore mutation
- A cron to purge rows older than 30 days
- An admin flag on list to include deleted rows

Two lines of diff answered the request. Four lines of suggestions preserved every idea. The user decides what happens next.

PRDs

A PRD earns each section by pointing back to its problem statement. When a PRD grows:

  • Reread the problem statement. Cut anything that does not serve it.
  • Move cut items to Out of scope with one reason each.
  • If the cut items form a coherent feature, that is a second PRD, not a bigger first one.

Checklist

  • Every changed file is implied by the request
  • No new config options, flags, or parameters the request did not ask for
  • No refactors of adjacent code
  • No second feature added to round out the first
  • No tests, types, or docs added for code outside the change
  • Extras are listed under Suggestions in the summary or Out of scope in the PRD
  • The summary says what was done in one line before the suggestions
  • If the user said "just do what I asked", the diff contains only that

© waynesutton, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (assets) in skills/avoid-feature-creep of waynesutton/builder-skills.

  • SKILL.md
  • agents/openai.yaml
  • assets/large-logo.png
  • assets/small-logo.svg

Open the folder on GitHubat commit 82d1ce2

Compare with similar skills

Avoid Feature Creep next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Avoid Feature Creep compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Avoid Feature Creep this skillwaynesutton/builder-skills404—~1.3kAutomated safety check: PassApache-2.0
Cm Refactorkingxiaozhe/cm-workflow1041 repos~2.7kAutomated safety check: PassMIT
Securability EngineeringOWASP/secure-agent-playbook187—~5.8kAutomated safety check: PassCC-BY-4.0
Grilling Ideasopsmill/infrahub531—~3.8kAutomated safety check: PassApache-2.0
Create Specbastani-inc/atomic846—~9.5kAutomated safety check: PassMIT
Experience Lwc Design Generateforcedotcom/sf-skills1.1k—~4kAutomated safety check: PassApache-2.0

Similar skills

  • Cm Refactor

    kingxiaozhe/cm-workflow

    用户明确要求“只整理结构,不改变行为”时使用。执行边界分流、行为判官、分批重构和独立审查;缺陷修复转交 cm-fix,新增或变化的业务行为转交 cm-prd。

    104 GitHub starsUsed in 1 repo~2.7k tokens
    Product & Project ManagementAuto-check passed
  • Securability Engineering

    OWASP/secure-agent-playbook

    Generate, scaffold, or refactor code so it embodies FIASSE v1.0.4 SSEM qualities by default — 10 attributes, Transparency and Least-Astonishment principles, ASVS-aligned controls, defensive boundary…

    187 GitHub stars~5.8k tokensUpdated 12 days ago
    Product & Project ManagementAuto-check passed
  • Grilling Ideas

    opsmill/infrahub

    Stress-tests a fuzzy or vague feature idea before any PRD, spec, or ticket is written.

    531 GitHub stars~3.8k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Create Spec

    bastani-inc/atomic

    Create a detailed execution plan/spec/PRD for implementing features or refactors in a codebase, designed around the program's entrypoints, the doors that carry domain intent, by leveraging existing…

    846 GitHub stars~9.5k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Experience Lwc Design Generate

    forcedotcom/sf-skills

    A skill your agent uses when you need to create a brand new Lightning Web Component from a Figma design, a Product Requirements Document, or another design artifact — orchestrating the five-phase…

    1.1k GitHub stars~4k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Experience Aura Lwc Migrate

    forcedotcom/sf-skills

    A skill your agent uses to analyze a Salesforce Aura component bundle (.cmp, .app, .evt, .intf, Controller.js, Helper.js, Renderer.js) and produce a framework-agnostic migration blueprint (PRD.yaml…

    1.1k GitHub stars~3.5k tokensUpdated today
    Product & Project ManagementAuto-check passed

More from waynesutton/builder-skills

All 17 skills in this repo
  • Convex Agents

    waynesutton/builder-skills

    Builds AI agents on the Convex agent component: threads, messages, tools that call queries and mutations, streaming, RAG with vector search, and workflows for multi step jobs.

    404 GitHub stars~2.2k tokensUpdated 10 days ago
    Auto-check passed
  • Convex Best Practices

    waynesutton/builder-skills

    Production patterns for Convex apps and the rules the @convex-dev/eslint-plugin enforces: validators, indexes, idempotent mutations, avoiding OCC conflicts, thin function wrappers, error handling.

    404 GitHub stars~2.6k tokensUpdated 10 days ago
    Auto-check passed
  • Convex Component Authoring

    waynesutton/builder-skills

    Creates reusable Convex components with defineComponent, a clean client wrapper, their own schema, and an npm publish setup.

    404 GitHub stars~2.6k tokensUpdated 10 days ago
    Auto-check passed
  • Convex Cron Jobs

    waynesutton/builder-skills

    Schedules work in Convex: cron jobs in convex/crons.ts, one off scheduled functions with runAfter and runAt, batching large jobs, and cancelling or inspecting the queue.

    404 GitHub stars~2k tokensUpdated 10 days ago
    Auto-check passed
  • Convex HTTP Actions

    waynesutton/builder-skills

    Adds HTTP endpoints in convex/http.ts: webhook receivers with signature checks, REST style routes, CORS, auth headers, streaming responses, and file uploads over HTTP.

    404 GitHub stars~2.6k tokensUpdated 10 days ago
    Auto-check passed
  • Convex Migrations

    waynesutton/builder-skills

    Changes a live Convex schema without downtime: make a field optional, backfill in batches, flip the validator, then clean up.

    404 GitHub stars~2.1k tokensUpdated 10 days ago
    Auto-check passed

Questions about Avoid Feature Creep

What does Avoid Feature Creep do?

Keeps a change scoped to what was asked. An agent skill from waynesutton/builder-skills. Avoid Feature Creep is an agent skill from waynesutton/builder-skills. Keeps a change scoped to what was asked.

When should I use Avoid Feature Creep?

Avoid Feature Creep fits situations like: A request is small and the agent is about to expand it; A PRD grows beyond its problem statement; the user says just do what I asked.

How do I install Avoid Feature Creep in Claude Code?

Run `npx skills add waynesutton/builder-skills --skill avoid-feature-creep -a claude-code`. Or copy the skill folder (skills/avoid-feature-creep in waynesutton/builder-skills) into .claude/skills/avoid-feature-creep in your project. Claude Code loads it when a task matches its description.

How do I install Avoid Feature Creep in Codex?

Run `npx skills add waynesutton/builder-skills --skill avoid-feature-creep -a codex`. Or copy the skill folder (skills/avoid-feature-creep in waynesutton/builder-skills) into .agents/skills/avoid-feature-creep in your project. Codex loads it when a task matches its description.

Can I use Avoid Feature Creep in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add waynesutton/builder-skills --skill avoid-feature-creep -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/avoid-feature-creep, .gemini/skills/avoid-feature-creep, .github/skills/avoid-feature-creep and .opencode/skills/avoid-feature-creep in your project.

What does Avoid Feature Creep need to run?

SKILL.md names no scripts, command-line tools or credentials: Avoid Feature Creep is instructions for the agent only.

Does Avoid Feature Creep access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Avoid Feature Creep safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Avoid Feature Creep use?

Avoid Feature Creep is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Avoid Feature Creep use?

About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Avoid Feature Creep?

Skills that share tags, products or a category with Avoid Feature Creep: Cm Refactor (kingxiaozhe/cm-workflow, 104 stars), Securability Engineering (OWASP/secure-agent-playbook, 187 stars), Grilling Ideas (opsmill/infrahub, 531 stars) and Create Spec (bastani-inc/atomic, 846 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Avoid Feature Creep?

waynesutton (a GitHub user) maintains it in waynesutton/builder-skills, which has 404 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on September 28, 2026.

Source: waynesutton/builder-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.