Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Understand and navigate the DevPrep AI 7-folder architecture. Use this skill when asked about code organization, where to place new features, what modules exist, or when starting development tasks that need architecture context. Auto-triggers on keywords like "where should", "add module", "architecture", "structure", "organize", "place code", "what modules".
.claude/skills/aiskillstore-architecture-navigator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-19 | ✗→✓ | ▲ Improved | 56% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 45% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 96% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 110% | 0% |
Provide instant architecture intelligence for the DevPrep AI codebase. Generate architecture maps, answer placement questions ("where should X go?"), and validate code organization against the 7-folder structure. This skill eliminates the need to manually read architecture documentation at conversation start.
When starting a development conversation or when explicitly requested, scan the codebase to generate a real-time architecture map.
How to scan:
bash# Run the architecture scanner from project root bash ./.claude/skills/architecture-navigator/scripts/scan_architecture.sh
The scanner will output:
When to scan:
Output format: Compact markdown summary (~50-100 lines) showing the current architecture state.
Answer "where should X go?" questions using the 7-folder placement rules.
Decision tree:
app/ (but keep minimal, import from modules/)modules/{feature}/shared/lib/store/types/styles/Example queries and responses:
| User Query | Response | |------------|----------| | "Where should social login go?" | modules/auth/ - Feature-specific authentication logic | | "Where should I add payment processing?" | modules/payments/ - New feature module for payment domain logic | | "Where do reusable buttons go?" | shared/components/ui/Button.tsx - Reusable UI component | | "Where's the Claude AI integration?" | lib/claude/ - External service integration | | "Where should shopping cart state go?" | store/cartStore.ts - Global state management | | "Where do API types go?" | types/ai/api.ts - Shared TypeScript definitions |
For detailed rules, reference references/architecture-rules.md which includes:
List existing modules and explain their purpose when asked.
How to discover modules:
bash# Quick module list ls -1 frontend/src/modules/ # With file counts find frontend/src/modules/ -mindepth 1 -maxdepth 1 -type d -exec sh -c 'echo -n "{}:" && find "{}" -name "*.ts*" | wc -l' \;
Common questions:
Validate that code follows the 7-folder structure rules.
What to check:
app/ are minimal (just imports)modules/, not app/shared/, not duplicatedlib/store/Validation commands:
bash# Check for business logic in app/ (should be minimal) grep -r "useState\|useEffect\|async function" frontend/src/app/ # Check for cross-module imports (forbidden) grep -r "from.*modules/" frontend/src/modules/ # Check for modules importing from shared (allowed) grep -r "from.*shared/" frontend/src/modules/
When a development conversation begins, proactively scan the architecture:
scripts/scan_architecture.sh to generate current architecture mapWhen asked "where should X go?":
references/architecture-rules.mdExample:
User: "Where should I add OAuth authentication?"
Response:
OAuth authentication should go in `modules/auth/oauth/`:
- It's feature-specific (authentication domain)
- It belongs in modules/ (not reusable across other features)
- Structure: modules/auth/oauth/GoogleAuth.tsx, OAuthProvider.tsx, etc.
The OAuth client setup (SDK wrapper) should go in `lib/oauth/client.ts` (external integration).When creating a new feature module:
modules/{feature-name}/ modules/{feature}/ ├── components/ - Feature-specific UI ├── hooks/ - Feature-specific hooks ├── utils/ - Feature-specific utilities └── types.ts - Feature-specific types (if not shared)
This skill automatically activates when these phrases are detected:
Manual invocation: Use /architecture or explicitly request "scan the architecture".
Fast bash script that scans the 7-folder structure and generates a markdown architecture map. Outputs module list, key locations, and quick stats.
Usage:
bashbash scripts/scan_architecture.sh [project-root]
Output: Compact markdown summary (~50-100 lines) suitable for loading into context.
Comprehensive placement rules for the 7-folder architecture. Reference this document when:
Key sections:
architecture-rules.md for detailed justificationUser: "I want to add a notification system that shows toast messages across the app."
Response:
Let me scan the current architecture first:
bashbash ./.claude/skills/architecture-navigator/scripts/scan_architecture.sh
Architecture map output]
For a global notification system with toast messages:
shared/components/Toast.tsx (reusable UI)store/uiStore.ts (global state for managing active toasts)shared/hooks/useToast.ts (convenient API: useToast().show())Reasoning:
Import flow:
useToast() from shared/hooks/store/uiStore.tsshared/components/Toast.tsxThis follows the architecture rules: modules/ → shared/ → store/ (allowed import direction).
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-19 | fail→pass | 18,226 | 12,648 | -31% | 1 | 1 | 0% | 2,232 | 3,488 | +56% | 0 | 0 | — |
case-01 | fail→fail | 21,586 | 12,724 | -41% | 1 | 1 | 0% | 2,803 | 2,597 | -7% | 0 | 0 | — |
case-02 | fail→fail | 1,753 | 10,843 | +519% | 1 | 1 | 0% | 254 | 2,492 | +881% | 0 | 0 | — |
case-03 | fail→fail | 5,753 | 11,217 | +95% | 1 | 1 | 0% | 883 | 2,463 | +179% | 0 | 0 | — |
case-04 | fail→fail | 14,718 | 12,304 | -16% | 1 | 1 | 0% | 1,565 | 2,481 | +59% | 0 | 0 | — |
case-20 | pass→pass | 12,861 | 10,209 | -21% | 1 | 1 | 0% | 1,596 | 3,090 | +94% | 0 | 0 | — |
case-05 | pass→pass | 10,962 | 9,479 | -14% | 1 | 1 | 0% | 1,903 | 2,802 | +47% | 0 | 0 | — |
case-06 | pass→pass | 14,132 | 10,453 | -26% | 1 | 1 | 0% | 1,592 | 2,924 | +84% | 0 | 0 | — |
case-07 | fail→pass | 18,554 | 11,977 | -35% | 1 | 1 | 0% | 2,200 | 3,312 | +51% | 0 | 0 | — |
case-08 | fail→pass | 18,337 | 7,979 | -56% | 1 | 1 | 0% | 2,403 | 3,495 | +45% | 0 | 0 | — |
case-09 | fail→fail | 17,975 | 7,918 | -56% | 1 | 1 | 0% | 3,161 | 2,416 | -24% | 0 | 0 | — |
case-10 | fail→fail | 19,425 | 8,035 | -59% | 1 | 1 | 0% | 2,247 | 3,556 | +58% | 0 | 0 | — |
case-11 | pass→pass | 10,336 | 12,119 | +17% | 1 | 1 | 0% | 1,878 | 3,366 | +79% | 0 | 0 | — |
case-12 | pass→fail | 14,962 | 7,598 | -49% | 1 | 1 | 0% | 2,330 | 2,343 | +1% | 0 | 0 | — |
case-13 | pass→fail | 13,428 | 13,993 | +4% | 1 | 1 | 0% | 2,452 | 2,495 | +2% | 0 | 0 | — |
case-14 | fail→pass | 8,481 | 3,621 | -57% | 1 | 1 | 0% | 1,420 | 2,781 | +96% | 0 | 0 | — |
case-15 | pass→pass | 9,027 | 5,882 | -35% | 1 | 1 | 0% | 1,638 | 3,128 | +91% | 0 | 0 | — |
case-16 | pass→pass | 20,131 | 11,898 | -41% | 1 | 1 | 0% | 2,395 | 3,265 | +36% | 0 | 0 | — |
case-17 | fail→pass | 14,890 | 8,956 | -40% | 1 | 1 | 0% | 1,314 | 2,756 | +110% | 0 | 0 | — |
case-18 | fail→fail | 17,791 | 15,638 | -12% | 1 | 1 | 0% | 2,476 | 2,329 | -6% | 0 | 0 | — |
case-21 | pass→pass | 7,098 | 12,878 | +81% | 1 | 1 | 0% | 1,294 | 3,499 | +170% | 0 | 0 | — |
case-22 | pass→pass | 18,113 | 20,531 | +13% | 1 | 1 | 0% | 2,473 | 4,104 | +66% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 14 counted toward the lift figure. The other 8 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +14 percentage points is the difference between those two pass rates over the 14 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.