component-discover

Researches programming language libraries and features to propose categorized semantic concepts for Semorphe.

9|Updated Mar 4, 2026
One-click install
npx skills add https://github.com/timcsy/semorphe --skill component-discover-timcsy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: component-discover
Source: https://github.com/timcsy/semorphe/tree/main/knowledge/skills/component-discover
Command: npx skills add https://github.com/timcsy/semorphe --skill component-discover-timcsy

SYSTEM DOCUMENTATION & REQUIREMENTS

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.

Frequently Asked Questions about component-discover

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I research a programming language library for educational block-based tooling?

Provide a language and target such as "cpp <algorithm>" or "python list comprehension". The skill searches official documentation and common usage patterns, extracts function signatures, and classifies concepts into a difficulty-based topic tree with a structured report.

What input format does the component discovery workflow accept?

The input format is [language] <target>, for example "cpp <algorithm>", "python list comprehension", or "java Stream API". If no language is specified, the language is inferred from the syntax of the target.

How are discovered concepts classified by difficulty level?

Concepts are placed into a topic level tree: root nodes for beginner concepts needing minimal prerequisites, first-level branches for intermediate concepts requiring functions and data structures, and deeper branches for advanced concepts involving generics, iterators, or closures.

What naming conventions are used for new concepts?

Universal cross-language concepts use snake_case like sort_range, while language-specific concepts use the lang:snake_case format like cpp:vector_push or py:list_append. Names describe the semantic action rather than the syntax.

What output does the discovery process produce?

It generates a markdown report in specs/component-discovery/ containing a concept catalog grouped by topic level, dependency graphs, suggested implementation order, cross-language mappings, and edge cases, followed by a mandatory completion marker.