What problem does it solve? Adding support for a new programming language library, standard header, or language feature to Semorphe requires systematic research: discovering which functions exist, how they are commonly used, how to classify them by difficulty, and how to name them consistently. Doing this ad hoc leads to inconsistent naming, poor difficulty placement, and coverage gaps. ## Core Features & Use Cases - Library and Feature Research: Searches official documentation (cppreference, Python docs, MDN, Java docs) and common usage patterns to extract function signatures, parameters, and return types. - Topic Hierarchy Classification: Organizes discovered concepts into a level tree (beginner, intermediate, advanced) based on prerequisite knowledge and cognitive load, following Semorphe's doubling guideline for block counts per level. - Convention-Based Naming: Proposes concept names following Semorphe conventions (snake_case for universal concepts, lang:snake_case for language-specific ones) and checks for conflicts with existing concepts. - Structured Report Output: Generates a discovery report in specs/component-discovery/ with concept catalogs, dependency graphs, implementation order, cross-language mappings, and edge cases. - Use Case: Run with input like "cpp <algorithm>" to research the C++ algorithm header and produce a complete concept catalog ready for the component integration pipeline. ## Quick Start Invoke this skill with a language and target, such as asking it to research the C++ <algorithm> header or Python list comprehensions, and it will produce a structured concept discovery report.