Stdio Skill
@SafaTinaztepe
npx machina-cli add skill @SafaTinaztepe/stdio-skill --openclawstdio-skill
Implement and use a local MCP stdio server that provides a simple inbox/outbox workflow backed by directories on disk.
Paths (workspace-relative):
stdio/inbox/— user drops inputs herestdio/tmp/— scratch area (move/copy inputs here for processing)stdio/outbox/— put deliverables here for pickup
Start the MCP server (via mcporter)
This repo config should include an MCP server named stdio-skill.
- List tools:
mcporter list stdio-skill --schema --timeout 120000 --json
Tooling model
Prefer:
stdio-skill.stdio_listto see what’s waiting.stdio-skill.stdio_read(base64) to pull file contents.stdio-skill.stdio_moveto move an item totmponce you’ve claimed it.- Write outputs with
stdio-skill.stdio_write(base64) intooutboxunless the user provided an explicit destination path.
No deprecated aliases: use the stdio_* tools only.
Notes
- This skill is intentionally dumb/simple: it does not interpret file formats.
- It is safe-by-default: operations are restricted to the three directories above.
- For large files: prefer passing by path + moving files, not embedding giant base64 blobs in chat.
Overview
stdio-skill provides a local MCP stdio server with a simple inbox/tmp/outbox workflow backed by disk directories. Drop files into stdio/inbox, move them to stdio/tmp for processing, and emit deliverables to stdio/outbox or a user-specified path. It is intentionally simple about file formats and safe by default, restricting actions to the three directories.
How This Skill Works
The MCP stdio server is started via mcporter and exposes tools under the stdio-skill name. You interact by listing waiting items with stdio_list, claiming a file then moving it to tmp with stdio_move, and finally writing results to outbox with stdio_write (base64) or to a custom path. Outputs land in outbox unless a destination path is provided; deprecated aliases are not used and only stdio_* tools should be used.
When to Use It
- You need a straightforward, filesystem-backed dropbox for incoming files without extra processing logic.
- You’re handling large files where path-based transfer is preferable to embedding base64 in chat.
- You want to move files from inbox to tmp to establish an isolated processing area.
- Deliverables should be saved to the default outbox or to a user-specified destination path.
- You want a safe-by-default workflow that strictly uses inbox, tmp, and outbox directories.
Quick Start
- Step 1: Start the MCP server for the stdio-skill via mcporter and ensure the stdio-skill is listed.
- Step 2: List waiting items with stdio-skill.stdio_list, then claim one with stdio-skill.stdio_move to tmp.
- Step 3: Process the file in stdio/tmp, then write outputs to stdio/outbox with stdio-skill.stdio_write (base64) or to a custom path.
Best Practices
- Use stdio_list to monitor what’s waiting before claiming a file.
- Claim a file with stdio_move to transfer it into the tmp area for processing.
- Process contents in temp space and avoid embedding large data in chat; prefer path-based transfers for large files.
- Write outputs with stdio_write into outbox unless you provide a specific destination path.
- Stay within the three directories (inbox, tmp, outbox) and avoid deprecated aliases; use only stdio_* tools.
Example Use Cases
- Drop a CSV payload into stdio/inbox and retrieve a processed report in stdio/outbox.
- Move a large image file from inbox to tmp for processing, then save results to outbox.
- Deliverables are saved to a user-specified path via an explicit destination when writing.
- Ingest daily logs by placing them in inbox, processing in tmp, and shipping summaries to outbox.
- Run a quick test of a Clawdbot workflow by using stdio-skill as a simple dropbox bridge.