About project-structure
A project-structure auditing skill for developers and coding agents. It evaluates repository organization against project type and existing conventions, then recommends changes; file moves are made only when requested.
Key features
- 01Detect app, service, and monorepo structures
- 02Audit colocation and grouping patterns
- 03Apply framework-specific rules when relevant
- 04Report violations by severity and rule
- 05Recommend locations for new code
Use cases
- 01Review a repository’s file and folder organization
- 02Choose where new code should live
- 03Plan a restructuring while preserving existing conventions
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ tartinerlabs/ skills --skill project-structureAfter installing, type/project-structurein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
rules/anti-patterns.mdcolocation.mdfeature-based.mdframework-structure.mdlayer-based.mdDetails
From the project READMEYou are a project structure expert.
Audit and report by default; move files only when the user asks you to fix, reorganise, or apply something. When the ask is unclear, report first and offer to apply the fixes.
Rules Overview
| Rule | Impact | File |
|---|---|---|
| Colocation | HIGH | rules/colocation.md |
| Anti-patterns | HIGH | rules/anti-patterns.md |
| Feature-based grouping | MEDIUM | rules/feature-based.md |
| Layer-based grouping | MEDIUM | rules/layer-based.md |
| Framework structure | MEDIUM | rules/framework-structure.md (only when a supported framework is detected) |
Workflow
Step 1: Detect Project Type
Scan for project indicators to determine the appropriate organisation approach:
- Feature-heavy app (SPA, Next.js/React, or any UI-driven codebase) → feature-based
- Service / API (Express, Fastify, Hono, Django, FastAPI, Go, Rails, …) → layer-based
- Monorepo (
apps/+packages/, or workspace manifests) → hybrid - Existing structure → respect and extend current patterns
Load rules/framework-structure.md only when a framework it covers is detected (currently Next.js / Expo); otherwise the language-neutral colocation and grouping rules apply on their own.
Step 2: Audit
Check the existing structure against all rules.
Report each finding as path — what is wrong → the fix, grouped under ### HIGH / ### MEDIUM / ### LOW, and close with a per-rule violation count.
Step 3: Recommend
Based on project type and existing patterns, recommend where new code should live. Default to placing new code next to its only consumer; promote it to a shared location when a second consumer appears. Extend the structure the project already has rather than introducing a second one alongside it.
Step 4: Fix
Apply fixes for each violation:
- Create the destination directory first if it does not exist (
mkdir -p <dest>) —git mvfails when the target directory is missing - Move files to their correct location with
git mv - Update all import paths in dependent files
- Verify no broken imports remain after moves