Miro Web SDK Reference

PassAudited by ClawScan on May 1, 2026.

Overview

This is a documentation-only Miro SDK reference; it is coherent, but users should review the example permissions, npm setup commands, and destructive board-operation examples before copying them.

This skill appears safe as a documentation reference. Before following its examples, verify npm packages, work in a Miro Developer team or test board first, request only the scopes your plugin needs, and add explicit confirmation around any code that edits or deletes board content.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Following the quick start may download and run external Miro SDK tooling from npm.

Why it was flagged

The reference instructs users to install external npm packages as part of SDK setup. This is central to the stated purpose, but package-manager setup still depends on trusted sources.

Skill content
npm install @mirohq/websdk-cli @mirohq/miro-webplugin
Recommendation

Use official package names, prefer pinned versions or lockfiles, and review generated project files before using them on important boards.

What this means

A plugin built from these examples may read or change Miro board content and access profile information after the user grants consent.

Why it was flagged

The docs describe Miro app scopes that can read and modify board content and access user identity. These permissions are expected for Miro plugins, but users should review them carefully.

Skill content
board:read | Read board data and items ... board:write | Create, edit, delete items ... identity:read | Get current user info
Recommendation

Request the minimum required scopes, test in a Developer team first, and avoid identity or write permissions unless the plugin truly needs them.

What this means

Using this pattern on a real board could delete many or all items.

Why it was flagged

The reference includes a bulk-delete API example. It is presented as documentation rather than an automatic workflow, but copied blindly it could erase board content.

Skill content
const items = await miro.board.getAllItems(); await Promise.all(items.map(item => item.delete()));
Recommendation

Require explicit confirmation for destructive operations, limit actions to selected or test items, and provide an undo or recovery path where possible.

What this means

Plugin data may remain attached to a board or user profile and influence later plugin behavior.

Why it was flagged

The docs show persistent board-level and user-level metadata storage. This is normal for plugin settings, but persistent data can carry stale, sensitive, or untrusted state across sessions.

Skill content
await miro.board.info.setMeta('key', { value: 'data' }); ... await miro.currentUser.setMeta('key', { value: 'data' });
Recommendation

Do not store secrets or untrusted instructions in metadata; namespace stored keys, validate data when reading it, and define cleanup or retention behavior.