gradeNot graded
page: Every page
get_current_articleAnswer
Returns the article currently displayed in the bysa app, including its title and raw Markdown content. Use this tool FIRST when the user asks questions or requests information, since they are likely asking about the article they are currently reading. Only use list_articles or get_article_by_slug if the current article does not contain the answer.
View tool JSON
{
"name": "get_current_article",
"kind": "answer",
"impl": "imperative",
"description": "Returns the article currently displayed in the bysa app, including its title and raw Markdown content. Use this tool FIRST when the user asks questions or requests information, since they are likely asking about the article they are currently reading. Only use list_articles or get_article_by_slug if the current article does not contain the answer.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/welcome"
}list_articlesAnswer
Lists articles available in the bysa app. Optionally filter by case-insensitive query matching title or content. Returns each article's slug, URL, title, and whether it is featured. Use as a FALLBACK when get_current_article does not contain the answer, or when the user explicitly asks to search across all articles.
View tool JSON
{
"name": "list_articles",
"kind": "answer",
"impl": "imperative",
"description": "Lists articles available in the bysa app. Optionally filter by case-insensitive query matching title or content. Returns each article's slug, URL, title, and whether it is featured. Use as a FALLBACK when get_current_article does not contain the answer, or when the user explicitly asks to search across all articles.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional case-insensitive search query to match against article titles or content.",
"maxLength": 200
},
"limit": {
"type": "integer",
"description": "Maximum number of articles to return.",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": []
},
"page": "/welcome"
}get_article_by_slugAnswer
Retrieves a specific article from the bysa app by its slug. Returns the article title and raw Markdown content. Reads articles in the background without navigating the user away. Use after list_articles to read a specific article, or when the user explicitly asks for a known article by slug.
View tool JSON
{
"name": "get_article_by_slug",
"kind": "answer",
"impl": "imperative",
"description": "Retrieves a specific article from the bysa app by its slug. Returns the article title and raw Markdown content. Reads articles in the background without navigating the user away. Use after list_articles to read a specific article, or when the user explicitly asks for a known article by slug.",
"inputSchema": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the article to retrieve."
}
},
"required": [
"slug"
]
},
"page": "/welcome"
}save_summaryAction
Saves a summary for a specific article. The summary will appear as a "Summary" button in the article view, which opens a flyout panel. The summary is persisted in localStorage so it survives page reloads. Use get_current_article or get_article_by_slug to read the full article before summarizing.
View tool JSON
{
"name": "save_summary",
"kind": "act",
"impl": "imperative",
"description": "Saves a summary for a specific article. The summary will appear as a \"Summary\" button in the article view, which opens a flyout panel. The summary is persisted in localStorage so it survives page reloads. Use get_current_article or get_article_by_slug to read the full article before summarizing.",
"inputSchema": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the article to summarize."
},
"summary": {
"type": "string",
"description": "The article summary in plain text. Should be concise and capture the key points of the article."
}
},
"required": [
"slug",
"summary"
]
},
"page": "/welcome"
}delete_current_article_summarySensitive Action
Deletes the saved summary for the currently displayed article. The "Summary" button will disappear from the article view. This is useful when the user wants to regenerate a summary or remove one they no longer need.
View tool JSON
{
"name": "delete_current_article_summary",
"kind": "transact",
"impl": "imperative",
"description": "Deletes the saved summary for the currently displayed article. The \"Summary\" button will disappear from the article view. This is useful when the user wants to regenerate a summary or remove one they no longer need.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/welcome"
}