skills/project-setup/SKILL.md
Set up a new project with standard structure, git, README, CLAUDE.md, and dev server config. Use when starting a new project or bootstrapping a workspace for a new initiative.
npx skillsauth add shaunandrews/agent-skills project-setupInstall 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.
Use this skill when creating a new project. It establishes a consistent structure across all projects.
All projects live in: ~/Developer/Projects/{project-name}/
Use kebab-case for project names (e.g., site-editor-navigation, wp-cowork-plugin).
{project-name}/
├── .git/ # Initialized git repo
├── .gitignore # Standard ignores (see below)
├── README.md # Project overview, quick start
├── CLAUDE.md # Guidance for Claude Code / AI agents
├── docs/ # Documentation
│ ├── overview.md # Project overview (always create this)
│ └── (other docs)
└── logs/ # Session logs, dev notes (git-ignored)
└── (daily logs)
# {Project Name}
{One-line description}
## Overview
{Brief explanation of what this project does and why it exists}
## Quick Start
```bash
cd ~/Developer/Projects/{project-name}
# Add setup commands here
| Doc | Description | |-----|-------------| | docs/ | Project documentation |
{project-name}/
├── docs/ # Documentation
├── logs/ # Development logs (git-ignored)
└── README.md # This file
### CLAUDE.md
```markdown
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
{One-line description of what this project is and its goal}
## Development
```bash
# Add common commands here
{Brief description of tech stack, key patterns, important files}
The /docs/ folder contains:
### docs/overview.md
Always create this file. It's the canonical project overview document — the first thing someone reads to understand the project.
```markdown
# {Project Name} — Overview
## What Is This?
{2-3 paragraphs explaining what the project does, why it exists, and how it works}
## Architecture
{How the project is structured — tech stack, key patterns, data flow}
## Links
- **Repo:** {URL}
- **P2/Discussion:** {URL if applicable}
- **Related:** {Other relevant links}
## Key People
- **{Name}** — {Role/context}
## What's Next
{Current focus, open questions, next steps}
Required sections: What Is This, Links. Other sections should be included when the information is available. Always capture links — they go stale fast and are hard to recover later.
# Logs - development session logs, not for version control
logs/
# Dependencies
node_modules/
vendor/
.venv/
__pycache__/
# Build outputs
dist/
build/
*.egg-info/
# Environment
.env
.env.local
.env*.local
# IDE / Editor
.idea/
.vscode/
*.swp
*.swo
*~
# OS
.DS_Store
Thumbs.db
# Package manager locks (uncomment if not needed)
# package-lock.json
# pnpm-lock.yaml
# composer.lock
Create project directory
mkdir -p ~/Developer/Projects/{project-name}
cd ~/Developer/Projects/{project-name}
Create folder structure
mkdir -p docs logs
Create .gitignore (use template above)
Create README.md (use template above, fill in project details)
Create CLAUDE.md (use template above, fill in project details)
Create docs/overview.md (use template above — always include What Is This and Links sections at minimum)
Initialize git
git init
git add -A
git commit -m "Initial project setup"
Report to user
Depending on project type, may also create:
Ask the user if they want any of these, or infer from context.
For projects with a dev server (Vite, webpack, Next.js, etc.):
Use portkeeper to avoid conflicts:
portman reserve {PORT} --name "{project-name}" --desc "{description}" --tags {tags}
Always expose dev servers on the local network so they're accessible from phones/tablets.
Vite (vite.config.js):
export default defineConfig({
server: {
port: {PORT},
host: true, // Expose on local network
},
})
Next.js (package.json):
"scripts": {
"dev": "next dev -p {PORT} -H 0.0.0.0"
}
Webpack (webpack.config.js):
devServer: {
port: {PORT},
host: '0.0.0.0',
}
Generic Node/Express:
app.listen(PORT, '0.0.0.0', () => { ... })
In README.md, include:
## Development
Dev server: http://localhost:{PORT}
Network: http://{machine-ip}:{PORT} (for mobile testing)
The network IP can be found with ipconfig getifaddr en0 (macOS).
The logs/ folder is for development session notes:
MM-DD-YYYY-HHMM.md (e.g., 02-06-2026-1015.md)# {MM-DD-YYYY} {HH:MM}
## Session Focus
{What was worked on this session — one line}
## Notes
- {Key decisions, observations, or context}
- {Things tried, what worked, what didn't}
## Changes
- {Files created/modified}
- {Features added or bugs fixed}
## Next
- {What to pick up next time}
- {Open questions or blockers}
Once project is created:
~/Developer/Projects/moneypenny/projects.json) if it's a tracked projectdevelopment
Build accurate WordPress/Gutenberg UI mockups using pre-extracted design tokens, icons, and components. Use when prototyping WordPress admin interfaces or Site Editor concepts.
data-ai
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
tools
Manage Pressable WordPress hosting via API. Use when creating/cloning sites, managing backups, purging cache, updating PHP versions, managing plugins, checking site status, or any Pressable hosting operations.
development
Browse the web invisibly using a headless Chromium in Docker. Take screenshots, extract content, and generate PDFs without interrupting the user's screen.