home-manager/programs/agent-skills/skills/exploration-tools/SKILL.md
Tool definitions and usage patterns for codebase exploration (Glob, Grep, Read, LSP). Agents reference this skill instead of inline tool definitions.
npx skillsauth add takeokunn/nixos-configuration Exploration ToolsInstall 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.
Start narrow, expand only if results are insufficient
</example>
</concept>
<concept name="result_ranking">
<description>Prioritizing search results by relevance</description>
<example>
High relevance: Exact matches, definition sites
Medium relevance: Usage sites, related patterns
Low relevance: Comments, test files, generated code
</example>
</concept>
</concepts>
<patterns>
<pattern name="file_discovery">
<description>Pattern for finding files by name or extension</description>
<example>
1. Use Glob with pattern to find candidate files
2. Filter results by relevance
3. Read specific files for details
</example>
</pattern>
<pattern name="content_search">
<description>Pattern for searching file contents</description>
<example>
1. Use Grep with pattern and file type filter
2. Review matches with context (-C flag)
3. Follow up with Read for full file context
</example>
</pattern>
<pattern name="symbol_navigation">
<description>Pattern for navigating code symbols</description>
<example>
1. Use LSP_goToDefinition to find symbol source
2. Use LSP_findReferences to find usages
3. Use LSP_documentSymbol for file overview
</example>
</pattern>
</patterns>
<decision_tree name="tool_selection"> <question>What type of search is needed?</question> <branch condition="Find files by name pattern">Use Glob</branch> <branch condition="Search file contents">Use Grep</branch> <branch condition="Find symbol definition">Use LSP_goToDefinition or Serena find_symbol</branch> <branch condition="Find symbol usages">Use LSP_findReferences or Serena find_referencing_symbols</branch> <branch condition="View file contents">Use Read</branch> </decision_tree>
<best_practices> <practice priority="critical">Use Glob for file discovery, Grep for content search</practice> <practice priority="critical">Always return file:line references for findings</practice> <practice priority="high">Start with narrow search scope, expand if needed</practice> <practice priority="high">Use LSP tools when available for accurate symbol navigation</practice> <practice priority="medium">Filter out binary and generated files</practice> <practice priority="medium">Limit results to manageable size using head_limit</practice> </best_practices>
<anti_patterns> <avoid name="blind_broad_search"> <description>Searching entire codebase without filters</description> <instead>Start with file type or directory filters</instead> </avoid>
<avoid name="reading_without_searching"> <description>Reading files without first using Glob/Grep to locate them</description> <instead>Use search tools to find relevant files first</instead> </avoid> <avoid name="ignoring_context"> <description>Returning matches without surrounding context</description> <instead>Use -C flag with Grep or read surrounding lines</instead> </avoid> </anti_patterns> <rules> <rule priority="critical">Exploration operations must be read-only; never modify files during search</rule> <rule priority="critical">Always use absolute file paths in Read tool calls</rule> <rule priority="high">Prefer Grep over shell grep/rg commands for consistent behavior</rule> </rules> <constraints> <must>Return file paths with line numbers for all findings</must> <must>Limit results to manageable size</must> <must>Maintain read-only operations during exploration</must> <avoid>Modifying files during exploration</avoid> <avoid>Returning raw dumps without filtering</avoid> <avoid>Searching binary or generated files</avoid> </constraints><related_skills> <skill name="serena-usage">Alternative symbol navigation via Serena MCP</skill> <skill name="investigation-patterns">Evidence collection methodology using these tools</skill> </related_skills>
tools
This skill should be used when the user asks to parse, search, grep, query, filter, or extract headings, sections, tasks, code blocks, links, or tables from Markdown files. Use when working with mdq, jq-style Markdown querying, section extraction, checklist validation, CI task scripts, or documentation automation pipelines.
development
Practical SBCL (Steel Bank Common Lisp) operations guide. Use this skill whenever the user mentions SBCL execution/debugging, --script usage, REPL workflows, backtraces, ASDF loading, save-lisp-and-die, profiling, or SLY-based Common Lisp development.
tools
Context7 MCP documentation retrieval patterns for up-to-date library and API references. Use this skill whenever current library docs, API signatures, version-specific behavior, or migration notes are needed.
development
Patterns for output formats, reflection checkpoints, agent references, and self-evaluation shared across agents and commands.