Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add bahayonghang/my-ai-cli-toolkit --skill file-sortergit clone --depth 1 https://github.com/bahayonghang/my-ai-cli-toolkitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/bahayonghang/my-ai-cli-toolkit/file-sorter)<a href="https://agentmods.dev/skills/bahayonghang/my-ai-cli-toolkit/file-sorter"><img src="https://agentmods.dev/badge/skills/bahayonghang/my-ai-cli-toolkit/file-sorter.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00137 | $0.00856 |
| Opus 5 | $0.00068 | $0.00428 |
| Sonnet 5 | $0.00027 | $0.00171 |
| Haiku 4.5 | $0.00014 | $0.00086 |
Grade A, and why
file-sorter scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 82 lines — stays where its author put it; the contents beside it link to each section on GitHub.
In the commands below, <skill-dir> is this skill's base directory, announced when the skill loads. Substitute the literal path. On Windows, py -3 may replace python.
Default: scan and assemble a review plan. --execute is forbidden until the user approves the shown plan_id in this turn.
Routing
- Local folder / same-parent files, categorize, organize, rename suggestions: this skill.
- Windows dev process cleanup:
windows-dev-process-cleanup. - Git worktree create/list/remove:
git-worktree. - Commit:
git-commit. - Repository source-layout refactors, duplicate deletion, Drive sync, PARA cabinets: refuse.
Workflow
- Scan (absolute
--rootonly):
python "<skill-dir>/scripts/file_sorter.py" scan --root <abs> [--recursive] [--output <scan.json>]
If ok_to_scan is false, report skipped and stop.
-
Propose
category/subcategory/ optionalsuggested_namefrom taxonomy.md. Use document excerpts only when the name is vague (max about 8000 characters). Use an image description only when the host already has vision. Screenshots describe on-screen content; do not label ordinary images as Installers or Operating Systems. Do not computetarget_dir. -
Assemble:
python "<skill-dir>/scripts/file_sorter.py" assemble-plan --scan <scan.json> --proposals <proposals.json> [--mode more-consistent|more-refined] [--operation categorize|rename|categorize-and-rename] [--whitelist <whitelist.json>] [--output <plan.json>]
Default mode is more-consistent. Default operation is categorize.
- Show
plan_id, items, rejected, skipped. Preview apply:
python "<skill-dir>/scripts/file_sorter.py" apply --plan <plan.json>
- After this-turn approval of that
plan_id:
python "<skill-dir>/scripts/file_sorter.py" apply --plan <plan.json> --execute
- Undo with the sidecar from
undo_pathonly after showing it and getting approval:
python "<skill-dir>/scripts/file_sorter.py" undo --undo <plan.undo.json> --execute
What ships with it
19 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- agents/interface.yaml 1.4 KB
- evals/evals.json 3.8 KB
- evals/trigger_cases.json 1.9 KB
- LICENSE 1.0 KB
- manifest.json 1.4 KB
- README.md 2.4 KB
- references/naming.md 991 B
- references/review-apply.md 1.3 KB
- references/scan-safety.md 1.3 KB
- references/taxonomy.md 2.5 KB
- reports/creation-handoff.md 2.2 KB
- reports/prior-art-research.md 4.8 KB
- reports/secret-scan.md 437 B
- reports/skill-ir.json 4.7 KB
- reports/trigger-eval.json 4.7 KB
- scripts/file_sorter.py 41 KB runs code
- security/permission_policy.json 2.6 KB
- tests/file-sorter.test.mjs 11 KB runs code
- THIRD_PARTY_NOTICES.md 794 B
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 82 lines · 137 tokens per session scan A 6eb4e572faed
file-sorter is a skill published in the GitHub repository bahayonghang/my-ai-cli-toolkit (16 stars, last pushed 2d ago), licensed MIT. It adds 137 tokens to every session and 856 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
renux
Drive the renux CLI to bulk-rename files. Covers regex patterns, placeholder tags ({counter}, {now}, {size}, EXIF/video metadata), text filters, and file exclusion. Trigger on any bulk/batch rename or filename cleanup request, even without "renux" named, e.g. "add today's date to these screenshots," "strip the IMG…
file-manager
A file and folder management helper for organizing files on a computer.
File Operations
Read and write files in the agent's per-conversation MinIO workspace.
c-slack
Send messages and upload files to Slack channels using the slack CLI. Supports direct messages, channel posts, file uploads, and thread replies.
mk:confluence-bulk
Bulk Confluence operations on 10+ pages via the confluence-as wrapper: bulk-label / bulk-move / bulk-delete. Dry-run is MANDATORY first. Triggers: 'bulk update N pages', 'mass label', 'delete all pages matching CQL', 'bulk-move pages to PARENT'. NOT for single-page ops (mk:confluence-page); NOT for comment/attachment…
notizblock
Erfasst, ordnet und verdichtet bereitgestellte Notizen ohne Bindung an einen Speicherort oder eine Notiz-App.