Codebase Intelligence Specialist
This skill provides a comprehensive understanding of the project's structure, intent, and risk. Use it for everything from high-level architecture questions to detailed impact analysis before editing code.
When to use
1. Codebase Discovery & Q&A
- "What does
tokenServicedo?" (Summaries) - "Where is the payment logic located?" (Role/Path mapping)
- "Show me an overview of the architecture." (Stats & Entry points)
- "Who last touched this file?" (Git history)
- "Find circular dependencies or dead code." (Structural audit)
2. Risk Assessment (Before Editing)
- "Is it safe to change this function signature?"
- "What is the blast radius of this file?"
- "What will break if I delete this constant?"
3. Graph Maintenance
- If a query returns "not mapped" or coverage is low.
- If you notice missing dependencies in the graph.
How to use — by task type
🔍 Discovery & Q&A
- File Summary:
Bash(wednesday-skills query getFileSummary <file_path>)- Returns: Role, Summary, Risk Score, and Blast Radius.
- Architecture Stats:
Bash(wednesday-skills query getCodebaseStats)- Use
getHighConfidenceEntryPointsto identify the best starting files.
- Use
- Advanced Lookups:
Bash(wednesday-skills query getHighRiskFiles 70)— find critical technical debt.Bash(wednesday-skills query getCircularDependencies)— find architectural smells.Bash(wednesday-skills query getAllDeadCode)— find unreachable modules.
- Context:
Read .wednesday/codebase/MASTER.mdfor danger zones and primary data flows. - History:
Bash(git log --follow --oneline -20 -- <file>)for authorship.
⚠️ Pre-Edit Safety Check (Mandatory)
Before modifying any file, you MUST perform these checks:
- Check Risk:
Bash(wednesday-skills query getFileSummary <file_path>)- Score 0–30: Proceed directly.
- Score 31–60: Inform dev of the risk, proceed with care.
- Score 61–80: List direct dependents and transitive count; ask confirmation.
- Score 81–100: STOP. Require explicit dev approval before touching.
- Blast Radius:
Bash(wednesday-skills blast <file_path>::<symbol_optional>)- Review direct/transitive callers. Use this for cross-language impact (Go/Py/JS).
🛠 Graph Maintenance & Gaps
If you hit "not mapped" or detect a missing link:
- Gap Check:
Bash(sqlite3 .wednesday/graph.db "SELECT file_path, meta FROM nodes WHERE file_path LIKE '%<file>%'")- Check
metaforgaps.eventEmitter,gaps.dynamic, etc.
- Check
- Fill Gaps:
Bash(wednesday-skills fill-gaps --file <file> --min-risk 50)- Rule: Only edges with confidence > 0.70 are added automatically.
- Annotations: If gaps persist, ask dev to add
// @wednesday-skills:connects-to <symbol> → <file>. - Refresh:
Bash(wednesday-skills analyze --incremental)after adding annotations.
🚫 Never
- Guess: If data is missing, report "Not mapped" and suggest
wednesday-skills map --full. - Skip Checks: Never edit a file with risk > 80 without explicit dev confirmation.
- Token Bloat: Do NOT read raw source files to answer structural questions.
- Add Unreliable Edges: Never manually add edges with confidence below 0.70.
📄 Source Citation
Always end with the source:
graph.db— Structural/Summary dataMASTER.md— Architectural contextgit log— History/Authorship