community-publish
Installation
SKILL.md
Three independent actions
This skill handles three completely different kinds of sharing. They are NOT stages of one flow and NOT mutually exclusive — a project can be in any combination.
| Action | What "share" means here | Audience can | Applies to |
|---|---|---|---|
publish_preview(preview_id) |
Allocate a public URL https://community.iamstarchild.com/{user_id}-{slug} |
Open the URL if they know it — point-to-point access | Any running service |
list_in_dashboard(slug) |
Show the listing on the public Project Dashboard | Discover and browse to it from the gallery | A previously-published preview |
open_source(project_dir) |
Push project source to the community GitHub repo | Fork the code and run their own copy | Any project (task, service, script) |
Critical: do NOT auto-list when publishing. publish_preview() only allocates the URL. Listing is a separate, deliberate user decision. If the user just says "publish my preview" / "公开" without mentioning the dashboard, only call publish_preview(). After it succeeds, you may mention that list_in_dashboard() exists if they want others to discover it.
Service lifecycle (start / stop / health check) lives in the
previewtool. This skill only handles the share side.
Visibility model — read this before answering anything about who can see a project
A project's "publicness" is two orthogonal switches, not one: