Skip to content

feat: Phase 0 skill portability for the open standard#230

Open
ryzizub wants to merge 8 commits into
mainfrom
claude/goal-review-plugin-reusable-fbd5aa
Open

feat: Phase 0 skill portability for the open standard#230
ryzizub wants to merge 8 commits into
mainfrom
claude/goal-review-plugin-reusable-fbd5aa

Conversation

@ryzizub

@ryzizub ryzizub commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

What

Phase 0 of the open-standard epic (#228): make the 12 Wingspan skills portable to non-Claude harnesses (Codex, Gemini CLI, OpenCode) via the Agent Skills standard, without changing Claude Code behavior. Single-source SKILL.md plus in-body graceful degradation, no build step.

Changes

Portability prep

  • Skill names flat kebab-case, no cross-plugin collisions. name matches its directory (enforced in CI via .github/scripts/check-frontmatter.sh + the validate-skill job).
  • $ARGUMENTS and ${CLAUDE_SKILL_DIR} each carry a fallback that fires when the host does not substitute them.
  • context7 MCP references degrade to web search when the server is absent.

Fallbacks and safety (in-body)

  • Review panels run as structured sequential passes on hosts without subagents (fixed order, per-pass raw file, content-only sort key). The rules live once in the shared consolidation reference.
  • Destructive-op guards on create-pr and rebase refuse push, PR, or history rewrite without an explicit user instruction.
  • AskUserQuestion and allowed-tools fallbacks in a shared interaction-fallbacks.md, symlinked into every skill that uses them.
  • create degrades off Claude Code to an inline, tech-agnostic companion catalog instead of the plugin-root hooks/ and the Skill tool.
  • Portable clear-context handoff for hosts without slash commands.
  • Skill bodies carry only runtime-actionable fallbacks. Cross-harness rationale and maintainer notes were moved to CONTRIBUTING.md rather than left as meta-commentary in the bodies.

Decisions

  • review keeps its bare name. The Codex and GitHub Copilot built-in /review collision is handled by description-based activation (the skill triggers on the request, not the typed slash command). The rationale is recorded in CONTRIBUTING.md under "Reserved slash-command names", not as an in-body note.
  • Subagents degrade inline rather than convert per host. Optional per-host conversion is tracked separately (#226 Codex, #227 Gemini, #229 OpenCode).

Verified locally

  • The real skills CLI (v1.5.20) installed all 12 skills from this branch and dereferenced every shared symlink into a real file, exec bits preserved, zero dangling links. No materialization needed.
  • The CLI's download endpoint (skills.sh/api/download/...) is not served today (returns 404), so a github: install falls back to fetching from GitHub and copying. The copy-and-dereference step is confirmed; a full end-to-end github: install is not yet verified.
  • Gemini CLI supports Agent Skills natively. Note: it skips project-scoped skills in an untrusted folder, so a project install needs the folder trusted first.

Not in this PR (follow-ups for #228)

  • Live activation on Codex, Gemini, and OpenCode (needs authenticated harness sessions).
  • The CI portability matrix.

Refs #228

🤖 Generated with Claude Code

ryzizub and others added 2 commits July 23, 2026 12:24
Strengthen graceful degradation so skills run on non-Claude harnesses
(Codex, Gemini, OpenCode). Adds structured sequential-pass review
fallbacks, destructive-op guards on create-pr and rebase, AskUserQuestion
and allowed-tools fallbacks via a shared interaction-fallbacks reference,
a portable clear-context handoff, and an off-Claude create port with an
inline companion catalog. Also includes the Phase 0 audit groundwork
(validate-skill CI, CONTRIBUTING cross-harness section, context7
degradation).

Refs #228

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Complete the remaining #228 workstreams on top of the cross-harness
fallbacks commit:

- Rename the review skill to quality-review: the bare name collides with
  built-in /review commands on Claude Code (flat install), Codex, and
  Copilot. Full reference sweep; docs/code-review/ output dir and review
  agent names unchanged.
- docs/portability/: reserved-command collision audit (decision rule,
  per-host evidence, cross-plugin audit) and agent-definition conversion
  spec (md -> Codex TOML / Gemini md / OpenCode md, worked example).
- CI: frontmatter guard (scripts/ci/check-frontmatter.sh) closing the two
  silent-skip gaps validate-skill leaves open — UTF-8 BOM (Gemini-fatal)
  and agents/**/*.md frontmatter.
- Hotfix push step gains the cross-harness guard the other pushing skills
  already carry.
- context7 mandate in official-docs-research-agent hedged with the
  web-search fallback.

Refs #228

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ryzizub
ryzizub requested a review from jorgecoca July 24, 2026 09:34
Revert the quality-review skill back to `review` and handle the Codex and
GitHub Copilot built-in `/review` collision in-body (skills activate by
description, plus a cross-harness note) instead of via the rename. Remove the
docs/portability design docs (agent-definition-conversion, reserved-command-audit)
and the CLAUDE.md Reference Docs section, and drop the verbose validate-skill
comment in CI.

Refs #228

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ryzizub ryzizub changed the title feat: cross-harness skill portability fallbacks feat: Phase 0 skill portability for the open standard Jul 24, 2026
Reframe two npx skills behaviors in CONTRIBUTING as verified/observed rather
than documented (symlink dereference confirmed locally with skills CLI v1.5.20;
unknown-field handling observed from source), and note metadata: as the strict-
conformance escape hatch. Complete the quick-start name rule (directory match,
hyphen and length constraints). Link the shared interaction-fallbacks note from
brainstorm, debrief, plan, and plan-technical-review so all AskUserQuestion-using
skills carry the degradation pointer.

Refs #228

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ryzizub and others added 2 commits July 24, 2026 14:52
…docs

Move scripts/ci/check-frontmatter.sh to .github/scripts/check-frontmatter.sh
(update the ci.yaml run step and both CONTRIBUTING references). Correct the
shared-symlink install docs: the skills CLI's download endpoint
(skills.sh/api/download) is not served today and returns 404, so a github:
install falls back to fetching from GitHub and copying. Scope what is actually
verified (copy-and-dereference) versus not (full end-to-end github: install).

Refs #228

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ryzizub added a commit to VeryGoodOpenSource/vgv-ai-flutter-plugin that referenced this pull request Jul 24, 2026
Match the CONTRIBUTING frontmatter guidance in
VeryGoodOpenSource/vgv-wingspan#230: the spec's optional skills-ref linter
rejects top-level fields outside the six it allows, and nesting the Claude
Code extras under metadata: is the escape hatch if strict conformance is
ever needed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Remove cross-host rationale and maintainer notes that explained behavior to a
reader rather than instructing the model, keeping every runtime fallback intact.
Drops the /review cross-harness note, the disable-model-invocation explanations
in the create-pr and rebase guards, the hooks/ absence rationale and table sync
note in create, the slash-form aside in the clear-context handoff, and the host
taxonomy and allowed-tools history in interaction-fallbacks. The rationale lives
in CONTRIBUTING.

Refs #228

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ryzizub added a commit to VeryGoodOpenSource/vgv-ai-flutter-plugin that referenced this pull request Jul 24, 2026
Reconcile with VeryGoodOpenSource/vgv-wingspan#230: name the non-Claude
harnesses (Codex, Gemini CLI, OpenCode) the portability section targets, and
state the full spec-conformance rules for the skill name field (kebab-case,
no leading/trailing/consecutive hyphen, 1-64 chars, matches the directory).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ryzizub
ryzizub marked this pull request as ready for review July 24, 2026 15:32
@ryzizub
ryzizub requested a review from a team as a code owner July 24, 2026 15:32
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant