agentsclimarketplace

Project structure

Skill maskar/cc-plugins/sawkit/skills/project-structure

Claude Code plugin marketplace — reusable skills for markdown, diagrams, and project scaffolding

Install
npx -y skills add maskar/cc-plugins --skill project-structure

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

This skill should be used when the user is scaffolding a new project, reorganizing file structure, or discussing directory layout conventions. It provides language-specific best practices for Python, Node/TypeScript, Go, and general projects. Enforces the ./tmp/ intermediary workflow and .claude/CLAUDE.md convention. Triggers on: project init, directory layout, file organization, scaffolding, repo structure, creating new projects, setting up a Python/Node/Go project, or organizing code. Also available as /sawkit:project-structure.

SKILL.md

3.7 KB, as published. Nobody here has run it

Project Structure Expert

Follow these conventions when scaffolding or organizing any project.

Intermediary Workflow

All intermediary scripts, debug files, and work-in-progress files go in ./tmp/ at the project root. This directory is always gitignored.

Rules:

  • Create ./tmp/ at project root for all temporary work
  • Write analysis scripts, test data, debug output to ./tmp/
  • Only move files to their final project location after user approval
  • Never commit ./tmp/ contents
  • Add tmp/ to .gitignore in every project

Example workflow:

# Write intermediary script
mkdir -p ./tmp
cat > ./tmp/analyze.py << 'EOF'
# analysis script...
EOF
python ./tmp/analyze.py

# After approval, move to final location
mv ./tmp/analyze.py scripts/analyze.py

CLAUDE.md Location

Place CLAUDE.md at .claude/CLAUDE.md, not at project root.

mkdir -p .claude
# Write CLAUDE.md to .claude/CLAUDE.md

Use the template at ${CLAUDE_PLUGIN_ROOT}/skills/project-structure/templates/claude-md-template.md as a starter.

Universal Files

Every project should include:

FilePurpose
.gitignoreGit ignore patterns
README.mdProject overview and usage
.claude/CLAUDE.mdClaude Code project context

Project Detection

Before suggesting structure, detect the project type from existing files:

File PresentProject Type
pyproject.tomlPython
setup.pyPython (legacy)
.python-versionPython
package.jsonNode/TypeScript
tsconfig.jsonTypeScript
go.modGo
Cargo.tomlRust
justfileAny (task runner)
MakefileAny (build)

If no files exist, ask the user what they are building.

Language-Specific Layouts

For detailed layouts per language, read the reference files:

  • Python: ${CLAUDE_PLUGIN_ROOT}/skills/project-structure/references/python-layout.md
  • Node/TypeScript: ${CLAUDE_PLUGIN_ROOT}/skills/project-structure/references/node-layout.md
  • Go: ${CLAUDE_PLUGIN_ROOT}/skills/project-structure/references/go-layout.md
  • General: ${CLAUDE_PLUGIN_ROOT}/skills/project-structure/references/general-conventions.md

General Principles

  1. Flat for small projects — do not create deep nesting for projects with < 10 files
  2. Group by feature, not by typeauth/models.py + auth/routes.py over models/auth.py + routes/auth.py
  3. Config at rootpyproject.toml, package.json, go.mod stay at project root
  4. Docs in docs/ — separate documentation from source code
  5. Scripts in scripts/ — operational scripts separate from source
  6. Tests mirror sourcesrc/auth/login.pytests/auth/test_login.py

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.