miro-api-2-sticky-notes-and-cards
Sub-skill of miro-api: 2. Sticky Notes and Cards.
Best use case
miro-api-2-sticky-notes-and-cards is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of miro-api: 2. Sticky Notes and Cards.
Teams using miro-api-2-sticky-notes-and-cards should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/2-sticky-notes-and-cards/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How miro-api-2-sticky-notes-and-cards Compares
| Feature / Agent | miro-api-2-sticky-notes-and-cards | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of miro-api: 2. Sticky Notes and Cards.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 2. Sticky Notes and Cards
## 2. Sticky Notes and Cards
```python
# sticky_notes.py
# ABOUTME: Sticky note and card creation
# ABOUTME: Create, position, and style sticky notes
from miro_api import Miro
import os
miro = Miro(access_token=os.environ.get("MIRO_ACCESS_TOKEN"))
def create_sticky_note(
board_id: str,
content: str,
x: float = 0,
y: float = 0,
color: str = "yellow",
width: float = 200,
) -> dict:
"""Create a sticky note on a board"""
# Color mapping
colors = {
"yellow": "yellow",
"green": "green",
"blue": "blue",
"pink": "pink",
"orange": "orange",
"purple": "violet",
"gray": "gray",
"cyan": "cyan",
"red": "red",
"light_yellow": "light_yellow",
"light_green": "light_green",
"light_blue": "light_blue",
"light_pink": "light_pink",
}
sticky = miro.sticky_notes.create(
board_id=board_id,
data={"content": content, "shape": "square"},
style={"fillColor": colors.get(color, "yellow")},
position={"x": x, "y": y, "origin": "center"},
geometry={"width": width},
)
return {
"id": sticky.id,
"content": sticky.data.content,
"position": {"x": sticky.position.x, "y": sticky.position.y},
"color": sticky.style.fill_color,
}
def create_sticky_grid(
board_id: str,
items: list,
start_x: float = 0,
start_y: float = 0,
columns: int = 4,
spacing: float = 250,
color: str = "yellow",
) -> list:
"""Create a grid of sticky notes"""
created = []
for i, item in enumerate(items):
row = i // columns
col = i % columns
x = start_x + (col * spacing)
y = start_y + (row * spacing)
sticky = create_sticky_note(
board_id=board_id, content=item, x=x, y=y, color=color
)
created.append(sticky)
return created
def create_card(
board_id: str,
title: str,
description: str = "",
x: float = 0,
y: float = 0,
assignee_id: str = None,
due_date: str = None,
tags: list = None,
) -> dict:
"""Create a card widget"""
card_data = {"title": title, "description": description}
if assignee_id:
card_data["assigneeId"] = assignee_id
if due_date:
card_data["dueDate"] = due_date
if tags:
card_data["tagIds"] = tags
card = miro.cards.create(
board_id=board_id,
data=card_data,
position={"x": x, "y": y, "origin": "center"},
geometry={"width": 320, "height": 200},
)
return {
"id": card.id,
"title": card.data.title,
"position": {"x": card.position.x, "y": card.position.y},
}
def update_sticky_note(
board_id: str, sticky_id: str, content: str = None, color: str = None
) -> dict:
"""Update a sticky note"""
update_data = {}
if content:
update_data["data"] = {"content": content}
if color:
update_data["style"] = {"fillColor": color}
sticky = miro.sticky_notes.update(board_id, sticky_id, **update_data)
return {"id": sticky.id, "content": sticky.data.content}
def delete_sticky_note(board_id: str, sticky_id: str) -> bool:
"""Delete a sticky note"""
miro.sticky_notes.delete(board_id, sticky_id)
return True
# Retrospective board example
def create_retro_board(board_id: str) -> dict:
"""Create a retrospective board layout"""
# Create category headers
categories = [
{"title": "What went well", "color": "green", "x": 0},
{"title": "What to improve", "color": "pink", "x": 500},
{"title": "Action items", "color": "blue", "x": 1000},
]
created_stickies = {}
for cat in categories:
# Create header sticky
header = create_sticky_note(
board_id=board_id,
content=f"<strong>{cat['title']}</strong>",
x=cat["x"],
y=-200,
color=cat["color"],
width=400,
)
created_stickies[cat["title"]] = [header]
# Create placeholder stickies
for i in range(3):
placeholder = create_sticky_note(
board_id=board_id,
content="Add your thoughts here...",
x=cat["x"],
y=i * 150,
color=cat["color"],
)
created_stickies[cat["title"]].append(placeholder)
return created_stickies
if __name__ == "__main__":
board_id = "YOUR_BOARD_ID"
# Create grid of stickies
items = ["Task 1", "Task 2", "Task 3", "Task 4", "Task 5", "Task 6"]
stickies = create_sticky_grid(
board_id=board_id, items=items, columns=3, color="blue"
*Content truncated — see parent skill for full reference.*Related Skills
great-tables-6-footnotes-and-annotations
Sub-skill of great-tables: 6. Footnotes and Annotations (+1).
trello-api-cards-by-list
Sub-skill of trello-api: Cards by List.
obsidian-weekly-review-notes-created
Sub-skill of obsidian: Weekly Review - Notes Created.
obsidian-recent-notes-last-7-days
Sub-skill of obsidian: Recent notes (last 7 days).
obsidian-notes-ideas
Sub-skill of obsidian: Notes & Ideas.
obsidian-notes-by-area-grouped
Sub-skill of obsidian: Notes by Area (grouped).
obsidian-list-all-notes-tagged-with-project
Sub-skill of obsidian: List all notes tagged with #project.
obsidian-discussion-notes
Sub-skill of obsidian: Discussion Notes.
memory-management-notes
Sub-skill of memory-management: Notes.
frontend-design-cards-with-character
Sub-skill of frontend-design: Cards with Character (+1).
teams-api-2-adaptive-cards
Sub-skill of teams-api: 2. Adaptive Cards.
miro-api-sprint-retrospective-automation
Sub-skill of miro-api: Sprint Retrospective Automation.