grabit
Use when the operator wants a real file off this headless box and onto their own machine: they say send me this, grab this, put it in my downloads, pull this…
Skill by Exploitacious
Chalk Labs
Need help deploying grabit?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/exploitacious-grabit
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/grabit
What's inside
- Skill name
grabit- Description
- Use when the operator wants a real file off this headless box and onto their own machine: they say send me this, grab this, put it in my downloads, pull this off the box, or push this to my machine. Pushes the named file over Tailscale to their Downloads via the grabit binary, not in-chat file delivery. Local agent sessions only; runs a shell binary over the tailnet.
- License
- MIT
- Instructions
- 56 lines in SKILL.md · view on GitHub
Files (2)
- README.md
- SKILL.md
SKILL.md (first lines)
# grabit: send a file off the headless box Move a real file from this OPS box to the operator's machine with the `grabit` binary. When the operator asks for a file, push it with grabit. Do not hand it back as an in-chat attachment. ## Why this exists This box is usually headless: the operator drives it over SSH and can pull only text out of the terminal. grabit Taildrops actual files to the machine they connected from, where Windows auto-saves them to Downloads (verified, no tray prompt). In-chat delivery like `SendUserFile` does not land a file on the operator's disk where they expect it, so reaching for it on a "send me a file" request is the exact mistake this skill prevents. ## The command grabit is not on `$PATH`. Always call it by full path: ``` ~/OPS/.claude-config/bin/grabit FILE... ``` Every transfer rides the tailnet (WireGuard-encrypted) and is never public: the browser mode uses `tailscale serve`, not funnel. grabit sends only the files you name, never their parent directory, so a neighbouring `.env` cannot leak. ## Modes | Intent | Command | |---|---| | Send file(s) to the operator (default) | `grabit FILE...` pushes to the device they connected from, auto-detected via `$SSH_CONNECTION` | | Send to a specific machine | `grabit --to DEVICE FILE...` with a tailnet name or `100.x` IP | | Give a browser download link for large or many files | `grabit --serve PATH...` prints a tailnet HTTPS URL; `grabit --serve-off` tears it down (needs passwordless sudo) | | List tailnet devices | `grabit --list` | Default to plain push: one-shot, no sudo, lands in the operator's inbox. Reach for `--serve` only when push will not fit, or the operator explicitly wants a link, since it needs sudo and leaves an endpoint standing. To receive files the operator pushed to this box, screenshots included, use the `grabit-screenshots` skill instead. This skill is the send direction only. ## Workflow 1. Resolve each file to a concrete path and confirm it exists before sending. Absolute is safest. 2. Run `~/OPS/.claude-config/bin/grabit <path> [<path> ...]`. 3. Report what was sent and where it lands, for example "to your Downloads on `<device>`". 4. If `$SSH_CONNECTION` is unset, a rare non-SSH or cron session, auto-detect fails. Fall back to `--to <device>`; list the tailnet devices with `grabit --list`, and the device list and transfer modes are in `~/OPS/.claude-config/bin/README.md` under grabit. 5. On error, surface the exact message. Do not silently retry in a different mode. ## Anti-patterns 1. Do not use in-chat delivery like `SendUserFile` when the operator wants a file on their machine. Push with grabit. 2. Do not pass a directory. grabit sends named files only. 3. Do not assume grabit is on `$PATH`. Always the full path. 4. Do not `--serve` by default. It needs sudo and leaves an endpoint standing; prefer push. 5. Do not send a file the operator did not ask for, and do not push secrets or credentials off-box without an explicit instruction. ## Deep context Full mechanics and one-time box setup (`sudo tailscale set --operator=$USER`, which lets push run sudo-free) live in `~/OPS/.claude-config/bin/README.md` under grabit. Read that only if a transfer misbehaves or you are provisioning a new box. ## Other agent runtimes `grabit` is a plain shell binary, so a Codex or OpenCode thread on the same box sends a file exactly the same way, `~/OPS/.claude-config/bin/grabit <path>`, with the same constraint: local agent sessions only, over the tailnet. The `$SSH_CONNECTION` auto-detect and the `--to <device>` fallback behave identically on every runtime.
From Exploitacious/OPS, MIT.
More from Exploitacious/OPS
- 0.570score
memory-prune
Exploitacious
Use when the operator says prune, audit, or sweep memory, the memories are cluttered, or relocate a lesson.
SkillAFreshness: AClaude Code +9 - 0.570score
operating-model
Exploitacious
Use when shaping agent prose or making code changes: answer design, lazy-correct engineering, and the AI-tell editing catalog.
SkillAFreshness: AClaude Code +9 - 0.565score
session-close
Exploitacious
Use when the Operator says close/shut down/end this session for good, or close out for the day.
SkillAFreshness: AClaude Code +9 - 0.565score
remote-session
Exploitacious
Use to start, attach, list, park, revive, or end a one-off Claude Code session in tmux that the operator remote-controls from another device (the claude.ai…
SkillAFreshness: AClaude Code +9 - 0.565score
grabit-screenshots
Exploitacious
Use when the operator says they pushed something to this box for you to look at: look at my screenshot, check the image I sent, I just sent you a diagram or…
SkillAFreshness: AClaude Code +9 - 0.565score
harness-update
Exploitacious
Use when the Operator says update the harness, sync from the template, or pull upstream OPS changes.
SkillAFreshness: AClaude Code +9 - 0.561score
session-handoff
Exploitacious
Use to hand in-flight work across profiles or machines where --resume cannot reach.
SkillAFreshness: AClaude Code +9 - 0.561score
design-method
Exploitacious
Apply when designing or building any UI, web page, landing page, component, or email template.
SkillAFreshness: AClaude Code +9 - 0.561score
stewardship
Exploitacious
Apply when an MCP tool or a skill returns errors, wrong data, or instructions that do not match reality.
SkillAFreshness: AClaude Code +9 - 0.561score
pre-compact-synthesis
Exploitacious
Synthesize durable state before a /compact, then closeout.
SkillAFreshness: AClaude Code +9 - 0.559score
operator-voice
Exploitacious
Use when writing anything in the operator's voice or for their readers: emails, client deliverables, marketing copy, chat posts, anything sent on their behalf.
SkillAFreshness: AClaude Code +9 - 0.519score
harness-deploy
Exploitacious
Use when changing how Stage 1 (linuxploitacious) or Stage 2 (.claude-config/deploy.sh or .ps1) installs, or deploying the harness to a new machine.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 19, 2026 (11 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Exploitacious/OPS
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Exploitacious
- 0.570score
memory-prune
Exploitacious
Use when the operator says prune, audit, or sweep memory, the memories are cluttered, or relocate a lesson.
SkillAFreshness: AClaude Code +9 - 0.570score
operating-model
Exploitacious
Use when shaping agent prose or making code changes: answer design, lazy-correct engineering, and the AI-tell editing catalog.
SkillAFreshness: AClaude Code +9 - 0.565score
grabit-screenshots
Exploitacious
Use when the operator says they pushed something to this box for you to look at: look at my screenshot, check the image I sent, I just sent you a diagram or…
SkillAFreshness: AClaude Code +9 - 0.565score
harness-update
Exploitacious
Use when the Operator says update the harness, sync from the template, or pull upstream OPS changes.
SkillAFreshness: AClaude Code +9 - 0.565score
remote-session
Exploitacious
Use to start, attach, list, park, revive, or end a one-off Claude Code session in tmux that the operator remote-controls from another device (the claude.ai…
SkillAFreshness: AClaude Code +9 - 0.565score
session-close
Exploitacious
Use when the Operator says close/shut down/end this session for good, or close out for the day.
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get grabit running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
grabit skill. Agent Mart. https://agentmart.dev/skills/exploitacious-grabit (last updated 2026-10-24)