Files
gstack/skills.json
T
Garry Tan c205b7d90c feat: standalone methodology skill publishing via gstack-publish
Ships the marketplace-distribution half of Item 5 (reframed): publish
the existing standalone OpenClaw methodology skills to multiple
marketplaces with one command.

Codex review caught that the original plan assumed raw generated
multi-host skills could be published directly. They can't — those
depend on gstack binaries, generated host paths, tool names, and
telemetry. The correct artifact class is hand-crafted standalone
skills in openclaw/skills/gstack-openclaw-* (already exist and work
without gstack runtime). This commit adds the wrapper that publishes
them to ClawHub + SkillsMP + Vercel Skills.sh with per-marketplace
error isolation and dry-run validation.

Changes:
- skills.json: root manifest with 4 skills (office-hours, ceo-review,
  investigate, retro) each pointing at its openclaw/skills source.
  Each skill declares per-marketplace targets with a slug, a publish
  flag, and a compatible-hosts list. Marketplace configs include CLI
  name, login command, publish command template (with placeholder
  substitution), docs URL, and auth_check command.
- bin/gstack-publish: new CLI. Subcommands:
    gstack-publish              Publish all skills
    gstack-publish <slug>       Publish one skill
    gstack-publish --dry-run    Validate + auth-check without publishing
    gstack-publish --list       List skills + marketplace targets
  Features:
    * Manifest validation (missing source files, missing slugs, empty
      marketplace list all reported).
    * Per-marketplace auth check before any publish attempt.
    * Per-skill / per-marketplace error isolation: one failure doesn't
      abort the batch.
    * Idempotent — re-running with the same version is safe; markets
      that reject duplicate versions report it as a failure for that
      single target without affecting others.
    * --dry-run walks the full pipeline but skips execSync; useful in
      CI to validate manifest before bumping version.

Tested locally: clawhub auth detected, skillsmp/vercel CLIs not
installed (marked NOT READY and skipped cleanly in dry-run).

Follow-up work (tracked in TODOS.md later):
- Version-bump helper that reads openclaw/skills/*/SKILL.md frontmatter
  and updates skills.json in lockstep.
- CI workflow that runs gstack-publish --dry-run on every PR and
  gstack-publish on tags.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 06:18:28 +08:00

91 lines
3.9 KiB
JSON

{
"$schema": "https://gstack.dev/schemas/skills-manifest.v1.json",
"version": "1.0.0",
"description": "Manifest for publishing gstack standalone methodology skills to marketplaces (ClawHub, Vercel Skills.sh, SkillsMP). These skills have NO gstack runtime dependencies — they work as pure Claude Code / OpenClaw skills.",
"skills": [
{
"slug": "gstack-office-hours",
"source": "openclaw/skills/gstack-openclaw-office-hours/SKILL.md",
"name": "YC Office Hours",
"version": "1.0.0",
"category": "strategy",
"description": "Product interrogation with six forcing questions. Two modes: startup diagnostic and builder brainstorm. Produces a design doc, not code.",
"marketplaces": {
"clawhub": { "slug": "gstack-office-hours", "publish": true },
"skillsmp": { "slug": "gstack-office-hours", "publish": true },
"vercel": { "slug": "gstack-office-hours", "publish": true }
},
"standalone": true,
"compatible_hosts": ["claude-code", "openclaw", "cursor"]
},
{
"slug": "gstack-ceo-review",
"source": "openclaw/skills/gstack-openclaw-ceo-review/SKILL.md",
"name": "CEO Plan Review",
"version": "1.0.0",
"category": "strategy",
"description": "Founder-mode plan review. Rethink the problem, find the 10x product, challenge premises, expand scope when it creates a better product.",
"marketplaces": {
"clawhub": { "slug": "gstack-ceo-review", "publish": true },
"skillsmp": { "slug": "gstack-ceo-review", "publish": true },
"vercel": { "slug": "gstack-ceo-review", "publish": true }
},
"standalone": true,
"compatible_hosts": ["claude-code", "openclaw", "cursor"]
},
{
"slug": "gstack-investigate",
"source": "openclaw/skills/gstack-openclaw-investigate/SKILL.md",
"name": "Root Cause Investigation",
"version": "1.0.0",
"category": "debugging",
"description": "Systematic debugging with root cause investigation. Four phases: investigate, analyze, hypothesize, implement. Iron Law: no fixes without root cause.",
"marketplaces": {
"clawhub": { "slug": "gstack-investigate", "publish": true },
"skillsmp": { "slug": "gstack-investigate", "publish": true },
"vercel": { "slug": "gstack-investigate", "publish": true }
},
"standalone": true,
"compatible_hosts": ["claude-code", "openclaw", "cursor"]
},
{
"slug": "gstack-retro",
"source": "openclaw/skills/gstack-openclaw-retro/SKILL.md",
"name": "Engineering Retrospective",
"version": "1.0.0",
"category": "process",
"description": "Weekly engineering retrospective. Analyzes commit history and work patterns with per-person breakdown.",
"marketplaces": {
"clawhub": { "slug": "gstack-retro", "publish": true },
"skillsmp": { "slug": "gstack-retro", "publish": true },
"vercel": { "slug": "gstack-retro", "publish": true }
},
"standalone": true,
"compatible_hosts": ["claude-code", "openclaw", "cursor"]
}
],
"marketplaces": {
"clawhub": {
"cli": "clawhub",
"login_cmd": "clawhub login",
"publish_cmd_template": "clawhub publish {source_dir} --slug {slug} --name \"{name}\" --version {version} --changelog \"{changelog}\"",
"docs": "https://clawhub.dev/docs/publishing",
"auth_check": "clawhub whoami"
},
"skillsmp": {
"cli": "skillsmp",
"login_cmd": "skillsmp login",
"publish_cmd_template": "skillsmp publish {source_dir} --name {slug} --version {version}",
"docs": "https://skillsmp.com/docs/publish",
"auth_check": "skillsmp whoami"
},
"vercel": {
"cli": "skills",
"login_cmd": "skills login",
"publish_cmd_template": "skills publish {source_dir} --package {slug} --version {version}",
"docs": "https://skills.sh/docs",
"auth_check": "skills whoami"
}
}
}