academic-task-planner
Transform academic course assignment PDFs into structured, actionable markdown checklists with dates, unique IDs, and custom tags. Asks when the user will start, assigns tasks only to weekdays (Monday-Friday), respects weekends automatically, and calculates forum deadlines 3 days before due date. Use this skill when the user uploads academic PDFs or asks to create a task plan from course assignments.
Best use case
academic-task-planner is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Transform academic course assignment PDFs into structured, actionable markdown checklists with dates, unique IDs, and custom tags. Asks when the user will start, assigns tasks only to weekdays (Monday-Friday), respects weekends automatically, and calculates forum deadlines 3 days before due date. Use this skill when the user uploads academic PDFs or asks to create a task plan from course assignments.
Teams using academic-task-planner should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/academic-task-planner/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How academic-task-planner Compares
| Feature / Agent | academic-task-planner | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Transform academic course assignment PDFs into structured, actionable markdown checklists with dates, unique IDs, and custom tags. Asks when the user will start, assigns tasks only to weekdays (Monday-Friday), respects weekends automatically, and calculates forum deadlines 3 days before due date. Use this skill when the user uploads academic PDFs or asks to create a task plan from course assignments.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Academic Task Planner Skill
## Purpose
Transform academic course assignment PDFs into structured, actionable markdown checklists with dates, unique IDs, and custom tags. Assigns tasks to weekdays only, respecting real student schedules.
## When to Use This Skill
- User uploads a course assignment guide PDF (like UNAD's "Guía de aprendizaje")
- User requests a task breakdown or planning for an academic assignment
- User asks to create a checklist from an academic document
## Core Workflow
### Step 1: PDF Analysis
When a PDF is uploaded or referenced:
1. Read the complete PDF using `read_pdf_content` tool
2. Extract key information:
- **Course name and code**
- **Assignment title**
- **Official start date** (when assignment opens)
- **Due date** (final deadline)
- **Points/weight**
- **Deliverables** (what must be submitted)
- **Required steps** (what must be done)
- **Platform requirements** (where to submit)
- **Forum participation requirements** (if any)
### Step 2: Interactive Data Collection
Ask the user TWO questions in sequence:
#### Question 1: Start Date
```
He analizado tu guía. Información encontrada:
- **Curso:** [Course Name] ([Code])
- **Tarea:** [Assignment Title]
- **Fecha oficial de apertura:** [Official Start Date]
- **Fecha de entrega:** [Due Date]
- **Valor:** [Points] puntos
¿Cuándo vas a iniciar esta tarea?
(Puedes usar la fecha oficial o indicar otra fecha si prefieres empezar después)
Formato: YYYY-MM-DD o "mañana" o "próximo lunes", etc.
```
Wait for user response. Parse the date they provide.
#### Question 2: Tags
```
Perfecto, iniciarás el [parsed start date].
¿Qué tags quieres agregar a cada tarea?
Ejemplo: #estudio #cibercultura #universidad
Por favor proporciona los tags separados por espacios:
```
Wait for user response before proceeding.
### Step 3: Calculate Critical Dates
Based on the extracted dates and user input:
1. **User start date**: The date the user will actually begin working
2. **Official due date**: Final submission deadline from PDF
3. **Forum deadline**: **3 days before the final due date**
4. **Available working days**: Calculate weekdays between start and due date
### Step 4: Weekend Avoidance Logic
**CRITICAL RULE: Avoid weekends for regular tasks**
When assigning dates to tasks:
✅ **DO assign to weekdays:**
- Monday through Friday for ALL regular tasks
- Reading, research, creation, editing, review tasks
❌ **DO NOT assign to weekends (Saturday/Sunday)** EXCEPT:
- Forum participation deadline (if it falls on weekend)
- Final submission deadline (if it falls on weekend)
- These are immovable dates from the PDF
**Date Assignment Algorithm:**
```python
# Pseudo-code for date assignment
current_date = user_start_date
for task in tasks:
if task.is_critical_deadline: # Forum or final submission
task.date = task.fixed_deadline_date # Use exact date even if weekend
else:
# Assign to next available weekday
while current_date is weekend:
current_date = skip_to_next_monday()
task.date = current_date
current_date = next_day(current_date)
```
**Weekend Handling Examples:**
```
❌ WRONG:
- [ ] Leer artículo... 📅 2025-11-02 (Saturday)
✅ CORRECT:
- [ ] Leer artículo... 📅 2025-11-04 (Monday)
✅ EXCEPTION - Critical deadline on weekend:
- [ ] Publicar en foro (FECHA LÍMITE) 📅 2025-11-23 (Saturday) ⚠️
✅ EXCEPTION - Final submission on weekend:
- [ ] Subir documento Word (ENTREGA FINAL) 📅 2025-11-24 (Sunday) ⚠️
```
### Step 5: Task Breakdown Strategy
Create tasks with **moderate granularity**:
- **Not too detailed**: Avoid micro-tasks like "open document" or "click button"
- **Not too broad**: Avoid vague tasks like "complete entire assignment"
- **Balance**: Each task should take 30 minutes to 2-3 hours to complete
#### Task Categories and Typical Breakdown:
**Reading/Research Phase:**
- One task per major reading material
- One task for exploring digital resources (OVAs, videos, etc.)
- One task for reviewing previous work (if applicable)
**Creation Phase:**
For each deliverable, create 3-5 tasks:
- Planning/outlining
- Content creation
- Visual/technical elements
- Review and refinement
- Finalization and testing links/access
**Forum Participation:**
- One task: share main deliverable in forum
- One task: comment on peer work
- One task: capture screenshots for evidence
- **Note**: Forum deadline date is FIXED even if it's a weekend
**Final Documentation:**
- One task: write reflection
- One task: format bibliography
- One task: assemble final document
- One task: quality check (spelling, links, format)
- One task: plagiarism check (Turnitin/similar)
- One task: submit to platform
- **Note**: Final submission date is FIXED even if it's a weekend
### Step 6: Generate Markdown Structure
```markdown
# ✅ CHECKLIST [ASSIGNMENT NAME]
**Periodo:** [user start date] - [due date]
**Valor:** [points] puntos
**⚠️ Fecha límite foro:** [3 days before due date] [⚠️ add if weekend]
**⚠️ Fecha de entrega:** [due date] [⚠️ add if weekend]
---
## 📚 PHASE 1: [Phase Name] ([date range - weekdays only])
### 📖 [Section Name]
- [ ] [Task description] 📅 YYYY-MM-DD (Weekday) 🆔 [6-char-id] [user-tags]
- [ ] [Task description] 📅 YYYY-MM-DD (Weekday) 🆔 [6-char-id] [user-tags]
### 🎯 [Section Name]
- [ ] [Task description] 📅 YYYY-MM-DD (Weekday) 🆔 [6-char-id] [user-tags]
---
## 🗺️ PHASE 2: [Phase Name] ([date range - weekdays only])
[Continue pattern...]
---
## 💬 PARTICIPACIÓN EN FORO (⚠️ FECHA LÍMITE)
- [ ] [Task] 📅 [Forum Deadline - may be weekend] ⚠️ 🆔 [id] [tags]
- [ ] [Task] 📅 [Forum Deadline - may be weekend] ⚠️ 🆔 [id] [tags]
---
## 📝 ENTREGA FINAL (⚠️ FECHA LÍMITE)
- [ ] [Task] 📅 [Due Date - may be weekend] ⚠️ 🆔 [id] [tags]
- [ ] [Task] 📅 [Due Date - may be weekend] ⚠️ 🆔 [id] [tags]
---
## 📋 VERIFICACIÓN FINAL PRE-ENTREGA
- [ ] [Checklist item] 📅 [due date or day before] 🆔 [id] [tags]
---
**Total de tareas:** [count]
**Curso:** [course name] ([code])
**Días laborables disponibles:** [weekday count]
```
## ID Generation Rules
Generate unique 6-character IDs using this pattern:
- Mix of lowercase letters and numbers
- Format: `[digit][letter][letter][letter][digit][digit]`
- Examples: `0zwo06`, `8kj3m1`, `5tyu89`
- Ensure each ID is unique within the document
## Date Assignment Strategy
### Phase 1: Calculate Available Days
1. Count weekdays between user start date and due date
2. Identify if forum/submission deadlines fall on weekends
3. Reserve those critical dates
### Phase 2: Distribute Tasks
1. **Start with user-provided start date**
2. **Assign only to weekdays (Mon-Fri)** for regular tasks
3. **Skip weekends** - jump from Friday to next Monday
4. **Group related tasks** on same or consecutive days
5. **Reserve last 2-3 weekdays** before deadline for final tasks
### Phase 3: Mark Critical Dates
- Add ⚠️ symbol to tasks that fall on weekends (forum/submission only)
- Clearly indicate these are immovable deadlines
### Example Calendar Progression:
```
Week 1:
Mon 2025-10-30: Task 1
Tue 2025-10-31: Task 2
Wed 2025-11-01: Task 3
Thu 2025-11-02: Task 4
Fri 2025-11-03: Task 5
[SKIP WEEKEND]
Mon 2025-11-04: Task 6
...
Final Week:
Thu 2025-11-21: Task 38
Fri 2025-11-22: Task 39
Sat 2025-11-23: ⚠️ FORO DEADLINE (Exception)
Sun 2025-11-24: ⚠️ FINAL SUBMISSION (Exception)
```
## Task Quantity Guidelines
Target task counts by assignment duration (counting weekdays only):
- **1-2 weeks (10-14 weekdays):** 15-25 tasks
- **3-4 weeks (15-20 weekdays):** 30-50 tasks
- **5+ weeks (25+ weekdays):** 50-70 tasks
Adjust based on complexity, not just duration.
## Special Considerations
### Forum Participation
Always include:
- Calculate deadline: **exactly 3 days before final due date**
- If forum deadline falls on weekend: Keep the date, add ⚠️ symbol
- Minimum tasks:
1. Post main content/link
2. Comment on at least one peer
3. Capture evidence (screenshots)
### Final Submission
Always include:
- If final deadline falls on weekend: Keep the date, add ⚠️ symbol
- Prepare final tasks for the weekday(s) immediately before
- Include clear warning about the weekend deadline
### Document Assembly
Final phase tasks (assign to last 2-3 weekdays before deadline):
- Cover page creation
- All deliverable links
- Evidence captures
- Reflection/learning
- Bibliography/references
- Format review
- Link verification
- Plagiarism check
- Platform submission
### Platform-Specific Tasks
If the PDF mentions:
- **Miro**: Include account creation and public sharing
- **Video/Reel**: Include filming, editing, publishing, link copying
- **Presentations**: Include slide creation, design, and export
- **Turnitin**: Include upload and similarity report review
## Output Format
1. **Always create the markdown file** in `/mnt/user-data/outputs/`
2. **Filename format**: `[CourseName]_Tarea[Number]_Checklist.md`
- Example: `Cibercultura_Tarea4_Checklist.md`
3. **Use the user's provided tags** on every single task
4. **Include weekday count** at the bottom
5. **Mark weekend deadlines** with ⚠️ symbol
## Quality Checklist
Before delivering, verify:
- [ ] User was asked for start date
- [ ] User was asked for tags
- [ ] All dates are in YYYY-MM-DD format
- [ ] Regular tasks are assigned ONLY to weekdays (Mon-Fri)
- [ ] Weekend dates appear ONLY for critical deadlines (forum, submission)
- [ ] Critical weekend deadlines have ⚠️ symbol
- [ ] Forum deadline is exactly 3 days before due date
- [ ] All IDs are unique and follow the pattern
- [ ] User's tags appear on every task
- [ ] Tasks are moderately granular (not too detailed, not too vague)
- [ ] Phases are logically organized by type of work
- [ ] Final verification section is included
- [ ] Weekday count is mentioned in document
- [ ] File is saved in outputs directory
## Example Interaction
**User:** *uploads PDF*
"Crea un plan de tareas para esta guía"
**Assistant:**
"Perfecto, voy a analizar tu guía de aprendizaje y crear un checklist organizado.
Primero, déjame revisar el documento..."
*[reads PDF and extracts info]*
"He encontrado:
- **Curso:** Cibercultura (403037)
- **Tarea:** Tarea 4 - Ser digital
- **Fecha oficial de apertura:** 24 de octubre de 2025
- **Fecha de entrega:** 24 de noviembre de 2025
- **Valor:** 120 puntos
**¿Cuándo vas a iniciar esta tarea?**
(Puedes usar la fecha oficial del 24 de octubre, o indicar otra fecha si prefieres empezar después)
Formato: YYYY-MM-DD o 'mañana' o 'próximo lunes', etc."
**User:** "30 de octubre"
**Assistant:**
"Perfecto, iniciarás el 30 de octubre de 2025.
Eso te da 18 días laborables (lunes a viernes) para completar la tarea.
**¿Qué tags quieres agregar a cada tarea?**
Ejemplo: #estudio #cibercultura #unad
Por favor proporciona los tags separados por espacios:"
**User:** "#estudio #cibercultura"
**Assistant:**
"Excelente, voy a crear tu checklist con:
- Inicio: 30 de octubre (miércoles)
- Tags: #estudio #cibercultura
- Tareas asignadas solo en días laborables (lunes a viernes)
- **Fecha límite del foro:** 21 de noviembre (viernes)
- **Fecha de entrega final:** 24 de noviembre (lunes)
Organizaré las tareas en 4 fases principales:
1. Semana 1: Lectura y comprensión (6 tareas)
2. Semana 2: Creación del mapa mental (6 tareas)
3. Semana 3: Producción del reel (8 tareas)
4. Semana 4: Documentación y entrega (16 tareas)
Nota: He evitado asignar tareas en fines de semana. Solo las fechas límite del foro y entrega final pueden caer en fin de semana si así están establecidas.
Generando tu checklist..."
*[creates markdown file]*
"[View Cibercultura_Tarea4_Checklist.md](computer:///mnt/user-data/outputs/Cibercultura_Tarea4_Checklist.md)
He creado tu checklist con 43 tareas distribuidas en 18 días laborables. Todas las tareas están asignadas a días de lunes a viernes, excepto las fechas límite obligatorias. ¡Éxito con tu tarea!"
## Error Handling
**If user provides ambiguous start date:**
- Parse natural language ("mañana", "próximo lunes", "en 3 días")
- Confirm the calculated date with user before proceeding
**If start date is after official start date:**
- Acknowledge: "Iniciarás [X] días después de la apertura oficial"
- Recalculate available time
- Warn if time is tight
**If start date creates impossible timeline:**
- Alert user: "Con esta fecha de inicio, solo tendrás [X] días laborables, lo cual puede ser muy ajustado"
- Ask if they want to adjust or proceed anyway
**If PDF is unclear or missing information:**
- Clearly state what information is missing
- Ask user to provide the missing details
- Proceed with reasonable defaults if user confirms
**If critical deadline falls on weekend:**
- Keep the exact date
- Add ⚠️ warning symbol
- Mention it in the summary
## Tips for Best Results
1. **Read the entire PDF** before starting to break down tasks
2. **Always ask for start date** - don't assume they start on official opening date
3. **Strictly avoid weekends** for regular tasks - students work Mon-Fri
4. **Preserve critical dates** even if they're weekends - deadlines are deadlines
5. **Identify ALL deliverables** - don't miss any requirements
6. **Look for evaluation criteria** - these hint at important tasks
7. **Note any sequencing requirements** - some tasks must be done before others
8. **Check for technical requirements** - platforms, formats, tools
9. **Always ask for tags** - don't assume or skip this step
10. **Count available weekdays** - this determines realistic task distribution
## Maintenance Notes
This skill should be updated if:
- User feedback indicates tasks are too granular or too broad
- Weekend avoidance logic needs refinement
- New common assignment types emerge (e.g., podcast creation, AR projects)
- Platform requirements change (e.g., new submission systems)
- Date calculation logic needs adjustment
---
**Version:** 2.0
**Created:** October 2025
**Last Updated:** October 2025 (Added start date question + weekend avoidance)
**Skill Type:** Academic Planning & OrganizationRelated Skills
AILANG Sprint Planner
Analyze design docs, calculate velocity from recent work, and create realistic sprint plans with day-by-day breakdowns. Use when user asks to "plan sprint", "create sprint plan", or wants to estimate development timeline.
Meal Planner
Plan meals with weekly menus, shopping lists, batch cooking, budget tracking, dietary preferences, and recipe management.
azure-resource-manager-durabletask-dotnet
Azure Resource Manager SDK for Durable Task Scheduler in .NET.
adhd-task-management-skill
ADHD-optimized task tracking with abandonment detection, intervention strategies, and completion accountability
unity-unitask
UniTask library expert specializing in allocation-free async/await patterns, coroutine migration, and Unity-optimized asynchronous programming. Masters UniTask performance optimizations, cancellation handling, and memory-efficient async operations. Use PROACTIVELY for UniTask implementation, async optimization, or coroutine replacement.
tasks-code-review
Use for QUICK PR reviews with structured checklists (architecture, patterns, security, performance). Provides step-by-step review process, git diff commands, and review report templates. Best for pull request reviews and pre-commit checks. NOT for deep refactoring analysis (use code-review instead).
task-bg
Launch and manage background tasks for parallel droid execution using background-manager.py. Factory Droid has no native run_in_background, so this uses manual Python-based background management.
sw-tech-stack-planner
Use when user wants a tech stack recommendation, technology choices, docker-compose setup, or architecture decisions for a software project – reads vision.md, user-stories.md, use-cases.md and generates requirements/tech-stack.yaml silently.
sqlmodel-task-models
This skill should be used when defining a robust, type-safe, and async-compatible database schema for the Todo application using SQLModel, ensuring compatibility with Better Auth and optimized for PostgreSQL.
prd-planner
Analyzes PRDs and creates beads task breakdown for multi-agent implementation
parallel-task-format
Compact YAML format for defining parallel task specifications with scope, boundaries, and agent assignments. Use when creating task files for parallel development.
Meta Dispatcher & Task Orchestrator
PRD 驱动的任务调度与技能管理专家。接收完整 PRD/需求文档,负责拆解业务、选择技术栈、路由到合适的专业 Skill,并维护从方案到落地的全流程。