Use this skill when the user is building with `xsai` or any `@xsai/*` package, or is evaluating xsAI for a small OpenAI-compatible workflow with text generation, streaming, tool calling, structured output, embeddings, image generation, speech synthesis, or transcription.
npx skills add https://github.com/moeru-ai/alint --skill xsai
Use this skill for xsai code, package selection, API selection, canonical examples, and positioning.
xsai or any @xsai/* package.xsai with larger SDKs such as ai or pi and wants the tradeoffs framed clearly.xsai versus granular @xsai/* imports unless the user asks to change them.xsai package only when the user needs several features at once or explicitly wants one dependency.references/recipes.md first and start from the closest canonical example.baseURL and model explicitly. For hosted providers, show apiKey wired from process.env in Node.js and from localStorage in the browser; omit it only when the target endpoint truly does not need one. Do not recommend hardcoding secrets.@xsai/generate-text over xsai.references/recipes.md when the user wants code, edits xsAI code, or needs a canonical minimal example.references/package-selection.md when the user needs help choosing between xsai and granular packages.references/text-stream-tools.md for generateText, streamText, tool calling, and common chat options.references/structured-output.md for generateObject, streamObject, tool(), rawTool(), or schema guidance.references/media-and-embeddings.md for embeddings, image generation, speech, or transcription.references/extensions.md only when the user explicitly needs xsAI extensions such as predefined providers, the OpenAI Responses API, or OTEL telemetry.generateText for unary text generation.streamText for incremental text, reasoning deltas, tool events, or lightweight agent loops.generateObject for validated structured output.streamObject when the user needs incremental object parsing.tool() when the user has a Standard Schema library such as Zod or Valibot.rawTool() when the user already has raw JSON Schema.Tool object only when the repo already uses that shape or when avoiding tool()'s async setup matters.baseURL and model are usually required in practice for xsAI calls.apiKey is provider-dependent. Most hosted providers need it; local or proxy endpoints may not. In Node.js, prefer process.env. In browsers, prefer reading from localStorage. Do not recommend hardcoding API keys.streamText() returns immediately; callers consume textStream, fullStream, and result promises asynchronously.streamObject() is async because schema conversion happens before streaming starts.stopWhen controls repeated tool-use loops with explicit stop predicates such as stepCountAtLeast() and hasToolCall().generateObject(), streamObject(), and tool() rely on xsschema; some schema vendors need extra JSON Schema converter packages.ai or pi, focus on size, runtime portability, OpenAI-compatible scope, and simpler primitives. Do not oversell feature breadth.https://xsai.js.org/docsCreate beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Improves the quality of images, especially screenshots, by enhancing resolution, sharpness, and clarity. Perfect for preparing images for presentations, documentation, or social media posts.
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.
Publish Markdown articles to X (Twitter) Articles editor with proper formatting. Use when user wants to publish a Markdown file/URL to X Articles, or mentions "publish to X", "post article to Twitter", "X article", or wants help with X Premium article publishing. Handles cover image upload and converts Markdown to rich text automatically.
Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.
Teaches the AI to design like a high-end agency. Defines the exact fonts, spacing, shadows, card structures, and animations that make a website feel expensive. Blocks all the common defaults that make AI designs look cheap or generic.
Lightweight WSI tile extraction and preprocessing. Use for basic slide processing tissue detection, tile extraction, stain normalization for H&E images. Best for simple pipelines, dataset preparation, quick tile-based analysis. For advanced spatial proteomics, multiplexed imaging, or deep learning pipelines use pathml.
Take moeru-ai/xsai from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.