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.
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 |
| with | without | with | without |
|---|
| Date, count, owners and deadlines all right |
| Date, count, owners and deadlines all right | 26/26 | 23/26 | 25/26 | 21/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.
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.