antigravity-native-e2e…
Spin up a live local Omnigent server + runner and exercise the native Antigravity (agy) TUI harness (antigravity-native) end-to-end — launch the real `agy` CLI…
Emit the complete Resolve handoff with exact modes, outcomes, test evidence, and publication state.
$ npx -y skills add omnigent-ai/omnigent --skill resolve-handoff --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/resolve-handoffContext preview
The summary Claude sees to decide when to auto-load this skill.
Emit the complete Resolve handoff with exact modes, outcomes, test evidence, and publication state.
name: resolve-handoff description: Emit the complete Resolve handoff with exact modes, outcomes, test evidence, and publication state.
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:
**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.
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.
a value is empty (`""`, `[]`).
`"review_remediation"` — which entry path you took.
`"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.
{
"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",
"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": "tests/e2e_ui/model_catalog/test_1234.py",
"added": ["tests/web/model/test_picker_label.py"]
},
"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": "repro e2e was behavioral (failed on raw IDs); no rewrite needed",
"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: no blocking/security findings after 1 round (fixed a null-deref Polly flagged, re-triggered via workflow_dispatch)",
"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:
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-remediation mode for scanner deduplication and workflow retry recovery; otherwise `""`, `[]`, and `""`.
or by the reviewed PR — and the shared impact assessment has no unresolved required checks), `partially_fixed`, `not_
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 and sandboxing, and collaborate in real time from any device.
Repo: omnigent-ai/omnigent
Spin up a live local Omnigent server + runner and exercise the native Antigravity (agy) TUI harness (antigravity-native) end-to-end — launch the real `agy` CLI…
Spin up a live local Omnigent server and exercise the Antigravity (Gemini) SDK harness end-to-end — build antigravity agents, run real turns, smoke-test, and…
Verify the Omnigent CLI's setup/onboarding flow, terminal UI/UX, and critical user journeys in a completely isolated, reproducible loop. Drives the real…
Spin up a live local Omnigent server and exercise the GitHub Copilot SDK harness end-to-end — build copilot agents, run real turns, smoke-test, and bug-bash.…
Spin up a live local Omnigent server and exercise the Cursor SDK harness end-to-end — build cursor agents, run real turns, smoke-test, and bug-bash. Load when…
Reference guide for building new Omnigent harness integrations — covers SDK/subprocess harnesses and native harnesses as separate tracks, each with their own…