Skip to content

Move model_tier to public sidecar, drop output-schema from public skill#84

Merged
timctfl merged 1 commit intomainfrom
move-model-tier-to-sidecar
Apr 17, 2026
Merged

Move model_tier to public sidecar, drop output-schema from public skill#84
timctfl merged 1 commit intomainfrom
move-model-tier-to-sidecar

Conversation

@timctfl
Copy link
Copy Markdown
Owner

@timctfl timctfl commented Apr 17, 2026

Summary

Part of the public/private split for SkillShelf's Run experience.

  • model_tier moves to the public skillshelf.yaml sidecar. It's an author declaration about what quality tier the skill needs; that intent should travel with the skill and is visible to anyone who downloads it.
  • Output JSON schemas (references/output-schema.yaml) are SkillShelf platform enforcement, not part of the portable skill. Deleted from the public skill directory. Will live in the private skillshelf-site repo going forward.

Why

Context from the architecture discussion:

  • Skills are open source (this repo) and runnable anywhere Claude runs (Claude Code, cowork, Claude.ai ZIP upload). The public repo should contain what's needed to run the skill natively.
  • The SkillShelf Run experience (on skillshelf.ai) adds value via structured-output enforcement, review mode, Shopify write-back, and credit/BYOK billing. The JSON schema is part of that enforcement layer, not the skill itself.
  • Claude-native runs don't read output-schema.yaml and enforce it (no provider-level schema enforcement in native Claude runtime). Removing the file has zero behavior impact on native runs.

Files changed

  • skills/map-pdp-structure/skillshelf.yaml — added model_tier: high
  • skills/map-pdp-structure/references/output-schema.yaml — deleted (moving to private repo)

Follow-up

Sibling PR in skillshelf-site adds the schema at site/skill-configs/schemas/map-pdp-structure.yaml, removes model_tier from the private execution config, updates skill-meta.ts Zod schemas, and bumps the submodule pointer to this PR's merge commit.

Part of the public/private split for SkillShelf's Run experience. Two
decisions land together:

1. model_tier is an author declaration ("this skill needs the high tier
   to produce good output") and belongs in the public skillshelf.yaml
   sidecar alongside category, level, primitive, and platforms. Added
   to map-pdp-structure's sidecar.

2. Output JSON schemas are SkillShelf platform enforcement, not part of
   the skill's portable definition. They live in the private
   skillshelf-site repo going forward. Removed from the public skill
   directory. Claude-native runs (Claude Code, cowork, ZIP download)
   never read this file for enforcement anyway; the SKILL.md instructions
   and example-output.md carry the structural intent.

No behavior change for merchants running the skill natively in Claude.
The SkillShelf platform will load schemas from the private repo when
the Run experience ships.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@timctfl timctfl merged commit 9ada8ab into main Apr 17, 2026
1 check passed
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.

2 participants