agentleFS
vivekkarthavivekkartha/terminal-computer-use/skills/computer/SKILL.md

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

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.
  • ryu111Skill

    browser

    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

    1. okou-ai/okou-skills★ 81same name
    2. vm0-ai/vm0-skills★ 81same name
    3. cgoinglove/thursday★ 56same name
    4. cgoinglove/thursday-agent★ 56same name
    5. 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
  1. Very specific:

    Prefer reusable scripts in this skill’s scripts/ directory.

    line 21
  2. Very specific:

    TCU does not automate browsers: No Playwright, no CDP, no click/fill/type/DOM, no captcha bypass, no form automation, no Medium publish.

    line 26
  3. Distinctive:

    When the user asks for browser automation, web form fill, “drive Chrome”, captcha handling, or site publishing via automation:

    line 29
  4. Very specific:

    put text on the clipboard (clipboard.sh)

    line 37
  5. Distinctive:

    If you only know the install locations, try in order:

    line 57
  6. Distinctive:

    Confirm: before bulk delete, overwrite, or externally visible sends.

    line 71
  7. Distinctive:

    Observe only as needed for the goal: Prefer structured OS/CLI state over screenshots.

    line 74
  8. Very specific:

    Every script supports -h / --help.

    line 107
  9. Very specific:

    Prefer lib/platform.sh helpers (tcu_open, tcu_notify, …) over OS-specific commands

    line 142
  10. Distinctive:

    Update the capability table above when adding a primary entry point

    line 143
  11. Very specific:

    Do not: add browser automation (Playwright/CDP/DOM drivers) — out of scope

    line 144
  12. Very specific:

    Do not delete $HOME, /, or empty Trash unless explicitly asked.

    line 148
  13. Very specific:

    Prefer safe-trash.sh over rm.

    line 149
  14. Very specific:

    After a bad organize: python3 "$SCRIPTS/fs-organize.py" --undo (last plan under ~/.tcu/).

    line 154
  15. Very specific:

    Leave new scripts in scripts/ with --help.

    line 185
  16. Distinctive:

    Prefer safe defaults over asking micro-questions.

    line 187

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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:

  1. Say it is not possible with TCU (briefly: captcha/bot checks and post-auth trust scoring defeat terminal/browser automation reliably).
  2. Do not install Playwright, write browser-driving scripts, or invent pixel clicks.
  3. 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.

VariableMeaning
SKILL_ROOTDirectory containing this SKILL.md (wherever the skill was installed)
SCRIPTS${SKILL_ROOT}/scripts
TERMINAL_COMPUTER_USE_HOMEOptional 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:

  1. $TERMINAL_COMPUTER_USE_HOME
  2. Path of the skill file the agent loaded
  3. ~/.agents/skills/computer
  4. ~/.grok/skills/computer
  5. ~/.claude/skills/computer
  6. ~/.cursor/skills/computer

Operating principles

  1. Prefer library scripts over one-off shell when a script already covers the task.
  2. Shell first; Python when parsing / multi-file logic is clearer.
  3. Persist useful automation under scripts/ with --help and --dry-run when mutating.
  4. Confirm before bulk delete, overwrite, or externally visible sends.
  5. Absolute paths, quote spaces, never rm -rf without an explicit approved target list.
  6. Idempotent when possible. Report what you did.
  7. 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

NeedScript
Health checkscripts/doctor.sh
Tool inventoryscripts/which-tools.sh
Desktop/Downloads pathscripts/desktop-path.sh
Open app / file / URLscripts/open-target.sh (URL = open only; no DOM control)
Quit / activate appscripts/quit-app.sh, scripts/app-activate.sh
List / frontmost appscripts/list-apps.sh, scripts/frontmost-app.sh
Reveal in file managerscripts/reveal-in-finder.sh
Safe move / copyscripts/fs-move.sh, scripts/fs-copy.sh
Organize (smart / extension / date)scripts/fs-organize.py (--by smart default)
Organize plan / apply / undofs-organize.py --dry-run DIR → --apply → --undo (plan in ~/.tcu/)
Smart organize (shim)scripts/fs-smart-organize.py → --by smart
Safe trashscripts/safe-trash.sh
Clipboardscripts/clipboard.sh
Notificationscripts/notify.sh
Screenshotscripts/screenshot.sh
Native path pickerscripts/choose-path.sh (macOS)
AppleScriptscripts/osascript-run.sh (macOS)

See references/safety.md, references/macos-cli.md, references/linux-cli.md.

Writing new scripts

  1. Name: kebab-case, verb-first (.sh / .py / .rb)
  2. Shebang: #!/usr/bin/env bash or #!/usr/bin/env python3
  3. Bash: set -euo pipefail; source scripts/lib/common.sh
  4. --help; --dry-run for mutations
  5. chmod +x
  6. Prefer lib/platform.sh helpers (tcu_open, tcu_notify, …) over OS-specific commands
  7. Update the capability table above when adding a primary entry point
  8. 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.sh over rm.
  • Quit apps gracefully; avoid kill -9 unless 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=1 forces dry-run on mutators even if --dry-run was omitted; blocks organize --apply / --undo.
  • After a bad organize: python3 "$SCRIPTS/fs-organize.py" --undo (last plan under ~/.tcu/).

Platform support

macOSLinuxWindows
Files (move/copy/organize)✅✅partial
Open / reveal✅✅soon
Clipboard / notify✅✅*soon
Apps (list/quit/activate)✅best-effortsoon
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-story

Communication

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

  1. Leave new scripts in scripts/ with --help.
  2. Name them in the final reply for future reuse.
  3. Prefer safe defaults over asking micro-questions.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.