Agent skill

Omnigent Agent Builder

by omnigent-ai in 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.

Apache-2.0Auto-check passedAgent Workflows

Install Omnigent Agent Builder

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

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

GitHub CLI
$ gh skill install omnigent-ai/omnigent build-omnigent --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/omnigent/onboarding/agent/skills/build-omnigent .claude/skills/build-omnigent && 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
build-omnigent
GitHub stars
11k
Token cost
~2.1k tokens
SKILL.md length
713 words
Files
1
Skills in repo
19
Repo updated
First seen
Licence
Apache-2.0

At a glance

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

  • Works in 4 steps: Choose a directory name → Generate config.yaml → Generate AGENTS.md → …
  • Creating a new Omnigent agent directory from scratch
  • SKILL.md covers Step 1: Choose a directory name, Step 2: Generate config.yaml, Step 2a: Choose an executor and Step 3: Generate AGENTS.md, plus 4 more sections
  • Needs OPENAI_API_KEY and ANTHROPIC_API_KEY

What it does

This skill is a set of templates and rules for generating an Omnigent agent directory that the framework's own validator will accept. It starts with a kebab-case directory name, then builds config.yaml with spec_version, a lowercase name, a one-sentence description, an instructions file (AGENTS.md by default, or inline text) and an executor. The agent is told to produce only the files that are needed.

The executor choice matters most. claude_sdk and agents_sdk run a simple LLM agent in-process, for Anthropic and OpenAI respectively, while the omnigent executor is for CLI or coding harnesses with shell and file tools and sub-agents, and it requires a config.harness value such as claude-native, codex-native or pi. There is no llm executor. Optional sections cover built-in tools, sub-agents, os_env, interaction modalities and guardrails, with a pointer to the omnigent-knowledge skill for the deeper field reference.

When the environment exposes a validate_agent tool, the skill says to run it after generating files to confirm the spec loads. It also suggests calling list_builtin_tools, when available, instead of trusting the built-in tool list written in the skill.

When your agent uses it

  • Creating a new Omnigent agent directory from scratch
  • Choosing between the claude_sdk, agents_sdk and omnigent executors
  • Checking a generated config.yaml against the fields Omnigent requires
  • Adding sub-agents or built-in tools to an agent spec

Example prompts

  • “Create an Omnigent agent called my-research-agent that can search the web.”
  • “Generate an agent directory that runs Claude Code as its harness with shell access.”
  • “Which executor should I pick for an existing OpenAI Agents SDK project?”

Requirements

  • The validate_agent tool, when the environment provides it

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Choose a directory name
  2. Generate config.yaml
  3. Generate AGENTS.md
  4. Generate skills (optional)

What it can do on your machine

Read from SKILL.md and the folder at commit c6a81cd. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml and markdown).

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

  • Network

    No URLs in SKILL.md.

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OPENAI_API_KEY
    • ANTHROPIC_API_KEY
    • GEMINI_API_KEY
    • GOOGLE_API_KEY
    • GROQ_API_KEY
    • DEEPSEEK_API_KEY
    • XAI_API_KEY
    • MISTRAL_API_KEY
    • DATABRICKS_TOKEN

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

Context cost

Omnigent Agent Builder loads about 2.1k tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 713 words of instructions outside code blocks.

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

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 c6a81cd, republished under its Apache-2.0 licence (© omnigent-ai). 713 words, ~2,126 tokens.

Download SKILL.mdSave it as .claude/skills/build-omnigent/SKILL.md (or your agent's skills folder).
name
build-omnigent
description
Patterns and templates for generating valid Omnigent agent directories. Load when ready to create files.

Agent Generation

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).

Step 1: Choose a directory name

Use the agent name in kebab-case: my-research-agent/

Step 2: Generate config.yaml

Always include:

  • spec_version: 1
  • name (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, by the name each declares under agents/ (a sub-agent's directory name may differ from its name).
  • 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).

Step 2a: Choose an executor

executor.type must be one of claude_sdk, agents_sdk, or omnigent. There is no llm executor — do not use it.

Needexecutor
A fresh, simple LLM agent (default)claude_sdk (Anthropic) or agents_sdk (OpenAI), in-process
Existing Claude SDK / OpenAI Agents SDK codeclaude_sdk / agents_sdk
A CLI/coding harness, shell + file tools, sub-agentsomnigent + 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.

Step 3: Generate AGENTS.md

Write a focused system prompt:

  • Identity: "You are a [role] that [does what]."
  • Capabilities: what tools/skills are available
  • Constraints: what NOT to do
  • Style: how to communicate

Keep it under 500 words for a starter agent. The user can expand later.

Step 4: Generate skills (optional)

Only generate skills if the agent has distinct modes of operation. Each skill needs:

skills/<dir>/SKILL.md

The directory name is free-form and need not match the skill's name — the runtime identifies a skill by its frontmatter name and loads its files from whatever directory it sits in.

With YAML frontmatter:

markdown
---
name: skill-name
description: One-line description of what this skill does.
---

Detailed instructions for when this skill is loaded...
Show full SKILL.md (285 more words)Show less

Templates

Minimal agent (simplest — in-process SDK)

config.yaml:

yaml
spec_version: 1
name: {agent_name}
description: {description}
executor:
  type: claude_sdk      # or agents_sdk for OpenAI
instructions: AGENTS.md

AGENTS.md:

markdown
You are {agent_name}, {description}.

Answer questions clearly and concisely. If you don't know something,
say so rather than guessing.

config.yaml:

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
Harness agent with shell + filesystem access

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:

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
Agent with MCP server integration

Directory structure:

{agent_name}/
  config.yaml
  AGENTS.md
  tools/
    mcp/
      github.yaml

config.yaml:

yaml
spec_version: 1
name: {agent_name}
description: {description}
executor:
  type: claude_sdk
instructions: AGENTS.md

tools/mcp/github.yaml:

yaml
transport: http
url: https://your-mcp-server.example.com/sse
headers:
  Authorization: Bearer ${{{mcp_token_var}}}
Multi-agent system with sub-agents

The parent needs the omnigent executor — that's what provides the spawn tools. Each sub-agent is a full agent and may use any executor.

Directory structure:

{agent_name}/
  config.yaml
  AGENTS.md
  agents/
    {sub_agent_1_dir}/
      config.yaml
    {sub_agent_2_dir}/
      config.yaml

Directory names are free-form. A sub-agent's identity is the name in its own config.yaml, and that is what the parent lists in tools.agents — {sub_agent_1_dir} and {sub_agent_1} may differ.

Parent config.yaml:

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_dir}/config.yaml):

yaml
spec_version: 1
name: {sub_agent_1}
description: {sub_agent_1_description}
executor:            # any executor works here — only the parent needs omnigent
  type: omnigent
  config:
    harness: claude-sdk
instructions: |
  You are {sub_agent_1}. {sub_agent_1_instructions}

Parent AGENTS.md should reference sub-agents:

markdown
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.

Environment variable naming conventions

When pinning credentials with ${ENV_VAR}, map providers to their standard env var names:

  • openai → OPENAI_API_KEY
  • anthropic → ANTHROPIC_API_KEY
  • gemini → GEMINI_API_KEY or GOOGLE_API_KEY
  • groq → GROQ_API_KEY
  • deepseek → DEEPSEEK_API_KEY
  • xai → XAI_API_KEY
  • mistral → MISTRAL_API_KEY
  • databricks → DATABRICKS_TOKEN (or an auth.profile)

Validation checklist

Before presenting the generated files to the user, verify (and if validate_agent is available, run it to confirm):

  • spec_version: 1 is present
  • name is set and uses lowercase + hyphens
  • executor.type is one of claude_sdk, agents_sdk, omnigent
  • If executor.type: omnigent, executor.config.harness is set to a valid harness
  • instructions (or prompt) points to a file that exists or is inline text
  • When declaring tools.agents, the parent uses executor.type: omnigent, and each entry is the declared name of a sub-agent under agents/ (its directory name may differ; 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
  • Skill names use the [a-z0-9-]+ pattern (they need not match their directory names)

© 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 omnigent/onboarding/agent/skills/build-omnigent of omnigent-ai/omnigent.

Open the folder on GitHubat commit c6a81cd

Compare with similar skills

Omnigent Agent Builder 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.

Omnigent Agent Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Omnigent Agent Builder this skillomnigent-ai/omnigent11k—~2.1kAutomated safety check: PassApache-2.0
Scaffolding Openai Agentsaiskillstore/marketplace433—~3.3kAutomated safety check: PassNone
Agent Squad Python Guide2FastLabs/agent-squad7.8k—~4.7kAutomated safety check: PassApache-2.0
Openai Agentscoco-research/coco513—~3.3kAutomated safety check: PassMIT
Adk Agent Builderjeremylongshore/tons-of-skills-marketplace2.8k—~960Automated safety check: PassMIT
Building Multi Connector Agentairbytehq/airbyte-agent-sdk135—~1.7kAutomated safety check: NotesCustom licence

Similar skills

  • Scaffolding Openai Agents

    aiskillstore/marketplace

    Builds AI agents using OpenAI Agents SDK with async/await patterns and multi-agent orchestration.

    433 GitHub stars~3.3k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Agent Squad Python Guide

    2FastLabs/agent-squad

    Map of the agent-squad Python framework for async multi-agent orchestration: which agent, classifier, storage and tool provider to pick, and the pitfalls to avoid.

    7.8k GitHub stars~4.7k tokensUpdated 2 days ago
    AI & LLM EngineeringAuto-check passed
  • Openai Agents

    coco-research/coco

    Build AI applications with OpenAI Agents SDK - text agents, voice agents, multi-agent handoffs, tools with Zod schemas, guardrails, and streaming.

    513 GitHub stars~3.3k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Adk Agent Builder

    jeremylongshore/tons-of-skills-marketplace

    Scaffold production-ready AI agents on Google's Agent Development Kit (ADK): ReAct-style single agents, multi-agent orchestration (Sequential/Parallel/Loop), tool wiring, evaluation, and optional…

    2.8k GitHub stars~960 tokensUpdated today
    DevelopmentAuto-check passed
  • Building Multi Connector Agent

    airbytehq/airbyte-agent-sdk

    Official

    Builds a complete agent with multiple Airbyte connectors using PydanticAI or Claude SDK.

    135 GitHub stars~1.7k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check: notes
  • Edgeone Makers Tools

    TencentEdgeOne/edgeone-makers-tools

    EdgeOne Makers platform development router — the single entry point for building, storing data, and deploying on Tencent EdgeOne Makers.

    1.9k GitHub starsUsed in 1 repo~646 tokens
    AI & LLM EngineeringAuto-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
  • Copilot SDK E2E Dev

    omnigent-ai/omnigent

    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.

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

Questions about Omnigent Agent Builder

What does Omnigent Agent Builder do?

Gives patterns for generating a minimal, valid Omnigent agent directory: the config.yaml fields, the right executor type, and the files each agent needs. This skill is a set of templates and rules for generating an Omnigent agent directory that the framework's own validator will accept.md by default, or inline text) and an executor.

When should I use Omnigent Agent Builder?

Omnigent Agent Builder fits situations like: creating a new Omnigent agent directory from scratch; choosing between the claude_sdk, agents_sdk and omnigent executors; checking a generated config.yaml against the fields Omnigent requires; adding sub-agents or built-in tools to an agent spec.

How do I install Omnigent Agent Builder in Claude Code?

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

How do I install Omnigent Agent Builder in Codex?

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

Can I use Omnigent Agent Builder 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 build-omnigent -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/build-omnigent, .gemini/skills/build-omnigent, .github/skills/build-omnigent and .opencode/skills/build-omnigent in your project.

What does Omnigent Agent Builder need to run?

Going by SKILL.md and its folder, Omnigent Agent Builder needs credentials named OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY and GOOGLE_API_KEY. Our summary lists: The validate_agent tool, when the environment provides it.

Does Omnigent Agent Builder access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Omnigent Agent Builder 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 Omnigent Agent Builder use?

Omnigent Agent Builder 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 Omnigent Agent Builder use?

About 2.1k tokens (SKILL.md is roughly 8.5k 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 Omnigent Agent Builder?

Skills that share tags, products or a category with Omnigent Agent Builder: Scaffolding Openai Agents (aiskillstore/marketplace, 433 stars), Agent Squad Python Guide (2FastLabs/agent-squad, 7.8k stars), Openai Agents (coco-research/coco, 513 stars) and Adk Agent Builder (jeremylongshore/tons-of-skills-marketplace, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Omnigent Agent Builder?

omnigent-ai (a GitHub organization) maintains it in omnigent-ai/omnigent, which has 10,711 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 10, 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.