Skip to content
Development
Command

/extract

Extract a function, component, or module from existing code into its own unit.

From plugin
rohitg00-claude-code-toolkit
2.8k199 skills138 agents199 commands
$ npx -y skills add rohitg00/awesome-claude-code-toolkit --agent claude-code

Command definition

extract.md

Extract a function, component, or module from existing code into its own unit.

Steps

1. Identify the code block to extract from the argument (file path and line range, or description). 2. Read the target file and analyze the selected code:

  • Determine all variables used within the block that are defined outside it (parameters).
  • Determine all variables modified within the block that are used after it (return values).
  • Identify side effects (I/O, mutations, DOM manipulation).

3. Choose the extraction type:

  • **Function**: Pure logic with clear inputs and outputs.
  • **Component**: UI rendering with props interface (React, Vue, Svelte).
  • **Module**: Related functions that form a cohesive unit.
  • **Hook**: Stateful logic with lifecycle concerns (React hooks).
  • **Class method**: Logic belonging to a specific class.

4. Create the extracted unit:

  • Name it descriptively based on its purpose.
  • Define a clear parameter interface (TypeScript types, Python type hints).
  • Add a return type annotation.

5. Replace the original code with a call to the extracted unit. 6. Update imports in the original file and any files that need the new export. 7. Run tests to verify the refactoring preserves behavior.

Format

Extracted: <type> <name> from <source-file>
  To: <destination-file>
  Parameters: <param-list>
  Returns: <return-type>
  Lines replaced: <start>-<end>
  Tests: <pass/fail>

Rules

  • The extraction must be behavior-preserving; run tests before and after.
  • Choose names that describe the purpose, not the implementation.
  • Keep the extracted unit's parameter count under 5; use an options object if more.
  • Maintain the same error handling behavior in the extracted code.
  • Update all call sites if moving a function to a different module.
Read more
@rohitg00
Ships withrohitg00-claude-code-toolkit

The most comprehensive toolkit for Claude Code -- 135 agents, 35 curated skills (+400,000 via SkillKit), 42 commands, 176+ plugins, 20 hooks, 15 rules, 7 templates, 15 MCP configs, 26 companion apps, 53 ecosystem entries, and more.

2.8k40 skills138 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
2.8k
Star history of rohitg00/awesome-claude-code-toolkit on GitHub, a chart by star-history.com

Other commands on rohitg00-claude-code-toolkit.

More commands from other plugins.

build
Auto-invoked

build

Command

Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

@addyosmani@addyosmaniInstall Command