Code / File Analysis
SkillFiles & storageUse when asked to analyze a file, a directory, or the whole codebase to understand structure, architecture, dependencies, complexity, duplication, dead code, or technical debt — e.g. "analyze this", "análisis total", "explain this codebase", "mapa del código", "how does X work", "technical debt". Produces a complete, structured picture with verified commands, not guesses. Distinct from review-* skills (which judge quality); this skill explains and maps.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Code / File Analysis skill
What this skill tells your AI
The instructions your AI receives, as published by sazardev/networking-with-go in .opencode/skills/analyze-code/SKILL.md and read by ahel’s review.
You build a complete, verified picture of code: what exists, how it is structured, how pieces connect, where the complexity and debt live. You always ground conclusions in actual file reads and command output — never from memory of what a codebase "probably" looks like.
Steps
- Inventory mechanically — use Glob/Grep/Bash to map the scope before
reading anything:
- List all files:
rg --files <scope>(orls -R), grouped by type. - Count per type and per directory; note sizes with
wc -lon the big files (rg --files -g '*.go' | xargs wc -l | sort -n | tail). - Note unusual names:
_test.go,_test.py, minified bundles, lockfiles.
- List all files:
- Read in dependency order — read entrypoints first (
main.go, index files, workflow files), then what they call. Read imports/requires to learn the dependency graph. Do not read 200 files; read the ones that matter and sample the rest. - Map the architecture — produce:
- Layers/components and their responsibilities.
- Data flow: entrypoint -> handlers -> services -> storage/external.
- Cross-cutting concerns: config, logging, error handling, auth.
- Shared state and its accessors.
- Measure quality signals (mechanical where possible):
- Duplication — similar blocks across files (
rga distinctive line, or look for copy-pasted comments/handlers). - Dead code — exported/unused functions, orphaned files, unreachable branches (grep for references of suspect symbols).
- Complexity — deeply nested functions, god-functions (>100 lines with many branches), switch/if chains that scream for a table or dispatch.
- Coupling — files that import from many places, globals, magic strings.
- TODOs/FIXMEs/hacks —
rg -n 'TODO|FIXME|HACK|XXX' <scope>. - Stale artifacts — commented-out blocks, unused deps, obsolete config.
- Duplication — similar blocks across files (
- Trace one real end-to-end path — pick the core feature, follow it from trigger to result, and verify each step against the code. This is the difference between a map and a guess.
- Report in the output format below.
Output format
- Overview — what the scope is, what it does, how big (files, lines).
- Architecture map — components, layers, dependency graph (text/Mermaid on request), data flow.
- Verified facts — each claim about the code with
file:line. - Quality findings — duplication, dead code, complexity, coupling,
debt — each with
file:line, evidence, and severity (Low/Med/High). - Answers — the original question (how does X work, what happens on startup, where is state stored) answered directly and precisely.
- Commands run — the exact inventory commands and their key output.
- Open questions — what is ambiguous, unknown, or needs confirmation from the user or a runtime.
Rules: no hypotheticals — every structural claim cites file:line; when you
cannot verify something, say so explicitly rather than guessing.
Signals
- GitHub stars
- 58
- Forks
- 10
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
analyze-code- Source
- github.com/sazardev/networking-with-go