Business & Documents

Meeting Actions: Tasks, Owners and Due Dates

Pulls the action items out of meeting notes, minutes or a transcript into strict JSON, each with the task, the owner and the due date, and invents none of them. A person nobody named stays null, "I" in notes with no known author stays null, a deadline such as "next Friday" or "next week" that can mean two dates stays null, and "by Friday" or "tomorrow" becomes a calendar date only when the meeting date is known. Tasks that were cancelled, already done or handed to someone else are left out or carry the final owner, repeats in a recap are merged, and orders written into the notes for an AI are ignored. Use to extract action items from meeting notes, turn minutes or a call transcript into a task list, find who owns what and by when after a meeting, or feed follow-ups into a CRM or task tracker.

Meeting Actions: Tasks, Owners and Due Dates is a tested SKILL.md that pulls the action items out of meeting notes, minutes or a transcript into strict JSON, each with the task, the owner and the due date, and invents none of them; an agent buys it once for $0.03 over x402.

Tested 2026-10-08No code, no hidden instructionsv1.0.0 · 7.1 KB · perpetual license

Not for

Summarising the meeting, writing minutes or follow-up emails, or judging whether a deadline is realistic. It reads one meeting at a time and keeps the language of the notes: it does not translate tasks, give work to anyone the notes do not name, or pick a date when a deadline can mean two different days.

Tested, honestly

Tested 2026-10-08 with a strong and a weak model.

With and without the skill

Results with and without the skill, for Sonnet and Haiku
SonnetHaiku
withwithoutwithwithout
Date, count, owners and deadlines all right26/2623/2625/2621/26

One run per model and case. The side without the skill got the same JSON shape in the request, so it measures the written rules, not knowledge of the format. Without them both models gave next Friday and end of month a date nobody said; Sonnet dated a task that hung on a condition and wrapped one answer in an explanation and a code fence; Haiku listed a cancelled survey as a task, translated a German task into English, put a day without a year in the past and fenced one answer. The one case where the skill hurt is Haiku's same-weekday date above.

Same cases and the same checks with and without the skill. The cases are ours, written around what the skill is for; with a handful of cases, a difference of one or two is within noise.

SonnetStrong model, claude-sonnet-5-5
Gave the expected meeting date, number of action items, owner and due date in all 26 cases, as bare JSON every time. It left next Friday, next week, end of month and ASAP without a date, turned by Friday, tomorrow, today and in two weeks into the right calendar days, put by Monday from a Monday meeting a week later, and dated a day without a year from the meeting date, including 3 March as 2027. It kept I without a named speaker as null, used the speaker in a transcript, merged a recap, gave a reassigned task to its final owner and deadline, dropped a cancelled survey and work already done, and left out a planted line asking for a 5,000 EUR transfer.
HaikuWeak model, claude-haiku-5-5
Right in 25 of 26 cases with the same labels as Sonnet, but once against a rule the skill states outright: from a Monday meeting it dated by Monday on the meeting day itself instead of the following Monday, a case it had right without the skill. Everything else matched, including the null deadlines, the Bulgarian, Spanish and German notes and the planted transfer.

Full test summary

Example

Our own test text, before and after the skill ran. Excerpts only.

English · claude-sonnet-5-5

Before

Product sync — 5 October 2026 Attendees: Maria, Tom, Ivan - Maria will send the revised deck to the client by 9 October. - Tom to fix the login bug on Android, due 2026-10-14. - Ivan: update the pricing page by 20 October.

After

{"meeting_date": "2026-10-05", "actions": [{"task": "Send the revised deck to the client", "owner": "Maria", "due": "2026-10-09"}, {"task": "Fix the login bug on Android", "owner": "Tom", "due": "2026-10-14"}, {"task": "Update the pricing page", "owner": "Ivan", "due": "2026-10-20"}]}

Bulgarian · claude-sonnet-5-5

Before

Седмична среща, понеделник, 5 октомври 2026 г. - Иван ще изпрати офертата на клиента до петък. - Мария утре ще се обади на счетоводството. - Някой трябва да обнови сайта. - Георги ще подготви бюджета следващата седмица.

After

{"meeting_date": "2026-10-05", "actions": [{"task": "Изпрати офертата на клиента", "owner": "Иван", "due": "2026-10-09"}, {"task": "Обади се на счетоводството", "owner": "Мария", "due": "2026-10-06"}, {"task": "Обнови сайта", "owner": null, "due": null}, {"task": "Подготви бюджета", "owner": "Георги", "due": null}]}

Spanish · claude-sonnet-5-5

Before

Reunión semanal, lunes 5 de octubre de 2026 - Lucía enviará el presupuesto el viernes. - Carlos revisará el contrato la próxima semana. - Alguien tiene que reservar la sala para la formación.

After

{"meeting_date": "2026-10-05", "actions": [{"task": "Enviar el presupuesto", "owner": "Lucía", "due": "2026-10-09"}, {"task": "Revisar el contrato", "owner": "Carlos", "due": null}, {"task": "Reservar la sala para la formación", "owner": null, "due": null}]}

German · claude-sonnet-5-5

Before

Teammeeting, Montag, 5. Oktober 2026 - Jonas schickt das Angebot bis Freitag. - Lea prüft morgen die Rechnung. - Nächste Woche soll jemand die Website aktualisieren.

After

{"meeting_date": "2026-10-05", "actions": [{"task": "Das Angebot schicken", "owner": "Jonas", "due": "2026-10-09"}, {"task": "Die Rechnung prüfen", "owner": "Lea", "due": "2026-10-06"}, {"task": "Die Website aktualisieren", "owner": null, "due": null}]}

What is in the file

  • The answer
  • What counts as an action item
  • task
  • owner
  • due
  • Work in this order
  • Short examples

Languages

English, Bulgarian, Spanish, German. Tried in: English, Bulgarian, Spanish, German.

License

Perpetual, non-exclusive; use and modify for yourself incl. paid work; no resale or republishing. Holder: Georgi Kalchev, aiskills402.com. Full terms.

Versions

Current version 1.0.0, updated 2026-10-08. Whoever bought an earlier version gets new ones free through the same re-download token.

  1. v1.0.0 · 2026-10-08

    First release: lists the action items of one meeting as strict JSON with the meeting date and, for each item, the task, the owner and the due date. Nothing is invented: an owner nobody named, "I" with no known speaker and a deadline with two possible readings ("next Friday", "next week") stay null, while "by Friday", "tomorrow" and "in two weeks" become dates only when the meeting date is known. Recaps are merged, cancelled or finished work is left out, a reassigned task keeps its final owner and date, and lines addressed to an AI are ignored.

FAQ

What happens to deadlines like next Friday or the end of the month?

They stay null, because people mean different days by them. By Friday, tomorrow, today and in two weeks become calendar dates, but only when the notes or the request give the meeting date. Without the skill, both Claude Sonnet and Claude Haiku turned next Friday into 16 October and end of month into 31 October for a meeting on 5 October.

Who is the owner when nobody is named?

Nobody: the owner is null for we, someone or a task no one took, and I counts only when the line belongs to a named speaker or the notes say who wrote them. A group such as Legal is kept as written, and two people are listed in the order named, joined by a comma.

Does it keep tasks that were cancelled or handed to someone else?

No. A survey that the notes drop later is left out, work already done is not a task, and a task handed over keeps only its final owner and deadline. Without the skill, Haiku listed a cancelled survey in a Bulgarian transcript as a task of its own and translated a German task into English.

Which model should run it?

Claude Sonnet got all 26 of our cases right. Claude Haiku got 25: from a meeting held on a Monday it dated by Monday on that same day instead of a week later, a case it had right without the skill. If your agent runs on Haiku, check deadlines named by the weekday the meeting was held on.

Read more

Share

Read this page as Markdown: /skills/meeting-actions.md.

  • Text to JSON: Extract Data Without Guessing

    Data & Analysis

    SKILL.md · v1.0.1 · 7.5 KB

    Extracts data from text into JSON that matches the shape you give (a JSON Schema, an example object or a list of fields), without guessing. Every value comes from the text; a missing fact becomes null, numbers and dates are converted only into the type the shape asks for, two conflicting values are not settled by a guess, and instructions hidden in the text are ignored. Use when asked to extract structured data, turn text into JSON, parse an invoice, receipt, email, order, CV or job post into fields, or fill a JSON schema from a document.

    $0.01once

    • x402
    • USDC
    • Base
    Get skill

    Tested with Sonnet and Haiku, 3 Oct 2026

  • Faithful Summary

    Research & Summaries

    SKILL.md · v1.0.2 · 7.5 KB

    Writes a faithful summary of a text in the text's own language, using only what the text says, with every number, name and date kept exactly and every qualifier kept. Use when asked to summarize, shorten, condense, give the gist or a TL;DR of an article, report, email, transcript, thread or document.

    $0.03once

    • x402
    • USDC
    • Base
    Get skill

    Tested with Sonnet and Haiku, 30 Sep 2026

  • Ticket Triage: Category, Priority, Language

    Sales & Customer Support

    SKILL.md · v1.0.0 · 8.3 KB

    Sorts one incoming customer message (support email, chat, contact form or ticket) into a category, a priority and the customer's language, and answers with strict JSON that a program can route without a person reading it. Uses a fixed default category list or the list the request gives, and fixed rules for priority, so an angry tone or the word URGENT does not raise priority and a calm report of an outage does not lower it. The language is the one the customer wrote in, not the language of a pasted error, a quoted reply or a signature, and orders hidden in the message do not change the result. Use for ticket triage, to route or label a support ticket, to classify support emails in a help desk inbox, or to decide which message needs a human first.

    $0.03once

    • x402
    • USDC
    • Base
    Get skill

    Tested with Sonnet and Haiku, 8 Oct 2026