Install
$ agentstack add skill-cxcscmu-skilllearnbench-file-organization ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ● Filesystem access Used
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
File Organization and Management
Overview
Move/copy classified files into their respective subject folders with proper error handling.
Directory Structure Setup
import os
import shutil
from pathlib import Path
def create_target_folders(base_dir, folders):
"""Create target folders if they don't exist"""
for folder in folders:
folder_path = os.path.join(base_dir, folder)
os.makedirs(folder_path, exist_ok=True)
print(f"Created/verified folder: {folder_path}")
# Usage
target_folders = [
'LLM',
'trapped_ion_and_qc',
'black_hole',
'DNA',
'music_history'
]
create_target_folders('/path/to/base', target_folders)
File Moving Strategy
def move_file_to_folder(source_file, destination_folder):
"""Move file to destination folder, handling conflicts"""
try:
if not os.path.exists(destination_folder):
os.makedirs(destination_folder)
filename = os.path.basename(source_file)
dest_path = os.path.join(destination_folder, filename)
# Handle filename conflicts
if os.path.exists(dest_path):
base, ext = os.path.splitext(filename)
counter = 1
while os.path.exists(dest_path):
dest_path = os.path.join(
destination_folder,
f"{base}_{counter}{ext}"
)
counter += 1
shutil.move(source_file, dest_path)
return True, dest_path
except Exception as e:
return False, str(e)
def organize_files(source_dir, classification_results, base_output_dir):
"""
Organize files based on classification results
Args:
source_dir: Directory containing source files
classification_results: Dict mapping file_path -> category
base_output_dir: Base directory for output folders
Returns:
Dict with statistics about the operation
"""
stats = {
'total_files': len(classification_results),
'moved': 0,
'failed': 0,
'errors': []
}
for file_path, category in classification_results.items():
dest_folder = os.path.join(base_output_dir, category)
success, result = move_file_to_folder(file_path, dest_folder)
if success:
stats['moved'] += 1
print(f"✓ {os.path.basename(file_path)} → {category}")
else:
stats['failed'] += 1
stats['errors'].append((file_path, result))
print(f"✗ {os.path.basename(file_path)}: {result}")
return stats
Logging and Progress Tracking
def log_organization_results(stats, log_file=None):
"""Log organization results to file or stdout"""
summary = f"""
File Organization Summary
========================
Total files: {stats['total_files']}
Successfully moved: {stats['moved']}
Failed: {stats['failed']}
Failed files:
"""
if stats['errors']:
for file_path, error in stats['errors']:
summary += f" - {file_path}: {error}\n"
print(summary)
if log_file:
with open(log_file, 'w') as f:
f.write(summary)
Best Practices
- Create output folders before moving files
- Handle filename conflicts (duplicates)
- Preserve original filenames
- Log all operations for verification
- Verify files don't already exist before moving
- Use proper error handling for permission issues
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: cxcscmu
- Source: cxcscmu/SkillLearnBench
- License: MIT
- Homepage: https://cxcscmu.github.io/SkillLearnBench
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.