redrover-manager

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Red 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:
  1. Authorization: Basic [base64(username:password)]
    header
  2. apiKey: [key]
    header (obtained from organization endpoint)
The organization endpoint returns a dynamic API key that should be used for subsequent requests.
所有请求均需同时包含:
  1. Authorization: Basic [base64(用户名:密码)]
    请求头
  2. apiKey: [密钥]
    请求头(从组织端点获取)
组织端点会返回一个动态API密钥,后续请求应使用该密钥。

Scripts

脚本

All scripts are in
skills/redrover-manager/scripts/
. Run with
bun
:
所有脚本均位于
skills/redrover-manager/scripts/
目录下,使用
bun
运行:

get_organization.js

get_organization.js

Fetch organization info and validate credentials.
bash
bun get_organization.js
Returns: 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 unfilled
Note: 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:
  • today
    (default)
  • yesterday
  • Day names:
    monday
    ,
    tuesday
    , etc.
  • last wednesday
    ,
    last friday
  • Specific date:
    2026-01-27
获取所有员工的每日缺勤汇总,按学校、缺勤原因及填补状态统计数量。
bash
bun get_daily_summary.js [date]
日期选项:
  • today
    (默认值)
  • yesterday
  • 星期名称:
    monday
    tuesday
  • last wednesday
    last 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:
  • 0
    = this week (default)
  • 1
    = last week
  • 2
    = two weeks ago
获取每周缺勤趋势与模式。
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 apiKey
GET /api/v1/organization
Security: Basic Auth
Returns: 包含组织信息的数组,包括动态apiKey

Vacancy 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 data
GET /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 yesterday
bash
bun get_daily_summary.js yesterday

"Show unfilled positions for today"

"显示今日未填补的岗位"

bash
bun get_daily_summary.js today
bash
bun get_daily_summary.js today

Look at unfilled_positions array in output

查看输出中的unfilled_positions数组

undefined
undefined

"Weekly absence trends"

"每周缺勤趋势"

bash
bun get_weekly_summary.js
bash
bun get_weekly_summary.js

"Last week's summary"

"上周汇总"

bash
bun get_weekly_summary.js 1
bash
bun get_weekly_summary.js 1

Output 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:
  • absenceDetail.employee
    - Employee who is absent
  • absenceDetail.reasons[0].name
    - Reason category (SICK, PERSONAL, etc.)
  • location.name
    - School name
  • position.title
    - Position title
  • position.positionType.name
    - Position category (Teacher, Paraprofessional, etc.)
  • substitute
    - If present, position is filled
  • start
    /
    end
    - Absence time range
  • needsReplacement
    - Whether sub is required
空缺数据中的关键字段:
  • 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