{"id":"avoid-feature-creep","name":"avoid-feature-creep","summary":"ソフトウェア、アプリ、AI搭載製品の構築時に機能拡大を防ぎましょう。このスキルは、機能の計画、範囲の確認、MVPの作成、バックログの管理、あるいはユーザーが「あと一つだけ機能」と言ったときに活用してください。","body":"# Avoid Feature Creep for Agents\n\nStop building features nobody needs. This skill helps you ship products that solve real problems without drowning in unnecessary complexity.\n\nFeature creep kills products. It delays launches, burns budgets, exhausts teams, and creates software nobody wants to use. The most successful products do fewer things well.\n\n## The Core Problem\n\nFeature creep is the gradual accumulation of features beyond what your product needs to deliver value. It happens slowly, then all at once.\n\n**Warning signs you're in trouble:**\n- Release scope keeps growing without clear user value\n- You're copying competitor features without validating need\n- Stakeholders keep adding \"just one more thing\"\n- The codebase is getting harder to maintain\n- Users complain the product is confusing or bloated\n- You haven't shipped in months\n\n**What it costs:**\n- Development time on features 80% of users never touch\n- Increased bug surface area\n- Team burnout and context switching\n- Delayed time-to-market\n- Technical debt that compounds\n- User confusion and abandonment\n\n## Decision Framework\n\nBefore adding ANY feature, run through this checklist:\n\n```\n1. VALIDATE THE PROBLEM\n   □ Does this solve a real, validated user pain point?\n   □ Have we talked to actual users about this need?\n   □ What evidence supports building this?\n\n2. CHECK ALIGNMENT\n   □ Does this support the core product vision?\n   □ Would this delay our current release?\n   □ What are we NOT building if we build this?\n\n3. MEASURE IMPACT\n   □ How will we know if this feature succeeds?\n   □ What KPIs will change?\n   □ Can we quantify the value (time saved, revenue, retention)?\n\n4. ASSESS COMPLEXITY\n   □ What's the true cost (build + test + maintain + document)?\n   □ Does this add dependencies or technical debt?\n   □ Can we ship a simpler version first?\n\n5. FINAL GUT CHECK\n   □ Would we delay launch by a month for this feature?\n   □ Is this a differentiator or just table stakes?\n   □ Would removing this harm the core experience?\n```\n\nIf you can't answer YES to questions 1-3 with evidence, do not build the feature.\n\n## Scope Management Rules\n\n**Rule 1: Define and Defend Your MVP**\n\nWrite down exactly what \"done\" means before you start. Document what you're NOT building. Reference this constantly.\n\n```markdown\n## MVP Scope Document Template\n\n### Core Problem\n[One sentence describing the user problem]\n\n### Success Criteria\n[How we know we've solved it]\n\n### In Scope (v1)\n- Feature A: [brief description]\n- Feature B: [brief description]\n\n### Explicitly Out of Scope\n- Feature X: Deferred to v2\n- Feature Y: Will not build unless [condition]\n- Feature Z: Not our problem to solve\n\n### Non-Negotiables\n- Ship by [date]\n- Budget: [hours/dollars]\n- Core user: [specific persona]\n```\n\n**Rule 2: Use Version Control for Scope**\n\nTreat scope like code. Track changes. Require approval for additions.\n\n```bash\n# Create a scope document and track it\ngit add SCOPE.md\ngit commit -m \"Initial MVP scope definition\"\n\n# Any scope changes require explicit commits\ngit commit -m \"SCOPE CHANGE: Added feature X - approved by [stakeholder] - impact: +2 weeks\"\n```\n\n**Rule 3: The 48-Hour Rule**\n\nWhen someone requests a new feature, wait 48 hours before adding it to the backlog. Most \"urgent\" requests feel less urgent after reflection.\n\n**Rule 4: Budget-Based Scoping**\n\nEvery feature has a cost. When something new comes in, something else must go out.\n\n\"Yes, we can add that. Which of these three features should we cut to make room?\"\n\n## Saying No\n\nSaying no to features is a skill. Here are templates:\n\n**To stakeholders:**\n> \"That's an interesting idea. Based on our user research, it doesn't solve our core user's top three problems. Let's add it to the v2 consideration list and revisit after we validate the MVP.\"\n\n**To executives:**\n> \"I understand the value this could bring. If we add this, we'll delay launch by [X weeks] and deprioritize [Y feature]. Here are the trade-offs - which path should we take?\"\n\n**To users:**\n> \"Thanks for the feedback. We're focused on [core problem] right now. I've logged this for future consideration. Can you tell me more about why this would be valuable?\"\n\n**To yourself:**\n> \"Is this scratching my own itch or solving a real user problem? Would I bet the release date on this?\"\n\n**To AI agents (Claude, Opus, Codex, Ralph, Cursor):**\n> \"Stop. Before we add this feature, answer: Does this solve the core user problem we defined at the start of this session? If not, add it to a DEFERRED.md file and stay focused on the current scope.\"\n\nWhen working with AI coding agents:\n- State your scope constraints at the start of every session\n- Agents will suggest improvements. Most are out of scope.\n- Treat agent suggestions like stakeholder requests: apply the 48-hour rule\n- If an agent keeps pushing a feature, ask \"Why?\" three times to find the real need\n\n## AI-Specific Guidelines\n\nWhen building AI-powered products, feature creep has extra risks:\n\n**AI Feature Creep Red Flags:**\n- Adding AI because \"everyone else is\"\n- Building AI summaries without validating users want them\n- Multiple AI features without clear differentiation\n- AI capabilities that don't connect to core user workflows\n\n**AI Feature Discipline:**\n1. One AI feature at a time\n2. Validate the use case with users first\n3. Measure actual usage, not just availability\n4. Question: \"Does the AI make the core task faster or better?\"\n\n**Before adding any AI feature, answer:**\n- What specific task does this automate?\n- How is this better than the non-AI alternative?\n- What happens when the AI is wrong?\n- Can we ship without this AI feature?\n\n## Backlog Hygiene\n\nA messy backlog enables feature creep. Clean it ruthlessly.\n\n**Monthly Backlog Audit:**\n```\nFor each item older than 30 days:\n1. Has anyone asked about this since it was added?\n2. Does it still align with current product vision?\n3. If we never built this, would anyone notice?\n\nIf the answer to all three is \"no\" → Delete it.\n```\n\n**Priority Framework (MoSCoW):**\n- **Must Have**: Product doesn't work without it\n- **Should Have**: Important but not critical for launch\n- **Could Have**: Nice but can wait\n- **Won't Have**: Explicitly out of scope\n\nBe honest: Most \"Should Haves\" are actually \"Could Haves\" in disguise.\n\n## AI Session Discipline\n\n**Session Start Check:**\nBefore coding with any AI assistant (Claude, Cursor, OpenCode), state:\n- What specific feature you're building\n- What's explicitly out of scope for this session\n- When you'll stop and ship\n\n**Mid-Session Check:**\nEvery 30-60 minutes, ask your AI:\n\"Are we building the right thing today, or are we adding scope?\"\n\nIf the answer is \"adding scope,\" stop. Commit what you have. Start fresh.\n\n**Session End Check:**\nBefore closing an AI coding session:\n- What did we actually build vs. what we planned?\n- Did scope expand? Why?\n- What should we defer to the next session?\n\n**Daily AI Check:**\nAt the end of each day working with AI assistants:\n```\n1. Features completed today: [list]\n2. Scope additions today: [list]  \n3. Was each addition validated? [yes/no]\n4. Tomorrow's focus: [single item]\n```\n\n**Sprint Planning Guard Rails:**\n- No new features mid-sprint without removing something\n- Capacity for bug fixes and debt paydown (20% minimum)\n- Clear definition of done for each item\n\n**Stakeholder Management:**\nCreate a single source of truth for scope decisions:\n\n```markdown\n## Scope Decision Log\n\n| Date | Request | Source | Decision | Rationale | Trade-off |\n|------|---------|--------|----------|-----------|-----------|\n| 2025-01-15 | Add export to PDF | PM | Deferred v2 | Not core to MVP | Would delay launch 2 weeks |\n| 2025-01-16 | Dark mode | User feedback | Approved | User research shows demand | Removed social sharing |\n| 2025-01-17 | Add caching layer | Claude | Deferred | Premature optimization | Stay focused on core feature |\n| 2025-01-17 | Refactor to hooks | Cursor | Rejected | Works fine as is | Technical scope creep |\n```\n\n**Agents as Stakeholders:**\nAI coding agents are now stakeholders in your project. They have opinions. They make suggestions. Treat them like any other stakeholder:\n\n- **Log agent suggestions** in your scope decision log with the agent name as source\n- **Apply the same rigor** you would to a PM or executive request\n- **Agents optimize for different things** (code quality, patterns, completeness) than you might need right now\n- **\"The agent suggested it\" is not a valid reason** to add a feature\n\nCommon agent-driven scope creep patterns:\n- \"Let me also add error handling for edge cases you haven't hit yet\"\n- \"This would be cleaner with a refactor\"\n- \"You should probably add tests for this\"\n- \"Let me add TypeScript types for these additional scenarios\"\n\nEach of these might be good ideas. None of them are your current scope unless you decide they are.\n\n## Recovery: You're Already Bloated\n\nIf feature creep has already happened:\n\n**Step 1: Audit Current Features**\n- List every feature\n- Check usage data for each\n- Identify features with <5% engagement\n\n**Step 2: Categorize**\n- Core: Users can't accomplish their goal without it\n- Supporting: Makes core better\n- Peripheral: Nice but not necessary\n- Bloat: Nobody uses it\n\n**Step 3: Remove or Hide**\n- Deprecate bloat with warning period\n- Move peripheral features behind advanced settings\n- Communicate changes clearly to users\n\n**Step 4: Prevent Recurrence**\n- Add feature creep checks to your PR/code review process\n- Require usage metrics before features graduate from beta\n- Build feature flags so you can easily remove experiments\n\n## Quick Reference Commands\n\nWhen reviewing any feature request, ask:\n\n```\n1. \"What user problem does this solve?\"\n2. \"What's the smallest version we could ship?\"\n3. \"What are we NOT building to make room for this?\"\n4. \"How will we measure success?\"\n5. \"What happens if we never build this?\"\n```\n\nIf you can't answer these clearly → Do not proceed.\n\n## The Golden Rule\n\n**Ship something small that works. Then iterate based on real usage data.**\n\nUsers don't remember features. They remember whether your product solved their problem.\n\nEvery feature you don't build is:\n- Time you get back\n- Bugs you don't have to fix\n- Documentation you don't have to write\n- Code you don't have to maintain\n- Confusion you don't add\n\nThe best products aren't the ones with the most features. They're the ones that do the right things exceptionally well.\n\n---\n\n*\"Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away.\"* - Antoine de Saint-Exupéry","author":"@waynesutton","ownerProfile":null,"authorContacts":null,"sourceUrl":"https://github.com/waynesutton/convexskills/tree/main/skills/avoid-feature-creep","license":"Apache-2.0","category":"coding","lang":"en","tokens":2448,"stars":0,"calls30d":2,"claimed":false,"visibility":"public","origin":"crawler","version":"0.1.0","createdAt":"2026-08-22","updatedAt":"2026-08-22","files":[{"path":"agents/openai.yaml","size":91,"sha256":"bb57e6929f0916464111ae4a5e0a2ec5d301653b5a3b818a81dc2c0a7deb21c2"}],"requires":{"mcp":[],"tools":[]},"safety":{"flags":[],"scannedAt":"2026-08-22","hasScripts":false,"networkEndpoints":[]}}