miro-local-dev-loop

v2026.09.24

Build repository-side scaffolding for a repeatable Miro development loop with isolated apps, fixture boards, contract tests, cleanup, and explicit operator commands. Use when developing Miro integrations locally. Trigger with "start Miro dev loop".

GitHub
安装命令
npx skhub add jeremylongshore/miro-local-dev-loop
Markdown
SKILL.md

Miro Local Development Loop

Overview

Shorten feedback cycles without turning a real collaboration board into a test fixture. Separate configuration, deterministic fixtures, and destructive cleanup; use the evidence produced here to make the next decision explicit and reviewable.

Prerequisites

  • A non-production Miro app and Developer team
  • A dedicated test board with an accountable owner
  • Local configuration names, fixture schema, and cleanup policy

Tool Discipline

Use Read, Glob, and Grep to inspect the repository, configuration names, adapters, tests, and evidence. Use WebFetch only for current official Miro documentation. Use Write or Edit after confirming the requested mode, target environment, tenant, board, and approval boundary. These declared tools do not call authenticated Miro APIs or deployment CLIs; implement client, configuration, and test changes, then return exact operator commands or an approval-gated handoff for live execution.

Current Contract

  • Web SDK code runs only while its Miro app context is loaded on a board.
  • REST OAuth and Web SDK authorization are separate; hybrid apps must configure both flows.
  • Board operations are asynchronous and can take time to synchronize.
  • REST test traffic consumes the same per-user/per-application credit budget as other callers.

Authentication

For REST work, use OAuth 2.0 Authorization Code with the narrowest Miro scopes. Bind each encrypted token record to its user, application, authorized team, and granted scopes. Never print access tokens, refresh tokens, client secrets, authorization codes, or board content.

Instructions

  1. Map the feature to REST, Web SDK, or a deliberate hybrid before writing code.
  2. Load configuration by environment and assert that production app, team, and board IDs are absent.
  3. Create deterministic fixture items with a run marker on the dedicated test board.
  4. Run unit tests with schema-faithful fixtures, then one bounded live contract test.
  5. Compare the observed response and rate headers with the recorded contract.
  6. Delete only run-marked fixtures after verifying board ID, item IDs, and ownership; retain a redacted receipt.

Approval Boundaries

Do not expose a local callback publicly, install an app to another team, or delete unmarked board content without explicit approval. Pause when the responsible owner or exact target is uncertain.

Output

Return environment guards, fixture IDs as hashes, test results, observed contract drift, cleanup count, and leftovers. State what was not inspected or changed so the receipt cannot overclaim coverage.

Error Handling

ConditionResponse
Production identifier detectedAbort before making any request.
Fixture create partially failsStop, inventory confirmed creations, and clean only those IDs.
Asynchronous state is not visibleRetry a bounded read with jitter; do not duplicate the write.
Cleanup ownership is uncertainLeave the item and flag it for a board owner.

Examples

The example is a redacted operator receipt; identifiers are hashes or bounded labels, not board content or credentials.

app=dev; board=test-only; fixtures-created=3; contract-tests=8/8; fixtures-removed=3; production-ids=0

Resources

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

skills/.curated/miro-local-dev-loop

默认分支

main

最新提交

e5a6c3b

Tree SHA

c2dc8e8