- Resources
- scripts/
- validate-precision-usage.sh
- references/
- tool-reference.md
- Precision Mastery
- The precision engine provides token-efficient alternatives to native tools (Read, Edit, Write, Grep, Glob, WebFetch). When used correctly, you save 75-95% of tokens on file operations. This skill teaches optimal usage.
- Verbosity Cheat Sheet
- Use the lowest verbosity that meets your needs. Verbosity directly impacts token consumption.
- Operation
- Default
- Recommended
- Why
- precision_write
- standard
- count_only
- You provided the content; just confirm success
- precision_edit
- with_diff
- minimal
- Confirm applied; skip diffs unless debugging
- precision_read
- standard
- standard
- You need the content
- precision_grep
- (discovery)
- standard
- files_only
- via output.format
- Discovery phase, not content phase
- precision_grep
- (content)
- standard
- matches
- via output.format
- Need actual matched lines
- precision_glob
- standard
- paths_only
- via output.format
- You need file paths, not stats
- precision_exec
- (verify)
- standard
- minimal
- Unless you need full stdout/stderr
- precision_exec
- (debug)
- standard
- standard
- Need output to diagnose
- precision_fetch
- standard
- standard
- You need the content
- discover
- files_only (verbosity param)
- files_only
- Discovery phase, not content phase
- precision_symbols
- locations (verbosity param)
- locations
- File:line is usually enough
- Token Multipliers
- :
- count_only
-
- ~0.05x tokens
- minimal
-
- ~0.2x tokens
- standard
-
- ~0.6x tokens
- verbose
-
- 1.0x tokens
- Golden Rule
- Use count_only for writes/edits where you don't need to read back what you just wrote. Extract Mode Selection ( precision_read ) Before reading a file, decide what you need from it. Extract modes reduce tokens by 60-95% compared to full content. Mode When to Use Token Savings Example Use Case content Need full file to read/understand 0% Reading config files, reading code to edit outline Need structure without content 60-80% Understanding file organization, finding functions symbols Need exported symbols for imports 70-90% Building import statements, API surface analysis ast Need structural patterns 50-70% Refactoring, pattern detection lines Need specific line ranges 80-95% Reading specific functions after grep Best Practices : Start with outline to understand file structure Use symbols when building imports or understanding API surface Use lines with range: { start, end } after grep finds a location Only use content when you actually need the full file
Step 1: Get structure
precision_read : files : [ { path : "src/components/Button.tsx" , extract : outline } ] verbosity : standard
Step 2: If you need full content, read it
precision_read : files : [ { path : "src/components/Button.tsx" , extract : content } ] verbosity : standard Batching Patterns Batching is the single most important token saving technique. Always batch operations when possible. 1. Multi-File Read (Single Call) Read 5-10 files in one precision_read call instead of 5-10 separate calls.
Bad (5 separate calls)
precision_read : files : [ { path : "file1.ts" } ] precision_read : files : [ { path : "file2.ts" } ]
...
Good (1 batched call)
- precision_read
- :
- files
- :
- [
- {
- path
- :
- "file1.ts"
- ,
- extract
- :
- outline
- }
- ,
- {
- path
- :
- "file2.ts"
- ,
- extract
- :
- outline
- }
- ,
- {
- path
- :
- "file3.ts"
- ,
- extract
- :
- outline
- }
- ,
- {
- path
- :
- "file4.ts"
- ,
- extract
- :
- outline
- }
- ,
- {
- path
- :
- "file5.ts"
- ,
- extract
- :
- outline
- }
- ]
- verbosity
- :
- minimal
- 2. Multi-Query Discover (Single Call)
- Run grep + glob + symbols queries simultaneously in one
- discover
- call. This is the most powerful discovery pattern.
- discover
- :
- queries
- :
- -
- id
- :
- find_components
- type
- :
- glob
- patterns
- :
- [
- "src/components/*/.tsx"
- ]
- -
- id
- :
- find_api_routes
- type
- :
- glob
- patterns
- :
- [
- "src/api/*/.ts"
- ,
- "src/app/api/*/.ts"
- ]
- -
- id
- :
- find_auth_usage
- type
- :
- grep
- pattern
- :
- "useAuth|getSession|withAuth"
- glob
- :
- "src/*/.{ts,tsx}"
- -
- id
- :
- find_hooks
- type
- :
- symbols
- query
- :
- "use"
- kinds
- :
- [
- "function"
- ]
- verbosity
- :
- files_only
- Why this matters
- Parallel execution means all 4 queries finish in ~50ms instead of ~200ms sequential.
3. Multi-Edit Atomic Transaction (Single Call)
Apply multiple edits across files in one
precision_edit
call with atomic transaction. If any edit fails, all roll back.
precision_edit
:
edits
:
-
path
:
"src/components/Button.tsx"
find
:
"export default Button"
replace
:
"export { Button as default }"
-
path
:
"src/components/index.ts"
find
:
"export { default as Button } from './Button'"
replace
:
"export { Button } from './Button'"
transaction
:
mode
:
"atomic"
verbosity
:
minimal
4. Multi-File Write (Single Call)
Create multiple files in one
precision_write
call.
precision_write
:
files
:
-
path
:
"src/features/user/index.ts"
content
:
|
export * from './types';
export * from './api';
export * from './hooks';
-
path
:
"src/features/user/types.ts"
content
:
|
export interface User {
id: string;
email: string;
name: string;
}
-
path
:
"src/features/user/api.ts"
content
:
|
import type { User } from './types';
export const getUser = async (id: string): Promise
=> { / ... / }; verbosity : count_only 5. Batching Precision Tools (Optimal) The highest form of batching: wrap multiple precision calls in a single transaction. Each operation type (read, write, exec, query) uses the corresponding precision_engine tool's schema. For example: read operations use precision_read schema (with files array) write operations use precision_write schema (with files array) exec operations use precision_exec schema (with commands array) query operations use precision_grep/precision_glob schemas batch : operations : read : - files : - path : "src/types.ts" extract : symbols write : - files : - path : "src/features/auth/types.ts" content : | export interface User { id: string; email: string; name: string; } exec : - commands : - cmd : "npm run typecheck" expect : exit_code : 0 config : transaction : mode : atomic verbosity : minimal Token Budget & Pagination For large files or batch reads, use token_budget to control output size.
Read up to 20 files, but cap total output at 5K tokens
precision_read : files : [ { path : "file1.ts" } , { path : "file2.ts" } ,
...
] token_budget : 5000 page : 1
Start with page 1
- verbosity
- :
- standard
- If results are truncated, increment
- page
- to get the next batch.
- Output Format Selection (
- precision_grep
- )
- precision_grep
- has multiple output formats:
- count_only
- ,
- files_only
- ,
- locations
- ,
- matches
- ,
- context
- .
- Format
- Use Case
- Token Cost
- count_only
- Gauge scope
- Very Low
- files_only
- Discovery phase
- Low
- locations
- Find where something exists
- Medium
- matches
- Need actual matched lines
- High
- context
- Need surrounding code
- Very High
- Progressive Disclosure
- Start with count_only to gauge scope, then files_only to build a target list, then matches to get content. Discover Tool Orchestration The discover tool is a meta-tool that runs multiple queries (grep, glob, symbols) in parallel. Always use it BEFORE implementation. Discovery Pattern : Run discover with multiple queries Analyze results to understand scope Plan work based on discovery findings Execute with batching
Step 1: Discover
discover : queries : - id : existing_files type : glob patterns : [ "src/features/auth//*.ts" ] - id : existing_patterns type : grep pattern : "export (function|const|class)" glob : "src/features//*.ts" verbosity : files_only
Step 2: Read key files with outline based on discovery
precision_read : files : [ { path : "src/features/auth/index.ts" , extract : outline } ] verbosity : minimal
Step 3: Execute based on what was discovered
precision_write : files : - path : "src/features/auth/middleware.ts" content : "..." verbosity : count_only precision_exec Patterns 1. Background Processes Run long-running processes in the background to avoid blocking. precision_exec : commands : - cmd : "npm run dev" background : true verbosity : minimal 2. Retry Patterns Automatically retry flaky commands. precision_exec : commands : - cmd : "npm install" retry : max : 3 delay_ms : 1000 verbosity : minimal 3. Until Patterns Poll until a condition is met. precision_exec : commands : - cmd : "curl http://localhost:3000/api/health" until : pattern : "ok" timeout_ms : 30000 verbosity : minimal precision_fetch Patterns 1. Batched URLs Fetch multiple URLs in one call. precision_fetch : urls : - url : "https://api.example.com/users" - url : "https://api.example.com/posts" - url : "https://api.example.com/comments" verbosity : standard 2. Extract Modes Extract specific data from JSON responses. precision_fetch : urls : - url : "https://api.example.com/users" extract : json
Extract mode: raw, text, json, markdown, structured, etc.
verbosity : standard 3. Service Registry Auth Use pre-configured services for automatic authentication. precision_fetch : urls : - url : "https://api.openai.com/v1/models" service : "OpenAI"
Auto-applies bearer token from config
- verbosity
- :
- standard
- Anti-Patterns (NEVER DO THESE)
- Using native tools
-
- Read, Edit, Write, Glob, Grep, WebFetch should be avoided. Use precision equivalents.
- Setting verbosity to "verbose" for writes/edits
-
- Wastes tokens. You just wrote the content, why read it back?
- Reading entire files when you only need outline/symbols
-
- Use extract modes.
- Running discover queries one at a time
-
- Batch them.
- Using
- precision_read
- when
- precision_grep
- would find it faster
-
- Grep is optimized for search.
- Reading a file you just wrote
-
- You already know the content.
- Not using discover before implementation
-
- Blind implementation leads to mismatched patterns.
- Making multiple sequential precision tool calls that could be batched
-
- If 3+ calls to the same tool, batch them.
- Using
- verbosity: verbose
- as default
-
- Only use it when debugging.
- Ignoring token_budget for large batch reads
-
- Without a budget, you might get truncated results.
- Escalation Procedure
- If a precision tool fails:
- Check the error
-
- Is it user error (wrong path, bad syntax)? Fix and retry.
- If tool genuinely fails
-
- Use native tool for THAT SPECIFIC TASK only.
- Return to precision tools
-
- For the next operation.
- Log the failure
-
- To
- .goodvibes/memory/failures.json
- .
- Example
- :
- precision_read
- fails on a specific file => Use
- Read
- for that file only, return to
- precision_read
- for other files.
- precision_edit
- fails on a specific edit => Use
- Edit
- for that edit only, return to
- precision_edit
- for other edits.
- NEVER
-
- Abandon precision tools entirely because one call failed.
- Decision Tree: Which Tool?
- Do I know the exact file paths?
- |-- Yes -- precision_read (with appropriate extract mode)
- +-- No -- Do I know a pattern?
- |-- Yes -- precision_glob
- +-- No -- Am I searching for content?
- |-- Yes -- precision_grep
- +-- No -- Am I searching for symbols?
- |-- Yes -- precision_symbols
- +-- No -- Use discover with multiple query types
- Special-purpose tools
- (not in tree above):
- precision_notebook
- — Jupyter notebook cell operations (replace/insert/delete with cell_id targeting)
- precision_agent
- — Spawn headless Claude sessions with dossier-based context injection
- precision_config
- — Runtime configuration (get/set/reload)
- Performance Benchmarks
- Token Savings
- :
- outline
- vs
- content
-
- 60-80% savings
- symbols
- vs
- content
-
- 70-90% savings
- count_only
- vs
- verbose
- 95% savings Batched 5 files vs 5 separate calls: 40-60% savings (overhead reduction) Parallel discover 4x vs sequential: 75% speedup, similar token cost Time Savings : Parallel discover (4 queries): ~50ms vs ~200ms sequential Batched writes (5 files): ~80ms vs ~400ms separate Batched edits with transaction: atomic rollback on failure Quick Reference Most common patterns :
1. Discover before implementing
discover : queries : - id : files type : glob patterns : [ "pattern" ] - id : patterns type : grep pattern : "regex" verbosity : files_only
2. Read with outline first
precision_read : files : [ { path : "file.ts" , extract : outline } ] verbosity : minimal
3. Batch writes with count_only
precision_write : files : - { path : "file1.ts" , content : "..." } - { path : "file2.ts" , content : "..." } verbosity : count_only
4. Batch edits with atomic transaction
precision_edit : edits : - { path : "f1.ts" , find : "..." , replace : "..." } - { path : "f2.ts" , find : "..." , replace : "..." } transaction : { mode : "atomic" } verbosity : minimal
5. Verify with minimal output
- precision_exec
- :
- commands
- :
- -
- {
- cmd
- :
- "npm run typecheck"
- ,
- expect
- :
- {
- exit_code
- :
- 0
- }
- }
- verbosity
- :
- minimal
- Remember
- The precision engine saves tokens, but only when you choose the right verbosity, extract modes, and batching patterns. Use this skill as a cheat sheet for efficient tool usage.