金色时刻 · 15:48
让好资源,触手可及
AGENT SKILL

student_database

student_database 是面向文档处理、商业与营销、研究的 Agent Skill,来自 MassLab-SII/open-agent-skills。查看技能说明、操作步骤与使用约定,并通过原项目了解详细用法。

Student database processing tools. Includes grade calculation, duplicate name detection, recommendation letter filtering, and TOEFL score filtering.

SKILL.md

下载 MD ↓
namestudent-database
descriptionStudent database processing tools. Includes grade calculation, duplicate name detection, recommendation letter filtering, and TOEFL score filtering.

Student Database Skill

This skill provides tools for processing student database:

  1. Grade calculation: Calculate student grades from scores
  2. Duplicate name finder: Find duplicate names in database
  3. Filter by recommendation: Find students by recommendation grade
  4. Filter by TOEFL: Find students by TOEFL score threshold

Important Notes

  • Do not use other bash commands: Do not attempt to use general bash commands or shell operations like cat, ls.
  • Use relative paths: Use paths relative to the working directory (e.g., ./student_database).

I. Skills

1. Grade-Based Score

Calculate student grades from student database and generate output files.

Features

  • Read all basic_info.txt files from student folders
  • Extract chinese, math, english scores
  • Calculate grades: A(90+), B(80-89), C(70-79), D(60-69), F(<60)
  • Generate student_grades.csv and grade_summary.txt

Example

python gradebased_score.py ./student_database

# Specify output directory
python gradebased_score.py ./student_database --output-dir ./output

Output Files

  1. student_grades.csv: student_id, name, chinese_score, chinese_grade, math_score, math_grade, english_score, english_grade
  2. grade_summary.txt: Total students, A/B/C/D/F counts per subject, pass/fail counts

2. Duplicate Name Finder

Find duplicate names in student database.

Features

  • Scan all student folders
  • Extract names from basic_info.txt
  • Identify names that appear more than once
  • Generate namesake.txt

Example

python duplicate_name.py ./student_database

# Specify output file
python duplicate_name.py ./student_database --output ./namesake.txt

Output Format

name: xxx
count: xxx
ids: xxx, xxx, ...

name: yyy
count: yyy
ids: yyy, yyy, ...

3. Filter by Recommendation Grade

Find students with specified grade(s) from recommendation_letter.txt files.

Features

  • Filter by single grade (S, A, B, C, D, F) or multiple grades (e.g., SA for S or A)
  • Returns list of matching student folder names

Example

# Filter students with grade S
python filter_by_recommendation.py ./student_database S

# Filter students with grade A
python filter_by_recommendation.py ./student_database A

# Filter students with grade S OR A
python filter_by_recommendation.py ./student_database SA

4. Filter by TOEFL Score

Find students with TOEFL score >= a specified threshold.

Features

  • Reads TOEFL score from basic_info.txt in each student folder
  • Filter by minimum score threshold
  • Returns list of matching student folder names

Example

# Find students with TOEFL >= 100
python filter_by_toefl.py ./student_database 100

# Find students with TOEFL >= 90
python filter_by_toefl.py ./student_database 90

II. Basic Tools (FileSystemTools)

Below are the basic tool functions. These are atomic operations for flexible combination.

Prefer Skills over Basic Tools: When a task matches one of the Skills above, use the corresponding Skill instead of Basic Tools. Skills are more efficient because they can perform batch operations in a single call.

Note: Code should be written without line breaks.

How to Run

# Standard format
python run_fs_ops.py -c "await fs.read_text_file('./file.txt')"

File Reading Tools

read_text_file(path, head=None, tail=None)

Use Cases: - Read complete file contents - Read first N lines (head) or last N lines (tail)

Example:

python run_fs_ops.py -c "await fs.read_text_file('./data/file.txt')"

read_multiple_files(paths)

Use Cases: - Read multiple files simultaneously

Example:

python run_fs_ops.py -c "await fs.read_multiple_files(['./a.txt', './b.txt'])"

File Writing Tools

write_file(path, content)

Use Cases: - Create new files with short, simple content only - Overwrite existing files

⚠️ Warning: Do NOT include triple backticks (```) in the content, as this will break command parsing.

Example:

python run_fs_ops.py -c "await fs.write_file('./new.txt', 'Hello World')"

edit_file(path, edits)

Use Cases: - Make line-based edits to existing files

Example:

python run_fs_ops.py -c "await fs.edit_file('./file.txt', [{'oldText': 'foo', 'newText': 'bar'}])"

Directory Tools

create_directory(path)

Use Cases: - Create new directories (supports recursive creation)

Example:

python run_fs_ops.py -c "await fs.create_directory('./new/nested/dir')"

list_directory(path)

Use Cases: - List all files and directories in a path

Example:

python run_fs_ops.py -c "await fs.list_directory('.')"

list_files(path=None, exclude_hidden=True)

Use Cases: - List only files in a directory

Example:

python run_fs_ops.py -c "await fs.list_files('./data')"

File Operations

move_file(source, destination)

Use Cases: - Move or rename files/directories

Example:

python run_fs_ops.py -c "await fs.move_file('./old.txt', './new.txt')"

search_files(pattern, base_path=None)

Use Cases: - Search for files matching a glob pattern

Example:

python run_fs_ops.py -c "await fs.search_files('*.txt')"

File Information

get_file_info(path)

Use Cases: - Get detailed metadata (size, created, modified, etc.)

Example:

python run_fs_ops.py -c "await fs.get_file_info('./file.txt')"

get_file_size(path)

Use Cases: - Get file size in bytes

Example:

python run_fs_ops.py -c "await fs.get_file_size('./file.txt')"

get_file_ctime(path) / get_file_mtime(path)

Use Cases: - Get file creation/modification time

Example:

python run_fs_ops.py -c "await fs.get_file_mtime('./file.txt')"

get_files_info_batch(filenames, base_path=None)

Use Cases: - Get file information for multiple files in parallel

Example:

python run_fs_ops.py -c "await fs.get_files_info_batch(['a.txt', 'b.txt'], './data')"

来源:MassLab-SII/open-agent-skills · Apache-2.0 许可 · 许可原文 · MD 为来源页保存的历史版本