pkg/embedded/templates/specledger/skills/sl-audit/SKILL.md
# sl Audit Skill ## Overview Codebase reconnaissance skill for understanding project structure, tech stack, and module organization. This skill provides patterns for efficient codebase exploration without AI orchestration overhead. **Layer**: L3 (Skill) - Passive context injection **Use when**: You need to understand an unfamiliar codebase or validate architecture assumptions ## When to Load Load this skill when: - First encounter with an unfamiliar codebase - Need to understand project str
npx skillsauth add specledger/specledger pkg/embedded/templates/specledger/skills/sl-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Codebase reconnaissance skill for understanding project structure, tech stack, and module organization. This skill provides patterns for efficient codebase exploration without AI orchestration overhead.
Layer: L3 (Skill) - Passive context injection Use when: You need to understand an unfamiliar codebase or validate architecture assumptions
Load this skill when:
Don't load when:
Quick Reconnaissance (~15 min)
Deep Module Analysis (~30+ min per module)
| Pattern | Key Indicators |
|---------|---------------|
| Monorepo | packages/, apps/, libs/, pnpm-workspace.yaml |
| Clean Architecture | domain/, infrastructure/, application/ |
| MVC | controllers/, models/, views/ |
| Feature-Sliced | features/, entities/, shared/ |
| Microservices | Multiple cmd/ or services/ directories |
When codebase lacks clear structure:
IF first_time_in_codebase:
RUN full_audit (quick + deep)
ELIF validating_specific_assumption:
RUN quick_reconnaissance ONLY
ELIF need_module_details:
RUN deep_module_analysis FOR target_module
| Format | When to Use |
|--------|-------------|
| markdown | Human review, documentation |
| json | Scripting, automation, caching |
If you've already run reconnaissance commands, reuse the output rather than re-running. Save structured results to a scratch file if you need them across sessions.
# Identify language/framework
ls -la | grep -E "package.json|go.mod|requirements.txt|pyproject.toml|pom.xml|Cargo.toml"
# JavaScript/TypeScript
cat package.json | jq '{name, dependencies, devDependencies, scripts}'
# Go
cat go.mod | grep "^module\|^require"
# Python
cat requirements.txt
cat pyproject.toml
# Directory tree (3 levels)
tree -L 3 -d -I 'node_modules|.git|dist|build|vendor|target|__pycache__|coverage'
# File counts
find . -type f -name "*.ts" -o -name "*.go" -o -name "*.py" | wc -l
# Find main files
find . -name "main.go" -o -name "main.ts" -o -name "index.ts" -o -name "app.py"
grep -r "^package " [MODULE_PATH] | cut -d: -f2 | sort -u
grep -r "^func [A-Z]" [MODULE_PATH]
grep -r "^type [A-Z]" [MODULE_PATH]
grep -A 5 "^type .* struct" [MODULE_PATH]
grep -r "^export " [MODULE_PATH] | head -30
grep -r "export.*function\|export.*Component" [MODULE_PATH]
find [MODULE_PATH] -path "*/api/*" -name "*.ts"
grep -r "^export type\|^export interface" [MODULE_PATH]
grep -r "^class " [MODULE_PATH]
grep -r "@app.get\|@app.post\|path(" [MODULE_PATH]
grep -r "@dataclass\|BaseModel" [MODULE_PATH]
# Go imports
grep -r "^import " [MODULE_PATH] | grep -o '".*"' | sort -u
# TypeScript imports
grep -r "^import .* from" [MODULE_PATH] | grep -o "from ['\"].*['\"]" | sort -u
# Python imports
grep -r "^import \|^from " [MODULE_PATH] | sort -u
{
"metadata": {
"project_name": "...",
"project_type": "monorepo|single-package|microservices",
"language": "typescript|go|python",
"framework": "nextjs|express|gin|fastapi",
"analyzed_at": "ISO timestamp",
"total_loc": 0,
"file_count": 0
},
"global_context": {
"architecture_style": "...",
"api_pattern": "REST|GraphQL|gRPC",
"auth_pattern": "...",
"database": "...",
"common_patterns": []
},
"modules": [
{
"id": "module-id",
"name": "Human Readable Name",
"description": "What this module does",
"type": "core-domain|infrastructure|api|integration|ui|utility",
"paths": ["path/to/files"],
"entry_point": "main file",
"loc": 0,
"key_functions": [],
"data_models": [],
"api_contracts": [],
"dependencies": []
}
]
}
There is no sl audit CLI command. This skill provides patterns for manual codebase reconnaissance using standard tools (tree, find, grep). See their respective --help for full syntax.
If no project structure detected:
.github/workflows/)README.md for project setup instructionsIf dependency graph is incomplete:
testing
Manage agent skills from the skills.sh registry — search, install, audit, and remove community-built skills
testing
# sl Issue Tracking ## Overview `sl issue` is the built-in issue tracker for SpecLedger. Use it for multi-session work with complex dependencies; use TodoWrite for simple single-session tasks. ## When to Use sl issue vs TodoWrite ### Use sl issue when: - **Multi-session work** - Tasks spanning multiple compaction cycles or days - **Complex dependencies** - Work with blockers, prerequisites, or hierarchical structure - **Knowledge work** - Strategic documents, research, or tasks with fuzzy bo
testing
# sl Dependency Management **When to Load**: Triggered when tasks involve cross-repo specification dependencies, `sl deps` commands, artifact caching, or multi-repo dependency resolution. ## Overview `sl deps` manages external specification dependencies between repositories. Dependencies are declared in `specledger.yaml`, cached locally at `~/.specledger/cache/`, and optionally symlinked into your project's artifacts directory for direct access. ## Subcommands | Command | Purpose | Output M
tools
# sl-comment Skill **When to Load**: Triggered when AI commands mention "review comments", "comment", or reference `sl comment` CLI. ## Overview The `sl comment` CLI provides review comment management for SpecLedger projects. Comments are stored in Supabase and accessed via the PostgREST API. ## Subcommands | Command | Purpose | Output Mode | |---------|---------|-------------| | `sl comment list [branch-name] [-R owner/repo]` | List all comments (compact) | Truncated previews, reply counts