Skip to content
Back to skills

Files Skill

ASecurity

Hand a file to the person you are talking to — a report, an export, a screenshot, a built artifact. Use whenever your result IS a file. They are in a browser or on Telegram, NOT on this machine, so a local path is a string they cannot open.

  • 10 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 26, 2026
ai-agentsbashnodeapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 26, 2026

npx -y skills add shadok-ai/shadok-ai --skill files-skill --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Files Skill?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Files Skill
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shadok-ai-files-skill/badge)](https://www.skillsdirectory.com/skills/shadok-ai-files-skill)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: shadok-files
description: Hand a file to the person you are talking to — a report, an export, a screenshot, a built artifact. Use whenever your result IS a file. They are in a browser or on Telegram, NOT on this machine, so a local path is a string they cannot open.
---

# shadok-files

The person reading you is in a web cockpit or on Telegram. **They are not on
this machine.** Printing `/workspace/report.pdf` gives them a string they cannot
click, cannot open and cannot save. Hand the file over instead:

```bash
node ~/.claude/skills/shadok-files/scripts/send.mjs /abs/path/report.pdf
node ~/.claude/skills/shadok-files/scripts/send.mjs a.png b.png --caption "before / after"
```

It appears in the chat as a download card — inline if it is an image — and is
uploaded into the Telegram topic when the agent is mirrored.

## When to use it, and when not

**Use it when the file IS the deliverable**: a report you generated, an export,
a screenshot, a diagram, an archive, a built binary.

**Do not use it for a path you are merely citing.** `src/server.ts:412` in a
review is a reference, not a deliverable — attaching the file there is noise.

**Do not publish an artifact instead.** An artifact is a page on claude.ai; the
person asked for a file. Several shipped roles deny the tool outright.

**Do not send the same file again** unless it has meaningfully changed. Each
call renders a card, and a row of cards for one file is noise.

## Paths

Give an **absolute** path. The server's working directory is its launch
directory and never yours, so a relative path would resolve somewhere else —
the script resolves it against your cwd before sending, but being explicit
costs nothing and removes the question.

## If something is missing

If this skill is not installed, or the call fails, **say so plainly and stop**.
Do not invent a replacement convention — a `fichier: /path/to/x` line of your
own making looks like a feature to the person reading it, and is not one. Ask
them to check the cockpit instead.

## Authenticating a direct API call

The command above does this for you. If you call the cockpit's API yourself,
send your session key — it is in your environment and it does not expire:

```bash
curl -sS -X POST -H "content-type: application/json" \
  -H "x-shadok-session-key: $SHADOK_SESSION_KEY" \
  -d '{"paths":["/abs/path/report.pdf"],"caption":"the report"}' \
  "http://127.0.0.1:$SHADOK_PORT/files"
```

`$SHADOK_AUTH` (a cookie) is still accepted elsewhere, but it was frozen into
this process's environment at spawn and expires after a week, so never rely on
it alone. A `401` or `403` means that header is missing — or that you were
started before this existed, in which case nothing you hold can authenticate
any more and only a human can fix it: ask them for *Reload agent* on your ⋯
menu.

Files in this skill

  • SKILL.md2.8 KB
  • scripts/send.mjs2.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.