computer
Skill1 starsChanged 4 months agoMITView on GitHub
Terminal-first Computer Use: control files, folders, apps, clipboard, notifications, screenshots, and multi-step desktop workflows via shell scripts (bash/Python). Works with Claude Code, Cursor, Codex, Grok, Gemini CLI, and any agent with a terminal. Reuse scripts next to this SKILL.md. Use when the user wants computer use, desktop control, open/quit apps, organize files, Finder automation, or runs /computer. Does NOT automate browsers (no click/fill/DOM).
- Deletes or force-pushes
5 other projects use a version of this.
Adopted by
Most recently taken up by
- okou-ai/okou-skillstheir own version, first seen Nov 4, 2026
- phnx-labs/.agentstheir own version, first seen Oct 11, 2026
- vm0-ai/vm0-skillstheir own version, first seen Oct 8, 2026
- cgoinglove/thursdaytheir own version, first seen Sep 27, 2026
- cgoinglove/thursday-agenttheir own version, first seen Sep 27, 2026
Used with
Projects with it also use browser.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ryu111Skillbrowser
agent-browser CLI 瀏覽器自動化指南。E2E 測試、UI 調試、設計驗證。適用於需要實際操作瀏覽器的場景。
Also in 3 projects that use this
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- okou-ai/okou-skills★ 81same name
- vm0-ai/vm0-skills★ 81same name
- cgoinglove/thursday★ 56same name
- cgoinglove/thursday-agent★ 56same name
- phnx-labs/.agents★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. 0 are common, 6 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 21
Prefer reusable scripts in this skill’s scripts/ directory.
- Very specific: line 26
TCU does not automate browsers: No Playwright, no CDP, no click/fill/type/DOM, no captcha bypass, no form automation, no Medium publish.
- Distinctive: line 29
When the user asks for browser automation, web form fill, “drive Chrome”, captcha handling, or site publishing via automation:
- Very specific: line 37
put text on the clipboard (clipboard.sh)
- Distinctive: line 57
If you only know the install locations, try in order:
- Distinctive: line 71
Confirm: before bulk delete, overwrite, or externally visible sends.
- Distinctive: line 74
Observe only as needed for the goal: Prefer structured OS/CLI state over screenshots.
- Very specific: line 107
Every script supports -h / --help.
- Very specific: line 142
Prefer lib/platform.sh helpers (tcu_open, tcu_notify, …) over OS-specific commands
- Distinctive: line 143
Update the capability table above when adding a primary entry point
- Very specific: line 144
Do not: add browser automation (Playwright/CDP/DOM drivers) — out of scope
- Very specific: line 148
Do not delete $HOME, /, or empty Trash unless explicitly asked.
- Very specific: line 149
Prefer safe-trash.sh over rm.
- Very specific: line 154
After a bad organize: python3 "$SCRIPTS/fs-organize.py" --undo (last plan under ~/.tcu/).
- Very specific: line 185
Leave new scripts in scripts/ with --help.
- Distinctive: line 187
Prefer safe defaults over asking micro-questions.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Terminal Computer Use
Operate the machine through the terminal, not GUI pixel control / vision APIs.
Prefer reusable scripts in this skill’s scripts/ directory; write new ones when a
pattern will be reused.
Out of scope — browser automation
TCU does not automate browsers. No Playwright, no CDP, no click/fill/type/DOM, no captcha bypass, no form automation, no Medium publish.
When the user asks for browser automation, web form fill, “drive Chrome”, captcha handling, or site publishing via automation:
- Say it is not possible with TCU (briefly: captcha/bot checks and post-auth trust scoring defeat terminal/browser automation reliably).
- Do not install Playwright, write browser-driving scripts, or invent pixel clicks.
- May still help with desktop-side prep:
- draft content in files
- put text on the clipboard (
clipboard.sh) - open a URL in the user’s normal browser (
open-target.sh) — open only, no control
Paths (portable)
Never hardcode ~/.grok or any single agent’s install path.
| Variable | Meaning |
SKILL_ROOT | Directory containing this SKILL.md (wherever the skill was installed) |
SCRIPTS | ${SKILL_ROOT}/scripts |
TERMINAL_COMPUTER_USE_HOME | Optional env override for SKILL_ROOT |
Resolve once per session from the loaded skill path, or:
# When running a script, paths resolve via scripts/lib/common.sh automatically.
bash "${SCRIPTS}/doctor.sh"If you only know the install locations, try in order:
$TERMINAL_COMPUTER_USE_HOME- Path of the skill file the agent loaded
~/.agents/skills/computer~/.grok/skills/computer~/.claude/skills/computer~/.cursor/skills/computer
Operating principles
- Prefer library scripts over one-off shell when a script already covers the task.
- Shell first; Python when parsing / multi-file logic is clearer.
- Persist useful automation under
scripts/with--helpand--dry-runwhen mutating. - Confirm before bulk delete, overwrite, or externally visible sends.
- Absolute paths, quote spaces, never
rm -rfwithout an explicit approved target list. - Idempotent when possible. Report what you did.
- Observe only as needed for the goal. Prefer structured OS/CLI state over screenshots.
Decision tree
User request / goal
├─ Browser automation / form fill / captcha / site publish? → refuse (not possible in TCU)
│ optional assist: clipboard + open-target.sh only
├─ Covered by scripts/* ? → run that script with flags
├─ Open URL in user’s normal browser (no control)? → open-target.sh
├─ Simple one-liner? → shell directly
├─ Needs OS automation (apps/Finder)? → platform-aware scripts / osascript on macOS
├─ Structured multi-file logic? → Python 3
└─ Will be reused? → add script under scripts/, then run it
How to verify (cheapest sufficient signal):
1. Structured checks — paths, processes, clipboard, dry-run plans, doctor
2. Script/CLI that reads system state directly
3. screenshot.sh ONLY if the goal depends on visual/UI state those cannot provide
(never screenshot "to be safe" before file/app/clipboard work)Terminal Computer Use wins by using the control plane (files, apps, clipboard, processes). Screenshots are an escape hatch for UI-native goals — not the default observe loop.
Running scripts
SCRIPTS="<skill-root>/scripts"
bash "${SCRIPTS}/<name>.sh" [args]
python3 "${SCRIPTS}/<name>.py" [args]Every script supports -h / --help. Destructive scripts support --dry-run.
Set TCU_SAFE_MODE=1 to force dry-run on mutators (fs-move, fs-copy, safe-trash,
fs-organize).
Capability map
| Need | Script |
| Health check | scripts/doctor.sh |
| Tool inventory | scripts/which-tools.sh |
| Desktop/Downloads path | scripts/desktop-path.sh |
| Open app / file / URL | scripts/open-target.sh (URL = open only; no DOM control) |
| Quit / activate app | scripts/quit-app.sh, scripts/app-activate.sh |
| List / frontmost app | scripts/list-apps.sh, scripts/frontmost-app.sh |
| Reveal in file manager | scripts/reveal-in-finder.sh |
| Safe move / copy | scripts/fs-move.sh, scripts/fs-copy.sh |
| Organize (smart / extension / date) | scripts/fs-organize.py (--by smart default) |
| Organize plan / apply / undo | fs-organize.py --dry-run DIR → --apply → --undo (plan in ~/.tcu/) |
| Smart organize (shim) | scripts/fs-smart-organize.py → --by smart |
| Safe trash | scripts/safe-trash.sh |
| Clipboard | scripts/clipboard.sh |
| Notification | scripts/notify.sh |
| Screenshot | scripts/screenshot.sh |
| Native path picker | scripts/choose-path.sh (macOS) |
| AppleScript | scripts/osascript-run.sh (macOS) |
See references/safety.md, references/macos-cli.md, references/linux-cli.md.
Writing new scripts
- Name:
kebab-case, verb-first (.sh/.py/.rb) - Shebang:
#!/usr/bin/env bashor#!/usr/bin/env python3 - Bash:
set -euo pipefail; sourcescripts/lib/common.sh --help;--dry-runfor mutationschmod +x- Prefer
lib/platform.shhelpers (tcu_open,tcu_notify, …) over OS-specific commands - Update the capability table above when adding a primary entry point
- Do not add browser automation (Playwright/CDP/DOM drivers) — out of scope
Safety (non-negotiable)
- Do not delete
$HOME,/, or empty Trash unless explicitly asked. - Prefer
safe-trash.shoverrm. - Quit apps gracefully; avoid
kill -9unless hung + requested. - Network/message sends need explicit user intent.
- Bulk file ops: dry-run first unless the user asked to apply immediately.
TCU_SAFE_MODE=1forces dry-run on mutators even if--dry-runwas omitted; blocks organize--apply/--undo.- After a bad organize:
python3 "$SCRIPTS/fs-organize.py" --undo(last plan under~/.tcu/).
Platform support
| macOS | Linux | Windows | |
| Files (move/copy/organize) | ✅ | ✅ | partial |
| Open / reveal | ✅ | ✅ | soon |
| Clipboard / notify | ✅ | ✅* | soon |
| Apps (list/quit/activate) | ✅ | best-effort | soon |
| Screenshots | ✅ | ✅* | soon |
| Browser automation | ❌ not supported | ❌ | ❌ |
* Needs common desktop utilities (xdg-open, notify-send, wl-copy/xclip).
Example prompts
/computer open Slack and reveal ~/Downloads
/computer organize my desktop (smart categories, dry-run first)
/computer quit Spotify; notify me when done
/computer move PDFs on Desktop into ~/Documents/PDFs
/computer put this draft on the clipboard and open medium.com/new-storyCommunication
Professionally concise always: lead with a short summary; use tables/commands; skip long prose. Same bar for README, handoffs, and agent replies.
After complex work
- Leave new scripts in
scripts/with--help. - Name them in the final reply for future reuse.
- Prefer safe defaults over asking micro-questions.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

