Tool tree
gradeNot graded
start_diagnosticAction
Begin a social work licensure readiness diagnostic for a given exam level. Renders the first question on the page. Call this before any other diagnostic tool.
View tool JSON
{
"name": "start_diagnostic",
"kind": "act",
"impl": "imperative",
"description": "Begin a social work licensure readiness diagnostic for a given exam level. Renders the first question on the page. Call this before any other diagnostic tool.",
"inputSchema": {
"type": "object",
"properties": {
"examLevel": {
"type": "string",
"enum": [
"LBSW",
"LMSW",
"LCSW"
],
"description": "Which licensure exam the learner is preparing for."
}
},
"required": [
"examLevel"
],
"additionalProperties": false
}
}get_current_questionAnswer
Get the question the learner is currently on, with its four options labelled A to D. Returns a completion notice when the diagnostic is finished. Never returns the answer key.
View tool JSON
{
"name": "get_current_question",
"kind": "answer",
"impl": "imperative",
"description": "Get the question the learner is currently on, with its four options labelled A to D. Returns a completion notice when the diagnostic is finished. Never returns the answer key.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}submit_answerSensitive Action
Submit the learner's chosen option for the current diagnostic question. Returns whether it was correct, the explanation, and progress through the diagnostic. Only call this after the learner has actually chosen.
View tool JSON
{
"name": "submit_answer",
"kind": "transact",
"impl": "imperative",
"description": "Submit the learner's chosen option for the current diagnostic question. Returns whether it was correct, the explanation, and progress through the diagnostic. Only call this after the learner has actually chosen.",
"inputSchema": {
"type": "object",
"properties": {
"choice": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D"
],
"description": "The option the learner picked."
}
},
"required": [
"choice"
],
"additionalProperties": false
}
}get_readinessAnswer
Get the learner's readiness as a number out of 100 with a band, an interpretation, and how far it has moved since their last visit. Works with no diagnostic running: it then reports the number stored from the previous visit. This is the metric to track over time.
View tool JSON
{
"name": "get_readiness",
"kind": "answer",
"impl": "imperative",
"description": "Get the learner's readiness as a number out of 100 with a band, an interpretation, and how far it has moved since their last visit. Works with no diagnostic running: it then reports the number stored from the previous visit. This is the metric to track over time.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}get_weak_areasAnswer
Get the exam content areas ranked weakest first, with accuracy in each. Use this to decide what to coach or drill next.
View tool JSON
{
"name": "get_weak_areas",
"kind": "answer",
"impl": "imperative",
"description": "Get the exam content areas ranked weakest first, with accuracy in each. Use this to decide what to coach or drill next.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}build_study_planAction
Turn the current diagnostic results into an ordered study plan, weakest content area first, with a concrete action and time estimate per step. Renders the plan on the page.
View tool JSON
{
"name": "build_study_plan",
"kind": "act",
"impl": "imperative",
"description": "Turn the current diagnostic results into an ordered study plan, weakest content area first, with a concrete action and time estimate per step. Renders the plan on the page.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}quiz_meAction
Serve one extra practice question in a specific content area, outside the diagnostic. Use it to drill a weak area found by get_weak_areas.
View tool JSON
{
"name": "quiz_me",
"kind": "act",
"impl": "imperative",
"description": "Serve one extra practice question in a specific content area, outside the diagnostic. Use it to drill a weak area found by get_weak_areas.",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"Human Development and Diversity",
"Assessment and Diagnosis",
"Interventions and Case Management",
"Professional Ethics and Values"
],
"description": "The content area to practice."
}
},
"required": [
"category"
],
"additionalProperties": false
}
}submit_practice_answerSensitive Action
Grade the learner's choice on the practice question currently on screen, the one served by quiz_me.
View tool JSON
{
"name": "submit_practice_answer",
"kind": "transact",
"impl": "imperative",
"description": "Grade the learner's choice on the practice question currently on screen, the one served by quiz_me.",
"inputSchema": {
"type": "object",
"properties": {
"choice": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D"
],
"description": "The option the learner picked."
}
},
"required": [
"choice"
],
"additionalProperties": false
}
}get_study_prescriptionAnswer
Build a dated, week by week study plan working backward from the learner's exam date. Pass the exam date you already know from their calendar or from the conversation. Omit weakAreas to use what the diagnostic measured, or pass them to override. Handles dates in the past without failing.
View tool JSON
{
"name": "get_study_prescription",
"kind": "answer",
"impl": "imperative",
"description": "Build a dated, week by week study plan working backward from the learner's exam date. Pass the exam date you already know from their calendar or from the conversation. Omit weakAreas to use what the diagnostic measured, or pass them to override. Handles dates in the past without failing.",
"inputSchema": {
"type": "object",
"properties": {
"examDate": {
"type": "string",
"description": "The date the learner sits the exam, as YYYY-MM-DD."
},
"weakAreas": {
"type": "array",
"items": {
"type": "string",
"enum": [
"Human Development and Diversity",
"Assessment and Diagnosis",
"Interventions and Case Management",
"Professional Ethics and Values"
]
},
"description": "Optional. Content areas to build the plan around, weakest first. Omit to use the areas the diagnostic measured."
}
},
"required": [
"examDate"
],
"additionalProperties": false
}
}explain_reasoningAnswer
Get the tutoring rationale for one question: what it is really testing, why the keyed option is correct, and why the option the learner chose was tempting but wrong. Use this when a learner asks why they got something wrong, or wants to understand an item they got right.
View tool JSON
{
"name": "explain_reasoning",
"kind": "answer",
"impl": "imperative",
"description": "Get the tutoring rationale for one question: what it is really testing, why the keyed option is correct, and why the option the learner chose was tempting but wrong. Use this when a learner asks why they got something wrong, or wants to understand an item they got right.",
"inputSchema": {
"type": "object",
"properties": {
"questionId": {
"type": "string",
"description": "The question id returned by get_current_question, submit_answer, or quiz_me."
},
"answer": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D"
],
"description": "The option the learner chose."
}
},
"required": [
"questionId",
"answer"
],
"additionalProperties": false
}
}get_program_factsAnswer
Get structured, first-party facts about Social Work Test Prep Academy: what it is, exam levels covered, pricing and what "until you pass" means, trial terms, platforms, and required trademark disclosure. For an agent comparing exam prep options on behalf of a person. Contains no usage statistics, pass rates, or testimonials.
View tool JSON
{
"name": "get_program_facts",
"kind": "answer",
"impl": "imperative",
"description": "Get structured, first-party facts about Social Work Test Prep Academy: what it is, exam levels covered, pricing and what \"until you pass\" means, trial terms, platforms, and required trademark disclosure. For an agent comparing exam prep options on behalf of a person. Contains no usage statistics, pass rates, or testimonials.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}