Install
openclaw skills install @bsalaeddin/shorty-summarizing-sourcesSummarizes a YouTube video, web page, article, pasted text, or a file already in Shorty by starting a Shorty summary job after the user confirms, then reads back the finished summary. Use when the user asks to 'summarize this YouTube video', 'give me the key points of this article', 'TL;DR this link', 'digest this page', 'summarize these notes', 'what does this video say', or wants an AI video or article summarizer. Uses Shorty plan quota.
openclaw skills install @bsalaeddin/shorty-summarizing-sourcesStart a Shorty summary job, wait for it properly, and present the finished article. Summaries are queued jobs, not instant answers.
Every tool in this skill comes from the shorty MCP server, the Shorty connector, and is written here as shorty:<tool>.
shorty:search_articles.shorty:search_tools and shorty:execute_typescript listed (Code Mode, the default): call shorty:search_tools first, then call each tool inside shorty:execute_typescript as external_<tool> (for example external_search_articles); the program must return its result. Scopes, confirmations and gates are identical on both surfaces.shorty:search_tools does not return the tool either, its OAuth scope was not granted; the user reconnects Shorty and approves that scope.shorty tools at all: Shorty is not connected yet. Install the Shorty power, which adds the server; it signs in with OAuth on first use.The Shorty server's default surface lists two tools, shorty:search_tools and shorty:execute_typescript. Call shorty:search_tools for the declarations, then call each operation below as external_<name>(...) inside a shorty:execute_typescript program, for example external_get_job_status({ jobId }). A denied call throws an Error whose message starts with its code, such as SCOPE_MISSING:. If the operations are listed as individual tools instead, call them directly. The rules below apply on both surfaces.
shorty:get_usage_quota: plan tier and remaining allowance. Read it before starting a job when the user is on a limited plan or asks about cost.shorty:create_youtube_summary: start a summary of a YouTube URL. Returns a jobId, plus an articleId right away if this video was already summarized on the account.shorty:create_content_summary: start a summary of a web page url, pasted text, or the fileKey of a file already uploaded to Shorty. Returns a jobId.shorty:get_job_status: status of a job (QUEUED, PROCESSING, SUCCESS, ERROR, CANCELLED). On SUCCESS, outputId is the article id.shorty:get_article: the finished article: title, description, body, and summary sections.shorty:create_youtube_summary. Any other URL, pasted text, or a file key the user gave you goes to shorty:create_content_summary. No tool lists uploaded files, so never guess a fileKey.articleId, skip to step 5.shorty:get_job_status with the jobId. QUEUED and PROCESSING are normal; tell the user the job is running. Poll a few times. If it is still running, give the user the job id and check again when they ask ("is it done?").SUCCESS, call shorty:get_article with the outputId (or the articleId). Present the title, then the summary sections as short headed paragraphs, then offer the full body.ERROR or CANCELLED, report the status plainly and offer one retry with the same source.shorty:execute_typescript program. Never add a create call to a program that reads data.articles:write scope. Say so; they can reconnect and approve it.