aiskillstore/action-item-organizer
Systematic framework for extracting actionable items from documents and organizing them into prioritized, trackable checklists. Use when converting reports, meeting notes, audits, or any document with embedded action items into structured TODO lists.
This is a copy. The original lives at comeonoliver/action-item-organizer.
npx skills add https://github.com/aiskillstore/marketplace --skill action-item-organizer
This skill provides a systematic framework for extracting actionable items from unstructured documents and transforming them into well-organized, prioritized, trackable checklists in markdown format.
Action items must be extracted with sufficient context so that anyone reading the checklist understands:
Use a clear priority framework to organize items by urgency and impact:
Within each priority level, group related items logically (e.g., security items together, performance items together).
Break down complex action items into hierarchical checklists:
This creates a clear execution path and allows for granular progress tracking.
Maintain links between action items and their sources:
This enables bidirectional traceability and informed prioritization.
Extract items that are:
Skip items that are:
For each action item, extract:
Required Metadata:
Optional Metadata (extract if available):
Assign each item to a priority level based on:
P0 Criteria:
P1 Criteria:
P2 Criteria:
P3 Criteria:
Structure items using nested checklists:
- [ ] **Category: Main task description** (#tracking-id)
- [ ] Sub-task 1
- [ ] Sub-task 2
- [ ] Detailed implementation step
- **File**: `path/to/file.ext:lines`
- **Owner**: Team/Person
- **Estimate**: Time estimate
- **Context**: Why this matters and what it achieves
For each priority section, calculate:
Create a structured markdown document with:
- [ ] Task description
- [ ] **Category: Task description** (#123)
- **File**: `src/file.js:45-67`
- **Owner**: Backend Team
- **Estimate**: 3 hours
- **Context**: Explanation of why this matters
- [ ] **Security: Implement authentication** (#456)
- [ ] Add session validation
- [ ] Implement rate limiting
- [ ] Add authorization checks
- **File**: `api/auth.ts`
- **Owner**: Security Team
- **Estimate**: 8 hours
## P0 - Blockers (Must Fix Before Merge)
**Summary**: 5 items | 12 hours estimated
- [ ] Item 1...
- [ ] Item 2...
# TODO List
> Generated from: [source-document.md]
> Date: YYYY-MM-DD HH:MM:SS
> Total Items: X | Total Estimated Hours: Y
## P0 - Blockers (Must Fix Before Merge)
**Summary**: N items | M hours estimated
- [ ] **Category: Task description** (#id)
- [ ] Sub-task
- **File**: `path/file.ext:lines`
- **Owner**: Team
- **Estimate**: X hours
- **Context**: Why this matters
## P1 - High Priority
**Summary**: N items | M hours estimated
[items...]
## P2 - Medium Priority
**Summary**: N items | M hours estimated
[items...]
## P3 - Low Priority / Future
**Summary**: N items | M hours estimated
[items...]
---
## Completion Tracking
- P0 Blockers: 0/N completed (0%)
- P1 High Priority: 0/M completed (0%)
- P2 Medium Priority: 0/K completed (0%)
- P3 Low Priority: 0/J completed (0%)
**Overall Progress**: 0/X tasks completed (0%)
Bad: - [ ] Fix bug
Good: - [ ] Bug Fix: Handle null response in user fetch (#789)
Bad: Ten separate items for one complex task
Good: One parent with nested sub-tasks
Bad: No file paths or line numbers
Good: Always include location metadata
Bad: - [ ] Improve performance
Good: - [ ] Performance: Add caching to user query - reduces DB calls from 100/req to 1/req
Bad: Everything is P0
Good: Reserve P0 for true blockers
Input: Code review report with security findings
Output:
# TODO List
> Generated from: CODE_REVIEW_REPORT.md
> Date: 2025-12-09 10:30:00
> Total Items: 8 | Total Estimated Hours: 23
## P0 - Blockers (Must Fix Before Merge)
**Summary**: 2 items | 5 hours estimated
- [ ] **Security: Add authentication to token endpoint** (#1)
- [ ] Implement getServerSession check
- [ ] Add authorization verification
- [ ] Add rate limiting (10 req/min per IP)
- **File**: `app/api/livekit/token/route.ts:15-30`
- **Owner**: Backend Team
- **Estimate**: 4 hours
- **Context**: Public endpoint exposed without auth allows unauthorized access
- [ ] **Security: Remove hardcoded credentials** (#2)
- [ ] Remove fallback values from environment reads
- [ ] Add explicit validation for required credentials
- [ ] Fail fast if credentials missing at startup
- **File**: `experiments/livekit/src/index.ts:182-183`
- **Owner**: Backend Team
- **Estimate**: 1 hour
- **Context**: Hardcoded fallbacks create security risk in production
Input: Team meeting notes with scattered action items
Output:
# Action Items - Q4 Planning Meeting
> Generated from: team-meeting-2025-12-09.md
> Date: 2025-12-09 14:00:00
> Total Items: 12 | Total Estimated Hours: 45
## P1 - High Priority
**Summary**: 5 items | 20 hours estimated
- [ ] **Architecture: Design new API gateway** (#45)
- [ ] Research existing solutions (Kong, Tyk, AWS API Gateway)
- [ ] Document requirements and constraints
- [ ] Create comparison matrix
- [ ] Present findings to team
- **Owner**: Sarah
- **Estimate**: 8 hours
- **Context**: Current gateway hitting scale limits at 1000 req/s
- [ ] **Documentation: Update onboarding guide** (#46)
- [ ] Add sections on local development setup
- [ ] Document deployment process
- [ ] Add troubleshooting guide
- **Owner**: Mike
- **Estimate**: 4 hours
- **Context**: New engineers spending 2 days on setup
For detailed guidance on specific aspects of action item organization:
references/priority-framework.md: Comprehensive priority classification criteria with domain-specific examplesreferences/metadata-extraction-patterns.md: Detailed patterns for extracting different types of metadata from various document formatsreferences/TODO_LIST.template.md: TODO list template with priority-based organization (P0-P3), blocked tasks, and completion trackingLoad these references when you need deeper guidance on priority decisions or metadata extraction strategies.
Take aiskillstore/action-item-organizer from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.