Skip to content

feat(review-plugin-creator): fetch the default rubric instead of bundling it#15

Merged
colinhallett merged 2 commits into
mainfrom
opt-1413-creator-fetch-default
Jun 29, 2026
Merged

feat(review-plugin-creator): fetch the default rubric instead of bundling it#15
colinhallett merged 2 commits into
mainfrom
opt-1413-creator-fetch-default

Conversation

@colinhallett

@colinhallett colinhallett commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Stops review-plugin-creator shipping its own copy of the default reviewer, which drifts from the published default. The fork and scratch flows now fetch tessl/default-skill-review from the public GitHub repo on demand — a single source of truth.

What changed

  • Removed all bundled duplicates from the creator (references/default-rubric/, reviewer-SKILL.md, schemas/ — the whole references/ dir).
  • Step 2 fetches the whole default-skill-review plugin from codeload.github.com (one subdir, public, no auth, no install, into a temp dir); both the fork (Path A) and scratch (Path B) scaffold from it.
  • Dropped the Trust-boundary guardrail from the fork instructions — tessl/default-skill-review is now the source of truth for the reviewer prompt too.
  • Evals: stripped the bundled default/schema/reviewer fixtures from scenario-0/1 (and the include) so the agent fetches the default live, giving real coverage of the fetch+fork path.
  • Version 0.2.0 → 0.3.0.

Validation

Ran the two scenarios as a real eval (avg 99% — scenario-0 100/100, scenario-1 98/100). Pulled the produced workspaces and confirmed the agent fetched the real default from GitHub in-sandbox: the forked plugin's content.json/description.json match the canonical default, its SKILL.md is the no-guardrail default extended for the new judge, and config.json weights sum to 1.0.

Closes OPT-1413

Summary by CodeRabbit

  • Documentation

    • Updated the setup guidance to fetch the latest default review plugin on demand, and clarified how to use the copied schema and rubric files when creating a new plugin.
  • Chores

    • Bumped the plugin version to 0.3.0.
    • Removed bundled evaluation reference files from the project.

colinhallett and others added 2 commits June 28, 2026 21:54
…ling it

The creator shipped its own copy of the default reviewer (rubrics, config,
reviewer SKILL.md, schemas), which drifts from the published default. Drop all
of it and fetch tessl/default-skill-review from the public GitHub repo on demand
(codeload tarball, one subdir, no install) for both the fork and scratch paths.
Single source of truth: the creator carries no default-rubric copy.

Also drops the Trust-boundary guardrail from the fork instructions —
tessl/default-skill-review is now the source of truth for the reviewer prompt.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…shipping fixtures

Drop the bundled default/schema/reviewer fixtures from scenario-0 and scenario-1
and the `include` that staged them. The agent now fetches tessl/default-skill-review
from GitHub per the skill, so the evals exercise the real fetch+fork path.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@colinhallett colinhallett self-assigned this Jun 29, 2026
@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 94ab1fc9-5fd5-4f54-b542-72842c0b6b56

📥 Commits

Reviewing files that changed from the base of the PR and between 369a091 and 0d10f92.

📒 Files selected for processing (25)
  • review-plugin-creator/.tessl-plugin/plugin.json
  • review-plugin-creator/README.md
  • review-plugin-creator/evals/scenario-0/inputs/skill-references/reviewer-SKILL.md
  • review-plugin-creator/evals/scenario-0/inputs/skill-references/schemas/config.schema.json
  • review-plugin-creator/evals/scenario-0/inputs/skill-references/schemas/results.schema.json
  • review-plugin-creator/evals/scenario-0/inputs/skill-references/schemas/rubric.schema.json
  • review-plugin-creator/evals/scenario-0/scenario.json
  • review-plugin-creator/evals/scenario-0/task.md
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/default-rubric/config.json
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/default-rubric/content.json
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/default-rubric/description.json
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/reviewer-SKILL.md
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/schemas/config.schema.json
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/schemas/results.schema.json
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/schemas/rubric.schema.json
  • review-plugin-creator/evals/scenario-1/scenario.json
  • review-plugin-creator/evals/scenario-1/task.md
  • review-plugin-creator/skills/create-review-plugin/SKILL.md
  • review-plugin-creator/skills/create-review-plugin/references/default-rubric/config.json
  • review-plugin-creator/skills/create-review-plugin/references/default-rubric/content.json
  • review-plugin-creator/skills/create-review-plugin/references/default-rubric/description.json
  • review-plugin-creator/skills/create-review-plugin/references/reviewer-SKILL.md
  • review-plugin-creator/skills/create-review-plugin/references/schemas/config.schema.json
  • review-plugin-creator/skills/create-review-plugin/references/schemas/results.schema.json
  • review-plugin-creator/skills/create-review-plugin/references/schemas/rubric.schema.json
💤 Files with no reviewable changes (20)
  • review-plugin-creator/evals/scenario-0/task.md
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/default-rubric/description.json
  • review-plugin-creator/evals/scenario-0/inputs/skill-references/reviewer-SKILL.md
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/schemas/results.schema.json
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/schemas/config.schema.json
  • review-plugin-creator/evals/scenario-0/inputs/skill-references/schemas/config.schema.json
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/reviewer-SKILL.md
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/default-rubric/content.json
  • review-plugin-creator/skills/create-review-plugin/references/schemas/results.schema.json
  • review-plugin-creator/skills/create-review-plugin/references/default-rubric/description.json
  • review-plugin-creator/skills/create-review-plugin/references/default-rubric/content.json
  • review-plugin-creator/skills/create-review-plugin/references/reviewer-SKILL.md
  • review-plugin-creator/evals/scenario-0/inputs/skill-references/schemas/results.schema.json
  • review-plugin-creator/evals/scenario-0/inputs/skill-references/schemas/rubric.schema.json
  • review-plugin-creator/skills/create-review-plugin/references/schemas/config.schema.json
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/schemas/rubric.schema.json
  • review-plugin-creator/skills/create-review-plugin/references/schemas/rubric.schema.json
  • review-plugin-creator/evals/scenario-1/inputs/create-review-plugin/references/default-rubric/config.json
  • review-plugin-creator/evals/scenario-1/task.md
  • review-plugin-creator/skills/create-review-plugin/references/default-rubric/config.json

📝 Walkthrough

Walkthrough

Removes all bundled default rubric JSON files, schema definitions, and reviewer-SKILL templates from the create-review-plugin skill references and both eval scenario inputs. Updates SKILL.md to fetch the canonical tessl/default-skill-review plugin on demand instead. Strips include entries from eval scenario configs and bumps the plugin manifest to 0.3.0.

Changes

Remove bundled default rubric; fetch on demand

Layer / File(s) Summary
SKILL.md rewritten to fetch default rubric on demand
review-plugin-creator/skills/create-review-plugin/SKILL.md
Intro, Step 2, Path A, and Path B instructions updated to fetch the published tessl/default-skill-review plugin into a temp directory. Schema files are now copied from the fetched source and used verbatim rather than read from a local bundle.
Bundled skill reference files deleted
review-plugin-creator/skills/create-review-plugin/references/default-rubric/config.json, review-plugin-creator/skills/create-review-plugin/references/...
Removes config.json, content.json, description.json, reviewer-SKILL.md, and all three schema files (config.schema.json, results.schema.json, rubric.schema.json) from the skill's own references/ directory.
Eval scenario inputs and task references cleaned up
review-plugin-creator/evals/scenario-0/scenario.json, review-plugin-creator/evals/scenario-0/task.md, review-plugin-creator/evals/scenario-1/scenario.json, review-plugin-creator/evals/scenario-1/task.md, review-plugin-creator/evals/scenario-*/inputs/...
Removes "include": ["./inputs"] from both scenario configs, strips task.md pointers to skill-references/ and references/ paths, and deletes all bundled rubric/schema/reviewer-SKILL input files from both eval scenarios.
README and plugin manifest updated
review-plugin-creator/README.md, review-plugin-creator/.tessl-plugin/plugin.json
README "starting points" section reworded to describe on-demand fetching of tessl/default-skill-review. Plugin manifest version bumped from 0.2.0 to 0.3.0.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • tesslio/product-plugins#9: Introduced the bundled default rubric, schemas, and reviewer-SKILL content that this PR removes and replaces with on-demand fetching.
  • tesslio/product-plugins#14: Publishes the tessl/default-review plugin that this PR now fetches on demand instead of bundling locally.
  • tesslio/product-plugins#13: Also modifies review-plugin-creator/.tessl-plugin/plugin.json, directly overlapping with the manifest version bump in this PR.

Suggested reviewers

  • marc-tessl
  • gjvis
🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: fetching the default rubric at runtime instead of bundling it.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Comment @coderabbitai help to get the list of available commands.

@abheer-t abheer-t left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving it works as is, however, is the pattern of installing downloaded skills / plugins in a temporary directory reasonable, or does it pollute the filesystem for users?

"$PLUGIN_DIR/skills/skill-reviewer/references/schemas/"
cp <path-to-this-skill>/references/schemas/results.schema.json \
"$PLUGIN_DIR/skills/skill-reviewer/references/schemas/"
DEFAULT_DIR=$(mktemp -d)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Query: Why doesn't this use tessl install, and instead downloads it temporarily?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tessl install would install the plugin (i.e. it would become avaliable as a skill to your agent), whereas we just want the files for reference.

@colinhallett

Copy link
Copy Markdown
Contributor Author

Approving it works as is, however, is the pattern of installing downloaded skills / plugins in a temporary directory reasonable, or does it pollute the filesystem for users?

Could direct it just to read the files directly without downloading them - I'll have a look at this next.

@colinhallett
colinhallett merged commit afe823a into main Jun 29, 2026
2 checks 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