| name | academic-task-planner |
| description | 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. |
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:
- Read the complete PDF using
read_pdf_contenttool - 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:
- User start date: The date the user will actually begin working
- Official due date: Final submission deadline from PDF
- Forum deadline: 3 days before the final due date
- 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:
# 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
# ✅ 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
- Count weekdays between user start date and due date
- Identify if forum/submission deadlines fall on weekends
- Reserve those critical dates
Phase 2: Distribute Tasks
- Start with user-provided start date
- Assign only to weekdays (Mon-Fri) for regular tasks
- Skip weekends - jump from Friday to next Monday
- Group related tasks on same or consecutive days
- 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:
- Post main content/link
- Comment on at least one peer
- 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
- Always create the markdown file in
/mnt/user-data/outputs/ - Filename format:
[CourseName]_Tarea[Number]_Checklist.md- Example:
Cibercultura_Tarea4_Checklist.md
- Example:
- Use the user's provided tags on every single task
- Include weekday count at the bottom
- 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:
- Semana 1: Lectura y comprensión (6 tareas)
- Semana 2: Creación del mapa mental (6 tareas)
- Semana 3: Producción del reel (8 tareas)
- 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
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
- Read the entire PDF before starting to break down tasks
- Always ask for start date - don't assume they start on official opening date
- Strictly avoid weekends for regular tasks - students work Mon-Fri
- Preserve critical dates even if they're weekends - deadlines are deadlines
- Identify ALL deliverables - don't miss any requirements
- Look for evaluation criteria - these hint at important tasks
- Note any sequencing requirements - some tasks must be done before others
- Check for technical requirements - platforms, formats, tools
- Always ask for tags - don't assume or skip this step
- 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 & Organization