.claude/skills/gen-code-tour/SKILL.md
Use when onboarding developers to an unfamiliar codebase, documenting a complex architectural flow across multiple files, or creating guided walkthroughs for code reviews. Generates VSCode CodeTour JSON files with progressive disclosure — starting from high-level architecture and drilling into implementation details. Domain: Documentation, Onboarding. Level: Intermediate. Tags: code-tour, onboarding, walkthrough, documentation, progressive-disclosure, vscode.
npx skillsauth add klod68/littlerae gen-code-tourInstall 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.
New developers joining a project face a steep learning curve. Documentation describes what the system does but rarely provides a guided path through how the code implements it. Reading files in alphabetical order or random discovery leads to fragmented understanding. Developers need a curated path through the codebase that builds understanding progressively.
When NOT to use:
technical-writer agent insteadGenerate a VSCode CodeTour file (.tours/{tour-name}.tour) that guides the reader
through the codebase with progressive disclosure.
Every tour follows the Concentric Circles pattern — start at the outermost layer (entry point, configuration) and spiral inward toward the core domain logic:
1. Entry point (Program.cs, endpoint, hub)
2. Configuration (DI registration, options)
3. Application layer (handler, pipeline)
4. Domain layer (entity, value object, domain service)
5. Infrastructure layer (repository, external service)
6. Cross-cutting (middleware, filters, interceptors)
| Step Type | Use | CodeTour Properties |
|---|---|---|
| Directory | Explain a folder's purpose and contents | directory: "src/Domain/" |
| File | Explain a file's role in the architecture | file: "src/Domain/Order.cs" |
| Line | Point to a specific code construct | file + line |
| Selection | Highlight a range of code | file + selection (start/end) |
Generate a JSON file following the CodeTour schema:
{
"$schema": "https://aka.ms/codetour-schema",
"title": "{Tour Title}",
"description": "{One-sentence purpose of this tour}",
"steps": [
{
"title": "Step 1: Entry Point",
"description": "This is where requests enter the system...",
"file": "src/WebApi/Program.cs",
"line": 42
},
{
"title": "Step 2: DI Registration",
"description": "All services are registered here...",
"directory": "src/WebApi/Extensions/"
}
]
}
Generate tours for these standard scenarios:
| Category | Starting Point | Key Stops | |---|---|---| | Architecture Overview | Solution structure | Layer boundaries, dependency flow, key abstractions | | Request Flow | Endpoint/Controller | Validation → Handler → Domain → Repository → Response | | Domain Model | Aggregate root | Entities, value objects, domain events, invariants | | Testing Strategy | Test project structure | Unit → Integration → test helpers, builders | | Configuration | appsettings.json | Options classes, validation, DI wiring |
.tour JSON file content.tours/{category}-{subject}.tourscaffold-clean-arch — Clean Architecture project structure (tour often follows this layout)gen-copilot-instructions — Documentation generation for AI context filestools
Use when cross-cutting concerns (logging, metrics, validation, authorization) are tangled into command handlers or service methods, when building database command pipelines with reorderable concerns, or when HTTP client pipelines or message handlers need composable, independently-replaceable processing stages. Covers ICommandInterceptor interface, InterceptorPipeline with reverse-chain construction, zero-cost Empty sentinel to skip overhead when no interceptors are registered, and ConfigureAwait(false) discipline for library code. Domain: Architecture, Cross-Cutting Concerns. Level: Intermediate. Tags: interceptor, pipeline, middleware, decorator, cross-cutting-concerns.
development
Use when writing integration tests for Razor Pages, MVC, or Minimal API applications to validate routing, middleware, page rendering, and HTTP behavior without a browser or live server, or when adding fast smoke tests to a CI pipeline. Covers WebApplicationFactory<Program> setup with public partial class Program, in-memory test server, AngleSharp HTML parsing, CSS selector assertions, redirect and status code testing, and a shared static fixture pattern for minimal per-test startup overhead. Domain: Testing, ASP.NET Core. Level: Intermediate. Tags: integration-testing, webapplicationfactory, razor-pages, anglesharp, http-testing.
development
Use when designing indexes for new tables, diagnosing slow queries that are not using indexes efficiently, reviewing index fragmentation and maintenance, or when the current indexing strategy results in key lookups, table scans, or missing index warnings. Covers clustered index key selection (narrow, unique, ever-increasing), non-clustered index design for query patterns, covering indexes with INCLUDE columns, filtered indexes for subset queries, composite index column ordering, DMV-based monitoring for missing and unused indexes, and rebuild vs reorganize maintenance thresholds. Domain: Database, Performance. Level: Intermediate. Tags: index, sql-server, covering-index, filtered-index, performance, dmv, maintenance.
development
Use when building a searchable in-memory catalog or registry for documentation sites, admin panels, or type/API browsers where you need keyword matching, fuzzy search, and ranked results without an external search engine or database. Covers RegistryService with weighted scoring across name, description, keywords, and method names; Levenshtein fuzzy matching; synonym expansion; category and subcategory filtering; and singleton DI registration for datasets of hundreds to low thousands of items. Domain: Search, Data Access Patterns. Level: Intermediate. Tags: search, registry, fuzzy-matching, in-memory, catalog, filtering.