Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/MarieLynneBlock/arcanum-artifex --skill miro-board명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Check that a Copilot customisation asset (skill, workflow, agent, instruction, or prompt folder) stays standalone and copyable, with no runtime dependency on paths outside its own folder. Use when packaging an asset for reuse, reviewing whether an asset can be copied out of this repo, or investigating why a copied asset breaks elsewhere.
Audit Markdown links, images, and local anchors for broken relative references. Use when reviewing documentation changes, moving or renaming assets, updating indexes, or investigating broken links.
Validate YAML frontmatter of Copilot customisation assets in this lab (SKILL.md, WORKFLOW.md, *.agent.md, *.instructions.md, *.prompt.md). Use when adding, reviewing, or fixing an asset's frontmatter, or when asked to check whether an asset follows repository conventions.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | miro-board |
| description | Generates Miro board content in two modes: |
| version | 1.0.0 |
| tags | ["miro","visual","diagramming","collaboration","api"] |
| metadata | {"skill-author":"Marie-Lynne Block"} |
Generates Miro board content in two modes:
Supports the following analyst board types:
| Board type | Use case |
|---|---|
| User story map | Epics across top, stories in columns below, personas as swim lanes |
| Process flow | AS-IS or TO-BE swim-lane diagrams |
| Stakeholder map | Influence × interest grid |
| Gap analysis | Current state / gap / target state columns |
| Impact/effort matrix | 2×2 prioritisation quadrant |
| Retrospective | Start / Stop / Continue (or 4Ls, Mad-Sad-Glad, etc.) |
| Affinity map | Clustered sticky notes from research data |
write-user-story, stakeholder-map) and wants it on a board.requests installed (uv pip install requests).Ask the user (if not stated):
API mode — use when:
Prompt mode — use when:
Follow the board-type instructions below, then produce the output using the format for the chosen mode.
"""
Miro board creator — [Board type]: [Title]
Requirements: pip install requests
Set MIRO_TOKEN env variable before running.
"""
import os
import requests
TOKEN = os.environ["MIRO_TOKEN"]
HEADERS = {
"Authorization": f"Bearer {TOKEN}",
"Content-Type": "application/json",
}
BASE_URL = "https://api.miro.com/v2"
def create_board(name: str) -> str:
"""Create a new Miro board and return its ID."""
response = requests.post(
f"{BASE_URL}/boards",
headers=HEADERS,
json={"name": name, "policy": {"permissionsPolicy": {"collaborationToolsStartAccess": "all_editors"}}},
)
response.raise_for_status()
board_id = response.json()["id"]
print(f"Board created: {response.json()['viewLink']}")
return board_id
def add_sticky(board_id: str, content: str, x: float, y: float, color: str = "yellow") -> str:
"""Add a sticky note to the board."""
response = requests.post(
f"{BASE_URL}/boards/{board_id}/sticky_notes",
headers=HEADERS,
json={
"data": {"content": content, : },
: {: color},
: {: x, : y, : },
},
)
response.raise_for_status()
response.json()[]
() -> :
response = requests.post(
,
headers=HEADERS,
json={
: {: title, : , : },
: {: x, : y, : },
: {: width, : height},
},
)
response.raise_for_status()
response.json()[]
() -> :
response = requests.post(
,
headers=HEADERS,
json={
: {: content},
: {: (font_size), : },
: {: x, : y, : },
},
)
response.raise_for_status()
response.json()[]
() -> :
response = requests.post(
,
headers=HEADERS,
json={
: {: start_id},
: {: end_id},
: {: , : },
},
)
response.raise_for_status()
response.json()[]
():
board_id = create_board()
()
__name__ == :
build_board()
The skill fills in build_board() with board-type-specific calls using the content provided by the user.
## Miro AI prompt: [Board type] — [Title]
> Paste this prompt into Miro AI (board → AI assistant → "Generate board").
---
Create a [board type] Miro board titled "[Title]".
[Board-type-specific layout description]
Content to include:
[Structured list of items, epics, stakeholders, steps, etc.]
Formatting:
- Use [colour] sticky notes for [category].
- Use [colour] sticky notes for [category].
- Group related items in labelled frames.
- Add connectors between [items] to show [relationship].
Input: User provides an epic with 6 stories across 2 personas. Expected output (API mode): Python script that creates a board, adds the epic as a header frame, adds 6 sticky notes in columns beneath it, adds 2 persona label texts on the left margin, and draws a release line after story 3.
Input: "Create a Miro stakeholder map for these 8 people: [list with influence/interest ratings]." Expected output (prompt mode): A Miro AI prompt that describes the 2×2 grid, places each person in the correct quadrant, and colour-codes by team.
Input: "I have a gap analysis output from the gap-analysis skill. Put it on a Miro board." Expected output: Three-column board (Current State / Gap / Target State) with one row per topic, sticky notes colour-coded by priority, and a legend frame.
"yellow", "light_yellow", "orange", "light_green", "cyan", "light_pink", "violet", "red", "light_blue", "blue", "dark_blue", "black", "gray", "dark_gray", "white".permissionsPolicy in create_board() if the board is sensitive.