redrover-manager
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseRed Rover Manager Skill
Red Rover Manager Skill
Overview
概述
Red Rover is an absence management system used by PSD to track staff absences and substitute coverage. This skill provides access to absence data for reporting and analysis.
Red Rover是PSD使用的缺勤管理系统,用于追踪员工缺勤情况及代课人员安排。本Skill可用于访问缺勤数据,以便进行报表生成与分析。
Configuration
配置
- Base URL:
https://connect.redroverk12.com/ - Org ID: 1305 (Peninsula School District)
- Authentication: HTTP Basic Auth + API Key header
- Credentials: Stored in 1Password as "RedRover"
- Rate Limit: 100 requests/minute
- Base URL:
https://connect.redroverk12.com/ - Org ID: 1305(Peninsula School District,半岛学区)
- Authentication: HTTP Basic Auth + API Key 请求头
- Credentials: 存储在1Password中,名称为"RedRover"
- Rate Limit: 100请求/分钟
Authentication
认证
All requests require both:
- header
Authorization: Basic [base64(username:password)] - header (obtained from organization endpoint)
apiKey: [key]
The organization endpoint returns a dynamic API key that should be used for subsequent requests.
所有请求均需同时包含:
- 请求头
Authorization: Basic [base64(用户名:密码)] - 请求头(从组织端点获取)
apiKey: [密钥]
组织端点会返回一个动态API密钥,后续请求应使用该密钥。
Scripts
脚本
All scripts are in . Run with :
skills/redrover-manager/scripts/bun所有脚本均位于目录下,使用运行:
skills/redrover-manager/scripts/bunget_organization.js
get_organization.js
Fetch organization info and validate credentials.
bash
bun get_organization.jsReturns: Organization ID, name, and API key.
获取组织信息并验证凭据。
bash
bun get_organization.js返回:组织ID、名称及API密钥。
get_absences.js
get_absences.js
Fetch raw absence/vacancy data for a date range.
bash
bun get_absences.js <start_date> <end_date> [filled|unfilled|all]Examples:
bash
bun get_absences.js 2026-01-20 2026-01-27
bun get_absences.js 2026-01-27 2026-01-27 unfilledNote: Max date range is 31 days.
获取指定日期范围内的原始缺勤/空缺数据。
bash
bun get_absences.js <start_date> <end_date> [filled|unfilled|all]示例:
bash
bun get_absences.js 2026-01-20 2026-01-27
bun get_absences.js 2026-01-27 2026-01-27 unfilled注意: 最大日期范围为31天。
get_daily_summary.js
get_daily_summary.js
Get daily absence summary (all staff) with counts by school, reason, and fill status.
bash
bun get_daily_summary.js [date]Date options:
- (default)
today yesterday- Day names: ,
monday, etc.tuesday - ,
last wednesdaylast friday - Specific date:
2026-01-27
获取所有员工的每日缺勤汇总,按学校、缺勤原因及填补状态统计数量。
bash
bun get_daily_summary.js [date]日期选项:
- (默认值)
today yesterday- 星期名称:、
monday等tuesday - 、
last wednesdaylast friday - 指定日期:
2026-01-27
get_certificated_summary.js
get_certificated_summary.js
Get daily absence summary for certificated staff only (Teachers, ESA, CTE).
bash
bun get_certificated_summary.js [date]Same date options as above. This is the most commonly requested report - focuses on classroom coverage.
获取仅在编员工(教师、ESA、CTE)的每日缺勤汇总。
bash
bun get_certificated_summary.js [date]日期选项与上述相同。这是最常被请求的报表 - 重点关注课堂代课安排。
get_weekly_summary.js
get_weekly_summary.js
Get weekly trends and patterns.
bash
bun get_weekly_summary.js [weeks_ago]Options:
- = this week (default)
0 - = last week
1 - = two weeks ago
2
获取每周缺勤趋势与模式。
bash
bun get_weekly_summary.js [weeks_ago]选项:
- = 本周(默认值)
0 - = 上周
1 - = 两周前
2
API Endpoints Used
使用的API端点
Organization
组织
GET /api/v1/organization
Security: Basic Auth
Returns: Array with org info including dynamic apiKeyGET /api/v1/organization
Security: Basic Auth
Returns: 包含组织信息的数组,包括动态apiKeyVacancy Details (Primary data endpoint)
空缺详情(主数据端点)
GET /api/v1/{orgId}/Vacancy/details
Security: Basic Auth + apiKey header
Query Params:
- fromDate: datetime (required)
- toDate: datetime (required)
- filled: boolean (optional - filter filled/unfilled)
- pageSize: int (default 10, max 100)
- page: int (default 1)
Returns: Paginated vacancy/absence dataGET /api/v1/{orgId}/Vacancy/details
Security: Basic Auth + apiKey 请求头
Query Params:
- fromDate: 日期时间(必填)
- toDate: 日期时间(必填)
- filled: 布尔值(可选 - 筛选已填补/未空缺)
- pageSize: 整数(默认10,最大100)
- page: 整数(默认1)
Returns: 分页的空缺/缺勤数据Common Workflows
常见工作流
"How many absences yesterday?"
"昨天有多少人缺勤?"
bash
bun get_daily_summary.js yesterdaybash
bun get_daily_summary.js yesterday"Show unfilled positions for today"
"显示今日未填补的岗位"
bash
bun get_daily_summary.js todaybash
bun get_daily_summary.js todayLook at unfilled_positions array in output
查看输出中的unfilled_positions数组
undefinedundefined"Weekly absence trends"
"每周缺勤趋势"
bash
bun get_weekly_summary.jsbash
bun get_weekly_summary.js"Last week's summary"
"上周汇总"
bash
bun get_weekly_summary.js 1bash
bun get_weekly_summary.js 1Output Format
输出格式
Daily Summary
每日汇总
json
{
"date": "yesterday",
"date_iso": "2026-01-26",
"total_absences": 110,
"filled": 75,
"unfilled": 35,
"fill_rate": 68,
"by_school": {
"PENINSULA HIGH SCHOOL": 13,
"GIG HARBOR HIGH SCHOOL": 10
},
"by_reason": {
"SICK LV > 1 SICK": 54,
"OTH PAID LV > PERSONAL": 15
},
"by_position_type": {
"Teacher": 55,
"Paraprofessional": 36
},
"unfilled_positions": [
{
"school": "PENINSULA HIGH SCHOOL",
"position": "MATH",
"employee": "JANE DOE",
"start": "2026-01-26T07:00:00",
"end": "2026-01-26T14:30:00"
}
]
}json
{
"date": "yesterday",
"date_iso": "2026-01-26",
"total_absences": 110,
"filled": 75,
"unfilled": 35,
"fill_rate": 68,
"by_school": {
"PENINSULA HIGH SCHOOL": 13,
"GIG HARBOR HIGH SCHOOL": 10
},
"by_reason": {
"SICK LV > 1 SICK": 54,
"OTH PAID LV > PERSONAL": 15
},
"by_position_type": {
"Teacher": 55,
"Paraprofessional": 36
},
"unfilled_positions": [
{
"school": "PENINSULA HIGH SCHOOL",
"position": "MATH",
"employee": "JANE DOE",
"start": "2026-01-26T07:00:00",
"end": "2026-01-26T14:30:00"
}
]
}Weekly Summary
每周汇总
json
{
"week": "Jan 20-24, 2026",
"week_label": "this week",
"total_absences": 450,
"daily_average": 90,
"filled": 380,
"unfilled": 70,
"fill_rate": 84,
"peak_day": { "day": "Monday", "count": 120 },
"slow_day": { "day": "Friday", "count": 65 },
"by_day": {
"Monday": 120,
"Tuesday": 95,
"Wednesday": 90,
"Thursday": 80,
"Friday": 65
},
"trends": [
{ "type": "info", "message": "Monday had 120 absences (50%+ above average)" }
]
}json
{
"week": "Jan 20-24, 2026",
"week_label": "this week",
"total_absences": 450,
"daily_average": 90,
"filled": 380,
"unfilled": 70,
"fill_rate": 84,
"peak_day": { "day": "Monday", "count": 120 },
"slow_day": { "day": "Friday", "count": 65 },
"by_day": {
"Monday": 120,
"Tuesday": 95,
"Wednesday": 90,
"Thursday": 80,
"Friday": 65
},
"trends": [
{ "type": "info", "message": "Monday had 120 absences (50%+ above average)" }
]
}Data Fields
数据字段
Key fields in vacancy data:
- - Employee who is absent
absenceDetail.employee - - Reason category (SICK, PERSONAL, etc.)
absenceDetail.reasons[0].name - - School name
location.name - - Position title
position.title - - Position category (Teacher, Paraprofessional, etc.)
position.positionType.name - - If present, position is filled
substitute - /
start- Absence time rangeend - - Whether sub is required
needsReplacement
空缺数据中的关键字段:
- - 缺勤员工
absenceDetail.employee - - 缺勤原因类别(病假、事假等)
absenceDetail.reasons[0].name - - 学校名称
location.name - - 岗位名称
position.title - - 岗位类别(教师、教辅人员等)
position.positionType.name - - 若存在该字段,则岗位已填补
substitute - /
start- 缺勤时间范围end - - 是否需要代课人员
needsReplacement
Schools in PSD
PSD中的学校
Common school names in data:
- PENINSULA HIGH SCHOOL
- GIG HARBOR HIGH SCHOOL
- HENDERSON BAY HIGH SCHOOL
- GOODMAN MIDDLE SCHOOL
- HARBOR RIDGE MIDDLE SCHOOL
- KEY PENINSULA MIDDLE SCHOOL
- KOPACHUCK MIDDLE SCHOOL
- ARTONDALE ELEMENTARY SCHOOL
- DISCOVERY ELEMENTARY SCHOOL
- EVERGREEN ELEMENTARY SCHOOL
- HARBOR HEIGHTS ELEMENTARY SCHOOL
- MINTER CREEK ELEMENTARY SCHOOL
- PIONEER ELEMENTARY SCHOOL
- PURDY ELEMENTARY SCHOOL
- SWIFT WATER ELEMENTARY SCHOOL
- VAUGHN ELEMENTARY SCHOOL
- VOYAGER ELEMENTARY SCHOOL
数据中常见的学校名称:
- PENINSULA HIGH SCHOOL
- GIG HARBOR HIGH SCHOOL
- HENDERSON BAY HIGH SCHOOL
- GOODMAN MIDDLE SCHOOL
- HARBOR RIDGE MIDDLE SCHOOL
- KEY PENINSULA MIDDLE SCHOOL
- KOPACHUCK MIDDLE SCHOOL
- ARTONDALE ELEMENTARY SCHOOL
- DISCOVERY ELEMENTARY SCHOOL
- EVERGREEN ELEMENTARY SCHOOL
- HARBOR HEIGHTS ELEMENTARY SCHOOL
- MINTER CREEK ELEMENTARY SCHOOL
- PIONEER ELEMENTARY SCHOOL
- PURDY ELEMENTARY SCHOOL
- SWIFT WATER ELEMENTARY SCHOOL
- VAUGHN ELEMENTARY SCHOOL
- VOYAGER ELEMENTARY SCHOOL