qiaomu-meta-skill owns the complete public release path. Do not require or invoke a separate publisher skill after this package is selected.
The bundled scripts/publish_skill.py covers the useful behavior learned from qiaomu-skill-publisher and adds governed release safety:
- strict
SKILL.mdandmanifest.jsonidentity/version checks - MIT
LICENSEcreation when missing - README generation or quality validation
- bundled Qiaomu profile/QR assets and idempotent README block injection
- GitHub owner/repository detection without conflating repository and skill names
- repository creation with a baseline default branch when needed
- feature-branch commit and push; direct default-branch push is forbidden
- pull-request creation, PR gate execution, review/check inspection, and optional merge
- immutable version guard: an existing
vX.Y.Zrelease requires a version bump - GitHub Release creation,
npx skills add --listdiscovery, isolated clean install, and optional canonical local sync
Read-only audit:
python3 scripts/publish_skill.py /path/to/skill --dry-runPrepare LICENSE, README and Qiaomu profile locally without GitHub writes:
python3 scripts/publish_skill.py /path/to/skill --prepare-onlyFull publication after the user explicitly asks to publish:
python3 scripts/publish_skill.py /path/to/skillStop after a passing PR when merge approval must happen elsewhere:
python3 scripts/publish_skill.py /path/to/skill --no-mergeVerify an already released version without creating commits or releases:
python3 scripts/publish_skill.py /path/to/skill --verify-onlyUseful target controls:
--github-user OWNER--repo-name REPO--branch codex/...--private--no-sync-local--skip-qiaomu-profileonly for explicitly non-Qiaomu packages
- Full publication is an external mutation and runs only after an explicit publish request.
--dry-runis read-only; unlike the legacy publisher it does not silently create or modify local files.- New repositories receive an initial README baseline, then the actual Skill enters through a feature branch and PR.
- Existing repositories never receive
HEAD:mainor equivalent direct pushes. - Staged content passes secret scanning and
git diff --cached --checkbefore commit. - Failed or pending checks, merge conflicts, or requested changes block automatic merge.
- Existing releases are immutable. Publishing new content under the same version is blocked.
- Canonical local sync skips an already-canonical source. Replacing another installed copy first moves it to
~/.agents/skill-backups, outside recursive Skill discovery.
The publisher proves package gates, Git/PR/Release state, discovery and installation. It does not prove the created Skill's domain output quality, user satisfaction, adoption or business outcome. Preserve those as separate output/runtime/human evidence or missing evidence.