plugins/claude-code-expert/skills-old/tools-reference/SKILL.md
# Claude Code Tools Reference Complete reference for every built-in tool available in Claude Code. ## File Tools ### Read Read file contents from the filesystem. ``` Parameters: file_path: string (required) — Absolute path to file offset: number (optional) — Start line number limit: number (optional) — Number of lines to read pages: string (optional) — Page range for PDFs (e.g., "1-5") Capabilities: - Text files with line numbers (cat -n format) - Image files (PNG, JPG, etc.) — r
npx skillsauth add markus41/claude plugins/claude-code-expert/skills-old/tools-referenceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Complete reference for every built-in tool available in Claude Code.
Read file contents from the filesystem.
Parameters:
file_path: string (required) — Absolute path to file
offset: number (optional) — Start line number
limit: number (optional) — Number of lines to read
pages: string (optional) — Page range for PDFs (e.g., "1-5")
Capabilities:
- Text files with line numbers (cat -n format)
- Image files (PNG, JPG, etc.) — rendered visually
- PDF files — max 20 pages per request
- Jupyter notebooks (.ipynb) — all cells with outputs
- Lines >2000 chars are truncated
- Default: up to 2000 lines from start
- Max token limit: 25000 tokens per read
Create or overwrite files.
Parameters:
file_path: string (required) — Absolute path
content: string (required) — File content
Rules:
- Overwrites existing files
- Must Read file first before overwriting existing files
- Prefer Edit for modifications to existing files
- Never create documentation files unless explicitly requested
Make targeted string replacements in files.
Parameters:
file_path: string (required) — Absolute path
old_string: string (required) — Text to find
new_string: string (required) — Replacement text
replace_all: boolean (optional, default: false) — Replace all occurrences
Rules:
- Must Read file first
- old_string must be unique in file (or use replace_all)
- Preserves exact indentation from file
- Never include line number prefixes in old_string/new_string
Find files by pattern matching.
Parameters:
pattern: string (required) — Glob pattern (e.g., "**/*.ts")
path: string (optional) — Directory to search in
Patterns:
- "**/*.ts" — All TypeScript files recursively
- "src/**/*.test.ts" — Test files in src
- "*.json" — JSON files in current directory
- "{src,lib}/**/*.{ts,tsx}" — Multiple patterns
Returns: File paths sorted by modification time
Search file contents with regex (powered by ripgrep).
Parameters:
pattern: string (required) — Regex pattern
path: string (optional) — File/directory to search
glob: string (optional) — Glob filter for files
type: string (optional) — File type filter (js, py, etc.)
output_mode: "files_with_matches" | "content" | "count"
-A: number — Lines after match
-B: number — Lines before match
-C / context: number — Lines around match
-i: boolean — Case insensitive
-n: boolean — Show line numbers (default: true)
multiline: boolean — Enable multiline matching
head_limit: number — Limit output lines
offset: number — Skip first N entries
Notes:
- Uses ripgrep syntax (not grep)
- Escape literal braces: interface\{\}
- Default output_mode: files_with_matches
Execute shell commands.
Parameters:
command: string (required) — The command to execute
description: string (required) — What the command does
timeout: number (optional) — Timeout in ms (max 600000 / 10 min)
run_in_background: boolean (optional) — Run async
dangerouslyDisableSandbox: boolean (optional) — Disable sandbox
Rules:
- Working directory persists between calls
- Shell state (variables, aliases) does NOT persist
- Always quote paths with spaces
- Use absolute paths when possible
- Prefer dedicated tools over bash equivalents
- Use && to chain dependent commands
- Use ; when order matters but failure doesn't
- Never use -i flag (interactive) with git
Fetch and analyze web content.
Parameters:
url: string (required) — URL to fetch
prompt: string (required) — What to extract
Notes:
- Auto-upgrades HTTP to HTTPS
- Converts HTML to markdown
- Summarizes large content
- 15-minute cache
- For GitHub URLs, prefer gh CLI
Search the web.
Parameters:
query: string (required) — Search query
allowed_domains: string[] (optional) — Domain whitelist
blocked_domains: string[] (optional) — Domain blocklist
Notes:
- Returns search results with URLs
- Must include Sources section in response
- US-only availability
Spawn specialized sub-agents.
Parameters:
prompt: string (required) — Task description
subagent_type: string (required) — Agent specialization
description: string (required) — 3-5 word summary
run_in_background: boolean (optional) — Async execution
isolation: "worktree" (optional) — Git worktree isolation
mode: string (optional) — Permission mode
resume: string (optional) — Resume previous agent by ID
name: string (optional) — Agent name
Returns: Agent result text (not visible to user automatically)
Track tasks and progress.
Parameters:
todos: array (required) — Todo items
- content: string — Task description (imperative)
- status: "pending" | "in_progress" | "completed"
- activeForm: string — Present continuous form
Rules:
- Only one task in_progress at a time
- Mark complete immediately after finishing
- Use for 3+ step tasks
- Don't use for single trivial tasks
Edit Jupyter notebook cells.
Parameters:
notebook_path: string (required) — Absolute path to .ipynb
new_source: string (required) — New cell content
cell_id: string (optional) — Cell ID to edit
cell_type: "code" | "markdown" (optional)
edit_mode: "replace" | "insert" | "delete" (optional)
Notes:
- cell_number is 0-indexed
- insert adds after specified cell
- Must specify cell_type for insert
Ask the user questions during execution.
Parameters:
questions: array (required, 1-4 items)
- question: string — The question text
- header: string — Short label (max 12 chars)
- options: array (2-4 items)
- label: string — Display text
- description: string — Explanation
- preview: string (optional) — Preview content
- multiSelect: boolean — Allow multiple selections
Notes:
- Users can always select "Other" for custom input
- Use for gathering preferences, not plan approval
- In plan mode, use ExitPlanMode for plan approval
Invoke slash commands.
Parameters:
skill: string (required) — Skill name (e.g., "commit")
args: string (optional) — Arguments
Notes:
- Only for skills listed in user-invocable skills
- Don't guess skill names
- Don't use for built-in CLI commands
cat, Edit instead of sedrun_in_background for slow operationsdevelopment
Enhanced plan-authoring skill with Pre-Writing context gathering, task metadata, non-TDD templates, Red Flags, telemetry, and an automated plan linter. Use when you have a spec or requirements for a multi-step task, before touching code.
tools
Documentation intelligence engine with graph-based API docs, algorithm library, and drift detection
tools
Ultraplan cloud planning — kick off a plan in the cloud from your terminal, review and revise in the browser, then execute remotely or send back to CLI
tools
--- name: mcp description: Configure MCP servers for Claude Code — stdio vs HTTP, authentication, Tools/Resources/Prompts distinction, channels (CI webhook, mobile relay, Discord bridge, fakechat), and cost of always-loaded tools. Use this skill whenever adding an MCP server, debugging connection issues, choosing between MCP Tools vs Prompts vs Resources, installing channel servers, or managing .mcp.json. Triggers on: "MCP server", "mcp config", "add Obsidian MCP", "install context7", "channels"