---
name: oo-skill-publish-notifier
description: Notify a Feishu group after publishing a local oo skill. Use when the user publishes an OOMOL/oo skill and wants a concise release summary sent to colleagues through the Feishu custom bot.
metadata:
  icon: ':lucide:send'
  title: OO Skill Publish Notifier
  packageName: '@zjxuyunshi/oo-skill-publish-notifier'
  version: 0.0.1
---

# OO Skill Publish Notifier

## When to Use

Use this skill immediately after a local OOMOL/oo skill has been published and
the user wants colleagues notified in a Feishu group.

Trigger on requests such as:

- "Publish this oo skill and notify the Feishu group."
- "Send a summary to Feishu after publishing my oo skill."
- "Tell my colleagues in Feishu what changed in this skill release."

This skill is a release-notification runbook. It does not replace the publishing
workflow itself. Only send the Feishu notification after the publish command has
succeeded or the user explicitly provides a successful publish result.

## Inputs

- Required: the published skill name or package name.
- Required: a concise publish summary. If the user did not provide one, derive
  it from the publish result, the skill's `SKILL.md`, and the recent local
  changes that are visible in the current workspace.
- Required: a successful publish result or confirmation that publishing
  completed. Include the version, share URL, registry URL, or package name when
  the publish output provides it.
- Optional: who to mention in Feishu. Omit mentions unless the user explicitly
  asks to mention someone or provides Feishu `<at ...>` tags.
- Optional: message language. Default to the user's working language; use
  Simplified Chinese when the surrounding request is Chinese.

## Execution

Use the authenticated Feishu custom bot connector:

```bash
oo connector run "feishu_custom_bot" --action "send_text_message" --data @payload.json --json
```

Write `payload.json` with exactly one field:

```json
{
  "text": "..."
}
```

The `text` value must be a short release notification suitable for a colleague
chat. Prefer this structure:

```text
oo skill 发布通知

技能：<skill name>
状态：已发布
摘要：<one or two sentence summary>
变更：
1. <important change>
2. <important change>
链接：<share URL or registry URL if available>
```

Keep the message factual. Do not invent a version number, URL, package name,
author, or publish status that was not present in the publish output or user
input. If no URL is available, omit the link line.

Use `--data @payload.json` rather than inline JSON so multiline summaries,
Chinese text, and Feishu `<at ...>` tags are preserved safely.

## Result Handling

The connector returns normalized Feishu custom bot JSON:

- `code`: Feishu response code. `0` means success.
- `msg`: Feishu response message.
- `data`: response payload.
- `statusCode` and `statusMessage`: legacy compatibility fields.

Treat `code === 0` as a successful notification. Report to the user that the
publish summary was sent to the Feishu group, and include the final message text
only when it is useful for review.

If `code` is not `0`, report the Feishu error code and message. Do not claim the
team was notified.

## Failure Handling

Stop and ask for the missing value when the published skill name, publish
success, or publish summary cannot be inferred safely.

Do not send a notification when the publish step failed, timed out without a
confirmed success, or produced an ambiguous result. Ask the user whether they
want to send a failure notice only if that is useful in the current conversation.

If the connector reports authentication, webhook, permission, or schema errors,
name the failing connector path as `feishu_custom_bot.send_text_message` and
show the returned error. Do not retry with another Feishu action unless the user
asks for a richer message format.
