en un clic
via
Guidelines for writing efficient via relationship queries.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Guidelines for writing efficient via relationship queries.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
Product Manager. Use for product vision, requirements, PRDs, user stories, prioritization, and acceptance criteria.
Tech Lead and Architect. Use for architectural decisions, design guidance, task planning, code quality, and refactoring strategy.
Scrum Master and Project Coordinator. Use for sprint status, task tracking, velocity metrics, and team coordination.
Senior Software Engineer (Python). Use for implementation, coding, debugging, testing, and refactoring tasks.
Knowledge Officer and Documentation Architect. Use for documentation, knowledge queries, recording decisions/lessons, and file organization.
HCI Expert and UX Advocate. Use for user story review, usability testing, HCI evaluation, API/CLI feedback, sprint user review gates, and usability defect filing.
| name | via |
| description | Guidelines for writing efficient via relationship queries. |
| triggers | ["*via","*via help","*via query"] |
| requires | ["bob-protocol","chat","make"] |
This skill outlines guidelines for writing efficient via relationship queries within the project workspace, ensuring optimal token usage, performance, and developer efficiency.
When constructing relationship queries with via, always declare the query direction properly based on the result-first convention:
--via <rel>, --sans <rel>) is in the middle.Inheritance:
<ChildClass> --via inherits-from <ParentClass> (e.g., via -mg '*' -tc --via inherits-from -mg 'ParserABC' -tc)<ParentClass> --via inherited-by <ChildClass> (e.g., via -mg 'ParserABC' -tc --via inherited-by -mg '*' -tc)Calls:
<Caller> --via calls <Callee> (e.g., via -mg '*' -tf --via calls -mg 'helper' -tf)<Callee> --via called-by <Caller> (e.g., via -mg 'helper' -tf --via called-by -mg '*' -tf)Imports:
<ImportingFile> --via imports <ImportedModule> (e.g., via -mg '*' -tF --via imports -mg 'sqlite3' -ti)<ImportedModule> --via imported-by <ImportingFile> (e.g., via -mg '*' -ti --via imported-by -mg 'via/db/store.py' -tF)Declares & Declared-In (Structural Containment):
<Container> --via declares <Member> (e.g., via -mg 'via/core/*' -tF --via declares -mg '*' -tf)<Member> --via declared-in <Container> (e.g., via -mg 'my_function' -tf --via declared-in -mg '*' -tF)To refine results and avoid unnecessary matching across large codebases, use qualified matching:
-Q or --qualified to match symbols against their fully qualified names (such as Package.Module.ClassName.MethodName).via -mg 'DatabaseStore.connect' -tf -Q --via calls -mg '*' -tf
To maintain the integrity of the tool and the consistency of the indexing system:
via: enabled is set in agents/PROJECT.md but the mcp__via__via_query tool is missing from your toolset, you MUST run via queries using the CLI (via the run_command tool or make via targets) instead of falling back to raw grep_search or manual file scanning for symbol lookups.sqlite3 .via/index.db "SELECT ..." or using Python's sqlite3 client directly in commands) to fetch relationship or symbol details, except under explicitly authorized gauntlet benchmarks. Always use the via command-line interface.view_file or cat) or grep_search to locate symbol definitions, trace imports, map call sites, or analyze inheritance structures. The via query tool is the exclusive and mandatory interface for retrieving code symbols and relationship details.grep_search ONLY for free-text search inside code (e.g., string literals, comments, logs, or raw SQL queries) or when via returns no results.