agentleFS
aya-talebaya-taleb/productivity-skills/skills/tasks/SKILL.md

tasks

Skill1 starsChanged 21 days agoMITView on GitHub

Keeps one plain tasks.md for every business you run, each task tagged by business, with real due dates. Use it whenever the user wants to capture, check or finish a to-do, even in passing. Triggers include "add a task", "remind me to", "put this on my list", "brain dump", "what's on my plate", "what's due this week for the lunch business", "what am I waiting on", "mark the invoice done", "I finished X", "push that to next week", "clean up my tasks". No app, account or dashboard needed. The file lives in ~/.founder/tasks.md and other skills (daily-plan, weekly-review, meeting-actions) read it.

49 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use send-user-message, tinyagi-admin and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • Maliot100XSkill

    send-user-message

    Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp). Use when the agent needs to notify, alert, or send an unsolicited message to a user — especially during heartbeat invocations, scheduled tasks, or when the agent wants to reach out without a prior user message in the current conversation. Triggers: 'send message to user', 'notify user', 'alert user', 'message the user on discord/telegram/whatsapp', or any need to proactively communicate with a paired sender.

    Also in 4 projects that use this

  • jlia0Skill

    tinyagi-admin

    Manage and operate the TinyAGI system itself — agents, teams, settings, queue, tasks, daemon lifecycle, and source code. Use when the agent needs to: list/add/remove/update agents or teams, check queue status, view logs, start/stop/restart TinyAGI, change settings (provider, model, channels), send messages to the queue, manage tasks, retry dead-letter messages, view recent responses, modify TinyAGI source code or configuration, or perform any administrative operation on the TinyAGI platform. Triggers: 'manage tinyagi', 'add an agent', 'remove a team', 'check queue', 'view logs', 'restart tinyagi', 'change provider', 'update settings', 'create a task', 'modify tinyagi code'.

    Also in 3 projects that use this

  • ArvorCoSkill

    constitution

    Create or update the project constitution - personalized governance and coding principles. Use when starting a project or updating project standards. Triggers on: create constitution, update principles, set project rules.

    Also in 4 projects that use this

  • ArvorCoSkill

    specify

    Create feature specification from natural language description. Use when starting a new feature or creating a spec. Triggers on: create spec, specify feature, new feature spec.

    Also in 6 projects that use this

  • GoogleSkill

    quality

    Evaluates whether a GitHub issue is spam, empty, needs more information, or is OK to proceed.

    Also in 3 projects that use this

  • anyprotoSkill

    skills-manager

    Context-aware routing to skills and hooks management. Use when troubleshooting skill activation, fine-tuning keywords, or managing the automated documentation system.

    Also in 3 projects that use this

  • +1 more from ArvorCo

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. 0 are common, 12 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 42 edited versions we read keep these.

  • 12

    Distinctive

    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
  1. Very specific:

    Start every run with tasks.py context.

    line 25
  2. Distinctive:

    Use the slugs from founder-context.

    line 54
  3. Distinctive:

    If the business is clear from the words ("the lunch menu"), from related tasks already in the file (a person or project that only shows up …

    line 55
  4. Very specific:

    If it could truly be two businesses, add it with your best tag and ask in the readback.

    line 58
  5. Distinctive:

    If there is no founder-context at all, ask the user for short names of their businesses and suggest running founder-context to set them up …

    line 62
  6. Very specific:

    Add each task with the tool: tasks.py add "Call the print shop" --biz corner-lunch --due monday --note "matte?"

    line 70
  7. Distinctive:

    After adding, read back a short list: title, tag, due date.

    line 78
  8. Distinctive:

    When one message asks a question and asks for changes ("what's due, and mark X done"), answer the question from the file as it was, then …

    line 83
  9. Very specific:

    Use list --json when another step needs to count or sort.

    line 88
  10. Distinctive:

    If more than one task matches, the tool lists them.

    line 93
  11. Distinctive:

    When a conversation or document shows a commitment ("I'll send that over"), offer to add it.

    line 105
  12. Distinctive:

    No syncing with Todoist, Asana, Notion or any app, and no dashboard.

    line 110
  13. Distinctive:

    If asked, say so in one line and don't offer to set up a connector.

    line 111
  14. Distinctive:

    No reminders or notifications.

    line 112
  15. Distinctive:

    Keep the reply short and plain.

    line 116
  16. Distinctive:

    Don't guess at consequences ("the domain may lapse") that the files don't show.

    line 119

“Common” is measured: kept by at least 6 in 10 of the 42 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Changed by Aya Taleb from Anthropic's task-management (Apache 2.0): one tasks.md under ~/.founder/, tagged by business, with due dates and a small tool, no dashboard or external app.

Tasks

One file holds every task for every business. A founder with three ventures and classes loses things when tasks live in five apps. One file, tagged by business, fixes that and stays readable by hand.

Where things live

  • Tasks file: tasks.md in the founder folder. The tool finds it: $FOUNDER_HOME, then ./founder/ if it already holds productivity files, then ~/.founder/.
  • Tool: scripts/tasks.py in this skill's folder. Standard library Python, no setup. Below, tasks.py means python3 <this skill's folder>/scripts/tasks.py. Run the tool from the user's current folder, calling it by its full path. Don't cd into the skill folder first, because the tool looks for a project ./founder/ relative to where it runs.
  • Businesses: the founder-context files (<founder folder>/businesses/<slug>.md, the active file, or a project-local founder/context.md).

Start every run with tasks.py context. It prints the folder, the business slugs it found and any tags in tasks.md that match no business. Use the tool for every change so the file keeps one format. Edit by hand only if Python is not available, following the format below.

The format

# Tasks

## Active
- [ ] **Send the menu to the print shop** #corner-lunch due:2026-10-26 added:2026-10-23 - ask about the matte option
  - sub-bullets stay with the task when it moves

## Waiting on
- [ ] **Logo files from Sam** #tidepool since:2026-10-20 added:2026-10-20

## Someday

## Done
- [x] ~~Renew the food permit~~ #corner-lunch done:2026-10-22

Why each part: the bold title is what people scan. The #tag lets every other skill split work by business. due: dates are absolute so a task written on Friday still means the right day next month. added: and since: let reviews spot tasks that have sat too long.

Tag every task with a business

  • Use the slugs from founder-context. A task with no tag is invisible to per-business reviews.
  • If the business is clear from the words ("the lunch menu"), from related tasks already in the file (a person or project that only shows up under one tag), or from the brain dump's context, tag it and say which tag you used. Add the task now; the user can fix a tag in a second.
  • If it could truly be two businesses, add it with your best tag and ask in the readback. Don't hold a task back waiting for an answer; a task that isn't written down gets lost. If it fits none, use a tag the user names, such as #school or #personal. Never make up a business that isn't in founder-context.
  • If there is no founder-context at all, ask the user for short names of their businesses and suggest running founder-context to set them up properly. Don't block on it: use the names they give you as tags.

Capture

  • Brain dumps: split them into one task per action. Start each title with a verb. Keep the user's words where you can; they recognize their own phrasing faster.
  • Add each task with the tool: tasks.py add "Call the print shop" --biz corner-lunch --due monday --note "matte?"
  • Dates: pass what the user said (today, tomorrow, friday, +2w, 2026-11-03) and let the tool turn it into a date. Only set a due date the user gave or clearly implied. "Soon" or "at some point" gets no date. A made-up deadline is worse than none, because it trains the user to ignore dates.
  • Things someone else owes the user go in Waiting on (--section waiting). Ideas with no commitment go in Someday.
  • After adding, read back a short list: title, tag, due date. That is the user's chance to fix a wrong tag or date.

Check and report

  • When one message asks a question and asks for changes ("what's due, and mark X done"), answer the question from the file as it was, then make the changes and confirm them.
  • "What's on my plate": list, grouped by business. Lead with overdue, then due this week, then waiting items older than a week. Keep it short; a full dump of 40 tasks helps no one.
  • One business: list --biz <slug>. This week: list --due-by +7d. Overdue: list --overdue.
  • Use list --json when another step needs to count or sort.

Finish, change, clean up

  • Done: tasks.py done "invoice" (a piece of the title or the id from list). If more than one task matches, the tool lists them; ask which one.
  • Change: edit <match> --due friday, --section someday, --biz <slug>, --note "...".
  • Weekly cleanup: rollover moves Done items older than 7 days to tasks-archive.md and lists overdue and 30-day-old tasks. For each overdue task ask: new date, Someday, or drop? Don't push dates forward on your own. Quietly moving deadlines hides the slip the user needs to see.
  • "Just push everything to next week": don't run the edits yet. Show the overdue list with how late each one is, and for each one offer the three choices: a new date, Someday, or drop. Make it easy to answer in one line ("1 Monday, 2 drop, 3 Someday", or "push all"). Then apply what they say. One question is cheap; a silently moved deadline hides the slip.

Tasks found elsewhere

When a conversation or document shows a commitment ("I'll send that over"), offer to add it. Ask first, unless the user asked you to capture tasks from it. meeting-actions does this for meetings.

What this skill does not do

  • No syncing with Todoist, Asana, Notion or any app, and no dashboard. The plain file is the point. If asked, say so in one line and don't offer to set up a connector; offer what the file can do.
  • No reminders or notifications. daily-plan and weekly-review are where tasks surface.

Reply style

Keep the reply short and plain. Show each list once; after a change, say what changed instead of repeating the list. Report what the user asked about plus anything overdue. Sentences under 25 words, light formatting (a few bullets or one small table, little bold), no em or en dashes. Don't guess at consequences ("the domain may lapse") that the files don't show. Finish with the one-line next step.

Handoff

End every reply with one short line on what to run next, when it fits (for example "Run daily-plan to fit these into today."). If context showed tags that match no business, mention them once.

  • Reads: founder-context businesses, tasks.md.
  • Writes: tasks.md, tasks-archive.md (rollover only).
  • Next: daily-plan to pick today's focus, or weekly-review at the end of the week.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.