Awesome-omni-skill repo-understanding
Build a complete mental model of a repository's structure, commands, dependencies, and conventions. Invoke as @repo-understanding.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/repo-understanding" ~/.claude/skills/diegosouzapw-awesome-omni-skill-repo-understanding-76bb29 && rm -rf "$T"
manifest:
skills/development/repo-understanding/SKILL.mdsource content
Skill: Repository Understanding
Purpose
Before making changes, understand how the repo is organized, what commands it provides, how tests run, and what conventions the team follows.
When to Use This Skill
- Starting work on a new repository
- Onboarding to a project
- Planning a large refactoring or feature
- Before making cross-cutting changes
Steps
1) Understand the directory structure
Read the repo root and understand:
,/crates
,/src
: source code directories/packages
,/tests
: test files/test
: documentation/docs
: build/CI scripts/scripts
,/infra
: infrastructure/deployment configs/deploy
,/assets
: non-code files/static
Example output:
markenz/ crates/ # Rust libraries (physics, world, rng) apps/ # Rust applications (engine) tests/ # Integration tests docs/ # Documentation observability/ # Logging schemas and conventions runbooks/ # Incident response playbooks scripts/ci/ # CI helper scripts
2) Read the AGENTS.md file
This is the authoritative source for:
- Canonical commands (lint, test, format, typecheck, build)
- Directory-scoped rules and conventions
- How to run the project locally
- How to contribute
Example:
# Canonical Commands - cargo build # Build all crates - cargo test --all # Run all tests - cargo clippy --all # Linter
3) Identify main entrypoints
For applications:
- Which files are the main entry points? (main.rs, index.js, server.py)
- How does the app start? (CLI args, env vars, configs)
- What are the key services or modules?
For libraries:
- What is the public API? (exported functions, types, classes)
- What are the main invariants and constraints?
4) Understand the dependency graph
- What external dependencies does the project use?
- Which modules depend on which?
- Are there circular dependencies or tight coupling?
Example (Rust):
cargo tree
5) Review the test structure
- Where are tests located? (same file, separate directory, docs)
- How do you run tests? (
,npm test
,pytest
)cargo test - Are there separate test suites? (unit, integration, e2e)
- What's the coverage target?
6) Understand the build/CI process
- How does the code get built? (npm, cargo, Python setuptools)
- What CI system is used? (.github/workflows, GitLab CI, etc.)
- What are the quality gates? (linters, type checkers, tests)
- How are artifacts packaged and released?
Example:
cat .github/workflows/ci.yml | grep "run:" | head -10
7) Identify the tech stack
- Language(s): JavaScript, Rust, Python, etc.
- Frameworks: React, Express, Django, Actix, etc.
- Databases: PostgreSQL, MongoDB, Redis, etc.
- Testing: Jest, pytest, cargo test, etc.
- CI: GitHub Actions, GitLab CI, Jenkins, etc.
8) Review the GLOBAL_RULES or standards
Read the governance files:
- AGENTS.md (repo-level rules)
- GLOBAL_RULES.md (shared across team)
- .windsurf/ (Windsurf-specific conventions)
Understand:
- Code style guidelines
- Security requirements (secrets, validation, redaction)
- Observability requirements (logging, metrics, tracing)
- Test coverage targets
- Documentation standards
9) Capture key mental models
Document these in your head:
- Data flow: How does data enter, flow through, and exit the system?
- Error paths: How are failures handled and logged?
- Concurrency model: Is it single-threaded, multi-threaded, async?
- Deployment: How does code get to production?
10) Ask clarifying questions
If anything is unclear:
- Check the README and docs
- Look for comments in key files
- Check the git log for recent changes
- Ask the team or open issues
Quality Checklist
- Directory structure understood
- AGENTS.md read and key commands identified
- Main entrypoints identified
- Dependency graph understood
- Test structure known
- Build/CI process clear
- Tech stack documented
- Governance rules reviewed
- Data flow understood
- Can run tests locally
Verification Commands
# Understand structure ls -la cat AGENTS.md cat README.md # Identify commands grep -r "\"scripts\":" package.json | head -20 cat Justfile | grep "^[a-z]" grep "^##" AGENTS.md | head -20 # Run a basic test npm test cargo test --lib python -m pytest # Check dependencies cargo tree | head -50 npm list | head -50 # Understand CI cat .github/workflows/ci.yml | head -30
KAIZA-AUDIT Compliance
When using this skill as part of another task, your KAIZA-AUDIT block should include:
- Scope: Modules/areas touched
- Key Decisions: Explain how your changes respect the repo's conventions and tech stack
- Verification: Confirm commands from AGENTS.md pass (lint, tests, etc.)