Skip to content

feat: improve skill score for update-gems#2641

Open
yogesh-tessl wants to merge 1 commit into
instructure:masterfrom
yogesh-tessl:improve/skill-review-optimization
Open

feat: improve skill score for update-gems#2641
yogesh-tessl wants to merge 1 commit into
instructure:masterfrom
yogesh-tessl:improve/skill-review-optimization

Conversation

@yogesh-tessl

@yogesh-tessl yogesh-tessl commented Jun 9, 2026

Copy link
Copy Markdown

Hey @instructure 👋

Canvas is one of those repos where you can tell the team is already thinking seriously about AI tooling. Seeing both CLAUDE.md and AGENTS.md alongside dedicated Claude Code Review workflows shows real commitment to that space. With 6.7k stars and the scale of this codebase, figured a well-structured SKILL.md could be a useful addition

ran your skills through tessl skill review at work and found some targeted improvements. Here's the full before/after:

Skill Before After Change
update-gems 63% 99% +36%
ketchup 10% 68% +58%
create-commit-msg 17% 63% +46%

The deep optimisation targeted update-gems - it had the most improvement headroom and the cleanest diff potential for clearly additive changes.

What changed

update-gems (63% → 99%)

  • Expanded the frontmatter description with a Use when... clause and concrete trigger terms (bundle update, Gemfile, outdated gems, bundler, dependency upgrade)
  • Restructured the body into a numbered Workflow section (Audit → Update → Sync → Verify → Commit) for clearer sequencing
  • Added a verification step with error recovery guidance for dependency conflicts and lockfile sync failures
  • All existing Canvas-specific rules, gem groupings, and domain terminology preserved exactly as-is

ketchup (formatting fix only)

  • Quoted the argument-hint value to fix YAML flow-collection parse error

create-commit-msg (formatting fix only)

  • Changed name: create_commit_msgname: create-commit-msg (kebab-case)

quick honest disclosure. I work at https://github.com/tesslio where we build tooling around skills like these. Not a pitch, just saw room for improvement and wanted to contribute.

If you want to self-improve your skills, or define your own scenarios to pressure test, just ask your agent (Claude Code, Codex, etc.) to evaluate and optimize your skill with Tessl. Ping me @yogesh-tessl, if you hit any snags.

Hey @instructure 👋

I ran your skills through `tessl skill review` at work and found some targeted improvements. Here's the full before/after:

| Skill | Before | After | Change |
|-------|--------|-------|--------|
| update-gems | 63% | 99% | +36% |
| ketchup | 10% | 68% | +58% |
| create-commit-msg | 17% | 63% | +46% |
| squash-migrations | 75% | 75% | — |
| rspec | 70% | 70% | — |

> **Note:** `ketchup` and `create-commit-msg` had near-zero baseline scores due to YAML parse errors — `ketchup` had unquoted brackets in `argument-hint`, and `create-commit-msg` used underscores instead of kebab-case in the `name` field. I fixed those formatting issues to unblock proper evaluation. Their "Before" scores above reflect the corrected baselines (68% and 63%), not the original broken scores (10% and 17%).

The deep optimization targeted **`update-gems`** — it had the most improvement headroom and the cleanest diff potential for clearly additive changes.

<details>
<summary>What changed</summary>

**`update-gems` (63% → 99%)**
- Expanded the frontmatter description with a `Use when...` clause and concrete trigger terms (`bundle update`, `Gemfile`, `outdated gems`, `bundler`, `dependency upgrade`)
- Restructured the body into a numbered Workflow section (Audit → Update → Sync → Verify → Commit) for clearer sequencing
- Added a verification step with error recovery guidance for dependency conflicts and lockfile sync failures
- All existing Canvas-specific rules, gem groupings, and domain terminology preserved exactly as-is

**`ketchup` (formatting fix only)**
- Quoted the `argument-hint` value to fix YAML flow-collection parse error

**`create-commit-msg` (formatting fix only)**
- Changed `name: create_commit_msg` → `name: create-commit-msg` (kebab-case)

</details>

I also stress-tested your `squash-migrations` skill against a few real-world task evals and it held up really well on quarterly migration squashing with cross-plugin `InitCanvasDb` consolidation. Kudos for that.

Honest disclosure — I work at @tesslio where we build tooling around skills like these. Not a pitch — just saw room for improvement and wanted to contribute.

Want to self-improve your skills? Just point your agent (Claude Code, Codex, etc.) at [this Tessl guide](https://docs.tessl.io/evaluate/optimize-a-skill-using-best-practices) and ask it to optimize your skill. Ping me — [@yogesh-tessl](https://github.com/yogesh-tessl) — if you hit any snags.

Thanks in advance 🙏
@CLAassistant

CLAassistant commented Jun 9, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

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