extracting-code-structure

📁 iota9star/my-skills 📅 10 days ago
0
总安装量
10
周安装量
安装命令
npx skills add https://github.com/iota9star/my-skills --skill extracting-code-structure

Agent 安装分布

mcpjam 10
mistral-vibe 10
replit 10
junie 10
windsurf 10
zencoder 10

Skill 文档

Code Structure Exploration Tools

Always invoke extracting-code-structure skill to extract file structure – do not execute bash commands directly.

Recognizing Structure Questions

These keywords mean use structure tools, NOT grep/search:

  • “all the methods/functions/classes in…”
  • “list of function signatures”
  • “what functions/exports/API…”
  • “package API” or “module exports”
  • “method signatures with receivers” (Dart/Flutter, TypeScript)
  • “what’s available in…”

These keywords mean use search (Grep tool or extracting-code-structure skill):

  • “where is X defined”
  • “find calls to X”
  • “search for pattern Y”

Before You Choose a Tool

Ask yourself:

  1. Am I listing/exploring what exists? → Structure tools
  2. Am I finding WHERE something is? → Search tools (Grep or ast-grep)
  3. Am I understanding HOW something works? → Read

When to Get File Outline vs Read

Get outline/index when:

  • File is large (>500 lines)
  • Need to see what’s available (functions, classes, exports)
  • Exploring unfamiliar code
  • Want to decide what to read in detail
  • Saves 90%+ context vs reading entire file

Just use Read when:

  • File is small (<500 lines)
  • Already know what you’re looking for
  • Need to understand implementation details
  • extracting-code-structure pattern already targets what you need

Anti-Patterns

DON’T use grep/rg/Grep tool for:

  • Extracting function/method lists
  • Getting API overviews
  • Finding all exports/public members
  • Getting signatures/interfaces

These are STRUCTURE queries, not SEARCH queries.

Default Strategy

Invoke extracting-code-structure skill for extracting file structure (functions, classes, exports) efficiently without reading entire files.

Use ast-grep patterns, Dart/Flutter analyzer, ctags, or language-specific tools to get outlines and signatures. Dart/Flutter and JavaScript/TypeScript support have highest priority.

Exploration Strategy

Tiered approach (try in order):

  1. ast-grep with known patterns – Fast, targeted (highest priority)

    • Extract exports, functions, classes with specific patterns
    • See code structure guide for patterns, including comprehensive Dart/Flutter support
  2. Toolchain-specific approaches – When available

    • Dart/Flutter analyzer – Comprehensive structure extraction for .dart files
    • ctags/universal-ctags: Symbol index across languages
    • See code structure guide for examples
  3. Read file – Last resort for exploration

    • Sometimes necessary to understand structure

Key Principle

Use structure tools to decide what to read, then read selectively.

Don’t read 1000-line files blind. Get an outline first, then read the 50 lines you actually need.

Skill Combinations

For Discovery and Exploration

  • extracting-code-structure → fd: Find files of a specific type, then get structure
  • extracting-code-structure → ripgrep: Understand structure, then search for specific patterns
  • extracting-code-structure → analyzing-code-structure: Get outline, then perform structural refactoring
  • extracting-code-structure → jq/yq: Understand API structures before extracting data

In Refactoring Workflows

  • extracting-code-structure → fzf → analyzing-code-structure: Interactive selection of components to refactor
  • extracting-code-structure → ripgrep → sd: Find patterns and perform replacements

For Documentation and Analysis

  • extracting-code-structure → tokei: Get statistics for specific code components
  • extracting-code-structure → bat: View structure with syntax highlighting

Multi-Skill Workflows

  • extracting-code-structure → ripgrep → analyzing-code-structure → bat: Complete code analysis and refactoring pipeline
  • extracting-code-structure → fd → jq/yq: Find and analyze configuration structures
  • extracting-code-structure → fzf → sd: Interactive selection and modification of code elements

Integration Examples

# Get structure and find all methods
ast-grep -r 'function $FUNC($$$ARGS) {$$$BODY}' src/ | fzf | cut -d: -f1 | xargs -I {} bat {}

# Understand API and extract usage
yq '.endpoints' api.yml | fzf | ripgrep -A 10 -B 5

Detailed Patterns

For language-specific extraction patterns, ast-grep examples, ctags usage, and integration strategies, load code structure guide when needing:

  • Dart/Flutter specific patterns and analyzer usage
  • Language-specific extraction strategies
  • ctags configuration and usage
  • Comprehensive workflow examples
  • Tool selection guidance for different languages