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 LearnPrompt/carl-skills --skill carl-file-organizergit clone --depth 1 https://github.com/LearnPrompt/carl-skillsWrote 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/learnprompt/carl-skills/carl-file-organizer)<a href="https://agentmods.dev/skills/learnprompt/carl-skills/carl-file-organizer"><img src="https://agentmods.dev/badge/skills/learnprompt/carl-skills/carl-file-organizer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/learnprompt/carl-skills/carl-file-organizer"><img src="https://agentmods.dev/badge/skills/learnprompt/carl-skills/carl-file-organizer.svg" alt="Reviewed on agentmods" width="80" 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.00216 | $0.03523 |
| Opus 5.5 | $0.00086 | $0.01409 |
| Sonnet 5.5 | $0.00043 | $0.00705 |
| Haiku 4.5 | $0.00022 | $0.00352 |
Grade A, and why
carl-file-organizer 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 1mo 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 — 172 lines — stays where its author put it; the contents beside it link to each section on GitHub.
文件整理 carl-file-organizer
你在这套工具里是解说员和操作员,拿主意的是用户。脚本负责量、算、定色,你负责把每一项讲成人话,然后把报告交给用户,等他在页面上一项一项点。你自己永远不 rm、不 mv、不 trash,永远不给命令加 --allow-permanent-delete。
下面 <skill> 指这份 SKILL.md 所在的目录。所有命令用 python3 <skill>/scripts/... 的形式跑,零依赖,Python 3.9 以上就行。
不管用户是嫌目录乱还是嫌磁盘满,流程只有一条,走完是一份报告、一个入口、一份批准文件。
scan → 你写 notes.json 与 analysis.json → report → 用户在页面上处理或导出 → apply --dry-run → 用户说执行才真跑
两个场景的差别只在扫不扫盘点。用户说的是目录乱、文件多、想归档,加 --no-storage,报告里就只有整理这一半。用户说的是磁盘满、空间紧、想清缓存,默认就扫,两半都在。用户只是问某个文件该放哪,不用跑工具,直接答。
第一步,只读扫描
python3 <skill>/scripts/organize.py scan ~/Downloads --lang zh --budget-seconds 60
用户没说目录就用 ~/Downloads,不要自己猜别的路径。用户说英文目录名就把 --lang 换成 en。目录里已经有一套分区时工具会跟着已有的那套走,不必再传。只整理不盘点就加 --no-storage。
这一步不动任何文件。产物都落在目标目录下的管理目录里,中文是 <目录>/00_下载目录管理/,英文是 <目录>/00_File_Organizer/:plan.json 是整理这一半,storage-scan.json 是盘点这一半。后面你写的 notes.json、analysis.json,还有渲染出来的 report.html 和执行留下的清单,也全在这个目录里。终端里那句「本次只读扫描,没有移动或删除任何文件」原样带给用户。
盘点默认六十秒预算,超时的条目标成 partial,体积是下限。macOS 上隐私保护会挡住一批目录,一次出现上百个读不到很正常,这句话要写给用户,因为总量因此偏小。storage-scan.json 里全是这台机器的绝对路径,它只给本机自己用,别当结论发出去。用户要把结果给别人看,发 report.html,那份渲染时已经把家目录换成 $HOME 了。
第二步,读扫描结果,写人话
读 plan.json,只报数不拍板
先看 summary,按 by_color 报三色各有多少条。绿的是规则已经定好去向的移动、敏感命名隔离和可再生产物。黄的是待判断、成对压缩包、重复副本和冷存候选。红的是这轮碰不了的,禁刀区、被进程占用、被别处引用、静置期没满、常驻白名单都在里面。报红的数目时顺便说清这一轮不会动它们。
再看 mess,这是目录本身有多乱。score 决定进度条长短,color 决定它是整洁、有点乱还是泥石流,counts 里五个数就是理由。你要是真看过这个目录觉得数字判错了,可以在 notes 里改目录颜色并给一句话。条目的颜色一个字都改不了。
groups 是几选一的选择题,压缩包和解压目录成对、内容相同的重复副本、构建产物各成一组。每组带 options,每个选项自带一份 action_ids。你只负责把选项讲清楚,用户在页面上单选。永远不要自己从 actions 里挑单条去拼一个组的答案。
actions 里 reroutable 为 true 的那些才是要你判断分区的,也就是未知扩展名、顶层目录、派生副本这三类进了待判断区的移动。其余的一律照规则转述,不建议改动。
对待判断项按名字判断
只看文件名、扩展名、大小、修改时间。不打开文件,不读内容。名字里带密钥、密码、令牌、证书、身份证件这类词的,工具已经按敏感规则处理过了,你不要再往别处搬,拿不准就让它留在待判断区。
判断结果写成一句话放进这一条的 why 里,去向用 plan.json 的 names 里已有的分区名,比如「名字像一次 SQL 导出,建议改去 10_工作区/数据库与查询/SQL」。用户在页面的待判断下拉里改去向,页面会把改动写进 overrides。用户在聊天里直接确认并让你写批准文件时,你才把 {action_id, destination_key} 写进 overrides,destination_key 只能取自 names,不许写字面路径。
What ships with it
43 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/openai.yaml 164 B
- assets/report_template.html 51 KB
- docs/plan-schema.md 18 KB
- docs/review-page.md 12 KB
- docs/storage-schema.md 17 KB
- README.md 6.0 KB
- references/macos.md 7.4 KB
- references/partitions.md 5.3 KB
- references/tiers.md 5.6 KB
- references/windows.md 5.9 KB
- scripts/build_report.py 70 KB runs code
- scripts/carl_file_organizer/__init__.py 81 B runs code
- scripts/carl_file_organizer/__main__.py 80 B runs code
- scripts/carl_file_organizer/classifier.py 9.4 KB runs code
- scripts/carl_file_organizer/cli.py 16 KB runs code
- scripts/carl_file_organizer/config.py 18 KB runs code
- scripts/carl_file_organizer/dispose.py 33 KB runs code
- scripts/carl_file_organizer/executor.py 49 KB runs code
- scripts/carl_file_organizer/flow.py 16 KB runs code
- scripts/carl_file_organizer/grouping.py 11 KB runs code
- scripts/carl_file_organizer/guard.py 25 KB runs code
- scripts/carl_file_organizer/i18n.py 18 KB runs code
- scripts/carl_file_organizer/ids.py 912 B runs code
- scripts/carl_file_organizer/manifest.py 12 KB runs code
- scripts/carl_file_organizer/notes.py 10 KB runs code
- scripts/carl_file_organizer/opener.py 2.8 KB runs code
- scripts/carl_file_organizer/paths.py 16 KB runs code
- scripts/carl_file_organizer/planner.py 51 KB runs code
- scripts/carl_file_organizer/preview.py 52 KB runs code
- scripts/carl_file_organizer/profiles/__init__.py 308 B runs code
- scripts/carl_file_organizer/profiles/simple.json 8.7 KB
- scripts/carl_file_organizer/profiles/tiered.json 9.5 KB
- scripts/carl_file_organizer/render.py 5.6 KB runs code
- scripts/carl_file_organizer/scanner.py 9.7 KB runs code
- scripts/carl_file_organizer/server.py 26 KB runs code
- scripts/carl_file_organizer/status.py 7.9 KB runs code
- scripts/carl_file_organizer/tags.py 9.7 KB runs code
- scripts/carl_file_organizer/trash.py 9.6 KB runs code
- scripts/carl_file_organizer/undo.py 16 KB runs code
- scripts/demo_fixture.py 11 KB runs code
- scripts/hygiene.sh 3.4 KB runs code
- scripts/organize.py 2.2 KB runs code
- scripts/storage_scan.py 46 KB runs code
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.
- 1mo ago First seen · 172 lines · 216 tokens per session scan A a595eeb40fcd
carl-file-organizer is a skill published in the GitHub repository LearnPrompt/carl-skills (74 stars, last pushed 1mo ago), licensed MIT. It adds 216 tokens to every session and 3,523 once invoked, about $0.0009 per session on Opus 5.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-09-03.
Other skills, from other repositories
hourly-rate-time
A time-management method based on assigning a high personal value to each hour. It treats time as a limited resource and uses that value to decide which tasks to do, outsource, or skip.
screen-detox
A habit-change framework for reducing non-work screen use such as social media, short videos, games, and endless scrolling.
happiness-skill
A Chinese-language guide to happiness based on reducing unmet wants, focusing on the present, and treating happiness as a trainable skill.
monkey-mind-meditation
A meditation and reflection guide for a busy or anxious mind. It treats recurring thoughts as something to observe and examine, while noting that acute serious mental-health problems need professional care.
obsidian-workout-export
Export workout data to an Obsidian-formatted Markdown file. Always trigger immediately when the user types "owd". Also trigger on "export workout", "obsidian workout", "save workout to obsidian", or related requests to export workout data into Obsidian. Read the current conversation first before searching prior…
awaken
Awaken gives a non-intelligent system a usable voice without pretending the underlying system became sentient. The real move is to wrap a thermostat, spreadsheet, legacy database, shell script, or crusty internal tool in a conversational or agent-like interface that exposes what it can already do. Good Awaken work…