mcpField
R
rozenite-agent-sdk

rozenite-agent-sdk

github.com/callstackincubatorDevelopment66757 installsUpdated 1w ago
Repository

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

  1. 01Code-first Rozenite access
  2. 02Session-based client usage
  3. 03Live domain and tool discovery
  4. 04Typed plugin tool descriptors
  5. 05Paged tool calls

Use cases

  1. 01Writing Node.js scripts for Rozenite
  2. 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-sdk

After installing, type/rozenite-agent-sdkin Claude Code to confirm it loaded.

Bundled filesreferences/code-patterns.md

Details

From the project README

Rozenite 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 }) and session.tools.getSchema({ domain, tool }) only when you need live inspection or argument confirmation.
  • Prefer typed plugin SDK descriptors from any available official plugin ./sdk export and call tools as session.tools.call(descriptor, args).
  • Fall back to session.tools.call({ domain, tool, args }) only when no matching ./sdk descriptor is available or the tool is discovered dynamically at runtime.
  • When you discover tools through session.tools.list({ domain }), treat the returned shortName as 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 like storage.
  • For paged tools, make one call at a time and pass the returned page.nextCursor explicitly 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() or session.tools.list(...) before calling the plugin tool.
  • For advanced session control with client.openSession() or client.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-agent instead when the task is shell-driven, needs a reusable CLI session, operates directly through rozenite agent ..., or requires target enumeration before choosing a deviceId.

Comments

Markdown supported