用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/JZKK720/agent-meow --skill build-omnigent命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Verify the agent-meow CLI's setup/onboarding flow, terminal UI/UX, and critical user journeys in a completely isolated, reproducible loop. Drives the real `agent-meow` binary through a PTY (pexpect) inside a throwaway OMNIGENT_CONFIG_HOME / OMNIGENT_DATA_DIR sandbox that never touches the user's real ~/.agent-meow, captures ANSI-stripped frames for UX inspection, and proves a change is verifiable via a before→fix→after baseline diff. Load when developing or reviewing a CLI setup/onboarding/REPL/picker change (agent_meow/cli.py, agent_meow/onboarding/*, agent_meow/repl/*, scripts/install_oss.sh), reproducing a cold-start/first-run UX bug, or confirming a fix actually lands. Several agents can run it concurrently on separate worktrees.
Diagnose agent-meow voice/TTS failures — "no audio back", "voice replies hang", "transcripts appear but no response", or "utterances chopped into fragments". Use when the mic→STT→LLM→TTS pipeline misbehaves, when TTS is silent or intermittent, or when you need to tell whether Edge TTS or Qwen3-TTS served a reply. Covers the full stack: Hermes :8642, Qwen3-TTS :8889, Vite proxy :5173, and the browser hermesVoice.ts client.
Install and build Qwen3-TTS (qwentts.cpp) with Vulkan GPU backend on Windows for agent-meow's voice pipeline. Use when: setting up TTS for the first time, rebuilding after a Vulkan SDK update, troubleshooting "tts-server.exe not found" or "no audio from TTS", or configuring QWEN_TTS_* environment variables. Covers prerequisites (Vulkan SDK, CMake, MSVC), build steps, model download, and wiring into agent-meow's service supervisor.
基于 SOC 职业分类
正在显示 SKILL.md
| name | build-omnigent |
| description | Patterns and templates for generating valid agent-meow 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