Imported from raphapr/pi-cymbal (
AGENTS.md). Install upstream withnpx skills add raphapr/pi-cymbal. Copyright stays with the author.
pi-cymbal Agent Guidance
Use Cymbal first for local code navigation when the extension tools are available.
| Need | Tool |
|---|---|
| Repo overview | cymbal_map |
| Indexed code-file inventory | cymbal_map with names: true |
| Concise repo/module structure | cymbal_structure |
| Symbol or text search | cymbal_search |
| File structure | cymbal_outline |
| Read symbol or range | cymbal_show |
| References | cymbal_refs |
| Upstream impact | cymbal_impact |
| Import relationships | cymbal_importers |
| Implementation relationships | cymbal_impls |
| Diff-scoped impact — what my change affects | cymbal_changed only when available |
| Symbol-scoped diff review | cymbal_diff |
| Stale-index recovery or user-requested indexing | cymbal_index cautiously |
| One-call symbol investigation | cymbal_investigate only when available |
| Downward execution trace | cymbal_trace only when available |
| Focused context bundle | cymbal_context only when available |
Guidelines:
- Use
cymbal_maporcymbal_structurefirst when the relevant area is unknown. - Use
cymbal_mapwithnames: trueand optionalpattern/langfor indexed code files. Do not combine names mode withpath,depth,stats, orrepos. Patterns support substrings and globs with**, not brace expansion. - Use
cymbal_searchbefore broad local grep. - Use
cymbal_outlinebefore reading whole files. - Use
cymbal_showfor targeted reads by symbol or line range. - Use
cymbal_refs,cymbal_impact,cymbal_importers, orcymbal_implsbefore changing symbol relationships. - Use
cymbal_diffwhen reviewing changes to a specific local symbol. - Use
cymbal_changedto review what your current diff affects before refactors or PRs. - Use
testPathoncymbal_impactorcymbal_changedto add repo-specific test patterns. These affect classification and counts even withoutnoTests; impact graphs withnoTestsretain production callers through indirect edges. - With Cymbal v0.15.0, iterate
cymbal_investigateJSON atresults.results[]for single and batch requests. Read each entry'ssymbolandresultorerror. - Check native JSON completeness fields such as
edges_truncatedandconflicted_files. Emptycymbal_changedJSON uses a nestedresults: []. - Use
cymbal_contextfor a focused symbol bundle when supported by the installed Cymbal version. - Use
cymbal_indexonly when a stale index is suspected or the user explicitly asks to refresh indexing; do not use it for routine navigation because Cymbal auto-indexes repositories. - Use local
grep,find,ls, andreadwhen Cymbal is unavailable, the repo is not indexable, or the task needs exact filesystem globs, non-code files, or files excluded from the index. - Never use GitHub search tools for local repository searches.