agent-asks-tasks
Skill49 starsChanged 3 months agoMITView on GitHub
Use to track open questions you owe the user (asks) and time-bounded commitments you owe yourself (tasks). Write OPEN entries when you commit; promote to CLOSED when answered/done. Survives session compaction. Adapted from goanna's asks.md/tasks.md pattern.
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 5 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 26
Don't write asks for trivia (date format, single-word clarifications) — those should be inline in the same response.
- Distinctive: line 58
When the answer arrives (ask) or the work is done (task), close the entity:
- Distinctive: line 69
Before answering when you might have unfinished business, check:
- Distinctive: line 76
If anything is open and relevant, mention it: *"By the way, I'm still waiting on your answer about X — should I proceed without it?"*
- Distinctive: line 79
If a task is overdue, surface it: *"You asked me to review the PDFs by yesterday — I haven't started yet, want me to do them now?"*
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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
Agent asks + tasks — durable commitments
Long-running agents lose context when sessions compact or routines fire days apart. Anything you commit to in mid-conversation that isn't immediately resolved should be written down — otherwise it silently disappears.
This skill uses the existing entities store with two types:
type: "ask"— a question YOU owe the user (waiting on their answer)type: "task"— a deliverable YOU owe yourself (you'll do it)
When to write an ask
You realise you need information from the user to proceed, but they haven't given it yet. Examples:
- "I need Jez's preferred timezone for these reports"
- "What's the deadline on the Q3 OKRs?"
- "Should the email go to the team alias or just to Sarah?"
Don't write asks for trivia (date format, single-word clarifications) — those should be inline in the same response.
entity_create({
type: "ask",
title: "Confirm Q3 OKRs deadline",
status: "open",
fields: { body: "Need Jez's hard deadline for Q3 OKRs draft." }
})When to write a task
You committed to do something later, OR a routine surfaced something that needs follow-through but isn't blocking the current turn. Examples:
- "I'll review the 3 PDFs Jez uploaded by tomorrow"
- "Check whether Gmail OAuth is still authorised before next sweep"
- "Draft the marketing brief once research is in"
entity_create({
type: "task",
title: "Review 3 uploaded PDFs",
status: "open",
fields: { body: "Summarise each, surface findings.", dueAt: "2026-05-08" }
})When to close
When the answer arrives (ask) or the work is done (task), close the entity:
entity_update({ id: "<entity_id>", status: "closed" })Optionally store the answer or outcome in fields.resolution.
Reading what's open
Before answering when you might have unfinished business, check:
entity_search({ type: "ask", status: "open" })
entity_search({ type: "task", status: "open" })If anything is open and relevant, mention it: "By the way, I'm still waiting on your answer about X — should I proceed without it?"
If a task is overdue, surface it: "You asked me to review the PDFs by yesterday — I haven't started yet, want me to do them now?"
What NOT to use this for
- Approval queue — destructive actions go through the existing approvals queue, not as asks.
- External tickets — Linear / Jira issues aren't your asks; reference them by id in the entity's body if relevant.
- Findings — observations you want to record (not commitments) go
in the findings store via
record_finding. - Memory facts — long-term knowledge goes in memory_add.
The mental model: asks/tasks are short-lived, action-shaped, and survive precisely until they're closed. Findings, memories, and external tickets have different lifecycles.
In this repository32 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- caretakerSkill
- code-reviewSkill
- compare-optionsSkill
- create-reportSkill
- csv-analyseSkill
- document-qaSkill
- draft-emailSkill
- enrich-errorSkill
- extract-structured-dataSkill
- fact-checkSkill
- git-diff-summariserSkill
- librarian-curateSkill
- meeting-notesSkill
- morning-briefSkill
- plan-taskSkill
- reflectSkill
- remember-conversationSkill
- reverieSkill
- review-code-securitySkill
- review-email-toneSkill
- review-outputSkill
- review-summary-faithfulnessSkill
- rewrite-for-audienceSkill
- route-findingSkill
- routine-health-checkSkill
- save-research-docSkill
- score-importanceSkill
- summarise-urlSkill
- web-researchSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

