About rozenite-agent-sdk
rozenite-agent-sdk is a skill for code-first access to Rozenite for Agents using @rozenite/agent-sdk. It outlines client sessions, live domain and tool discovery, typed descriptors, and paged calls.
Key features
- 01Code-first Rozenite access
- 02Session-based client usage
- 03Live domain and tool discovery
- 04Typed plugin tool descriptors
- 05Paged tool calls
Use cases
- 01Writing Node.js scripts for Rozenite
- 02Calling tools discovered at runtime
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ callstackincubator/ rozenite --skill rozenite-agent-sdkAfter installing, type/rozenite-agent-sdkin Claude Code to confirm it loaded.
Bundled filesreferences/code-patterns.md
Details
From the project READMERozenite Agent SDK
Use this skill when the user wants code-first access to Rozenite for Agents.
Read references/code-patterns.md for copy-pastable examples.
Rules
- Prefer throwaway Node ESM scripts that import
@rozenite/agent-sdk. - Default flow:
createAgentClient()->client.withSession(...)-> inspect or call tools -> exit. - Use
session.domains.list()as the source of truth for live built-in and runtime domains. - Use
session.tools.list({ domain })andsession.tools.getSchema({ domain, tool })only when you need live inspection or argument confirmation. - Prefer typed plugin SDK descriptors from any available official plugin
./sdkexport and call tools assession.tools.call(descriptor, args). - Fall back to
session.tools.call({ domain, tool, args })only when no matching./sdkdescriptor is available or the tool is discovered dynamically at runtime. - When you discover tools through
session.tools.list({ domain }), treat the returnedshortNameas the canonical tool name to pass back into a later call-by-name invocation. Do not invent camelCase aliases or normalize tool names yourself. - Prefer stable SDK domain identifiers such as built-in domain IDs (
network,react,memory) and plugin IDs (@rozenite/storage-plugin,@rozenite/tanstack-query-plugin) over the derived, CLI-facing domain token likestorage. - For paged tools, make one call at a time and pass the returned
page.nextCursorexplicitly in the next call. The plugin owns its page envelope and cursor. - If a plugin only mounts after navigation, navigate first, then refresh the live view with
session.domains.list()orsession.tools.list(...)before calling the plugin tool. - For advanced session control with
client.openSession()orclient.attachSession(sessionId), see the reference patterns. - If a script encounters an unexpected runtime error, let the script fail clearly. Do not hide the failure by printing placeholder JSON.
Handoff
- Use
rozenite-agentinstead when the task is shell-driven, needs a reusable CLI session, operates directly throughrozenite agent ..., or requires target enumeration before choosing adeviceId.
Comments
Markdown supported