oo-publish-skill · git:20260924.592f0cb · 2026-09-24 · sha256 c4f3ceee062e911d
oo-publish-skill git:20260924.592f0cbA
Immutable. This exact content never changes and is served at /api/v1/blob/c4f3ceee062e911d.
--- name: oo-publish-skill description: Publish, release, upload, or submit an existing AI agent skill directory with SKILL.md to the OOMOL registry by running oo skills publish, or generate a share prompt for a published skill by running oo skills share, including temporary shares for private packages. Use when the user asks to publish a skill, share a published skill, make a skill available in the OOMOL skill catalog, release a registry skill package, resolve publish visibility, version, package-name, or overwrite prompts, or publish from a local, registry-installed, or path-based skill source. Do not use for finding, installing, creating, or editing skills unless the final goal is publication or sharing. disable-model-invocation: <!-- agentic:var disableModelInvocation --> <!-- agentic:if agent=claude|hermes --> allowed-tools: [Bash(oo *)] <!-- agentic:endif --> --- # oo Publish Skill Use this skill when the user wants to publish an existing agent skill to the OOMOL registry or skill catalog. The source can be any valid agent skill directory with a `SKILL.md`; it does not need to be an oo-specific skill. ## Workflow ### Share a published skill If the user asks to share a published skill, run: ```bash oo --lang zh skills share <skill-id> -y oo --lang en skills share <skill-id> -y ``` Use the skill id from the current context when the user has just created, published, or used a specific skill. If no likely skill id is available, ask the user which skill or package to share. `oo skills share` will confirm the resolved id and package, then print the copyable share prompt. Public packages are shared directly. Private packages create a temporary share id and the prompt must use `<packageName>#<shareID>`. Private package shares support optional limits: `--days <days>` sets the share duration, defaults to 7, and cannot exceed 7; `--downloads <downloads>` limits install count; omitting `--downloads` leaves installs unlimited. Match the user's language when generating the prompt: use `oo --lang zh skills share <skill-id> -y` for Chinese users and `oo --lang en skills share <skill-id> -y` for English users. That prompt is meant for recipients to follow a language-specific general install preparation guide before running the final install command. It should include the package name, skill name when applicable, Hub URL, the general install preparation URL, and the exact `oo skills install ...` command. In the final response, put the complete recipient-facing share prompt in one copyable `text` code block. Do not use nested fenced code blocks inside it. Do not split the hub URL, guide URL, or install command outside the block. ### 1. Identify the publish source Ask for the missing skill id or skill directory path only when needed: - skill id or path to a skill directory Publish accepts a concrete path: ```bash oo skills publish <path-to-skill-directory-or-SKILL.md> ``` If the user gives only a skill id, `oo skills locate <skill-id> --agent <!-- agentic:var agent -->` can help resolve the local path. Use it when it is helpful, but do not force an extra locate step when the path is already clear from context. The publish command performs its own environment, authentication, and account checks, so run it directly. For first-time packages in non-interactive agent sessions, choose visibility before publishing and pass `--visibility private` or `--visibility public`. Use `--visibility public` when the user asks to publish to the public catalog or otherwise clearly wants a public package. Use `--visibility private` only when the user asks for a private package. If the user's intended visibility is unclear, ask before publishing. Existing packages can omit `--visibility` when the current registry visibility should be preserved. Do not ask whether to publish to the current account. `oo skills publish` resolves the account and asks any necessary ownership questions itself. ### 2. Publish through oo Run the publish command directly: ```bash oo skills publish ./my-skill --visibility public oo skills publish /path/to/my-skill/SKILL.md --visibility private oo skills publish ./already-published-skill ``` If the command prompts about publishing a registry-installed skill under the active account or overwriting an existing remote package, let that prompt drive the next user confirmation. Do not ask those questions in advance. Do not package manually, do not use `npm publish`, and do not copy files into an arbitrary fallback directory. ### 3. Report the result Report the published package name, version, visibility, and hub URL from the command output. Also mention any metadata writeback that occurred. If publish fails, do not retry blindly; summarize the failing command, the user-facing error, and the smallest next fix. If the failure says the self-hosted connector only supports connector commands, or the JSON error code is `not_authenticated` in self-hosted connector mode, publishing requires an OOMOL account: ask the user to run `oo auth login`, then stop.