onboarding-analyzer

OhadRubin's avatarfrom OhadRubin

Gather and analyze source material for onboarding documentation. Creates source_inventory.md and extraction_tables.md. Triggered by onboarding-start during source-material-gathering and key-information-extraction phases.

⭐1stars🔀0forks📁View on GitHub🕐Updated Jan 5, 2026

When & Why to Use This Skill

This Claude skill provides an automated workflow for gathering and analyzing codebase source materials to create comprehensive onboarding documentation. By leveraging BM25 search and structured data extraction, it generates detailed source inventories and extraction tables—including function maps and dependency lists—to help developers quickly understand complex systems and accelerate the knowledge transfer process.

Use Cases

  • Streamlining Developer Onboarding: Automatically generate a structured overview of a codebase, including key entry points and file summaries, to help new engineers ramp up faster.
  • Legacy Code Documentation: Efficiently map out undocumented or complex legacy systems by extracting detailed function tables, dependencies, and architectural patterns.
  • Feature-Specific Audits: Conduct deep dives into specific features (e.g., auth, session management) by identifying all relevant files, keywords, and logic paths within the source material.
  • Technical Knowledge Preservation: Facilitate smoother project handovers by providing an objective, tool-generated summary of system logic, data flows, and external API usage.
nameonboarding-analyzer
descriptionGather and analyze source material for onboarding documentation. Creates source_inventory.md and extraction_tables.md. Triggered by onboarding-start during source-material-gathering and key-information-extraction phases.

Onboarding Analyzer

Gather source material and extract key information from a codebase for onboarding documentation.

Workflow

Phase 1: Source Material Gathering

Create {name}_source_inventory.md with the following procedure:

1.1 Identify Keywords

  • Identify the most general keyword for the feature (e.g., "auth", "cache", "validation")
  • Break it into related terms (e.g., "auth" → "auth", "login", "token", "session")

1.2 BM25 Search

  • Uses git ls-files to search all tracked files. Pass each term with -t:
    uv run /path/to/skill/scripts/search.py -t auth -t login -t token
    
    VERY IMPORTANT: YOU MUST USE search.py using uv.
  • Record top results with path and 1-2 sentence summary
  • For each file found, note:
    • File path
    • Entry points (main functions, exports)
    • Brief 1-line description

1.3 Identify Plans/Specs

  • Search for design docs, specs, requirements:
    uv run /path/to/skill/scripts/search.py -t spec -t design -t plan
    
  • Note if absent.

Phase 2: Key Information Extraction

Create {name}_extraction_tables.md with structured tables:

2.1 Function Table

Function File:Lines Purpose
foo() main.py:42-50 Initializes the config
bar() main.py:52-80 Processes input data

2.2 Dependency Table

Dependency Version/Source Used By
anthropic PyPI llm.py
requests PyPI api.py

2.3 Data Flow

Document the "happy path":

  1. Entry: main() receives request
  2. Calls: validate() checks input
  3. Calls: process() does work
  4. Returns: result to caller

Key Questions to Answer

During gathering:

  • What feature/phase is being documented?
  • Which files are main implementation?
  • What existing documentation exists?

During extraction:

  • What are the main functions/classes?
  • What calls what?
  • What external APIs are used?

Success Criteria

{name}_source_inventory.md:

  • Keywords and related terms listed
  • Files found via BM25 search with summaries and entry points
  • Plans/specs noted (or marked absent)

{name}_extraction_tables.md:

  • Function table with accurate line numbers
  • Dependency table with versions
  • Data flow from entry to exit documented