Omnigent is an open-source orchestration layer for running and coordinating different AI coding agents through one system. It is for developers who want to combine agents, apply policies and sandboxing, and continue sessions across devices. The catalogue add-ons extend its agent workflows.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add omnigent-ai/omnigent --skill feature-handoffgit clone --depth 1 https://github.com/omnigent-ai/omnigentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/omnigent-ai/omnigent/feature-handoff)<a href="https://agentmods.dev/skills/omnigent-ai/omnigent/feature-handoff"><img src="https://agentmods.dev/badge/skills/omnigent-ai/omnigent/feature-handoff/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/omnigent-ai/omnigent/feature-handoff"><img src="https://agentmods.dev/badge/skills/omnigent-ai/omnigent/feature-handoff.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00025 | $0.01835 |
| Opus 5.5 | $0.00010 | $0.00734 |
| Sonnet 5.5 | $0.00005 | $0.00367 |
| Haiku 4.5 | $0.00003 | $0.00184 |
Grade A, and why
feature-handoff scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 153 lines — stays where its author put it; the contents beside it link to each section on GitHub.
The feature handoff
The last thing in your final message must be exactly one fenced ```json
block, with nothing after its closing fence. The caller reads the last valid
block, so an interim handoff right after opening the PR (with pr_url and a
provisional outcome) is fine; the final block supersedes it. Emit JSON, never
YAML, and include every key below, even when empty ("", []).
modeis exactly"authored_feature"or"review_remediation".outcomeis exactly one of"implemented","partially_implemented","not_implemented","nothing_to_build","needs_split", or"needs_more_info".
{
"feature_url": "https://linear.app/omnigent/issue/OMNI-1234",
"mode": "authored_feature",
"outcome": "implemented",
"feature_summary": "People can now rename a session from the session list instead of opening it first.",
"ticket_comment": "",
"proposed_children": [],
"requirements": [
"A session can be renamed from the session list",
"The new name appears everywhere the session is listed"
],
"design": {
"chosen": "Add a rename action to the list row that calls the existing session update API.",
"alternatives": [
{"option": "A separate rename dialog page", "rejected_because": "Adds navigation for a one-field edit."}
],
"risks": ["Concurrent renames: the last write wins, matching the existing update API."]
},
"cujs": [
{
"id": "CUJ-1",
"journey": "user opens the session list → chooses Rename on a row → types a name → the row shows the new name",
"surface": "web",
"covered": true,
"tests": ["tests/e2e_ui/sessions/test_rename_from_list.py::test_rename_from_list"],
"recordings": ["recordings/omni-1234/demo-cuj-1.mp4"],
"recording_blocker": "",
"manual_test": "",
"not_covered_reason": ""
},
{
"id": "CUJ-2",
"journey": "user renames a session from the mobile app",
"surface": "mobile",
"covered": false,
"tests": [],
"recordings": [],
"recording_blocker": "",
"manual_test": "",
"not_covered_reason": "The mobile list has no row actions yet; noted as a follow-up."
}
],
"recordings": [
{"cuj": "CUJ-1", "surface": "web", "path": "recordings/omni-1234/demo-cuj-1.mp4",
"format": "mp4", "capture_mode": "playwright_ui",
"caption": "open the session list → choose Rename → type a name → the row shows the new name"}
],
"files_changed": ["web/src/sessions/SessionRow.tsx"],
"tests": {"e2e": "tests/e2e_ui/sessions/test_rename_from_list.py", "added": []},
"test_audit": "CUJ-1 is covered by a new browser test because the rename crosses the browser boundary; it fails with the rename action removed.",
"impact_assessment": {
"base_sha": "<full target-branch tip SHA>",
"head_sha": "<full candidate HEAD SHA>",
"worktree_state": "clean",
"risks": [
{
"files": ["web/src/sessions/SessionRow.tsx"],
"behavior": "Row actions can change selection or navigation",
"consumers": ["session list", "session sidebar"],
"invariant": "Clicking a row still opens the session",
"check": "<exact command>",
"result": "passed",
"evidence": "<retained output reference, tested build and environment>"
}
],
"uncovered_boundaries": [],
"not_applicable_reason": ""
},
"remaining_work": [],
"pr_url": "https://github.com/omnigent-ai/omnigent/pull/4200",
"reviewed_pr_url": "",
"pushed_branch": "feat/omni-1234",
"ci_status": "green (all required checks pass)",
"polly_review": "clean on <full candidate HEAD SHA>",
"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": "Fixed in <commit>; <test> passes."}
]
},
"ui_preview": "labeled ui-preview; preview at https://…",
"maintainer_review": "requested review from @<maintainer>",
"review_fingerprint": "",
"handled_review_ids": [],
"last_pushed_sha": "",
"session_id": "<this session id>"
}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 153 lines · 25 tokens per session scan A 71c130aac42e
feature-handoff is a skill published in the GitHub repository omnigent-ai/omnigent (11,027 stars, last pushed today), licensed Apache-2.0. It adds 25 tokens to every session and 1,835 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-17.
Other skills, from other repositories
iterate-prd
Only use when the user explicitly invokes this skill by name.
create-design-discussion
Only use when the user explicitly invokes this skill by name.
iterate-structure-outline
Only use when the user explicitly invokes this skill by name.
orchestrate
Toolbox for driving HumanLayer from the CLI - log in, pick a host, launch tasks in their own worktrees, launch sessions, list tasks and their PRs, and copy, move, or upload task artifacts.
jira-release
Assemble a release from a batch of Jira issues — one release branch, pull request, preview and tracking issue per repository — and, when a person says to ship it, merge it and move the cards on. Insert into the prompt of a run started on a batch of issues.
pod-init
Initialize CocoPlus project bundle in the current directory. Creates .cocoplus/ directory structure, copies all templates, initializes AGENTS.md, project.md, flow.json, and creates the initial git commit. Run this once per project before using any other CocoPlus command.