Skip to content

Instantly share code, notes, and snippets.

@danjdewhurst
Created March 17, 2026 07:26
Show Gist options
  • Select an option

  • Save danjdewhurst/182436bdf378332a9179547f0fbfbbac to your computer and use it in GitHub Desktop.

Select an option

Save danjdewhurst/182436bdf378332a9179547f0fbfbbac to your computer and use it in GitHub Desktop.
Feature Gap Analysis Prompt for Claude Code

You are conducting a comprehensive feature gap analysis of this repository. Your goal is not to find bugs or code quality issues — it is to identify the missing capabilities, experiences, and design decisions that separate this project from being truly extraordinary in its category.

Phase 1 — Deep Reconnaissance

Before suggesting anything, build a thorough mental model of the project:

  1. Read every top-level config file, README, CHANGELOG, and docs directory.
  2. Map the full directory structure and identify the architectural pattern.
  3. Read the main entry points, routing layer, and core domain logic.
  4. Catalogue every user-facing feature that currently exists.
  5. Identify the developer experience: CLI flags, env vars, configuration surface, extension points.
  6. Check for existing tests, CI config, and deployment setup.
  7. Review any open issues, TODOs in code, or roadmap files.

From this reconnaissance, determine and state explicitly:

  • What this project does and who it is for.
  • Its current maturity level (early prototype, MVP, production, or mature).
  • The most comparable tools, libraries, or products in the same space.
  • The tech stack and key architectural decisions.

Summarise all of this as a concise "State of the Project" before moving on. Do not proceed to Phase 2 until this is complete.

Phase 2 — Gap Identification

Analyse the project across every dimension below. For each, identify what is missing, incomplete, or could be dramatically better. Be specific — name the exact feature, not vague categories.

2.1 Core Functionality

  • What workflows does the tool support end-to-end vs which ones drop the user mid-flow?
  • Where does the user have to leave the tool to accomplish something that should be built in?
  • What edge cases or secondary use cases are completely unhandled?
  • Are there obvious "v2 features" that power users would expect but do not exist yet?

2.2 Developer Experience (if applicable)

  • Is the configuration surface intuitive or does it require tribal knowledge?
  • Can someone go from git clone to running in under 2 minutes? What blocks that?
  • Are error messages actionable or do they dead-end the user?
  • Is there a plugin/extension/hook system? Should there be?
  • Is the API surface consistent, predictable, and well-documented?

2.3 Reliability & Resilience

  • What happens when external dependencies fail (network, APIs, databases)?
  • Is there graceful degradation, retry logic, circuit breaking where needed?
  • Are there any single points of failure in the architecture?
  • What observability exists (logging, metrics, tracing)? What is missing?
  • Is there health checking, self-diagnostics, or recovery automation?

2.4 Performance & Scalability

  • Are there obvious bottlenecks (synchronous where async is needed, N+1 queries, unbounded loops)?
  • Is caching used where it should be? Is it missing where it would have high impact?
  • Could any operations benefit from streaming, pagination, or lazy loading?
  • What happens at 10x or 100x the current expected load?

2.5 Security & Compliance

  • Are there authentication or authorisation gaps?
  • Is input validation thorough at every boundary?
  • Are secrets, tokens, and credentials handled correctly?
  • Is there audit logging for sensitive operations?
  • Are there data retention, GDPR, or regulatory considerations that are unaddressed?

2.6 User Experience & Polish

  • What is the first-run experience like? Is there onboarding, guided setup, or sensible defaults?
  • Are there accessibility gaps (a11y, keyboard navigation, screen reader support)?
  • Is there internationalisation support? Should there be?
  • What feedback does the user get during long-running operations?
  • Are there undo/redo, dry-run, or preview capabilities where they would add confidence?

2.7 Ecosystem & Integration

  • What integrations would unlock significant new value (other tools, platforms, formats)?
  • Is there an import/export story? Can users get their data in and out easily?
  • Does the project play well with common CI/CD pipelines, package managers, or deployment targets?
  • Is there webhook, event, or callback support for automation?

2.8 Documentation & Discoverability

  • Is there a clear getting-started guide, not just API reference?
  • Are there worked examples for the most common use cases?
  • Is architecture documented for contributors?
  • Are there missing inline comments in complex logic?
  • Is there a contributing guide with clear standards?

2.9 Testing & Quality Assurance

  • What categories of test are missing (unit, integration, e2e, snapshot, contract, load)?
  • Are the critical paths tested or is coverage concentrated on trivial code?
  • Is there property-based testing where it would catch edge cases?
  • Are test fixtures and factories set up for easy test authoring?

2.10 The "Extraordinary" Factor

This is the most important section. Think beyond feature parity with competitors:

  • What would make someone mass-share this project out of genuine excitement?
  • What feature would make users say "I cannot believe this is free / open source / this good"?
  • Is there a novel interaction pattern, automation, or intelligence layer that no one else has done?
  • What would mass-reduce friction for the most painful part of the user's workflow?
  • Could AI, code generation, or smart defaults eliminate repetitive work?
  • Is there a community, marketplace, or sharing dimension that would create network effects?

Phase 3 — Prioritised Output

Present your findings as a single, prioritised list. For each item:

  1. Feature name — A clear, concise name.
  2. Category — Which section above it falls under.
  3. Impact — What specific user problem it solves or what it unlocks (one sentence).
  4. Effort estimate — S / M / L / XL relative to this project's complexity.
  5. Priority tier:
    • Tier 1 — Table stakes: Missing fundamentals that users expect from any tool in this category.
    • Tier 2 — Competitive edge: Features that would put this ahead of alternatives.
    • Tier 3 — Extraordinary: The features that would make this project remarkable and worth talking about.

Sort by priority tier (Tier 1 first), then by impact-to-effort ratio within each tier.

Rules

  • Do NOT suggest vague improvements like "improve error handling" — name the exact scenario and the exact behaviour you would add.
  • Do NOT suggest features that already exist. Phase 1 exists to prevent this.
  • Do NOT pad the list. If a category has no meaningful gaps, say so and move on.
  • DO be opinionated. If something is a bad architectural decision that caps the project's potential, say so directly.
  • DO calibrate your suggestions to the project's actual purpose and audience as determined in Phase 1 — do not suggest enterprise features for a weekend hobby tool or vice versa.
  • Keep the total list to no more than 25 items. Ruthlessly cut anything that is not genuinely impactful.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment