The high-performance CLI suite for Claude.ai Skills automation.
Project description
ClaudForge ⚒️
The high-performance CLI suite for Claude.ai Skills.
Package. Validate. Deploy. Any scale. From your terminal.
Quick Start · Features · CLI Reference · Roadmap · Website
The Problem
Every Claude.ai power user knows this pain:
- Zip the skill folder manually
- Open browser
- Navigate to settings -> skills
- Bypass Cloudflare
- Upload
- Repeat for every. single. skill.
ClaudForge fixes this. One command. Any scale. Whether you have 10 skills or 100+, it handles the logic, the auth, and the persistence so you don't have to.
✨ Features
| Feature | What it does |
|---|---|
| 🕵️ Stealth Automation | Human-mimicry delays, randomized viewports, and physical click simulation. |
| 🛡️ Self-Healing | "Flicker-Proof" logic with auto-retries and smart success polling. |
| 🕒 Rollback System | NEW: Automatically backup skills on every upload; revert versions with one command. |
| 📦 Predictive Batching | --limit fulfillment that refills the queue from pending items automatically. |
| 📋 Cloud Inventory | Scans your Claude.ai account instantly to prevent redundant uploads. |
| 🛠️ Auto-Sanitize | Scans for reserved words (like anthropic) and fixes them automatically. |
| 📊 Progress Dashboard | status, list, and dashboard commands for real-time visibility. |
| 🖥️ Live Monitor | A dedicated Streamlit Web UI to track long-running batches with ETR gauges. |
🚀 Quick Start
Requirements: Python 3.8 - 3.14, Chrome browser
# 1. Setup
pip install claudforge
playwright install chromium
# 2. Launch the Live Monitor (optional)
claudforge dashboard ./my_skills
# 3. Deploy (Smart detection: folder or batch)
claudforge upload ./my_skills --limit 30 --profile "claude_user"
📖 CLI Reference
[!TIP] View the Interactive Guide: For a detailed view of all flags and examples, visit the Official CLI Reference ↗.
Usage: claudforge [command] [PATH] [options]
Commands:
upload [PATH] Deploy a skill or batch (auto-detects mode)
rollback [PATH] Revert a skill to a previous version from the archive
dashboard [PATH] Launch the real-time web monitor (Streamlit)
status [PATH] Fast summary of batch progress (Local History vs Total)
list [PATH] List every skill name recorded in the local history
validate [PATH] Check SKILL.md structure and reserved word compliance
init Scaffold a new Claude skill folder
doctor Check environment health (Chrome, Playwright, Python)
Options:
--limit N Strictly attempt N brand-new uploads
--force, -f Ignore local history; re-verify everything on Cloud
--profile NAME Use a persistent Chrome profile (keeps you logged in)
--headless Run in headless mode
🎯 Use Cases
The "Mass Collection" Publisher
You have 800+ skills (like the Composio collection). You run
claudforge uploadin chunks of 50. The tool remembers what you've done, handles Cloudflare blocks, and skips duplicates automatically.
Team Skill Library
Your team shares a private
/skillsdirectory. You add ClaudForge to your CI pipeline and every merged PR auto-deploys the updated skill library.
Solo Power User
You maintain 15 custom skills. Instead of zipping and clicking for 20 minutes, you run
claudforge upload ./my-skillsand it finishes in seconds.
🏗 Architecture
claudforge/
├── uploader/
│ ├── single.py # Flicker-proof upload logic & success polling
│ └── batch.py # Predictive queueing & pre-batch sanitization
├── browser/
│ └── launcher.py # Stealth Chrome launcher & Inventory scraping
├── utils/
│ ├── history.py # Persistent .claudforge_history management
│ ├── archive.py # Rollback snapshots & versioning logic
│ ├── yaml_parser.py # SKILL.md parsing & Auto-Sanitization
│ └── zipper.py # High-speed skill packaging
└── cli.py # Typer CLI (Dashboards & Commands)
🗺 Roadmap
| Status | Feature |
|---|---|
| ✅ Done | Single & Batch Smart Upload |
| ✅ Done | Self-Healing (Flicker-Resistance) |
| ✅ Done | Cloud Inventory Scraping |
| ✅ Done | Predictive --limit Logic |
| ✅ Done | claudforge status & list Dashboards |
| ✅ Done | Auto-Sanitization (Anthropic -> Assistant) |
| ✅ Done | Professional PyPI Packaging |
| ✅ Done | Real-time Web Monitor (Streamlit) |
| ✅ Done | claudforge rollback System |
| ✅ Done | v2.0.2: Industrial-grade CI stability & Python 3.14 support |
⚠️ Disclaimer
ClaudForge uses browser automation to interact with Claude.ai's UI. This is not an officially supported API. Use at your own discretion.
📄 License
MIT — Copyright (c) 2026 Vinu Balagopal AP
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claudforge-2.0.2.tar.gz.
File metadata
- Download URL: claudforge-2.0.2.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21ed9bb2014079e257d8f8cd2a42f9fe277330db2673dad629f2121bd6f38654
|
|
| MD5 |
889f25f645eb3a39b26676e692768a2a
|
|
| BLAKE2b-256 |
80386f315dafbec7d9d201f3ef1646d602e805de68a2bb53eff2249552c70ffe
|
Provenance
The following attestation bundles were made for claudforge-2.0.2.tar.gz:
Publisher:
publish.yml on VinuBalagopalAP/claudforge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claudforge-2.0.2.tar.gz -
Subject digest:
21ed9bb2014079e257d8f8cd2a42f9fe277330db2673dad629f2121bd6f38654 - Sigstore transparency entry: 1280660994
- Sigstore integration time:
-
Permalink:
VinuBalagopalAP/claudforge@ba24296007360b7506a089a731ba0a1f83fcfa9b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/VinuBalagopalAP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ba24296007360b7506a089a731ba0a1f83fcfa9b -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file claudforge-2.0.2-py3-none-any.whl.
File metadata
- Download URL: claudforge-2.0.2-py3-none-any.whl
- Upload date:
- Size: 23.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16e60dbf9db489b7da826e836ec7e1891c4c295051d0341164f3c8d5bda0aec7
|
|
| MD5 |
e43a07d77e89f40e18e92bb08584932a
|
|
| BLAKE2b-256 |
7a84af9c931a22702cd6326c503d8ade04302f0d667ddbbe59da416e2a5ae095
|
Provenance
The following attestation bundles were made for claudforge-2.0.2-py3-none-any.whl:
Publisher:
publish.yml on VinuBalagopalAP/claudforge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claudforge-2.0.2-py3-none-any.whl -
Subject digest:
16e60dbf9db489b7da826e836ec7e1891c4c295051d0341164f3c8d5bda0aec7 - Sigstore transparency entry: 1280660996
- Sigstore integration time:
-
Permalink:
VinuBalagopalAP/claudforge@ba24296007360b7506a089a731ba0a1f83fcfa9b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/VinuBalagopalAP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ba24296007360b7506a089a731ba0a1f83fcfa9b -
Trigger Event:
workflow_dispatch
-
Statement type: