Safe Project Organizer logo

Safe Project Organizer

Community
ananddtyagi
safe-project-organizer

Safely analyze and reorganize project structure with multi-stage validation, dry-run previews, and explicit user confirmation. Use when projects need cleanup, standardization, or better organization.

Overview

Publisherananddtyagi
Repositorycc-marketplace
Skill namesafe-project-organizer
Stars
689
Forks
85
Bundled files
2
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 2 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by ananddtyagi on GitHub. Read the source before you install it.

Installation

Install the Safe Project Organizer AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/ananddtyagi/cc-marketplace.git /tmp/cc-marketplace
mkdir -p .claude/skills
cp -r /tmp/cc-marketplace/plugins/claude-dev-infrastructure/skills/safe-project-organizer .claude/skills/safe-project-organizer
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Safe Project Organizer in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Safe Project Organizer on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Safe Project Organizer is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Safe Project Organizer

Overview

This skill enables Claude Code to analyze project structure and suggest safe organizational improvements like moving files, removing unused directories, and restructuring folders. It prioritizes safety through multi-stage validation, dry-run previews, and explicit user confirmation.

Core Safety Principles

1. Read-Only Analysis Phase

  • All analysis operations are read-only
  • No modifications occur during scanning
  • Complete project snapshot before any changes

2. Dry-Run Validation

  • All operations preview changes before execution
  • Show exact file paths being affected
  • Calculate impact metrics (files moved, deleted, created)

3. Explicit User Confirmation

  • Require confirmation for each operation category
  • Display detailed change summary
  • Allow selective approval of suggestions

4. Atomic Operations with Rollback

  • Each operation is reversible
  • Create backup references before modifications
  • Maintain operation log for audit trail

5. Protected File Patterns

Never modify files matching these patterns:

  • .git/, .svn/, .hg/ (version control)
  • node_modules/, vendor/, venv/, .venv/ (dependencies)
  • .env*, secrets.*, credentials.* (sensitive data)
  • package-lock.json, yarn.lock, pnpm-lock.yaml (lock files)
  • dist/, build/, .next/, .nuxt/ (build artifacts)

When to Use This Skill

Use this skill when you encounter any of these scenarios:

Project Cleanup:

  • "My project root is messy with too many files"
  • "I have empty directories that should be cleaned up"
  • "Documentation files are scattered everywhere"

Standardization:

  • "This project doesn't follow standard directory structure"
  • "Source files are mixed with config files in root"
  • "I need to organize files by type for better maintainability"

Migration Preparation:

  • "I'm about to hand off this project and need to clean it up"
  • "This codebase needs better organization before adding new features"
  • "I want to standardize the project structure"

Safety Concerns:

  • "I'm nervous about accidentally breaking something"
  • "I need to see exactly what will change before making changes"
  • "I want a safe way to reorganize without losing data"

Safe Usage Workflow

Step 1: Initial Scan (Read-Only)

Execute the project organizer script with --scan flag:

bash
python3 scripts/project_organizer.py /path/to/project --scan

What it does:

  • Scans entire project structure
  • Identifies file types, counts, sizes
  • Detects empty directories
  • Lists protected files
  • No modifications made

Example Output:

🔍 Scanning project: /path/to/project
📋 This is a READ-ONLY scan. No changes will be made.

✅ Scan complete!
   📁 Directories: 24
   📄 Files: 156
   🔒 Protected items: 42
   📂 Empty directories: 3

Step 2: Generate Suggestions (Still Read-Only)

Use --analyze flag to generate organizational suggestions:

bash
python3 scripts/project_organizer.py /path/to/project --analyze

What it does:

  • Performs full analysis
  • Generates organizational suggestions
  • Displays suggestion count
  • Still no modifications

Step 3: Preview Changes (Detailed Review)

Use --preview flag to see exactly what will change:

bash
python3 scripts/project_organizer.py /path/to/project --preview

What it does:

  • Shows detailed preview of ALL suggestions
  • Groups by action type (move, delete, create)
  • Displays risk levels (🟢 low, 🟡 medium, 🔴 high)
  • Shows safety checks for each operation
  • Lists exact file paths affected
  • Zero modifications

Example Preview Output:

📋 PREVIEW MODE - No changes will be made
============================================================

📊 Total Suggestions: 8

🎯 By Action:
   MOVE: 5
   DELETE: 2
   CREATE_DIR: 1

⚠️  By Risk Level:
   🟢 LOW: 6
   🟡 MEDIUM: 2

📝 Detailed Suggestions:

MOVE Operations (5):
1. 🟢 Documentation/config files organized in docs/ directory
   FROM: CONTRIBUTING.md
   TO:   docs/CONTRIBUTING.md
   Safety Checks:
      ✓ File is not a primary config
      ✓ No imports reference this file path
      ✓ Not in protected patterns

DELETE Operations (2):
1. 🟢 Empty directory with no files or subdirectories
   PATH: old_backup/temp
   Safety Checks:
      ✓ Directory is empty
      ✓ Not a protected path
      ✓ No version control markers

Step 4: Dry Run (Simulation Only)

Use --execute flag for dry-run simulation:

bash
python3 scripts/project_organizer.py /path/to/project --execute

What it does:

  • Simulates ALL operations
  • Shows what WOULD happen
  • Validates all safety checks
  • Reports success/failure/skipped
  • No actual changes made

Step 5: Real Execution (Requires Confirmation)

Use --execute-real flag only after thorough review:

bash
python3 scripts/project_organizer.py /path/to/project --execute-real

What it does:

  • Prompts for explicit confirmation
  • Executes approved changes
  • Creates audit log (.project_organizer.log)
  • Shows real-time progress
  • Actually modifies project

Confirmation Prompt:

⚠️  WARNING: This will make REAL changes. Type 'yes' to confirm: yes

Operation Types and Safety

Move Operations

Low Risk (🟢):

  • Moving documentation files to docs/
  • Moving config files to config/
  • Moving scripts to scripts/

Medium Risk (🟡):

  • Grouping source files by type
  • Creating organizational directories

Safety Checks Performed:

  • Source file exists and is accessible
  • Source is not in protected patterns
  • Destination doesn't already exist
  • Parent directories can be created safely

Delete Operations

Low Risk (🟢):

  • Removing truly empty directories
  • Deleting temporary files

Safety Checks Performed:

  • Target exists
  • Directory is completely empty
  • Not a protected path
  • No version control markers

Create Directory Operations

Low Risk (🟢):

  • Creating standard directories (src/, docs/, tests/)
  • Creating organizational structure

Safety Checks Performed:

  • Target doesn't already exist
  • No naming conflicts
  • Standard directory pattern
  • Parent directories can be created

Protected File Patterns

The skill automatically protects these paths from modification:

Version Control

  • .git/, .git/**
  • .svn/, .svn/**
  • .hg/, .hg/**

Dependencies

  • node_modules/, node_modules/**
  • vendor/, vendor/**
  • venv/, venv/**
  • .venv/, .venv/**

Build Artifacts

  • dist/, dist/**
  • build/, build/**
  • .next/, .next/**
  • .nuxt/, .nuxt/**
  • out/, out/**

Sensitive Data

  • .env*
  • secrets.*
  • credentials.*

Lock Files

  • package-lock.json
  • yarn.lock
  • pnpm-lock.yaml
  • Gemfile.lock
  • Pipfile.lock
  • poetry.lock

Cache Files

  • __pycache__/, __pycache__/**

Best Practices

Before Running the Skill

  1. Commit Changes: Ensure all current work is committed to version control
  2. Backup Important Files: Have a recent backup or git stash available
  3. Review Project: Understand what files and directories are important
  4. Test Access: Verify you have necessary permissions

During Execution

  1. Always Start with Scan: Begin with --scan to understand the project
  2. Review Suggestions Carefully: Look through all generated suggestions
  3. Use Preview Mode: Always use --preview before any execution
  4. Test with Dry Run: Use --execute to simulate changes safely

After Execution

  1. Verify Project Works: Test that your project still builds/runs correctly
  2. Review Operation Log: Check .project_organizer.log for what was changed
  3. Commit Separately: Commit organizational changes separately from functional changes
  4. Update Documentation: Update any documentation that references old file paths

Safety Checklist

Before using --execute-real, verify:

  • Project is committed to version control
  • All suggestions reviewed in preview mode
  • Dry run completed successfully
  • No critical files are being moved
  • Build/test processes still work
  • Team members notified if shared project

Error Handling and Troubleshooting

Common Issues

Permission Denied:

  • Ensure you have write permissions
  • Check file ownership
  • May need appropriate privileges

Path Protected:

  • Review protected patterns
  • Confirm the path should be modified
  • Adjust patterns if needed

Changes Not Appearing:

  • Verify you used --execute-real (not just --execute)
  • Check the operation log
  • Confirm "yes" was entered at confirmation prompt

Recovery Options

Git Recovery:

bash
git status                    # See what changed
git checkout -- .            # Restore all changes
git reset --hard HEAD        # Full reset to last commit

Operation Log Review:

bash
cat .project_organizer.log    # Review detailed operation log

Customization

Adding Custom Protected Patterns

Edit the PROTECTED_PATTERNS list in the script:

python
PROTECTED_PATTERNS = [
    # Existing patterns...
    'my_important_dir/**',    # Custom protection
    '*.critical',             # Protect critical files
]

Custom Organization Rules

Edit MOVABLE_ROOT_FILES dictionary:

python
MOVABLE_ROOT_FILES = {
    'assets': ['*.png', '*.jpg', '*.svg'],  # Move images to assets/
    'data': ['*.csv', '*.json', '*.xml'],   # Move data files
}

Custom Safety Validators

Extend the SafeProjectOrganizer class:

python
def _custom_safety_check(self, path: Path) -> bool:
    """Your custom safety logic"""
    # Return True if safe, False if should be protected
    return True

Integration with Claude Code

As a Skill Tool

This skill integrates naturally with Claude Code's workflow:

  1. User Request: "Organize my project structure"
  2. Skill Activation: Safe Project Organizer loads
  3. Sequential Execution: Follows the 5-step workflow automatically
  4. User Confirmation: Confirms each step before proceeding
  5. Safety Validation: All operations include safety checks

Example User Interactions

Simple Cleanup:

User: "My project root is messy, can you help organize it?"
Claude: [Uses skill to scan and suggest safe improvements]

Targeted Organization:

User: "I have too many documentation files scattered around"
Claude: [Uses skill to identify and suggest grouping docs/ folder]

Pre-Migration Cleanup:

User: "I need to clean up before handing this project to another team"
Claude: [Uses skill for comprehensive safe reorganization]

Resources

scripts/

  • project_organizer.py - The main safe project organizer script with comprehensive safety features

The script includes:

  • Multi-phase analysis and execution
  • Protected pattern detection
  • Risk level classification
  • Comprehensive safety checks
  • Audit trail generation
  • Rollback information preservation

This script can be executed independently of Claude Code for manual project organization tasks.


Safety Guarantee: This skill never modifies files without explicit confirmation, always previews changes, and includes comprehensive safety checks to protect important project data.


MANDATORY USER VERIFICATION REQUIREMENT

Policy: No Fix Claims Without User Confirmation

CRITICAL: Before claiming ANY issue, bug, or problem is "fixed", "resolved", "working", or "complete", the following verification protocol is MANDATORY:

Step 1: Technical Verification
  • Run all relevant tests (build, type-check, unit tests)
  • Verify no console errors
  • Take screenshots/evidence of the fix
Step 2: User Verification Request

REQUIRED: Use the AskUserQuestion tool to explicitly ask the user to verify the fix:

"I've implemented [description of fix]. Before I mark this as complete, please verify:
1. [Specific thing to check #1]
2. [Specific thing to check #2]
3. Does this fix the issue you were experiencing?

Please confirm the fix works as expected, or let me know what's still not working."
Step 3: Wait for User Confirmation
  • DO NOT proceed with claims of success until user responds
  • DO NOT mark tasks as "completed" without user confirmation
  • DO NOT use phrases like "fixed", "resolved", "working" without user verification
Step 4: Handle User Feedback
  • If user confirms: Document the fix and mark as complete
  • If user reports issues: Continue debugging, repeat verification cycle

Prohibited Actions (Without User Verification)

  • Claiming a bug is "fixed"
  • Stating functionality is "working"
  • Marking issues as "resolved"
  • Declaring features as "complete"
  • Any success claims about fixes

Required Evidence Before User Verification Request

  1. Technical tests passing
  2. Visual confirmation via Playwright/screenshots
  3. Specific test scenarios executed
  4. Clear description of what was changed

Remember: The user is the final authority on whether something is fixed. No exceptions.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Safe Project Organizer AI skill do?

Safely analyze and reorganize project structure with multi-stage validation, dry-run previews, and explicit user confirmation. Use when projects need cleanup, standardization, or better organization.

Why use Safe Project Organizer on TypingMind?

Because you install it once and use it with any model. Safe Project Organizer is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Safe Project Organizer in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/ananddtyagi/cc-marketplace/tree/main/plugins/claude-dev-infrastructure/skills/safe-project-organizer. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Safe Project Organizer?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Safe Project Organizer?

As many as you like. As long as a model supports skills, you can use Safe Project Organizer with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Safe Project Organizer AI skill free?

It is published on GitHub by ananddtyagi. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇