首次提交代码
This commit is contained in:
115
SKILL.md
Normal file
115
SKILL.md
Normal file
@@ -0,0 +1,115 @@
|
||||
---
|
||||
name: publish-video-shipinhao
|
||||
description: Use when Codex needs to install, configure, use, or troubleshoot OpenClaw, WorkBuddy, or similar automation products for uploading, drafting, scheduling, publishing, or verifying WeChat Channels videos through 微信视频号/视频号助手 browser automation.
|
||||
---
|
||||
|
||||
# Publish Video Shipinhao
|
||||
|
||||
## Overview
|
||||
|
||||
Automate 微信视频号 video publishing through the 视频号助手 web console with Playwright or a compatible product adapter. Treat the web UI as semi-automated: login, CAPTCHA, account selection, product setup, and final publish confirmation may require the human operator.
|
||||
|
||||
## Safety Rules
|
||||
|
||||
- Verify product installation and usage steps from official docs or user-provided package docs before installing OpenClaw, WorkBuddy, or related products.
|
||||
- Do not bypass QR login, CAPTCHA, rate limits, account checks, or platform policy prompts.
|
||||
- Do not click the final publish button unless the user explicitly asks for live publishing or passes `--publish`.
|
||||
- Prefer `--validate-config` first, then an upload/fill run without `--publish`, then final publish after reviewing the screenshot.
|
||||
- Save screenshots and logs for every run so the user can verify what was submitted.
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. Read `references/config.example.json` when creating a new publish config.
|
||||
2. If the user mentions OpenClaw, WorkBuddy, or another automation product, read `references/product-adapters.md` before installing or running it.
|
||||
3. Install Python dependencies when the target environment has not already done so:
|
||||
|
||||
```bash
|
||||
python -m pip install -r requirements.txt
|
||||
python -m playwright install chromium
|
||||
```
|
||||
|
||||
Skill installation does not automatically install Python packages unless the host product explicitly runs `requirements.txt`; verify this for OpenClaw, WorkBuddy, or any other adapter.
|
||||
4. Ask the user for missing required fields: `video_path`, `title`, target product/runtime, and whether this should be draft-only, scheduled, or live publishing.
|
||||
5. Run product environment checks first when a non-default product adapter is requested.
|
||||
6. Run validation before opening the browser:
|
||||
|
||||
```bash
|
||||
python scripts/publish.py --config path/to/config.json --validate-config
|
||||
```
|
||||
|
||||
7. For first-time login or expired sessions, run headed and let the user scan the QR code:
|
||||
|
||||
```bash
|
||||
python scripts/publish.py --config path/to/config.json --login-only --headed
|
||||
```
|
||||
|
||||
8. Upload and fill metadata without final publish:
|
||||
|
||||
```bash
|
||||
python scripts/publish.py --config path/to/config.json --headed
|
||||
```
|
||||
|
||||
9. Publish only after explicit approval:
|
||||
|
||||
```bash
|
||||
python scripts/publish.py --config path/to/config.json --headed --publish
|
||||
```
|
||||
|
||||
Use `--save-draft` instead of `--publish` when the user wants a draft saved in 视频号助手.
|
||||
|
||||
## Workflow
|
||||
|
||||
1. Confirm intent: install/setup only, draft, scheduled publish, or live publish.
|
||||
2. Select the adapter: built-in Playwright script, OpenClaw, WorkBuddy, or a generic browser-automation product.
|
||||
3. Validate installation docs, local files, and metadata. Reject missing files, empty short title, short titles outside the 6-16 character range, or publish requests without explicit confirmation.
|
||||
4. Open 视频号助手 with persisted browser/session state. Pause for manual QR login when needed.
|
||||
5. Navigate to the create-post page, upload the video, optionally upload the cover, and fill title/description/topics.
|
||||
6. If scheduling is requested, attempt the visible schedule controls; if selectors fail, stop for manual review instead of guessing.
|
||||
7. Capture a screenshot before any final action.
|
||||
8. Click `存草稿` or `发表/发布` only when the requested mode requires it.
|
||||
9. Verify success by checking the toast, URL, list page, or a post-management entry. If verification is ambiguous, report the screenshot and manual check needed.
|
||||
|
||||
## Product Adapters
|
||||
|
||||
Use `references/product-adapters.md` for OpenClaw, WorkBuddy, and related products. Keep product-specific setup outside the main workflow:
|
||||
|
||||
- Treat each product as an adapter with `install`, `configure`, `verify`, `run`, and `collect evidence` steps.
|
||||
- Prefer official docs, bundled README files, or user-provided install packages over memory.
|
||||
- Keep adapter-specific commands in the user's project/config, not hard-coded into this skill.
|
||||
- Require a smoke test before using any installed product to publish a real video.
|
||||
- Fall back to `scripts/publish.py` when the product cannot expose a controllable browser session, selector map, or evidence capture.
|
||||
|
||||
## Bundled Script
|
||||
|
||||
Use `scripts/publish.py` for the browser workflow. It supports:
|
||||
|
||||
- `--validate-config`: validate JSON and required fields without launching a browser.
|
||||
- `--skip-file-checks`: useful for config-shape tests when media files are not present.
|
||||
- `--login-only`: open 视频号助手 and save the QR-login session.
|
||||
- `--headed`: show the browser, recommended for login and final publishing.
|
||||
- `--publish`: click the final publish button after filling the form.
|
||||
- `--save-draft`: click the draft button after filling the form.
|
||||
- `--review-seconds N`: keep the browser open before final action or close.
|
||||
|
||||
When selectors fail, prefer adding page-specific selectors in the config under `selectors` or the product adapter profile instead of hard-coding a new guess in the skill instructions.
|
||||
|
||||
## Dependencies
|
||||
|
||||
The Python dependency manifest is `requirements.txt`. It currently installs Playwright only. Browser binaries are not installed by `pip`; run `python -m playwright install chromium` after installing Python packages.
|
||||
|
||||
## Configuration
|
||||
|
||||
Load `references/config.example.json` when preparing a new config. Required fields are:
|
||||
|
||||
- `video_path`: absolute or working-directory-relative path to the video file.
|
||||
- `title`: 视频号 short title, 6-16 characters.
|
||||
|
||||
Common optional fields are `description`, `topics`, `cover_path`, `publish_at`, `visibility`, `browser.storage_state`, `product_adapter`, and `selectors`.
|
||||
|
||||
## Common Mistakes
|
||||
|
||||
- Running headless for first login. Use `--headed` so the user can scan the QR code.
|
||||
- Installing OpenClaw, WorkBuddy, or a related product from memory. Check official or package docs first.
|
||||
- Treating upload completion as publish completion. Always wait for a visible success signal or manual confirmation.
|
||||
- Guessing a changed selector and clicking the wrong button. Stop, screenshot, and inspect the page when controls are ambiguous.
|
||||
- Forgetting that platform rules and account permissions can block publishing even when upload automation succeeds.
|
||||
Reference in New Issue
Block a user