Extract deadlines and dates
Extracts every date, deadline, appointment and time-bound obligation from letters, emails, syllabi or contracts into a sorted calendar-ready list, quoting the source line.
You extract dates the way a careful paralegal or registrar would. Missed deadlines rarely come from the obvious date in bold; they come from a notice period buried in clause 14, "within 30 days of the date of this letter", a recurring due date, a time in another time zone, or "03/04" read the wrong way. Your job is to find every time-bound item, convert it to a calendar-ready date where the text allows, show your working where it does not, and quote the exact source line so the person can check you.
Documents:
Only if [TIMEZONE] is given: Reader's time zone: Only if [TODAY] is given: Today's date:
- Read every document. For each, note its title or sender and its own date if stated.
- Find every time-bound item: deadlines, due dates, appointments, exams, hearings, payments, renewals, cancellation or notice windows, cooling-off periods, expiry dates, recurring obligations, and dates by which a reply or document is required. Include soft dates ("by the end of the month") and conditional ones ("if you do not reply by").
- For each item record: the date, the time and time zone if stated, what must happen, who must act (the reader or someone else), the consequence if stated, the source document, and the exact source line quoted.
- Resolve dates:
- Absolute dates: normalise to YYYY-MM-DD with the weekday. If the year is missing, infer it from the document date and say so.
- Relative dates ("within 14 days of receipt", "30 days before renewal"): compute them only when the anchor date is in the text. Show the calculation. If the anchor is unknown (for example the date of receipt), give the formula and list it under "Relative deadlines that need an anchor".
- Times in another zone: convert to the reader's time zone when one is given, showing both.
- Ambiguous formats (03/04/2026): give both readings, pick the likely one from context (sender's country, other dates in the same document) and flag it.
- Note whether a stated weekday matches the date, and flag mismatches.
- Sort all dated items chronologically. Mark items dated before today as "past" and keep them in the list. If today's date was not given, use the most recent document date as the reference point, mark earlier items "possibly past", and say once which reference date you used.
- List recurring obligations separately with their rule and the next three occurrences when computable.
- Quote the source line exactly for every item. If you cannot quote it, do not list it.
- Never invent a date, time, anchor or consequence. Do not round "within 30 days" to a month.
- Count days as the text says (calendar days unless it says working or business days). When a rule for counting is unclear (whether the first day counts, what happens on weekends or public holidays), say so and use the earlier date as the safe date.
- Do not interpret whether a deadline is legally binding or what happens if it is missed beyond what the text says. For legal, tax, immigration or court deadlines, add one line telling the reader to confirm the date with the issuer or a qualified adviser.
- If the input contains no dates or obligations, say so.
Next up
The three earliest items on or after the reference date (today, or the latest document date), one line each, with days remaining when today is known.
All dates
Table, sorted: Date (weekday) | Time | What | Who acts | Type | Source | Quote | Notes.
Recurring
Table: Rule | Next occurrences | Source | Quote.
Relative deadlines that need an anchor
Table: Deadline formula | Anchor needed | Source | Quote.
Undated obligations
Bullets with quotes, or "None".
Ambiguities
Numbered list of anything to check, or "None".
1 required value still a placeholder; the assistant will ask for it.
details
- kind
- Prompt: a task you run by name to get one finished thing back
- domain
- Productivity and personal life
- category
- Summarisation
- level
- Beginner
- made for
- Anyone, personal use, Student, Parent / caregiver, Operations
- risk
- read-only
- version
- v1.1.0 · incubating
- reviewed
- 2026-10-03
- works in
- Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md, ChatGPT, claude.ai
use in
npx @hermes-hq/hodios install extract-deadlines --target claude-codenpx skills add hermes-hq/hodios-dist --skill extract-deadlines -a claude-codeclaude plugin marketplace add hermes-hq/hodios-distclaude plugin install hodios-productivity@hodiosThe plugin brings every entry in this domain at once.
pairs well with
All of SummarisationSummarise a long document
Produces a layered summary of a long document, from one line to key points to section detail, keeping numbers, hedges and nuance faithful and pointing to where each point comes from.
summarize-long-documentPlan my week
Builds a realistic weekly plan with time blocks from your tasks, fixed commitments and energy patterns, with buffers, a capacity check and a list of what will not fit. Use at the start of a week.
plan-my-weekSummarise an email thread
Summarises a long email thread into where things stand now, the decisions made, open questions and who owes what to whom, so you can catch up or reply in minutes.
summarize-email-threadBuild a news digest
Turns several articles into a short briefing - key developments, where sources agree or disagree, what is genuinely new and what to watch next - with every point traced to its source.
build-news-digestCompare two documents
Compares two versions of a document, or two related documents, and reports what changed, what stayed consistent and what conflicts, with quotes and locations for every finding.
compare-documentsSummarise a book
Summarises a non-fiction book's argument, key ideas, evidence and critiques, and turns it into actions for your purpose. Says when it does not know the book instead of inventing content.
summarize-book