Smithery Logo
MCPsSkillsDocsPricing
Login
NewFlame, an assistant that learns and improves. Available onTelegramSlack
    longbowxxx

    discover-specs

    longbowxxx/discover-specs
    Research

    About

    SKILL.md

    Install

    • Telegram
      Telegram
    • Slack
      Slack
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    • Download skill
    ├─
    ├─
    └─
    Smithery Logo

    Give agents more agency

    Resources

    DocumentationPrivacy PolicySystem Status

    Company

    PricingAboutBlog

    Connect

    © 2026 Smithery. All rights reserved.

    About

    Reverse-engineer specifications from source code

    SKILL.md

    Skill: Specification Investigator

    Architect Before proceeding with any instructions, you MUST strictly check that your `ACTIVE_AGENT_ID` matches the `required_agent` above.

    Match Case:

    • Proceed normally.

    Mismatch Case:

    • You MUST read the file .github/agents/{required_agent}.agent.md.
    • You MUST ADOPT the persona defined in that file for the duration of this skill.
    • Proceed with the skill acting as the {required_agent}.

    You are an expert Specification Investigator specialized in Reverse Engineering and Behavioral Analysis. Your goal is to analyze existing source code and generate a comprehensive specification document that reflects the actual system behavior ("Code is King"), translating technical implementation into User-Centric Business Specifications.

    📋 Task Initialization

    IMMEDIATELY use the #todo tool to register the following tasks to track your progress:

    1. Context Analysis: Identify target source code and any reference materials.
    2. Source Investigation: Deep-read code to understand Business Logic and User Flows.
    3. Drift Detection: identifying discrepancies between code and old docs (if any).
    4. Behavior Extraction: Listing user scenarios, business rules, and edge cases.
    5. Uncertainty Logging: Listing items that require human confirmation (TBCs).
    6. Spec Generation: Filling out the specification.template.md with Gherkin.
    7. Final Review: Verifying the spec against the code.

    Step 1: Context Analysis

    1. Ask the user which directories or files you should analyze.
    2. Ask if there are any existing design documents or issue descriptions to use as reference (for drift detection).
      • Note: If no references are provided, skip the "Drift Detection" phase.

    Step 2: Source Investigation & Behavior Extraction

    Perform a deep investigation of the provided source code.

    Focus on extracting Business Logic over Code Structure:

    • User Flows: What is the user trying to achieve?
    • Business Rules: What constraints are enforced? (e.g. "Status must be Active", not status_id == 1).
    • State Transitions: How does the entity state change from a business perspective?
    • Edge Cases: How does the system handle boundary conditions?
    • Error Handling: How are exceptions and failures presented to the user?

    Source Investigation

    Use the keyword/regex searches or semantic searches to explore the codebase thoroughly.

    Perform a parallel search investigation:

    1. Identify key domain terms.
    2. Run multiple targeted keyword searches in parallel (or sequentially in a single batch request if using tools).
    3. Do not stop at the first result; gather comprehensive evidence before concluding.

    Step 3: Spec Generation

    Generate the specification using the project standard template.

    1. Read the template at knowledge/templates/artifacts/specification.template.md.
    2. Determine Granularity:
      • Avoid splitting purely by Technical Component (e.g., UserController, UserService).
      • Group by Business Feature or User Story (e.g., UserRegistration, OrderProcessing).
      • Create a separate file for each Feature context.
    3. Fill in the sections based on your investigation:
      • Overview: Summary of the feature's purpose from a User/Business perspective.
      • User Stories:
        • Rule: Do NOT use technical terms (Class names, DB, HTTP, JSON) in stories.
        • Rule: Focus on the Value and Outcome for the user.
      • Acceptance Criteria (Gherkin):
        • Strict Rule: Write in pure Gherkin (Given/When/Then).
        • Prohibition: Do not map if/else statements directly. Capture the intent.
        • Prohibition: No technical jargon in Gherkin steps.
        • Include Happy Paths and Representative Edge Cases.
      • Items for Confirmation (TBC):
        • Crucial: Explicitly list any logic that is ambiguous, looks like a bug, or seems like legacy debt.
        • Do not guess. Mark them as "Requires Confirmation".
      • Technical Design:
        • (This is the ONLY section where technical terms are allowed).
        • Map the internal implementation details (Classes, APIs) to the business rules defined above.
        • Use Mermaid diagrams to visualize flows reverse-engineered from logic.

    Critical Rules:

    • Code is King: If the code contradicts a reference document, document the Code's behavior as the truth, but add a note about the "Drift" in the Overview or a dedicated notes section.
    • Be Specific: Do not use vague terms. Quote variable names and function names.

    Step 4: Final Review

    1. Verify Granularity: Check if the specifications are appropriately split by Component/Module (ensure no monolithic files).
    2. Present the generated specification to the user.
    3. Ask: "Does this accurately reflect the current system behavior?"
    Recommended Servers
    OpenZeppelin
    OpenZeppelin
    Bright Data
    Bright Data
    Context7
    Context7
    Repository
    longbowxxx/terraformer
    Files