Education
Academic Support Module
Administrative Tasks Module
Communication Module
Curriculum Development Module
Enrollment & Registration Module
Learning Module
Resource Management Module
Need a custom agent?
Build tailored AI solutions
Work with our team to develop custom AI agents for your business.
Contact usProgress Tracker
You are the academic monitoring system responsible for tracking student performance and triggering interventions.
Instructions
ALWAYS reference the school's knowledge base for grade thresholds,
monitoring policies, and intervention timelines.
Primary Monitoring Functions:
1. Analyze real-time grade data and identify concerning trends.
2. Track attendance patterns and LMS engagement metrics.
3. Generate risk indicators for academic and behavioral issues.
4. Trigger appropriate intervention recommendations.
5. Monitor effectiveness of implemented support strategies.
Grade Analysis Process:
- Monitor weekly grade updates across all subjects.
- Flag students with grades below 70% (C- threshold).
- Track assignment completion rates and submission patterns.
- Identify sudden grade drops or consistent declining trends.
- Compare current performance to historical student data.
Attendance & Engagement Tracking:
- Daily attendance monitoring with absence pattern analysis.
- LMS login frequency and time-on-task measurements.
- Participation in class discussions and group activities.
- Completion rates for online assignments and assessments.
Risk Indicator Generation:
- Academic risks: GPA below 2.0, failing multiple courses,
missing assignments.
- Behavioral risks: Poor attendance, disciplinary issues,
social withdrawal.
- Combine multiple data sources for comprehensive risk assessment.
Intervention Recommendations:
- Tier 1: Teacher check-ins, parent communication, study reminders.
- Tier 2: Tutoring referral, counselor meetings, modified assignments.
- Tier 3: Intensive support, IEP/504 evaluation, alternative programs.
Output Deliverables:
- Risk Assessment Report: Student risk level with supporting data.
- Intervention Recipes: Specific recommended actions with timelines.
- Progress Trends: Visual representation of academic trajectory.
- Advisor Outreach List: Priority students requiring immediate
attention.
- Parent Notification Triggers: Family communication recommendations.
Data Privacy:
- Maintain strict confidentiality while ensuring appropriate
stakeholders receive necessary information.Knowledge Base (.md)
Business reference guide
Drag & Drop or Click
.md files only
Data Files
Upload data for analysis (CSV, JSON, Excel, PDF)
Drag & Drop or Click
Multiple files: .json, .csv, .xlsx, .pdf
Tools 3
calculate_grade_trends
Calculate grade trends over time to identify patterns and predict outcomes.
Args:
grade_history: JSON string with historical grade data
Example: {"student_id": "12345", "grades": [{"date": "2026-01-15", "subject": "Math", "score": 85}, ...]}
Returns:
Grade trend analysis with trajectory predictions
calculate_grade_trends
Calculate grade trends over time to identify patterns and predict outcomes. Args: grade_history: JSON string with historical grade data Example: {"student_id": "12345", "grades": [{"date": "2026-01-15", "subject": "Math", "score": 85}, ...]} Returns: Grade trend analysis with trajectory predictions
def calculate_grade_trends(grade_history: str) -> str: """ Calculate grade trends over time to identify patterns and predict outcomes. Args: grade_history: JSON string with historical grade data Example: {"student_id": "12345", "grades": [{"date": "2026-01-15", "subject": "Math", "score": 85}, ...]} Returns: Grade trend analysis with trajectory predictions """ try: if isinstance(grade_history, str): try: data = json.loads(grade_history) except json.JSONDecodeError: return "Error: Invalid JSON format for grade history" else: data = grade_history student_id = data.get('student_id', 'Unknown') grades = data.get('grades', []) if not grades: return "Error: No grade data provided" "color: #6b7280;"># Organize by subject by_subject = {} for grade in grades: subject = grade.get('subject', 'Unknown') score = grade.get('score', 0) if subject not in by_subject: by_subject[subject] = [] by_subject[subject].append(score) report = f"=== GRADE TREND ANALYSIS ===\n\n" report += f"Student ID: {student_id}\n" report += f"Analysis Period: {len(grades)} grade entries\n\n" report += f"{'Subject':<20} {'Average':>10} {'Trend':>10} {'Risk Level':>15}\n" report += "-" * 65 + "\n" overall_at_risk = False for subject, scores in by_subject.items(): avg = sum(scores) / len(scores) "color: #6b7280;"># Calculate trend if len(scores) >= 2: recent_avg = sum(scores[-3:]) / len(scores[-3:]) if len(scores) >= 3 else scores[-1] early_avg = sum(scores[:3]) / len(scores[:3]) if len(scores) >= 3 else scores[0] if recent_avg > early_avg + 5: trend = "↑ Rising" elif recent_avg < early_avg - 5: trend = "↓ Falling" else: trend = "→ Stable" else: trend = "→ Limited" "color: #6b7280;"># Risk assessment if avg < 60: risk = "🔴 Critical" overall_at_risk = True elif avg < 70: risk = "⚠️ Warning" overall_at_risk = True elif avg < 80: risk = "○ Monitor" else: risk = "✓ Good" report += f"{subject:<20} {avg:>9.1f}% {trend:>10} {risk:>15}\n" report += "\n=== RECOMMENDATIONS ===\n" if overall_at_risk: report += "⚠️ Student requires academic intervention\n" report += "Actions:\n" report += " 1. Schedule parent-teacher conference\n" report += " 2. Develop individualized support plan\n" report += " 3. Increase monitoring frequency to weekly\n" report += " 4. Consider tutoring or peer mentoring\n" else: report += "✓ Student is performing adequately\n" report += "Continue current monitoring schedule\n" return report except Exception as e: return f"Error calculating grade trends: {str(e)}"
track_attendance_patterns
Track and analyze attendance patterns to identify chronic absenteeism.
Args:
attendance_data: JSON string with attendance records
Example: {"student_id": "12345", "records": [{"date": "2026-01-15", "status": "present"}, ...]}
Returns:
Attendance pattern analysis with intervention recommendations
track_attendance_patterns
Track and analyze attendance patterns to identify chronic absenteeism. Args: attendance_data: JSON string with attendance records Example: {"student_id": "12345", "records": [{"date": "2026-01-15", "status": "present"}, ...]} Returns: Attendance pattern analysis with intervention recommendations
def track_attendance_patterns(attendance_data: str) -> str: """ Track and analyze attendance patterns to identify chronic absenteeism. Args: attendance_data: JSON string with attendance records Example: {"student_id": "12345", "records": [{"date": "2026-01-15", "status": "present"}, ...]} Returns: Attendance pattern analysis with intervention recommendations """ try: if isinstance(attendance_data, str): try: data = json.loads(attendance_data) except json.JSONDecodeError: return "Error: Invalid JSON format for attendance data" else: data = attendance_data student_id = data.get('student_id', 'Unknown') records = data.get('records', []) if not records: return "Error: No attendance records provided" total_days = len(records) present = sum(1 for r in records if r.get('status') == 'present') absent = sum(1 for r in records if r.get('status') == 'absent') excused = sum(1 for r in records if r.get('status') == 'excused') tardy = sum(1 for r in records if r.get('status') == 'tardy') attendance_rate = (present / total_days) * 100 if total_days > 0 else 0 report = f"=== ATTENDANCE PATTERN ANALYSIS ===\n\n" report += f"Student ID: {student_id}\n" report += f"Analysis Period: {total_days} school days\n\n" report += f"{'Status':<20} {'Count':>10} {'Percentage':>12}\n" report += "-" * 45 + "\n" report += f"{'Present':<20} {present:>10} {(present/total_days)*100:>11.1f}%\n" report += f"{'Absent(Unexcused)':<20} {absent:>10} {(absent/total_days)*100:>11.1f}%\n" report += f"{'Excused':<20} {excused:>10} {(excused/total_days)*100:>11.1f}%\n" report += f"{'Tardy':<20} {tardy:>10} {(tardy/total_days)*100:>11.1f}%\n" report += f"\n=== ATTENDANCE RATE ===\n" report += f"Overall: {attendance_rate:.1f}%\n\n" "color: #6b7280;"># Risk assessment report += "=== RISK ASSESSMENT ===\n" if attendance_rate < 85: report += "🔴 CRITICAL: Chronic absenteeism detected\n" report += "Student is at high risk for academic failure\n\n" report += "IMMEDIATE ACTIONS REQUIRED:\n" report += " 1. Contact family to identify barriers to attendance\n" report += " 2. Develop attendance improvement plan\n" report += " 3. Connect family with support services\n" report += " 4. Daily attendance monitoring\n" report += " 5. Consider truancy intervention if pattern continues\n" elif attendance_rate < 90: report += "⚠️ WARNING: Below-target attendance\n" report += "Actions:\n" report += " 1. Parent notification and conference\n" report += " 2. Identify attendance barriers\n" report += " 3. Weekly monitoring\n" elif attendance_rate < 95: report += "○ MONITOR: Acceptable but room for improvement\n" report += "Continue standard monitoring\n" else: report += "✓ EXCELLENT: Strong attendance pattern\n" report += "Student demonstrates strong commitment to learning\n" return report except Exception as e: return f"Error tracking attendance patterns: {str(e)}"
reasoning_tools
ReasoningTools from agno framework
reasoning_tools
ReasoningTools from agno framework
Test Agent
Configure model settings at the top, then test the agent below
Enter your question or instruction for the agent