Skip to content

Python Project Structure

Guides an agent to lay out Python projects, modules, and __all__ public APIs cleanly

Repository
wshobson/agents
Stars
42,095
Licence
MIT
Files
1 file

What it does

Once installed, the agent follows a set of Python organization guidelines when you ask it to start a project or reorganize code. It suggests directory layouts (such as src/ with tests/ beside it), keeps files focused on one concept, defines each package's public interface with __all__, prefers shallow folder structures, and uses absolute imports. It is a written style guide the agent applies to your code; it does not run anything on its own.

Great for

  • Developers starting a new Python package or application who want a sensible layout
  • Teams reorganizing a growing Python codebase with tangled modules
  • Students learning how to structure Python projects and public APIs

Skip it if

  • Non-Python projects, since the guidance is specific to Python conventions
  • Projects that already have an established structure the team wants to keep, because the advice may conflict with it and a large reorganization can be disruptive if applied without review

Try asking

  • “Set up a new Python project layout for a REST API with services, models, and tests”
  • “Review my package and suggest how to define __all__ for each module”
  • “Reorganize this flat Python codebase into clearer modules without changing behavior”
  • “Should my tests be colocated with the source or in a parallel tests directory?”
Step-by-step guide: how to use Python Project StructureInstall, first run, examples, tips and FAQs

Install in 3 steps

  1. 1

    Download the skill

    The ZIP contains the 1 original files, the MIT licence and an attribution note.

    python-project-structure.zip
  2. 2

    Add it to your agent

    Claude Code (all projects)

    mkdir -p ~/.claude/skills && unzip python-project-structure.zip -d ~/.claude/skills/

    Claude Code / Agent SDK (this project only)

    mkdir -p .claude/skills && unzip python-project-structure.zip -d .claude/skills/

    Claude apps (web/desktop): Settings → Capabilities → Skills → Upload skill, and choose the ZIP.

  3. 3

    Ask for the task

    No special command needed — the agent reads the skill's description and loads it when your request matches. Try one of the prompts above.

Get better results

  • Give the agent your existing directory tree so it can recommend changes that fit what you already have rather than a generic template.
  • Ask for the reasoning behind each suggested move, and review large file reorganizations in version control before accepting them.
  • Specify your framework or project type (library, web service, CLI) so the layered or domain-driven patterns are chosen appropriately.

What's inside

  • SKILL.md

Redistributed unmodified from wshobson/agents under the MIT licence. The assessment was drafted with AI from the skill's files on 2026-10-29. Skills can instruct your agent to run code — read SKILL.md and any scripts before installing.