SKILL.md
When to Activate
- User wants to understand how parts of the codebase relate to each other
- User needs to trace callers or dependencies before making a change
- User wants an architecture overview or dependency map
- User asks “how does X work” or “where is X defined”
- User wants an impact analysis before renaming, removing, or refactoring
Skip When
- User wants a bug fixed, not just explored — use codi-debugging
- User wants new code written — use codi-plan-writer
- User wants tests run — use codi-test-suite
- User wants an onboarding doc produced — use codi-codebase-onboarding
- User asks to perform an edit, refactor, or migration — explore first, then route to the right action skill
Available Tools
Query Code Structure (Natural Language)
[SYSTEM] Query the code graph with natural language questions about the code:
- “What functions call UserService.create_user?”
- “Show all classes that inherit from BaseModel”
- “What modules import the config module?”
- “What are the dependencies of PaymentProcessor?”
Get Source Code by Qualified Name
[SYSTEM] Retrieve source code using dot-notation:
app.services.UserService.create_userutils.validators.validate_emailmodels.User
Re-index Repository
[SYSTEM] Use when the codebase has changed significantly. For incremental updates after small changes, use the graph-sync skill instead.
Common Exploration Patterns
Understanding a Feature
- Query for the main class/function
- Find all callers (who uses it?)
- Find all callees (what does it use?)
- Trace the dependency chain
Before Refactoring
- Query: “What functions call [target_function]?”
- Query: “What modules import [target_module]?”
- Understand the full impact radius
Debugging
- Query: “Show the call chain for [function_name]”
- Get source code for relevant functions
- Trace data flow through the system
Architecture Overview
- Query: “What are the main modules in this project?”
- Query: “Show relationships between services”
- Query: “What external packages does this project depend on?”
Graph Schema Reference
Node Types: Project, Package, Module, Folder, File, Class, Function, Method, ExternalPackage
Relationships: CONTAINS_PACKAGE, CONTAINS_FOLDER, CONTAINS_FILE, CONTAINS_MODULE, DEFINES, DEFINES_METHOD, DEPENDS_ON_EXTERNAL, CALLS