Install
$ agentstack add skill-vasilievyakov-miracle-infrastructure-action-items ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Action Items: Extract Tasks from Any Text
Quickly turns call transcripts, chats, documents into a structured task list with assignees, deadlines, and priorities.
Step 1: Accept input
The user can provide:
| Format | How to process | |--------|---------------| | .txt file | Audio transcript (Whisper). Read entirely | | .json (Chat export) | Extract messages[].text, messages[].from | | .html (Chat export) | Extract message text from HTML | | .pdf | Extract text | | Multiple files | Process each, merge results | | Text in message | Process directly |
If no file provided, ask:
Attach a file (transcript, chat, document) or paste text
from which to extract tasks.
Handling large files
If file > 25000 tokens:
- Read first 500 lines for context and participants
- Process in blocks of 500 lines
- Merge results, remove duplicates
Handling multiple files
If the user provides multiple files:
- Process each in parallel via Task tool (subagent_type: "general-purpose")
- Give each agent this same prompt for extraction
- Merge and deduplicate results
Step 2: Identify participants
Extract all mentioned people/roles from the text:
- By name: "Alex said...", "Maria suggested..."
- By role: "client", "designer", "developer"
- User = "I", "me", "we"
Result: list of {name/role} for task assignment.
Step 3: Extract all commitments and tasks
Search the text for:
Explicit commitments
- "I will do...", "We will prepare...", "I will send by..."
- "Need to...", "Must...", "Should..."
- "Let's...", "Agreed that..."
Implicit tasks
- Questions without answers -> task "find out/answer"
- Problems without solutions -> task "resolve/investigate"
- Ideas/suggestions -> task "consider/evaluate"
Deadlines
- Explicit: "by Friday", "by February 15", "next week"
- Implicit: "urgently", "ASAP", "when there's time"
- Contextual: "before the meeting", "before launch"
Step 4: Classify and prioritize
For each task determine:
Priority:
- P0, Blocker: cannot move forward without this
- P1, Urgent: has a deadline or external pressure
- P2, Important: needs to be done, not on fire
- P3, Someday: idea, wish, backlog
Type:
- Decision (approve/decide)
- Action (do/create/send)
- Communication (write/call/discuss)
- Research (find out/verify/investigate)
Step 5: Generate report
Output format:
# Action Items: {source}
> Extracted from: {filename or description}
> Date: {today}
> Participants: {list}
## P0: Blockers
- [ ] **{task}** - {assignee} | {deadline}
> Context: "{quote from text}"
## P1: Urgent
- [ ] **{task}** - {assignee} | {deadline}
> Context: "{quote}"
## P2: Important
- [ ] **{task}** - {assignee}
> Context: "{quote}"
## P3: Backlog
- [ ] {task}
---
## Unanswered Questions
- {question that was raised and not resolved}
## Key Decisions
- {what was decided during the conversation, for context}
Step 6: Suggest next step
After the report:
Extracted {N} tasks from {source}.
What's next?
1. Save to file (action-items-{date}.md)
2. Link to project via /session-save
3. Clarify/reprioritize
Rules
Accuracy over completeness
- Better to miss a questionable task than to invent a nonexistent one
- Every task must be backed by a quote from the source text
- If assignee unclear, write "unassigned"
Do not over-interpret
- Extract only what is said or clearly implied
- Do not invent tasks that are not in the text
- If context is ambiguous, note it
Audio transcript specifics
- Whisper may confuse names. Flag if a name seems uncertain
- "I guess we kinda should..." = weak task (P3)
- "Make sure you do this by..." = strong task (P1)
- Transcripts often contain false starts and repetitions. Filter them
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: vasilievyakov
- Source: vasilievyakov/miracle-infrastructure
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.