task-organizer
Skill4 starsChanged 24 days agoMITView on GitHub
Task organizer. Use whenever the user works inside a task, project, research, or study folder - or names/attaches one - and is organizing, tidying, or producing or managing ANY file there. The trigger is the situation (a workspace folder plus any file activity), not a checklist of words: the example words below are illustrative, not exhaustive, because new phrasings will always surface and no keyword list can enumerate them all. Examples of file activity that fire it: organizing or cleaning the folder, setting up a task workspace, reading files in the folder and writing anything from them (a report, a study plan, notes, or ANY other deliverable), or producing ANY deliverable that lands in that folder. Trigger words (illustrative): organize, tidy, task folder, project folder, research folder, study folder, report, summary, notes, deliverable, init, broadcast index. The trigger is a workspace folder plus a deliverable, independent of how many steps the task has - even a single write inside a task folder fires the compound intent. HARD rule: producing a deliverable inside a task folder is a compound intent - it MUST be paired with the bookend loop (init at start, organize + broadcast before the final answer); the two are one action, never two; skipping it is a failure, not a shortcut. SESSION-START RULE: once a workspace folder is known, the first action is a read-only structure check (doctor) - if the standard structure is missing, run init before any content work, so every conversation starts from a tidy folder. Maintain a live _broadcast/ context-compression index: after every init, organize, and file change, rebuild it; it is a read-only digest so a later session reads the index first and open only the original files they need (token-saving); when a folder holds many or large files, build/read the index before opening originals. If a folder is referenced without an explicit organize request: PROPOSE one init first and run only after the user confirms; never reorganize a referenced folder uninvited. If a folder lacks the standard structure (material/ + process/ + results/ + _broadcast/) yet holds loose deliverable files, the missed-init signal fired - run init first. When triggered, RUN the tool via Bash and report the verified result - never reply with a description of this skill alone.
- Installs packages
1 other project uses a version of this.
Adopted by
Most recently taken up by
- JiamingShi-JsPhys/chelate-shelltheir own version, first seen Oct 25, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- JiamingShi-JsPhys/chelate-shell★ 10same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- conflict-detectorSkill
- document-evolution-trackerSkill
- formula-validatorSkill
- longitudinal-analysisSkill
- multi-dim-managerSkill
- video-trackerSkill
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 8 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 69
Before the first run, probe the runtime deps for this skill:
- Distinctive: line 74
If an optional dep is missing, the feature degrades (e.g.
- Distinctive: line 168
Do not run any command
- Distinctive: line 300
Declare provenance as you go: After every file you fetch into the
- Very specific: line 400
At session start (the structure check): Run doctor <root> first:
- Distinctive: line 560
This is a hard constraint, not a suggestion: If you produce ANY
- Distinctive: line 608
Run in this order, no step skipped:
- Distinctive: line 636
Produce the artifact: Write it into the task folder (any location.
- Very specific: line 672
Build the broadcast index: Run broadcast <root> so
- Very specific: line 688
Re-filing rule: If a blind first organize dumped files into
- Distinctive: line 892
If the index is missing or stale, build it first: Run
- Very specific: line 1088
Every command prints its own error message (exit 0 success, 2
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
task-organizer
Task organizer for task folders: builds the standard three-tier structure
(material/initial + material/downloaded + process/ + results/ +
_broadcast/), files every deliverable by provenance, verifies each run
(8 checks, auto-rollback on failure), and maintains a read-only broadcast
index (_broadcast/INDEX.md) so a later session reads the index first and
opens only the originals it needs.
MANDATORY WORKFLOW - what you do when this skill triggers
Dependency bootstrap (run on first use)
Before the first run, probe the runtime deps for this skill:
- Core: pure standard library — no install required.
- Optional:
openpyxl(Excel index) andPyYAML(YAML rule files).
If an optional dep is missing, the feature degrades (e.g. index falls back
to markdown, YAML rules unavailable) rather than failing. Do not
install automatically. Tell the user which optional dep is absent and ask
whether to pip install openpyxl / pip install pyyaml (or run
python -m pip install -r requirements.txt); install only after they say
yes. Never install into the global environment without explicit consent —
prefer a project venv when one exists.
This skill is an instruction to ACT, not a document to summarize. When
any trigger under "When to use" is met, you MUST run the tool and report
what it did; answering with a description of this skill - its features,
command list, architecture - is a failure mode, not a result.
Scope: fires only when the user has chosen a workspace (a task /
project / research folder); with no chosen workspace, do not organize.
Session-start structure check, then the folder-signal gate.
Run the structure check first - it is read-only and always safe. As
soon as the workspace folder is known, run
doctor <root>: one statpass, nothing written or moved, so it runs before any confirmation.
Healthy (structure present) -> carry on, skip the rest of this step.
Structure missing -> apply the gate:
Explicit organize / setup request, or the compound "produce an
artifact AND keep the folder tidy" (see "Content-production
scenarios") -> already an explicit organize intent: run
init <root>now, no proposal needed.
Folder merely attached, referenced, or named and a task starts on
it -> PROPOSE one init and stop: *"I see you are working in
<folder>; want me to set up the standard three-tier structure before we start?"*Do not run any command
until the user confirms -
initmoves existing content intomaterial/initial/, a layout change the user must agree to first. Ifthe user declines, carry on as asked and do not re-propose:
at most once per folder.
Resolve the target root path first. Path named / referenced /
obvious -> use it. The user gave no path ("set up a task
workspace") -> ask for it, and propose a concrete default so the
user only has to say yes (e.g.
~/Desktop/<task-name>). Never guess alocation silently; never abandon the task over a missing path.
Pick the entry point. New / empty folder, "set up a workspace", or
the compound "produce + keep tidy" ->
initfirst: **initis thetask-start command - it builds EVERY structural folder immediately**
(
material/initial/,material/downloaded/,process/,results/and
_broadcast/) and lifts pre-existing content intomaterial/initial/as user material (cheap: no snapshot, no verify).Existing folder with content ->
organize(default--mode full).Ambiguous -> ask one short question; if the folder exists, default to
organize.RUN the tool via Bash, from this skill's own directory:
cd <directory containing this SKILL.md> python -m scripts.run init <root> python -m scripts.run organize <root>Python 3.10+, standard library only (
openpyxlmerely adds the xlsxindex).
Verify, then report. Success looks like
organize: done+verification: passed.verification: failedmeans the tool alreadyrolled itself back to the before-state - report that, do not blindly
re-run. Report the three-tier tree, the user's material in
material/initial/untouched, the verdict, and that the run reverseswith
undo(process/history/).Declare provenance as you go. After every file you fetch into the
task folder, run immediately:
python -m scripts.run mark-downloaded <root> <file> --url <source-url>That keeps
material/downloaded/meaning "files the assistantfetched", not a guess from the filename.
**Final delivery - organize, then build the broadcast index
(mandatory).** Before handing the final answer back in a workspace
task, run the pipeline once more so the deliverable files correctly (a
name containing
final/deliverable/report/review/summarylands inresults/), then rebuild the index:python -m scripts.run organize <root> python -m scripts.run broadcast <root>The broadcast index is mandatory for a workspace task, not
optional: it lets the next session - and a long conversation - jump to
the right file instead of re-reading every original.
When to use
Always-on (no separate trigger). Part of the normal task rhythm, not
an optional feature, so they cannot be missed by the match:
At session start (the structure check). Run
doctor <root>first:a read-only, zero-cost scan (nothing read, moved or written).
incomplete-> runinitbefore any content work;healthy->continue untouched. The check is idempotent - on an already-tidy folder
it costs one stat pass and changes nothing.
At task start,
initbuilds every structural folder up front(
material/initial,material/downloaded,process/,results/,_broadcast/) - no folder is missing when the work begins.At final delivery,
organizefiles the finished work intoresults/andbroadcastrebuilds the read-only digest - mandatoryfor any task with a workspace folder.
Matched triggers (these fire on their own signals).
Content production. The user reads files in a task folder and
writes something from them - a report, a feasibility study, a review, a
summary, notes, an article, an abstract - and the artifact lands in that
folder. The trigger does not depend on the task being multi-step or on
the deliverable's name: producing any deliverable inside a task folder
fires it even for a single, one-shot write, even if the word "organize"
is never spoken and the request looks like a pure writing task (see
"Content-production scenarios"). It is a hard constraint: writing
the artifact and maintaining the folder structure are one combined
action - whenever you produce a deliverable in the folder you MUST also
run the bookend loop (
initat start,organize+broadcastbeforethe final answer). Leaving the folder loose after a write is a
failure, not a shortcut.
Folder signal. A folder is attached, referenced, or named and the
user starts a task on it without asking to organize: PROPOSES one
initfirst, runs only after confirmation (the gate above).
Just chatting with no workspace folder -> the skill does not apply.
"List folder contents" / "rename a single file" -> out of scope.
Content-production scenarios (writing an article / review / report in a task folder)
"Write a review of X" / "draft a report" / "summarise these transcripts"
inside a task folder is this skill's territory: the trigger is the
combination of producing an artifact and a task folder to keep tidy.
This is a hard constraint, not a suggestion. If you produce ANY
deliverable (report, review, article, abstract, proposal, table, or any
other finished document) inside a task folder, you MUST also run the
full bookend loop on that same folder - init at task start,
organize + broadcast before the final answer. **Not skippable, not
deferrable, not optional:** writing the file and keeping the folder in
the standard layout happen together, every time, with no separate
"please organize" request. Answering the write while leaving the folder
loose - or filing the deliverable by hand - is a failure mode, not a
shortcut. A one-shot write still requires the bookend loop: the trigger
is a workspace folder plus a deliverable, not the number of steps.
Run in this order, no step skipped:
Set up first. New folder or no three-tier structure yet -> run
init <root>before writing anything: the compound request alreadycarries the "keep tidy" intent, so this runs directly with
no folder-signal proposal.
initregisters everything already presentas user material, protecting the user's inputs from the start.
Produce the artifact. Write it into the task folder (any location;
organizewill file it).Declare provenance as you go. Files you fetched ->
mark-downloaded(with the source URL); files the user placed ->already registered by
init, ormark-user.Name the deliverable so it is recognisable. Names containing
final/deliverable/report/review/summaryfile underresults/automatically; when in doubt rename tofinal_<name>.- Run
organize <root>and report the verified result. Build the broadcast index. Run
broadcast <root>so_broadcast/INDEX.md+index.jsonsummarise every file; a latersession reads the index first and opens only what it needs.
Re-filing rule. If a blind first organize dumped files into
process/ before anything was declared, declaring them afterwards
(mark-user / mark-downloaded) and re-running organize moves them
home. Undeclared files stay in process/ - that keeps re-runs idempotent.
Broadcast center (_broadcast/) - the context-compression index
A folder can hold more documents than a session can afford to read. The
broadcast center is a read-only digest of every supported file, small
enough to always read first, rich enough to know what to open next; it is
a standalone command that works on any folder:
cd <directory containing this SKILL.md>
python -m scripts.run broadcast <root> [--ai] [--max-files N] [--keywords K]
It writes - and only writes - <root>/_broadcast/INDEX.md (one line per
file: path, type, size, date, one-sentence summary, keywords) and
index.json (same data, machine-readable). Supported: txt / md /
csv / json / docx / pdf / pptx / xlsx; everything else is
listed "Skipped", never touched. Summaries: --ai (or TASK_ORG_AI=1
plus a key) lets the model write them; the default local mode is the
first 200 characters plus statistical keywords - offline, deterministic,
free. Guarantees: read-only - originals are opened for reading only;
nothing is moved, renamed or modified.
The only writes are the two files in _broadcast/.
Idempotent - re-running regenerates both index files in place.
Bounded - per-file caps, --max-files, an over-sized index warns but
never fails. Protected - _broadcast is tool-owned, so init /
organize never relocate it.
READ-ORDER protocol (mandatory for any later session)
A session opening a folder with a _broadcast/ index follows this exact
read order. The point is to save tokens: the index is the cheap layer,
the originals the expensive layer, and you open the expensive layer only
when a specific entry earns it.
Read the directory first. Open
_broadcast/INDEX.md, read itsDirectory section (the keyword -> file map); do NOT read the
per-file detail blocks yet. One read tells you what exists and where,
without touching a single original.
Resolve the task to keywords. Pick the 1-3 topics that matter,
look them up in the directory, note the file entries under them.
Open only the matching originals. Everything else stays unread;
where the index already summarizes a file well, rely on the digest
instead of opening the original at all.
Skim the digest for the rest. For files you did not open, the
per-file summary + keywords in
INDEX.mdis your whole view - thatis the intended token saving.
If the index is missing or stale, build it first. Run
doctor <root>; if it reports the index absent or stale, runbroadcast <root>before reading. Never re-read every original justbecause the index lags.
No _broadcast/ at all -> skip straight to step 5. Starting a
long-context task, or any folder too large to read in one session?
Build the broadcast center first and read INDEX.md before opening any
original. For a workspace task the broadcast center is mandatory (step 7
of the workflow) - never skip it; on a non-workspace folder, propose it
once and wait for confirmation.
Usage examples
cd <directory containing this SKILL.md>
python -m scripts.run init <root> # create the skeleton (cheap)
python -m scripts.run organize <root> # full pipeline + verify + rollback
python -m scripts.run organize <root> --mode quick # move only, no verify
python -m scripts.run organize <root> --mode incremental # reuse unchanged digests
python -m scripts.run mark-downloaded <root> <file> --url <source-url> # provenance
python -m scripts.run broadcast <root> # rebuild the read-only index
python -m scripts.run undo <history_file> [--root <root>] # reverse a verified run
Placement is by provenance, not filename: downloaded ->
material/downloaded/; user material -> material/initial/
(verbatim - never renamed, modified or deleted); names containing
final / deliverable / report / review / summary -> results/;
everything else (assistant output) -> process/. Custom keyword rules:
.task-organizer.yml, optionally with named profiles.<name> via
--profile. Authoritative specs: BUILTIN_PLACEMENT in
scripts/rules.py, the 8 checks in scripts/verify.py.
Failure handling
verification: failed- the tool already rolled back to thebefore-state (moves reversed, created dirs / indexes removed, log
renamed
..._Cancelled.md). Report that fact; fix the cause andre-run - rollback is idempotent, re-running is safe.
C8 warning (deliverable at the root, no standard structure) - the
missed-init signal: run
init <root>first, thenorganize <root>.User-material name clash - the file is left in place and reported,
never renamed; only files the tool itself owns may be suffixed.
Skipped entries - hidden files, empty folders, symlinks and
read-only files are never moved; they are logged and marked in the
index. Per-entry errors are caught and logged, so one bad file cannot
fail the batch.
Every command prints its own error message (exit
0success,2usage / config error).
Requirements: Python 3.10+, standard library only; openpyxl merely
adds the xlsx index and degrades to md-only when missing.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

