Agent skill

Resolve Handoff

by omnigent-ai in omnigent-ai/omnigent

Emit the complete Resolve handoff with exact modes, outcomes, test evidence, and publication state.

Apache-2.0Auto-check passedAgent Workflows

Install Resolve Handoff

skills CLI
$ npx skills add omnigent-ai/omnigent --skill resolve-handoff -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install omnigent-ai/omnigent resolve-handoff --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/omnigent-ai/omnigent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/dev/resolve-agent/skills/resolve-handoff .claude/skills/resolve-handoff && rm -rf skills-src

Use ~/.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/

Facts

Skill name
resolve-handoff
GitHub stars
11k
Token cost
~4.6k tokens
SKILL.md length
2,047 words
Files
1
Skills in repo
19
Repo updated
First seen
Licence
Apache-2.0

At a glance

Emit the complete Resolve handoff with exact modes, outcomes, test evidence, and publication state.

  • Agent Workflows work in your project
  • Calls gh

What it does

Resolve Handoff is an agent skill from omnigent-ai/omnigent. Emit the complete Resolve handoff with exact modes, outcomes, test evidence, and publication state.

Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows. The repository describes itself as: Omnigent is an open-source AI agent framework and meta-harness: orchestrate Claude Code, Codex, Cursor, Pi, and custom agents — swap harnesses without rewriting, enforce policies… The licence is Apache-2.0.

When your agent uses it

  • Agent Workflows work in your project

Example prompts

  • “/resolve-handoff”

What it can do on your machine

Read from SKILL.md and the folder at commit 2e1cd15. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Resolve Handoff loads about 4.6k tokens when it runs. Until then it costs about 29 tokens; SKILL.md has 2,047 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~29
When it runs · the whole SKILL.md, loaded when a task matches
~4.6k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from omnigent-ai/omnigent at commit 2e1cd15, republished under its Apache-2.0 licence (© omnigent-ai). 2,047 words, ~4,626 tokens.

Download SKILL.mdSave it as .claude/skills/resolve-handoff/SKILL.md (or your agent's skills folder).
name
resolve-handoff
description
Emit the complete Resolve handoff with exact modes, outcomes, test evidence, and publication state.

Output — the resolution handoff

The last thing in your final message must be exactly one fenced json code block — the machine-readable handoff, parsed by taking the last json fence in the message. Same discipline as repro-agent:

  • Write whatever prose summary you like above it, but the ```json block is the last chunk of the message, with nothing after its closing fence. Do not split the handoff across multiple sections or emit a second data block.
  • One exception (author path): you also emit an interim handoff right after opening the PR (Step 3.5) so the workflow can post the PR link to Linear before Step 4 finishes. That is fine — the caller reads the last valid handoff in the session, so this final one supersedes the interim block. The interim block carries pr_url + a provisional outcome; this final block is authoritative.
  • Emit it as JSON, never YAML. Include every key below, always, even when a value is empty ("", []).
  • mode must be exactly "reviewed_existing_pr", "authored_fix", or "review_remediation" — which entry path you took.
  • outcome must be exactly one of the string literals "fixed", "partially_fixed", "not_fixed", "nothing_to_fix", "needs_more_info" — lowercase, no other wording. This is the field the caller reads, so it must match verbatim.
json
{
  "bug_url": "https://github.com/omnigent-ai/omnigent/issues/1234",
  "mode": "authored_fix",
  "outcome": "fixed",
  "problem_summary": "People see internal catalog IDs in the model picker instead of readable model names.",
  "solution_summary": "The model picker now shows a friendly name for every model.",
  "root_cause": "picker rendered raw catalog IDs because format_label() was never called on the option list",
  "fix_summary": "call format_label() when building picker options in web/src/model/picker.tsx",
  "review_body": "",
  "files_changed": ["web/src/model/picker.tsx"],
  "facets": [
    {"symptom": "picker display", "outcome": "fixed", "test_transition": "test_1234 failed: raw IDs shown → passes: friendly labels"},
    {"symptom": "catalog default", "outcome": "nothing_to_fix", "test_transition": "already_fixed in #3448; skipped"}
  ],
  "tests": {
    "e2e": "",
    "added": ["tests/web/model/test_picker_label.py::test_display_label"]
  },
  "recordings": [
    {"surface": "web", "kind": "before", "path": "recordings/1234/before-picker.webm", "format": "webm",
     "capture_mode": "playwright_ui",
     "caption": "open the model picker → select the catalog → picker shows raw IDs"},
    {"surface": "web", "kind": "after", "path": "recordings/1234/after-picker.webm", "format": "webm",
     "capture_mode": "playwright_ui",
     "caption": "open the model picker → select the catalog → picker now shows friendly names"}
  ],
  "recording_unavailable_reason": "",
  "test_audit": "Reused the display-label regression; the same assertions fail on base and pass on head. Browser reproduction evidence is staged in .omnigent/repro-evidence/; workflow upload is pending at <workflow run URL>, artifact resolve-bundle-<run-id>, path repro-evidence/. No additional browser boundary was found.",
  "impact_assessment": {
    "base_sha": "<full target-branch tip SHA>",
    "head_sha": "<full candidate HEAD SHA>",
    "worktree_state": "clean",
    "risks": [
      {
        "files": ["web/src/model/picker.tsx"],
        "behavior": "Changing labels can alter model selection or restoration",
        "consumers": ["model picker", "restored sessions"],
        "invariant": "Selections and restored sessions retain the same model IDs",
        "check": "<exact command exercising selection and session restoration>",
        "result": "passed",
        "evidence": "<retained output reference, tested build and environment>"
      }
    ],
    "uncovered_boundaries": [],
    "not_applicable_reason": ""
  },
  "remaining_work": [],
  "hermetic_check": "test_picker_label re-run with ambient env vars set — still passes",
  "pr_url": "https://github.com/omnigent-ai/omnigent/pull/4200",
  "reviewed_pr_url": "",
  "pushed_branch": "",
  "ci_status": "green (all required checks pass)",
  "polly_review": "clean on <full candidate HEAD SHA>: fixed null-deref; fresh review has no findings",
  "ocr_review": "clean on <full candidate HEAD SHA>: no findings",
  "review_cycle": {
    "head_sha": "<full candidate HEAD SHA>",
    "fingerprint": "<fingerprint from the final review snapshot>",
    "dispositions": [
      {"key": "comment:<id>", "status": "addressed", "reason": "Finding 1: null-deref fixed in <commit>; <test> passes. Finding 2: suggested fallback already exists at <path:line> and is covered by <test>, so not needed."}
    ]
  },
  "ui_preview": "labeled ui-preview on every PR; preview at https://…; posted connect instructions",
  "validation_surface": "server",
  "validation_prompt": "Reproduce and validate a bug fix. Steps: open the model picker in the catalog view… Before this fix, raw catalog IDs were shown. Confirm the fix by checking that friendly labels appear. Report whether each step now behaves correctly.",
  "maintainer_review": "requested review from @PattaraS (issue assignee)",
  "review_fingerprint": "",
  "handled_review_ids": [],
  "last_pushed_sha": "",
  "session_id": "dc59e331-..."
}

Field meanings:

For modes that drive an open PR, fixed also requires the Step 4.3 live gate to pass. Interim and workflow-owned implementation handoffs do not certify PR readiness; name pending publication/review steps in remaining_work.

  • bug_url — the bug link, carried through from the recovered handoff.

  • mode — reviewed_existing_pr (Step 2A: a candidate PR existed, you reviewed it and kept it as the fix) or authored_fix (Step 2B: you wrote the fix). Use authored_fix when you started from an existing PR but opened your own — for either reason: its approach wasn't viable (2A.5), or its approach was fine but it was an unpushable fork PR that needed a fix so you took it over (Step 4 preamble). In both cases name the reviewed/forked PR in your prose and reviewed_pr_url so the two stay linked. Use review_remediation only when the input supplied review_pr; in that mode preserve the existing PR and branch and address its requested changes directly.

  • review_fingerprint / handled_review_ids / last_pushed_sha — populated in review-remediation mode for scanner deduplication and workflow retry recovery; otherwise "", [], and "".

  • outcome — overall: fixed (every live facet resolved and proven — by your fix or by the reviewed PR — and the shared impact assessment has no unresolved required checks), partially_fixed, not_fixed (couldn't resolve, or the reviewed PR doesn't fix it), nothing_to_fix (recovered verdict was already_fixed/not_reproduced, or the 2B.1 audit showed main has since fixed it — name the fixing commit and recommend closing the ticket), or needs_more_info (couldn't recover a reliable reproduction, evidence is unsafe, required inputs/authorization are missing, or setup/environment blocks verification). When intended behavior is ambiguous, follow resolve-investigate: a supported proposal with an unresolved design choice is partially_fixed, with the choice in remaining_work. Do not describe it as a proven fix.

  • problem_summary / solution_summary — the two user-facing paragraphs shown prominently in the Linear update under What's the problem? and How is it fixed? Write plain, natural English for someone who uses the product but has not read the code. problem_summary describes what the person experiences and why it matters. solution_summary describes the corrected behavior and result. Keep implementation symbols, filenames, commit/merge bookkeeping, test lists, and CI details out of both fields; those belong in the technical fields below. Include both fields even for review mode and no-change outcomes.

  • root_cause / fix_summary / files_changed — the cause and the change. These are the technical details shown under Additional notes and used by publication/review fallbacks, so concrete symbols and filenames are welcome. In review mode, describe the reviewed PR's approach and leave files_changed empty (you changed nothing). Distinguish the observed symptom from the supported cause; include sources for historical intent, competing explanations checked, and any proposed policy change. Identify the real configuration path exercised and any substituted components. If the test assumes the suspected cause, retain it as a hypothesis and carry the missing proof into the outcome and remaining_work, following resolve-investigate. State missing evidence plainly; never include credentials.

  • review_body — the PR-facing review text from Step 2A. Fill it in for reviewed_existing_pr, including workflow-owned publication; use "" in other modes. State the verdict and reason first, then separate the proof and any remaining action into short bullets. Do not paste root_cause, fix_summary, ci_status, or polly_review wholesale. The workflow publisher posts this field verbatim before adding the tested commit and marker, so it must stand alone as a useful review. Encode paragraph and bullet breaks as \n within the JSON string.

  • facets — per-facet, mirroring the recovered breakdown: each with its own outcome and a test_transition (the fail→pass proof, or why it was skipped).

  • tests — selected permanent regression coverage. e2e is the retained e2e path, or "" when none is needed. added keeps its legacy name but lists the other selected checks, including reused unchanged tests or extensions to an existing module. Each entry must be a bare repository-relative path or test node ID that resolves on the committed candidate. Do not append labels such as (reused unchanged), shell commands, or result summaries; put those in test_audit. Before handing off, check the file portion of every reference against the committed tree and use the same node IDs as the executed checks. Do not list artifact-only reproduction paths here. In comment-only review, keep the existing review procedure and do not commit temporary test source. Use test_audit for brief selection reasoning: reused/retained tests, why any new permanent e2e is necessary, and gaps. For reproduction-only evidence, give the run URL/artifact/path or verified persistent local path from 2B.4, plus its retention status; identify pending uploads and unresolved retention.

  • recordings — your after-fix clips (kind: "after") and any recovered before-clips, using {surface, kind, path, format, capture_mode, caption}. Follow the recording rules in Step 2B.5 on both author and review runs; in review mode, record the reviewed PR head. Keep recovered before-clips and captions unchanged. Each after-clip's caption lists the actions shown, ending with the corrected behavior. A missing before-clip is not a reason to skip the after-clip. Use [] only for internal/API-only results with no visible user interaction, or when recording is blocked as described above.

  • recording_unavailable_reason — leave empty when every expected clip is present. Otherwise explain each missing clip:

    • For internal/API-only results, say there is no visible user interaction and put the written before/after evidence in the PR Demo section.
    • For a recording failure, name the missing tool or the environment problem. Text-only CLI output is not a reason to skip recording.
    • Do not substitute a video of test output or a made-up demonstration. Missing or rejected footage must not block the fix or PR.
  • test_audit — required in both author and review modes for reproduction-driven runs. Record the shared repro audit: patch-scope concerns, whether the original test was accepted/repaired/rejected and why, exact before/after revisions and commands, relevant environment/feature gates, behavioral fail→pass evidence, and any blockers. Preserve original evidence when repairing a test. A restored artifact or a green candidate run alone is not an audit.

  • impact_assessment — required in every mode. Use the shared impact assessment above. base_sha is the target branch tip used for the comparison; the full diff starts at its merge-base with head_sha. worktree_state records tested dirt and content hashes, not just the final clean status. Each risks entry maps changed files and affected consumers to a preserved invariant, check, result, and evidence. Include required checks that failed or could not run; explain their gaps in uncovered_boundaries. Use empty SHAs/state only when stopping before a candidate can be identified, with not_applicable_reason. Otherwise leave that reason empty unless the inspected diff has no behavioral impact. This narrative does not certify execution or replace test_audit.

  • remaining_work — a list of specific unresolved behavior, required checks, or delivery steps for partially_fixed; empty when none remain. Resolved original facets do not hide a regression or an uncovered required boundary.

  • hermetic_check — the result of the Step 2B.5 hostile-env re-run when the diff touched env-derived defaults: which added/edited tests you re-ran with ambient vars set and that they still passed. Empty string when not applicable (no such test in the diff).

  • pr_url — the PR you opened (author mode), including a draft proposal identified as such in fix_summary. Empty in review mode, when skip_push was set, or if you stopped before opening one.

  • reviewed_pr_url — the existing PR you reviewed (review mode), or the fork PR you took over into your own (fork takeover — pr_url is then yours). Empty when you authored from scratch with no upstream PR.

  • pushed_branch — the local branch holding the committed fix that you did not push because skip_push was set (author mode). Empty otherwise. A human pushes and opens the PR from it.

  • ci_status — the result of the Step 4.2 CI loop (run on both paths now): green when the checks you're responsible for pass, otherwise the failing checks and whether each was diff-caused vs pre-existing/flaky/infra. If a fork PR needed a fix and you took over into your own PR, this reflects your PR's checks. Empty when skip_push was set or you stopped before there was a PR to land.

  • polly_review / ocr_review — each reviewer's current-head result, rounds, run/comment links, fixes, and individually justified invalid/not-needed findings (including non-blocking notes). Missing, stale, skipped, failed, or undispatched reviews are explicitly incomplete and block readiness/approval. Empty when the publication mode skips Step 4; that does not mean the PR is ready to merge.

  • review_cycle — the Step 4.3 snapshot receipt: head_sha, fingerprint, and dispositions. Include one record per feedback key from the snapshot, with status (addressed, invalid, or not_needed) and a nonempty reason explaining every finding in that document with commit/test/code evidence. Mixed dispositions in one summary belong individually in its reason; use addressed for the document when all its findings are settled. Revalidate after new feedback or a push. The live checker verifies coverage and freshness, not whether the reasoning is correct. Use {} when Step 4 has not run (interim, local-only, or workflow-owned author publication); preserve partial receipts and name missing reviews/findings in remaining_work if the loop is blocked.

  • ui_preview — the result of Step 4.1 (run on every PR, not just frontend fixes): the preview URL (verbatim, so the ticket write-back can surface it and a reviewer can omnigent claude -p '<prompt>' --server <url>), or why it failed to deploy (e.g. workspace secrets not configured, or the label couldn't be applied under your identity). Empty when no PR was opened.

  • validation_surface — which side the fix runs on, from Step 4.1: server (the preview build carries it; --server <preview> validates it), runner (runs in the runner/host process, so only a local gh pr checkout + --server '' build validates it — the preview's local runner is unfixed), or both (spans both — treat like runner). Judge from files_changed; default server, use both when unsure. Tells the write-back which command to render.

  • validation_prompt — the Step 4.4 paste-to-an-agent prompt that reproduces the journey and confirms the fix. Empty when no PR was opened, except for workflow-owned author publication: in that mode no PR exists during the agent session, but this field must retain the deferred prompt for the publisher and Linear write-back.

  • maintainer_review — who you requested review from in Step 4.5 (the issue assignee(s)), or why you couldn't (no assignee / assignee is the author, and what you did instead). Empty when no PR was opened.

  • session_id — the repro session you consumed, carried through so the chain is traceable.

Show full SKILL.md (167 more words)Show less

Directly published author runs and review runs end the same way: the PR you're landing (one you opened, or an existing in-repo PR you reviewed and kept) has a preview, green CI, settled current-head Polly and OCR reviews, a live-validation command, and the maintainer tagged (Step 4) — or a concrete blocker or actual execution deadline has left an explicitly incomplete, resumable handoff. The difference is only how a fix lands (push directly, or — for an unpushable fork PR that needs changes — take over into your own PR carrying the contributor's commits), and that the direct author path opens a PR while the review path adopts an existing one. Workflow-owned author publication ends after the validated body, deferred validation prompt, and final handoff are prepared; the publisher owns the post-publication loop. A direct draft proposal instead ends with the incomplete handoff in resolve-publish; it makes no readiness or independent-review claim. skip_push and needs_more_info runs end earlier, with no PR to land. In every mode, you do not merge.

© omnigent-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in dev/resolve-agent/skills/resolve-handoff of omnigent-ai/omnigent.

Open the folder on GitHubat commit 2e1cd15

Compare with similar skills

Resolve Handoff 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.

Resolve Handoff compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Resolve Handoff this skillomnigent-ai/omnigent11k—~4.6kAutomated safety check: PassApache-2.0
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official38k10 repos~4.1kAutomated safety check: NotesApache-2.0
Using Superpowersfarm-fe/farm5.6k35 repos~1.4kAutomated safety check: PassMIT
Executing Plans Inlineobra/superpowers297k2 repos~5.1kAutomated safety check: PassMIT
Skill CreatorAzure/azqr79589 repos~8.2kAutomated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 10 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Using Superpowers

    farm-fe/farm

    A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions

    5.6k GitHub starsUsed in 35 repos~1.4k tokens
    Agent WorkflowsAuto-check passed
  • Executing Plans Inline

    obra/superpowers

    Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.

    297k GitHub starsUsed in 2 repos~5.1k tokens
    Agent WorkflowsAuto-check passed
  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    795 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 7 repos~2.8k tokens
    Agent WorkflowsAuto-check passed

More from omnigent-ai/omnigent

All 19 skills in this repo
  • Omnigent Docker Compose Deploy

    omnigent-ai/omnigent

    Brings up the Omnigent server and Postgres as a Docker compose stack on any Docker host, and covers the Dockerfile's runtime and host build targets for extending it to a new platform.

    11k GitHub stars~1.3k tokensUpdated today
    Auto-check: notes
  • Omnigent Framework Detection

    omnigent-ai/omnigent

    Scans Python agent code for framework imports and recommends the matching Omnigent executor type, or says when the framework is not natively supported yet.

    11k GitHub stars~610 tokensUpdated today
    Auto-check passed
  • Omnigent Load Test Runner

    omnigent-ai/omnigent

    Runs the Omnigent load test with real hosts and multi-turn sessions against a mocked LLM, then explains the latency results from summary.md.

    11k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Verify Omnigent End-to-End

    omnigent-ai/omnigent

    Spins up an isolated Omnigent server, runner and mock model to prove a user-facing behavior or bug fix with recorded evidence instead of reasoning from code.

    11k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Spins up a local Omnigent server and exercises the Antigravity (Gemini) SDK harness end to end: building agents, running real turns, smoke tests and bug-bashing.

    11k GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Omnigent Agent Builder

    omnigent-ai/omnigent

    Gives patterns for generating a minimal, valid Omnigent agent directory: the config.yaml fields, the right executor type, and the files each agent needs.

    11k GitHub stars~2.1k tokensUpdated today
    Auto-check passed

Categories

Questions about Resolve Handoff

What does Resolve Handoff do?

Emit the complete Resolve handoff with exact modes, outcomes, test evidence, and publication state. Resolve Handoff is an agent skill from omnigent-ai/omnigent. Emit the complete Resolve handoff with exact modes, outcomes, test evidence, and publication state.

When should I use Resolve Handoff?

Resolve Handoff fits situations like: agent Workflows work in your project.

How do I install Resolve Handoff in Claude Code?

Run `npx skills add omnigent-ai/omnigent --skill resolve-handoff -a claude-code`. Or copy the skill folder (dev/resolve-agent/skills/resolve-handoff in omnigent-ai/omnigent) into .claude/skills/resolve-handoff in your project. Claude Code loads it when a task matches its description.

How do I install Resolve Handoff in Codex?

Run `npx skills add omnigent-ai/omnigent --skill resolve-handoff -a codex`. Or copy the skill folder (dev/resolve-agent/skills/resolve-handoff in omnigent-ai/omnigent) into .agents/skills/resolve-handoff in your project. Codex loads it when a task matches its description.

Can I use Resolve Handoff in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add omnigent-ai/omnigent --skill resolve-handoff -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/resolve-handoff, .gemini/skills/resolve-handoff, .github/skills/resolve-handoff and .opencode/skills/resolve-handoff in your project.

What does Resolve Handoff need to run?

Going by SKILL.md and its folder, Resolve Handoff needs the command-line tools its instructions call (gh).

Does Resolve Handoff access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Resolve Handoff safe to install?

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.

What licence does Resolve Handoff use?

Resolve Handoff is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Resolve Handoff use?

About 4.6k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Resolve Handoff?

Skills that share tags, products or a category with Resolve Handoff: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 297k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Resolve Handoff?

omnigent-ai (a GitHub organization) maintains it in omnigent-ai/omnigent, which has 10,691 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 9, 2026.

Source: omnigent-ai/omnigent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.