Skip to content

Interactive Tool Picker

The cf command lets you browse, filter, and run your tools interactively without remembering exact names. It's especially powerful when chaining tools together.

Basic Usage

Just type cf to open the picker:

cf

You'll see an inline dropdown with all your tools. Start typing to filter:

> sum▌
▸ summarize ⚙ - Summarize text using AI
  summary-bullets - Convert text to bullet points
  assume-role - Assume an expert persona

Controls

KeyAction
Type charactersFuzzy filter by name or description
↑ / ↓Move selection up/down
EnterRun the selected tool
TabConfigure arguments (if tool has ⚙)
Esc / Ctrl+CCancel and exit
BackspaceDelete filter characters

Piping Input

Pipe content into cf just like any other tool:

# Select a tool to process a file
cat article.txt | cf

# Pipe from another command
curl -s https://api.example.com/data | cf

The picker appears, you choose a tool, and the piped content flows through it.

Chaining Pickers

The real power comes from chaining multiple pickers to build pipelines interactively:

# Interactive two-stage pipeline
cat document.txt | cf | cf

# Three-stage processing
cf | cf | cf

Each cf in the chain shows the picker. Select a tool, see its output, then select another tool to process that output. You're building pipelines on the fly.

Example: Research Workflow

cat notes.txt | cf | cf | cf

Pick summarize → Pick extract-keywords → Pick format-markdown

You just built a summarize → extract → format pipeline without typing a single tool name.

Configuring Arguments

Tools with arguments show a ⚙ icon. Press Tab instead of Enter to configure them:

summarize arguments:
▸ --max-length: 200 # Maximum summary length
  --format: paragraph
Tab:edit Enter:run Esc:back

Use ↑/↓ to select an argument, Tab to edit it, Enter to run with your settings.

Tips

  • Fuzzy matching - Type "smz" to match "summarize", or search by description
  • Fast selection - If the tool you want is highlighted, just hit Enter
  • Escape anytime - Ctrl+C or Esc exits cleanly without running anything
  • Combine with scripts - Use cf in shell scripts for interactive steps