Phone Harness
ShawnPana/phone-harness
Control the user's phone - an iPhone through the Mac's iPhone Mirroring window, an Android over adb, a rented cloud Android, or a cloud iPhone over HTTPS: open apps, tap, type, swipe, read the screen.
Resolve material unknowns blocking the next authorized slice, using research, grilling, prototypes, models, or wayfinding.
$ npx skills add ReinaMacCredy/maestro --skill maestro-design -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ReinaMacCredy/maestro maestro-design --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ReinaMacCredy/maestro.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/plugins/skills/maestro-design .claude/skills/maestro-design && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "maestro-design" agent skill from https://github.com/ReinaMacCredy/maestro/tree/main/src/plugins/skills/maestro-design into .claude/skills/maestro-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maestro-design", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ReinaMacCredy/maestro/tree/main/src/plugins/skills/maestro-designType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ReinaMacCredy/maestro --skill maestro-design -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ReinaMacCredy/maestro maestro-design --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ReinaMacCredy/maestro.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/plugins/skills/maestro-design .agents/skills/maestro-design && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "maestro-design" agent skill from https://github.com/ReinaMacCredy/maestro/tree/main/src/plugins/skills/maestro-design into .agents/skills/maestro-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maestro-design", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ReinaMacCredy/maestro --skill maestro-design -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ReinaMacCredy/maestro maestro-design --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ReinaMacCredy/maestro.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/plugins/skills/maestro-design .cursor/skills/maestro-design && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "maestro-design" agent skill from https://github.com/ReinaMacCredy/maestro/tree/main/src/plugins/skills/maestro-design into .cursor/skills/maestro-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maestro-design", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ReinaMacCredy/maestro.git --path src/plugins/skills/maestro-design--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ReinaMacCredy/maestro --skill maestro-design -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ReinaMacCredy/maestro maestro-design --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ReinaMacCredy/maestro.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/plugins/skills/maestro-design .gemini/skills/maestro-design && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "maestro-design" agent skill from https://github.com/ReinaMacCredy/maestro/tree/main/src/plugins/skills/maestro-design into .gemini/skills/maestro-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maestro-design", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ReinaMacCredy/maestro maestro-designInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ReinaMacCredy/maestro --skill maestro-design -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ReinaMacCredy/maestro.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/plugins/skills/maestro-design .github/skills/maestro-design && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "maestro-design" agent skill from https://github.com/ReinaMacCredy/maestro/tree/main/src/plugins/skills/maestro-design into .github/skills/maestro-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maestro-design", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ReinaMacCredy/maestro --skill maestro-design -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ReinaMacCredy/maestro maestro-design --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ReinaMacCredy/maestro.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/plugins/skills/maestro-design .opencode/skills/maestro-design && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "maestro-design" agent skill from https://github.com/ReinaMacCredy/maestro/tree/main/src/plugins/skills/maestro-design into .opencode/skills/maestro-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maestro-design", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
maestro-designResolve material unknowns blocking the next authorized slice, using research, grilling, prototypes, models, or wayfinding.
Maestro Design is an agent skill from ReinaMacCredy/maestro. Resolve material unknowns blocking the next authorized slice, using research, grilling, prototypes, models, or wayfinding. Record durable decisions and apply the shared workflow tier rule.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/domain-modeling.md`, `references/grilling.md` and `references/unattended.md`).
It sits in Mobile, covering Mobile testing and debugging and Requirements gathering. The repository describes itself as: Local-first coordination for human and agent work: durable work, decisions, dispatches, evidence, and prompt-first methods, powered by TypeScript and Bun. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2412403. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Maestro Design loads about 2.1k tokens when it runs, and up to ~5.2k if it reads all its reference files. Until then it costs about 51 tokens; SKILL.md has 1,113 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ReinaMacCredy/maestro at commit 2412403, republished under its MIT licence (© ReinaMacCredy). 1,113 words, ~2,076 tokens.
.claude/skills/maestro-design/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.<!-- maestro-skill-version: dev -->
Use when a material choice blocks the next slice. Read Decisions and readiness and Authorization boundaries. Design is read-only toward production code and authorizes nothing.
Identify what kind of unknown blocks progress, then load only the reference that resolves it:
| The unknown | Mode | Reference |
|---|---|---|
| Decisions only the user can make, several and interdependent | grill | references/grilling.md |
| A decision owned by someone not in the conversation | route to maestro-questionnaire | |
| A fact in docs, APIs, or source outside this repo | research | maestro-explore (research mode) |
| "Does this state model feel right?" or "What should it look like?" | prototype | maestro-explore (prototype mode) |
| Fuzzy terminology, or a hard-to-reverse choice worth recording | model | references/domain-modeling.md |
| The effort exceeds one session and is wrapped in fog, or the user does not know what to do next | wayfind | references/wayfinder.md |
Facts are yours to find; material product and scope choices are the user's. Never ask the user for anything you could look up. Modes compose: grill runs with the glossary in hand; wayfind dispatches grill, research, and prototype per child work item. Each design pass must close at least one fork; a pass that closes none surfaces the blocker to the user instead of looping.
Pin the problem before choosing a method:
For [who], reach [observable outcome] within [boundary], because [impact], without [excluded effect].
Route uncertainty to a lane:
| Current uncertainty | Lane |
|---|---|
| state unknown | scout, no-write |
| several architectures | two or three decision lanes |
| contract clear | delivery |
| candidate needs breaking | challenge |
| hard-to-reverse fork | council |
Weigh the ROI of independent judgment on five questions:
Mostly no: the direct session. Mixed: a Lead plus one peer. Mostly yes: several lanes. Yes on every question including hard to reverse: a council. Before launching any lane, pin the branch and commit, active writers, and dirty paths.
Before proposing anything, search the store for precedent:
maestro search "<topic keyword>" # hits labeled work/decision/note/bundle
maestro bundle show <id> # deep-read a bundle hit
maestro decision list # locked choices that bind this scopeA past bundle that settled the same fork is evidence; cite it instead of re-deriving the argument.
maestro work show, linked decisions, notes, and source.maestro decision draft "<choice>" --rationale "<why, with the rejected alternative>" --work <id>
then maestro decision lock <id>. Supersede an old decision with
--supersedes; never rewrite its history.maestro bundle open <id> --work <workId> tells the reviewer
above you that a design has begun, and the answer may be a question-back
pass opened on it: a read-only seat that reads the draft SPEC, the decisions
not yet locked, and the code the SPEC cites, and returns one to three
questions, each naming the claim it doubts and the evidence that would settle
it. It reaches no verdict and edits nothing. Before maestro decide locks a
point one of those questions doubts, answer that question - a work note on
the design item, or a change to the SPEC - and carry the answer into the
decision's --why. A point locked over an unanswered question is a decision
taken without the evidence it asked for.A hard-to-reverse fork with wide blast radius runs the maestro-council
protocol: neutral brief, sealed seats, one premise verifier on unanimity,
bounded verifiers, one cross-examination round, an audit by tier, and one
binding verdict recorded with maestro decision draft --rationale carrying
the dissent. The candidate under review stays frozen; a new finding creates
a new candidate.
Check readiness of the next bounded slice, not the number of open questions about the whole project. Keep later questions visible without blocking an independent slice. If the problem itself is unclear, wayfind. Forks already settled are synthesized, never re-asked. An external claim entering a decision (API behavior, library semantics, versions) comes from research against primary sources, never from memory.
Then exit by Tiers:
maestro work add "<title>" --acceptance "<observable result>" --kind <kind>,
plus any durable decisions. Kind routes the policies: feature, task,
bug, chore, implement are execution units; idea and research are
scope notes under a parent and never hold it open. The why lives in the
title or acceptance; when it needs a paragraph, add
maestro work note <id> "why: <paragraph>", and record findings from the
research mode as research: <finding> notes (what policy-research reads
when enabled). No SPEC is required; the work is verified inline by
maestro-work. A quickfix never reaches design.maestro bundle open <id> --work <workId>, opened in the
store whose checkout will change (a walk run in the Hub room still opens
its bundle where the code lives; note the bundle on the Hub map and the map
on the bundle's work item), then fill SPEC.md as a pure contract: Problem,
Solution, Scope, Anti-goals (each traces to a real risk in this repo and gets a matching
VERIFY.md check; an anti-goal that cannot be checked is a wish, not a
constraint), Decisions (ids only, Hub decisions as hub:<id>;
maestro bundle show <id> renders them). Plan checks using
Testing discipline, including
existing checks and necessary new tests, not a test quota. Draft VERIFY.md
from acceptance, relevant risks, and anti-goals; seed NOTES.md with Current
State, Next Action, original authorization, and Base:.A SPEC that locks a decision on a derived artifact - a module map, a dependency
graph, a measured table - ships that artifact in the bundle beside SPEC.md,
under ## Derived artifacts, with the script or command that produced it and a
plain statement of what the method over- or under-approximates. The conclusion
is not the evidence: a stated table nobody can re-run reads as settled
precisely because it is stated with confidence, and a VERIFY check that asks a
later reviewer to re-derive what the design claimed to have settled is the sign
the artifact is missing. l7, d880: an 11-module split was locked on a hand
tally that had asserted away a real cycle and missed the per-module counts by
up to 56 lines, and only reconstruction - the thing the design existed to make
unnecessary - exposed it.
If the next slice's acceptance or authority needs guessing, resolve that blocker. Otherwise continue implementation when the user's original request already authorizes it; do not ask again merely because design is complete. For a design-only request, finish with the proposed scope and implementation gate. A SPEC authorizes nothing.
For unattended/away-mode design constraints, read references/unattended.md.
© ReinaMacCredy, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in src/plugins/skills/maestro-design of ReinaMacCredy/maestro.
Open the folder on GitHubat commit 2412403
Maestro Design next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Maestro Design this skillReinaMacCredy/maestro | 233 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Phone HarnessShawnPana/phone-harness | 3.2k | — | ~7.7k | Automated safety check: Pass | MIT | |
| Maa Issue Log AnalysisMaaAssistantArknights/MaaAssistantArknights | 24k | — | ~4k | Automated safety check: Pass | AGPL-3.0 | |
| Mobile QAtloncorp/tlon-apps | 107 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Store Listing Screenshotstherxmv/Telegram-Themer | 119 | — | ~2.5k | Automated safety check: Pass | None | |
| Androidyang1ming/android-harness | 176 | — | ~259 | Automated safety check: Pass | MIT |
ShawnPana/phone-harness
Control the user's phone - an iPhone through the Mac's iPhone Mirroring window, an Android over adb, a rented cloud Android, or a cloud iPhone over HTTPS: open apps, tap, type, swipe, read the screen.
MaaAssistantArknights/MaaAssistantArknights
分析 MaaAssistantArknights 上游仓库公开 Issue(https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/...
tloncorp/tlon-apps
Run a mobile QA checklist on a physical Android device over adb for tlon-apps, then triage what fails into fixes.
therxmv/Telegram-Themer
Generate TelegramThemer's Play Store listing images — capture the 8 required app screenshots on a running emulator/device by driving the real UI with adb, then composite them into the final…
yang1ming/android-harness
Direct Android device control through ADB. An agent skill from yang1ming/android-harness.
haumacher/phoneblock
Decode and analyze an ESP32 dongle crash report (uploaded .coredump).
ReinaMacCredy/maestro
Turn filed lessons into the smallest doctrine edit. An agent skill from ReinaMacCredy/maestro.
ReinaMacCredy/maestro
Lead-only council for a hard-to-reverse fork - a neutral brief, sealed independent seats, one premise verifier on unanimity, bounded verifiers, one cross-examination round, a draft-verdict audit…
ReinaMacCredy/maestro
Drive a pre-known multi-agent path as a maestro graph - run it by name or from a file you just wrote, pull each agent node with graph next, spawn it as a sub-agent under its maestro-<profile…
ReinaMacCredy/maestro
Verify and close - cross-check coverage, run the VERIFY table, deliver the verdict, harvest durable lessons into decisions, close the bundle, and never claim remote state from local evidence.
ReinaMacCredy/maestro
Implement or fix one authorized unit with minimal edits and sufficient evidence.
ReinaMacCredy/maestro
Route work into the right maestro tier and drive the SPEC/NOTES/VERIFY bundle lifecycle - open, resume, close, recall.
Categories
Resolve material unknowns blocking the next authorized slice, using research, grilling, prototypes, models, or wayfinding. Maestro Design is an agent skill from ReinaMacCredy/maestro. Resolve material unknowns blocking the next authorized slice, using research, grilling, prototypes, models, or wayfinding.
Maestro Design fits situations like: tasks that involve Mobile testing and debugging; tasks that involve Requirements gathering.
Run `npx skills add ReinaMacCredy/maestro --skill maestro-design -a claude-code`. Or copy the skill folder (src/plugins/skills/maestro-design in ReinaMacCredy/maestro) into .claude/skills/maestro-design in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ReinaMacCredy/maestro --skill maestro-design -a codex`. Or copy the skill folder (src/plugins/skills/maestro-design in ReinaMacCredy/maestro) into .agents/skills/maestro-design in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ReinaMacCredy/maestro --skill maestro-design -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/maestro-design, .gemini/skills/maestro-design, .github/skills/maestro-design and .opencode/skills/maestro-design in your project.
SKILL.md names no scripts, command-line tools or credentials: Maestro Design is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Maestro Design is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Maestro Design: Phone Harness (ShawnPana/phone-harness, 3.2k stars), Maa Issue Log Analysis (MaaAssistantArknights/MaaAssistantArknights, 24k stars), Mobile QA (tloncorp/tlon-apps, 107 stars) and Store Listing Screenshots (therxmv/Telegram-Themer, 119 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ReinaMacCredy (a GitHub user) maintains it in ReinaMacCredy/maestro, which has 233 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on September 28, 2026.
Source: ReinaMacCredy/maestro on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.