ワンクリックで
build-omnigent
Patterns and templates for generating valid Omnigent agent directories. Load when ready to create files.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Patterns and templates for generating valid Omnigent agent directories. Load when ready to create files.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Run the Omnigent server as a Docker compose stack (server + Postgres) on any Docker host — your laptop, a VPS, EC2 by hand, or as the base layer of any container-platform deploy. Invoke when the user wants to build the image, bring up the compose stack, debug the stack on a host they already have, or extend the stack for a new platform.
Run independent subtasks in parallel — one git worktree and one implementation sub-agent per task, each opening its own PR — then cross-review every PR. polly never merges; the human does.
Deep reference on Omnigent config format, executor types, skill/tool structure, and conventions. Load when you need to look up how the platform works.
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 bug-bash. Load when developing, testing, or debugging the antigravity harness (omnigent/inner/antigravity_executor.py, antigravity_harness.py, omnigent/onboarding/antigravity_auth.py) or its auth / model / tool-bridge behavior.
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 developing, testing, or debugging the cursor harness (omnigent/inner/cursor_executor.py, cursor_harness.py, cursor_auth.py) or its auth / model / tool-bridge behavior.
Have the Claude and GPT partners critique each other's answers across a configurable number of rounds (default 1) before converging on a synthesis. Use when the user wants the two perspectives stress-tested against each other, not just shown side by side.
| name | build-omnigent |
| description | Patterns and templates for generating valid Omnigent agent directories. Load when ready to create files. |
Use these patterns to generate a valid agent directory. Always generate the minimal set of files needed — don't over-engineer.
Every template below has been validated with the same parser/validator
that omnigent server uses. If your environment exposes the
validate_agent tool (the dedicated agent-authoring environment does),
run it after generating files to confirm the spec loads. Load the
omnigent-knowledge skill if you need the deeper field reference
(executor types, os_env, guardrails, sandboxing).
Use the agent name in kebab-case: my-research-agent/
Always include:
spec_version: 1name (lowercase, hyphens OK)description (one sentence)instructions — path to a file (default AGENTS.md) or inline text.
(prompt: is an accepted alias; instructions: wins if both are set.)executor — how the agent runs. See Step 2a.Include if needed:
tools.builtins — built-in tools. The current set is download_file,
export_agent, list_files, search_conversations, upload_file,
web_fetch, web_search. If the list_builtin_tools tool is available,
call it for the authoritative live set rather than trusting this list.tools.agents — sub-agents (must match agents/ subdirectories).os_env — filesystem/shell access for harness agents (see the
shell-capable template).interaction.modalities — if the agent handles images or files.guardrails — runtime policy gates (see omnigent-knowledge).executor.type must be one of claude_sdk, agents_sdk, or
omnigent. There is no llm executor — do not use it.
| Need | executor |
|---|---|
| A fresh, simple LLM agent (default) | claude_sdk (Anthropic) or agents_sdk (OpenAI), in-process |
| Existing Claude SDK / OpenAI Agents SDK code | claude_sdk / agents_sdk |
| A CLI/coding harness, shell + file tools, sub-agents | omnigent + a config.harness |
When executor.type: omnigent, config.harness is required and must
be one of: claude-native (Claude Code, full coding tools), claude-sdk,
codex-native, codex, openai-agents, open-responses, pi.
(claude is an alias for claude-native.)
Model selection is optional — if omitted, the executor resolves the
provider's default model from the configured credentials (e.g. an
Anthropic key, a Claude subscription, or a Databricks profile). Pin one
only when asked; see omnigent-knowledge for executor.model / auth.
Write a focused system prompt:
Keep it under 500 words for a starter agent. The user can expand later.
Only generate skills if the agent has distinct modes of operation. Each skill needs:
skills/<skill-name>/SKILL.md
With YAML frontmatter:
---
name: skill-name
description: One-line description of what this skill does.
---
Detailed instructions for when this skill is loaded...
config.yaml:
spec_version: 1
name: {agent_name}
description: {description}
executor:
type: claude_sdk # or agents_sdk for OpenAI
instructions: AGENTS.md
AGENTS.md:
You are {agent_name}, {description}.
Answer questions clearly and concisely. If you don't know something,
say so rather than guessing.
config.yaml:
spec_version: 1
name: {agent_name}
description: {description}
executor:
type: claude_sdk
tools:
builtins:
- web_search # one of the builtins listed in Step 2
interaction:
modalities:
input: [text]
output: [text]
instructions: AGENTS.md
Use the omnigent executor with a coding harness when the agent needs to
run commands and read/write files. os_env grants OS access; the harness
exposes sys_os_read / sys_os_write / sys_os_edit / sys_os_shell.
config.yaml:
spec_version: 1
name: {agent_name}
description: {description}
executor:
type: omnigent
config:
harness: claude-native
# Headless runs can't answer approval prompts — bypass them. Pair
# with a read-only prompt and/or a blast_radius guardrail for safety.
permission_mode: bypassPermissions # codex-native uses `yolo: true`
os_env:
type: caller_process
cwd: .
sandbox:
type: none # or linux_bwrap / darwin_seatbelt to sandbox
instructions: AGENTS.md
Directory structure:
{agent_name}/
config.yaml
AGENTS.md
tools/
mcp/
github.yaml
config.yaml:
spec_version: 1
name: {agent_name}
description: {description}
executor:
type: claude_sdk
instructions: AGENTS.md
tools/mcp/github.yaml:
transport: http
url: https://your-mcp-server.example.com/sse
headers:
Authorization: Bearer ${{{mcp_token_var}}}
Sub-agents need the omnigent executor (it provides the spawn tools).
Directory structure:
{agent_name}/
config.yaml
AGENTS.md
agents/
{sub_agent_1}/
config.yaml
{sub_agent_2}/
config.yaml
Parent config.yaml:
spec_version: 1
name: {agent_name}
description: {description}
executor:
type: omnigent
config:
harness: claude-sdk
tools:
agents:
- {sub_agent_1}
- {sub_agent_2}
instructions: AGENTS.md
Sub-agent config (agents/{sub_agent_1}/config.yaml):
spec_version: 1
name: {sub_agent_1}
description: {sub_agent_1_description}
executor:
type: omnigent
config:
harness: claude-sdk
instructions: |
You are {sub_agent_1}. {sub_agent_1_instructions}
Parent AGENTS.md should reference sub-agents:
You have sub-agents you can delegate to:
- **{sub_agent_1}** — {sub_agent_1_description}
- **{sub_agent_2}** — {sub_agent_2_description}
Call `sys_session_send(type="<name>", input="<task>")` to dispatch a
declared sub-agent. Emit multiple `sys_session_send` tool calls in the
same response to run them in parallel; results arrive via the inbox.
When pinning credentials with ${ENV_VAR}, map providers to their
standard env var names:
openai → OPENAI_API_KEYanthropic → ANTHROPIC_API_KEYgemini → GEMINI_API_KEY or GOOGLE_API_KEYgroq → GROQ_API_KEYdeepseek → DEEPSEEK_API_KEYxai → XAI_API_KEYmistral → MISTRAL_API_KEYdatabricks → DATABRICKS_TOKEN (or an auth.profile)Before presenting the generated files to the user, verify (and if
validate_agent is available, run it to confirm):
spec_version: 1 is presentname is set and uses lowercase + hyphensexecutor.type is one of claude_sdk, agents_sdk, omnigentexecutor.type: omnigent, executor.config.harness is set to a
valid harnessinstructions (or prompt) points to a file that exists or is
inline texttools.agents, the parent uses executor.type: omnigent, and each entry has a matching agents/ subdirectory
(sub-agents may use any executor)tools.builtins names are from the known set (Step 2) — or, if
list_builtin_tools is available, were confirmed against it[a-z0-9-]+ pattern