From miranda
Resolve multi-dependency fan-in by merging dependency PRs into a common base and updating issue dependencies
npx claudepluginhub open-horizon-labs/bottle --plugin mirandaThis skill uses the workspace's default tool permissions.
Use this skill when an issue has 2+ open dependencies and scheduler cannot auto-stack because there is no single base branch.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Use this skill when an issue has 2+ open dependencies and scheduler cannot auto-stack because there is no single base branch.
/oh-join <issue-number>
<issue-number>: target GitHub issue (for example 1178 or #1178)For target issue #X:
Depends on: dependenciesLoad issue and dependencies
gh issue view <issue-number> --json number,title,body,state,url
Depends on: lines.blocked (not a join case).Discover open PRs for dependency issues
gh pr list --state open --json number,title,headRefName,baseRefName,body,url
issue/<N> or issue-<N>Closes #N / Fixes #N / Resolves #Nblocked and list missing deps.Determine common base branch
baseRefName across dependency PRs.blocked and report conflicting bases.Readiness checks for each dependency PR For each dep PR:
gh pr checks <pr-number> --fail-on-error
gh pr view <pr-number> --json reviewDecision,isDraft,mergeable
CHANGES_REQUESTED
If any fail: stop with blocked and report specific PR reasons.Merge dependency PRs in deterministic order and close their issues
(issue #D, PR #P) in order:
gh pr merge <pr-number> --squash
gh issue close <dep-issue-number> --comment "Closed via oh-join after merging PR #<pr-number> into <base-branch>."
Closes #N.signal_completion(status: "error", error: "...")Update target issue dependencies
Depends on: to one explicit scheduler-readable base dependency.issue/<B> or issue-<B>; then set: **Depends on:** #<B>main/master), stop with blocked and do NOT rewrite dependencies to none.~~#N~~) form — remove them completely.<!-- oh-join -->
Joined deps: #A (PR #PA), #B (PR #PB)
Base branch: <branch>
Updated: <ISO timestamp>
gh issue edit <issue-number> --body-file <temp-file>
Completion signaling
signal_completion(status: "success", message: "Merged dep PRs #... into <base>; updated issue #<issue-number> dependencies")
signal_completion(status: "blocked", blocker: "<reason>")
signal_completion(status: "error", error: "<reason>")
Depends on: #<base-issue> when base is an issue branch.You MUST call signal_completion as your final action.
If the tool is unavailable, end with one line:
COMPLETION: status=success message=<...>COMPLETION: status=blocked blocker=<...>COMPLETION: status=error error=<...>