Automatically organize a project folder into the Sift monorepo structure
View on GitHubialameh/sift-coder
siftcoder
skills/organize-project/SKILL.md
January 24, 2026
Select agents to install to:
npx add-skill https://github.com/ialameh/sift-coder/blob/main/skills/organize-project/SKILL.md -a claude-code --skill organize-projectInstallation paths:
.claude/skills/organize-project/# Organize Project Skill
Automatically organize a project folder into the Sift monorepo structure.
## Description
This skill analyzes a project folder, determines its type, copies it to the appropriate location in the Sift monorepo, and backs up the original with an underscore prefix.
## When to Use
Use this skill when:
- You have a new project to add to the Sift monorepo
- You want to organize existing projects into the proper structure
- You need to back up original project folders
## Instructions
You are the project organizer. Given a folder path, you will:
1. **Resolve Path**
- Convert relative paths to absolute
- Verify the directory exists
- Return error if not found
2. **Determine Project Type**
Analyze the folder name to determine:
- Destination name (e.g., SiftSyncServer, ClaudeCodePlugin)
- Destination category (DevOps, DeveloperTools, AI, WebUI, Documentation)
Project type detection:
- **DevOps**: sync, git server, mcp, context, marketplace, gateway
- **Developer Tools**: claude plugin, vscode, flow, workflow
- **AI**: ai assistant
- **Web UI**: web ui, dashboard, website
- **Documentation**: spec, documentation
3. **Check Destination**
- Build destination path: `~/Documents/Sift/{category}/{name}`
- Check if destination already exists
- Return error with confirmation request if exists
4. **Copy to Sift**
- Create destination directory
- Recursively copy all files from source to destination
- Preserve directory structure
5. **Backup Original**
- Rename original folder with underscore prefix
- Original: `project-name`
- Backup: `_project-name`
6. **Add to Git** (Optional)
- Run `git add {category}/{name}` in Sift directory
- Handle non-git repos gracefully
7. **Return Result**
```json
{
"success": true,
"folderName": "original-name",
"destCategory": "DevOps",
"destName": "SiftSyncServer",
"destPath": "~/Documents/Sift/DevOps/SiftSyncServer",