Assetflow
by @ncreighton
Organize and store digital assets across cloud providers with automated workflows. Use when the user needs DAM integration, file organization, or asset metad...
Try these example prompts immediately:
Example 1: Organize Marketing Assets
Organize all marketing materials from our Q4 campaign.
Automatically sort by asset type (images, videos, PDFs),
create project folders for each channel (social, email, web),
and tag with campaign name, brand guidelines compliance, and
expiration dates. Store in AWS S3 /marketing/Q4_2024 bucket.
Example 2: Set Up Photo Archive Workflow
Create an automated workflow for our photography team.
Ingest RAW files from Dropbox upload folder, auto-tag by
photographer and location metadata, generate thumbnails,
create proof sets, and move finalized images to archive
in Google Drive. Flag images that need licensing info.
Example 3: DAM System Sync
Sync all approved design files from our Figma workspace
to our Adobe Experience Manager DAM. Create asset collections
by brand, design system version, and usage rights. Auto-generate
previews and maintain version history. Alert team when assets
are updated or deprecated.
Example 4: Compliance & Retention
Implement automatic compliance workflow: tag all assets with
creation date, creator, usage rights, and expiration. Archive
assets older than 2 years to cold storage. Generate compliance
reports monthly. Flag any files missing required metadata.
Environment Variables (Required)
# Primary DAM or storage provider authentication
ASSETFLOW_DAM_API_KEY="your-dam-api-key"
ASSETFLOW_STORAGE_PROVIDER="s3" # Options: s3, gcs, azure, dropbox, box
ASSETFLOW_WORKSPACE_ID="workspace-12345"AWS S3 (if using S3)
AWS_ACCESS_KEY_ID="your-aws-key"
AWS_SECRET_ACCESS_KEY="your-aws-secret"
AWS_REGION="us-east-1"Google Cloud (if using Google Drive)
GOOGLE_APPLICATION_CREDENTIALS="/path/to/credentials.json"Secondary integrations (optional)
ADOBE_XDM_API_KEY="adobe-api-key"
SLACK_WEBHOOK_URL="https://hooks.slack.com/services/..."
Setup Instructions
Step 1: Choose Your Primary Provider
Supported configurations:
AWS S3 + Adobe Experience Manager
Google Drive + Canto DAM
Dropbox + Widen Collective
Azure Blob Storage + custom metadata
Step 2: Define Asset Organization Schema
# Example taxonomy for marketing team
organization_rules:
by_type:
- images/
- hero/
- social/
- email/
- video/
- shorts/
- long-form/
- documents/
- brand-guidelines/
- campaign-briefs/
by_project:
- [BRAND]_[QUARTER]_[CAMPAIGN_NAME]/
- metadata_tags: [brand, quarter, campaign]
retention_policy:
approved_assets: "indefinite"
drafts: "30 days"
archival: "7 years cold storage"
Step 3: Configure Metadata Templates
# Required fields for all assets
metadata_template:
core:
- created_date (auto)
- creator (auto)
- asset_type (auto-detected)
- usage_rights (required)
- expiration_date (if applicable)
custom:
- brand
- campaign
- approved_by
- version
- file_format_quality
Step 4: Enable Integrations
Slack notifications: Enable to post asset updates to team channels
Email digests: Weekly summary of new, modified, and archived assets
Webhook endpoints: For triggering external workflows
API access: For custom integrations with your tools
Common Issues & Solutions
Issue: "Authentication Failed" Error
Error: ASSETFLOW_DAM_API_KEY is invalid or expiredSolution:
1. Verify API key in your provider dashboard (AWS/Google/Adobe)
2. Check key expiration date
3. Regenerate key if needed
4. Update environment variable: export ASSETFLOW_DAM_API_KEY="new-key"
5. Test connection: assetflow test-connection
Issue: Files Not Organizing Correctly
Problem: Assets ending up in wrong foldersTroubleshooting:
1. Review your organization_rules YAML for typos or logic errors
2. Check file extensions match your rules (case-sensitive on Linux)
3. Verify metadata extraction is working:
β assetflow debug --inspect-metadata [filename]
4. If using AI-based sorting, check confidence scores:
β assetflow list-low-confidence --threshold 0.7
5. Manually correct folder assignments and retrain model
Prevention: Start with simple rules (by type, then by date)
and gradually add complexity.
Issue: Slow Organization Performance
Symptom: Processing 10,000+ assets takes hoursOptimization Steps:
1. Reduce concurrent operations:
β assetflow organize --batch-size 25 --concurrency 10
2. Disable AI tagging for initial run (enable after):
β assetflow organize --skip-ai-tags
3. Split into smaller batches by date or folder
4. Check for network latency to cloud storage:
β ping your-bucket-region.amazonaws.com
5. Consider running during off-peak hours (2-6 AM)
Expected Performance:
Local SSD storage: ~1,000 files/minute
Cloud storage (S3/GCS): ~200-400 files/minute
With AI tagging: ~50-100 files/minute
Issue: Duplicate Assets Not Being Detected
``` Problem: Similar or identical files scattered across folders
Debug: 1. Check duplicate detection is enabled: β assetflow config --show | grep duplicate 2. Review hash algorithm (MD5 for exact, perceptual for similar): β assetflow organize --duplicate-method perceptual 3. Adjust similarity threshold (0-100, default 85): β assetflow organize --similarity-
clawhub install assetflow