Move all three skills into skills/; add root README; fix paths

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
VasanthandClaude Sonnet 5.5 committed 2026-10-16 17:04:38 +05:30
1 parent 312742cfef
commit d95e5d452d
84 files changed
+97 -31

No files matched your search

+35
View File
@@ -0,0 +1,35 @@
# rpa-run-tab
A Claude skill that adds a **Tebra-style Run tab** to any desktop RPA bot (PyQt6) in about 5 minutes.
## What you get
- **Trigger button** with three states: Upload a file / Trigger automation / Running...
- **Excel input card:** drop zone, sheet tabs, a 200-row preview with passwords masked, and a Sample input download
- **Progress bar** with an elapsed timer, a step list and a friendly live log
- **Checkpoint boxes** with time limits. A stuck checkpoint is killed and shown in red.
- **Endings:** green Completed, amber "N of M failed", red Failed or Stuck
- **Dark mode** and a close-while-running guard. The bot runs in its own process.
## Install
Copy this folder to `~/.claude/skills/rpa-run-tab/`.
## Use
In your bot project, ask Claude: *"add the run tab"*. The skill:
1. Scans your bot. It never runs it.
2. Asks three things: **colour** (Tebra Sky, TVL Teal, or your hex), **checkpoints** (names and time limits), and **Excel input or none**.
3. Builds `run_tab/` and adds a few `rt.checkpoint()` / `rt.ui()` lines to your bot.
4. Checks the result with a fake bot (`python run_tab/run_tab.py --selfcheck`).
Start it with `python run_tab/run_tab.py`.
## Files
| File | What it is |
|---|---|
| `SKILL.md` | Steps Claude follows |
| `templates/run_tab.html` | The page (layout fixed, colours themable) |
| `templates/run_tab.py` | PyQt6 window and bridge, plus the CONFIG block and `--selfcheck` |
| `templates/runner.py` | Starts the bot, reads its log, handles stuck checkpoints and the ending |
| `templates/rt.py` | Helpers the bot calls |
| `templates/fake_bot.py` | Fake bot used by the self-check |
| `templates/palette.py` | Colour presets or a custom hex, with a contrast check |
| `docs/adr/` | Why it works this way |