一键导入
educational-grade-analysis
Excel-based student grade analysis with percentage conversion, distribution charts, and detailed performance breakdown
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Excel-based student grade analysis with percentage conversion, distribution charts, and detailed performance breakdown
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Handle typos and variations in brand/product names to discover correct terminology and find relevant information
Automated code review — analyzes source files for bugs, security issues, style violations, and improvement suggestions. Use when asked to review code, check quality, or find problems in files.
Intelligent debugging assistant — analyzes error messages, stack traces, logs, and runtime behavior to identify root causes and suggest fixes.
Generate documentation from source code — creates README, API docs, module summaries, and inline documentation. Use when asked to document code, generate docs, or explain a codebase.
Validate environment variables, dependencies, and system requirements. Diagnose missing configs, version mismatches, and setup issues.
Fast recursive file search — find files by name, extension, content, or size. Use for locating files in large codebases, finding references, or discovering project structure.
| name | educational-grade-analysis |
| description | Excel-based student grade analysis with percentage conversion, distribution charts, and detailed performance breakdown |
This skill analyzes student exam/assignment scores from Excel files, converts raw scores to percentages, generates distribution visualizations, and provides detailed performance analysis by question.
.xlsx) using pandas(score / total_points) * 100Generate 4-panel visualization saved as PNG:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
def analyze_grades(filepath: str, total_points: float, score_col: str = None) -> dict:
"""Complete grade analysis workflow."""
# Phase 1: Load data
df = pd.read_excel(filepath)
if score_col:
scores = df[score_col]
else:
# Assume last column or column with 'score' in name
scores = df.iloc[:, -1]
# Phase 2: Convert to percentages
percentages = (scores / total_points) * 100
df['Percentage'] = percentages
# Assign grades
def assign_grade(pct):
if pct >= 80: return 'A'
elif pct >= 70: return 'B'
elif pct >= 60: return 'C'
elif pct >= 50: return 'D'
else: return 'F'
df['Grade'] = df['Percentage'].apply(assign_grade)
# Phase 3: Statistics
stats = {
'mean': df['Percentage'].mean(),
'std': df['Percentage'].std(),
'max': df['Percentage'].max(),
'min': df['Percentage'].min(),
'passing_rate': (df['Grade'] != 'F').mean() * 100
}
# Phase 4: Visualizations
fig, axes = plt.subplots(2, 2, figsize=(14, 10))
# Histogram
axes[0, 0].hist(df['Percentage'], bins=20, edgecolor='black', alpha=0.7)
axes[0, 0].axvline(stats['mean'], color='red', linestyle='--', label=f'Mean: {stats["mean"]:.1f}%')
axes[0, 0].set_title('Score Distribution')
axes[0, 0].set_xlabel('Percentage')
axes[0, 0].legend()
# Grade bar
grade_counts = df['Grade'].value_counts().reindex(['A', 'B', 'C', 'D', 'F'])
colors = ['#2ecc71', '#3498db', '#f1c40f', '#e67e22', '#e74c3c']
axes[0, 1].bar(grade_counts.index, grade_counts.values, color=colors)
axes[0, 1].set_title('Grade Distribution')
axes[0, 1].set_ylabel('Number of Students')
# Pie chart
axes[1, 0].pie(grade_counts.values, labels=grade_counts.index, colors=colors, autopct='%1.1f%%')
axes[1, 0].set_title('Grade Distribution (%)')
plt.tight_layout()
plt.savefig('grade_analysis.png', dpi=150)
plt.close()
return {'stats': stats, 'dataframe': df, 'chart_file': 'grade_analysis.png'}