New to Claude Skills? Learn how to install them →

Fgithub on GitHub

Feature Specification Assistant

OfficialFree

Systematically identify and document missing features.

by github37.7k stars on github/awesome-copilot
2 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Feature Specification Assistant does

The Feature Specification Assistant is a structured workflow designed to help project teams identify missing features in software projects, prioritize them, and develop detailed specifications for implementation. This skill is particularly beneficial for product managers, developers, and teams looking to enhance their software offerings by ensuring that all essential features are accounted for and properly documented.

The workflow consists of several phases, starting with a comprehensive understanding of the project. Users are guided to review project documentation, including the README.md, to grasp the core functionalities and existing implementations. This foundational knowledge is crucial for effectively identifying gaps between documented capabilities and actual implementations, which is the focus of the subsequent Gap Analysis Phase. Here, users will create a list of potential missing features, assessing their current implementation status and impact on user experience.

Once gaps are identified, the Prioritization Phase employs a scoring matrix to evaluate each feature based on user impact, strategic alignment, implementation feasibility, and risk level. This systematic approach ensures that the most critical features are addressed first. Following prioritization, detailed specifications are crafted for each feature, outlining the problem it solves, technical requirements, implementation plans, and acceptance criteria, which are essential for guiding development efforts.

Finally, the workflow culminates in the creation of GitHub issues for each specification, facilitating clear communication and tracking within development teams. This skill is ideal for teams aiming to maintain a user-centered approach in their software development processes, ensuring that features are thoughtfully prioritized and well-documented for implementation.

When to use it

Use this skill when you need a structured approach to identify gaps in your software project and create detailed specifications for missing features.

When not to use it

This skill may not be suitable for projects that are already well-defined with no anticipated feature gaps or for teams that prefer less formalized processes.

What you can build with it

New Feature Development

When planning new features, this skill helps identify what is missing and prioritize development based on user needs.

Project Review

During a project review, use this skill to assess existing features against documentation and identify any gaps.

Team Onboarding

New team members can utilize this workflow to quickly understand project requirements and the rationale behind feature prioritization.

How to install Feature Specification Assistant

View source

1. Install with the skills CLI

npx skills add github/awesome-copilot/gen-specs-as-issues --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by github

Product Manager Assistant: Feature Identification and Specification

This workflow guides you through a systematic approach to identify missing features, prioritize them, and create detailed specifications for implementation.

1. Project Understanding Phase

  • Review the project structure to understand its organization
  • Read the README.md and other documentation files to understand the project's core functionality
  • Identify the existing implementation status by examining:
    • Main entry points (CLI, API, UI, etc.)
    • Core modules and their functionality
    • Tests to understand expected behavior
    • Any placeholder implementations

Guiding Questions:

  • What is the primary purpose of this project?
  • What user problems does it solve?
  • What patterns exist in the current implementation?
  • Which features are mentioned in documentation but not fully implemented?

2. Gap Analysis Phase

  • Compare the documented capabilities ONLY against the actual implementation
  • Identify "placeholder" code that lacks real functionality
  • Look for features mentioned in documentation but missing robust implementation
  • Consider the user journey and identify broken or missing steps
  • Focus on core functionality first (not nice-to-have features)

Output Creation:

  • Create a list of potential missing features (5-7 items)
  • For each feature, note:
    • Current implementation status
    • References in documentation
    • Impact on user experience if missing

3. Prioritization Phase

  • Apply a score to each identified gap:

Scoring Matrix (1-5 scale):

  • User Impact: How many users benefit?
  • Strategic Alignment: Fits core mission?
  • Implementation Feasibility: Technical complexity?
  • Resource Requirements: Development effort needed?
  • Risk Level: Potential negative impacts?

Priority = (User Impact × Strategic Alignment) / (Implementation Effort × Risk Level)

Output Creation:

  • Present the top 3 highest-priority missing features based on the scoring
  • For each, provide:
    • Feature name
    • Current status
    • Impact if not implemented
    • Dependencies on other features

4. Specification Development Phase

  • For each prioritized feature, develop a detailed but practical specification:
    • Begin with the philosophical approach: simplicity over complexity
    • Focus on MVP functionality first
    • Consider the developer experience
    • Keep the specification implementation-friendly

For Each Feature Specification:

  1. Overview & Scope

    • What problem does it solve?
    • What's included and what's explicitly excluded?
  2. Technical Requirements

    • Core functionality needed
    • User-facing interfaces (API, UI, CLI, etc.)
    • Integration points with existing code
  3. Implementation Plan

    • Key modules/files to create or modify
    • Simple code examples showing the approach
    • Clear data structures and interfaces
  4. Acceptance Criteria

    • How will we know when it's done?
    • What specific functionality must work?
    • What tests should pass?

5. GitHub Issue Creation Phase

  • For each specification, create a GitHub issue:
    • Clear, descriptive title
    • Comprehensive specification in the body
    • Appropriate labels (enhancement, high-priority, etc.)
    • Explicitly mention MVP philosophy where relevant

Issue Template Structure:

[Feature Name]

Overview

[Brief description of the feature and its purpose]

Scope

[What's included and what's explicitly excluded]

Technical Requirements

[Specific technical needs and constraints]

Implementation Plan

[Step-by-step approach with simple code examples]

Acceptance Criteria

[Clear list of requirements to consider the feature complete]

Priority

[Justification for prioritization]

Dependencies

  • Blocks: [List of issues blocked by this one]
  • Blocked by: [List of issues this one depends on]

Implementation Size

  • Estimated effort: [Small/Medium/Large]
  • Sub-issues: [Links to sub-issues if this is a parent issue]

5.5 Work Distribution Optimization

  • Independence Analysis

    • Review each specification to identify truly independent components
    • Refactor specifications to maximize independent work streams
    • Create clear boundaries between interdependent components
  • Dependency Mapping

    • For features with unavoidable dependencies, establish clear issue hierarchies
    • Create parent issues for the overall feature with sub-issues for components
    • Explicitly document "blocked by" and "blocks" relationships
  • Workload Balancing

    • Break down large specifications into smaller, manageable sub-issues
    • Ensure each sub-issue represents 1-3 days of development work
    • Include sub-issue specific acceptance criteria

Implementation Guidelines:

  • Use GitHub issue linking syntax to create explicit relationships
  • Add labels to indicate dependency status (e.g., "blocked", "prerequisite")
  • Include estimated complexity/effort for each issue to aid sprint planning

6. Final Review Phase

  • Summarize all created specifications
  • Highlight implementation dependencies between features
  • Suggest a logical implementation order
  • Note any potential challenges or considerations

Remember throughout this process:

  • Favor simplicity over complexity
  • Start with minimal viable implementations that work
  • Focus on developer experience
  • Build a foundation that can be extended later
  • Consider the open-source community and contribution model

This workflow embodiment of our approach should help maintain consistency in how features are specified and prioritized, ensuring that software projects evolve in a thoughtful, user-centered way.

Frequently asked questions about Feature Specification Assistant

Similar skills