{
  "protocolVersion": "0.3.0",
  "name": "67Challenger Learning Agent",
  "description": "Reports, progress, curriculum and settings for children learning with 67Challenger (K-8 coding, math and reading foundations). For parents, teachers and school systems acting with a connection key; children’s data is only available to the grown-ups who manage that child.",
  "url": "https://67challenger.com/a2a",
  "preferredTransport": "JSONRPC",
  "version": "7.2.0",
  "provider": {
    "organization": "CloudOneSoftware LLC",
    "url": "https://67challenger.com"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "securitySchemes": {
    "connectionKey": {
      "type": "http",
      "scheme": "bearer",
      "description": "A 67Challenger connection key created by a parent or administrator in the dashboard."
    }
  },
  "security": [
    {
      "connectionKey": []
    }
  ],
  "skills": [
    {
      "id": "list_learners",
      "name": "List learners",
      "description": "List the learners you can see: your children (parent key) or your class (administrator key). Returns ids, nicknames and grade bands.",
      "tags": [
        "learners",
        "read"
      ],
      "examples": [
        "Who are my learners?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_learner_settings",
      "name": "Get learner settings",
      "description": "Session length (10–60 minutes), daily session limit, supports, sounds taught, Foundations focus and goal for one learner, including whether an administrator lock applies.",
      "tags": [
        "settings",
        "read"
      ],
      "examples": [
        "How long are my child’s sessions?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "update_learner_settings",
      "name": "Update learner settings",
      "description": "Change a learner’s settings. Any subset of: sessionMinutes (10–60 in steps of 5, or null for the default), dailySessions (1–6), supports (object of on/off flags), taughtLetters (letters taught so far), focusStrands (up to 4 Foundations strand ids), goal ({type: \"wcpm\"|\"cvc-5\", baseline, gain, targetWeek} or null). Parents cannot change session limits while an administrator lock is on. Every change is audited. Requires a key with write permission.",
      "tags": [
        "settings",
        "write"
      ],
      "examples": [
        "Set my child’s sessions to 20 minutes, 2 per day."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_learner_progress",
      "name": "Get learner progress",
      "description": "XP, tier, streak, badges, and per-category progress (lessons done, total, stars, next lesson) across all 16 learning paths.",
      "tags": [
        "progress",
        "read"
      ],
      "examples": [
        "How is my child doing in Blend Quest?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_weekly_report",
      "name": "Get weekly report",
      "description": "Plain-language weekly report: sessions and minutes, lessons mastered and in progress, adult-scored check results and trends, error patterns, and goal progress. weekOf is the Monday (YYYY-MM-DD); defaults to this week.",
      "tags": [
        "reports",
        "read"
      ],
      "examples": [
        "Summarize my child’s week for her teacher."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_meeting_report",
      "name": "Get school-meeting report",
      "description": "One-page summary for a school support meeting (I&RS, MTSS/RTI, 504, IEP) over a date range: practice frequency, each area with related standards (Common Core / NJSLS, CSTA, CASEL), units cleared, accuracy, check history, supports used, and talking points. from/to are YYYY-MM-DD (default: last 6 weeks).",
      "tags": [
        "reports",
        "read"
      ],
      "examples": [
        "Prepare a summary for next week’s I&RS meeting."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "record_check",
      "name": "Record an adult-scored check",
      "description": "Save a check that a grown-up scored. type \"cvc-5\": words (5 CVC words) and marks (5 × {mark: \"correct\"|\"prompted\"|\"incorrect\", errorIndex?}). type \"wcpm\": attempted, errors, seconds (30–120). The server re-scores from the raw marks. Requires a key with write permission.",
      "tags": [
        "checks",
        "write"
      ],
      "examples": [
        "My child read 42 words with 3 errors in one minute."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "list_curriculum",
      "name": "List curriculum",
      "description": "The 32 learning paths: 16 regular (11 Foundations strands and 5 companion worlds) and their 16 special education (step-by-step) versions, with groups, units and lesson counts. Optional group filter: word-workshop, number-workshop, learner-supports, worlds, special-ed.",
      "tags": [
        "curriculum",
        "read"
      ],
      "examples": [
        "What does 67Challenger teach?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "search_lessons",
      "name": "Search lessons",
      "description": "Find lessons by words in the title, objective or unit, optionally filtered by category, grade band (K2, G35, MS) or kind (core, practice). Returns up to `limit` lessons (default 20, max 50).",
      "tags": [
        "curriculum",
        "read"
      ],
      "examples": [
        "Find lessons on silent e.",
        "Fraction lessons for grades 3–5"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_lesson",
      "name": "Get a lesson",
      "description": "Lesson details: objective, how it is taught (model, guided, independent), and optionally a sample of practice items so a teacher can preview it.",
      "tags": [
        "curriculum",
        "read"
      ],
      "examples": [
        "Show me lesson decoding-p010."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_learning_path",
      "name": "Get a learning path",
      "description": "One learner’s path through one category: units (open, cleared, stretch), each lesson’s status and stars, and the suggested next lesson.",
      "tags": [
        "progress",
        "curriculum",
        "read"
      ],
      "examples": [
        "Where is my child in Fraction Lab?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "recommend_next_steps",
      "name": "Recommend next steps",
      "description": "Suggested next lessons for a learner in each Foundations focus area and companion world, plus suggestions drawn from recent check results.",
      "tags": [
        "progress",
        "planning",
        "read"
      ],
      "examples": [
        "What should my child practice next?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "preview_session_plan",
      "name": "Preview a session plan",
      "description": "How the learner’s next session will be laid out (Foundations blocks, quests, brain breaks, wrap-up), using their current session length and focus areas.",
      "tags": [
        "planning",
        "read"
      ],
      "examples": [
        "What will my child’s next session look like?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_progress_digest",
      "name": "Get the progress digest",
      "description": "The same digest parents and teachers receive as a reminder: each child’s sessions against the weekly goal, minutes, lessons, streak, latest check, whether a weekly check is due, the next lesson in each focus area, and suggested practice times. Teachers get every learner in the class, with those needing attention listed.",
      "tags": [
        "reminders",
        "reports",
        "read"
      ],
      "examples": [
        "Who in my class needs attention this week?",
        "Give me this week’s update."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "suggest_schedule",
      "name": "Suggest a practice schedule",
      "description": "Upcoming practice sessions for a learner on the family or class practice days and time, using the current session length, each paired with the next lesson in a focus area, plus advice on frequency.",
      "tags": [
        "planning",
        "reminders",
        "read"
      ],
      "examples": [
        "When should my child practice this week?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "update_reminder_settings",
      "name": "Update reminder settings",
      "description": "Change when progress reminders arrive and the practice schedule they suggest: frequency (off, weekly, twice-weekly), sendDay (0 = Sunday), sendHour (0–23), timeZone (IANA), practiceDays (weekday numbers), practiceTime (HH:MM). The email address can only be changed in the dashboard. Requires a key with write permission.",
      "tags": [
        "reminders",
        "settings",
        "write"
      ],
      "examples": [
        "Send my weekly update on Sunday at 6pm."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ]
}