Skip to content

feat: improve component-scaffold skill score 10% → 89%#474

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

feat: improve component-scaffold skill score 10% → 89%#474
yogesh-tessl wants to merge 1 commit into
Sitecore:devfrom
yogesh-tessl:improve/skill-review-optimization

Conversation

@yogesh-tessl
Copy link
Copy Markdown

Hey @art-alexeyenko 👋

this is really well put together. Having .agents/skills, Copilot instructions, Cursor config, and Windsurf rules all in one place makes the AI tooling setup feel comprehensive and intentional. The Skills.md as a top-level index, alongside AGENTS.md and CLAUDE.md, is a great touch too.

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

Skill Before After Change
content-sdk-component-scaffold 10% 89% +79%

The remaining 8 skills (component-data-strategy, component-variants, dictionary-and-i18n, graphql-data-fetching, multisite-management, site-setup-and-env, sitemap-robots, upgrade-assistant) also scored 10% due to the same unquoted-colon frontmatter issue. Happy to send follow-up PRs for those if this one looks good.

Changes applied to both the App Router and Pages Router template versions:

Changes made
  • Fixed YAML frontmatter: Wrapped the description field in quotes to fix the YAML parsing error caused by an unquoted colon
  • Enhanced description: Added specific file paths (.sitecore/component-map.ts, .sitecore/component-map.client.ts) and additional trigger terms (React component, layout placeholders) for better skill matching
  • Added concrete code example: Included a copy-paste-ready TSX snippet showing a properly structured component with typed props, Field<string> imports, and params handling
  • Structured workflow as numbered steps: Converted bullet points to a clear 1→2→3→4→5 sequence (create file → define props → decide server/client → register → build & verify)
  • Added verification step: Step 5 now includes confirming the component resolves in layout preview or editing mode after building

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 @art-alexeyenko 👋

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

| Skill | Before | After | Change |
|-------|--------|-------|--------|
| content-sdk-component-scaffold | 10% | 89% | +79% |
| content-sdk-component-registration | 89% | 89% | 0% |
| content-sdk-field-usage-image-link-text | 83% | 83% | 0% |
| content-sdk-route-configuration | 83% | 83% | 0% |
| content-sdk-editing-safe-rendering | 70% | 70% | 0% |
| content-sdk-troubleshoot-editing | 69% | 69% | 0% |

The remaining 8 skills (`component-data-strategy`, `component-variants`, `dictionary-and-i18n`, `graphql-data-fetching`, `multisite-management`, `site-setup-and-env`, `sitemap-robots`, `upgrade-assistant`) also scored 10% due to the same unquoted-colon frontmatter issue — happy to send follow-up PRs for those if this one looks good.

- [x] This PR follows the [Contribution Guide](https://github.com/Sitecore/content-sdk/blob/dev/CONTRIBUTING.md)
- [ ] Changelog updated
- [ ] Upgrade guide entry added

## Description / Motivation

The `content-sdk-component-scaffold` skill scored 10% because its YAML frontmatter description contained an unquoted colon (`App Router: decide Server vs Client...`) which breaks YAML parsing — the review tool couldn't evaluate the skill at all. I picked this skill because it's the first one listed in Skills.md and the most common developer starting point (scaffolding new components).

Changes applied to both the App Router and Pages Router template versions:

<details>
<summary>Changes made</summary>

- **Fixed YAML frontmatter**: Wrapped the `description` field in quotes to fix the YAML parsing error caused by an unquoted colon
- **Enhanced description**: Added specific file paths (`.sitecore/component-map.ts`, `.sitecore/component-map.client.ts`) and additional trigger terms (`React component`, `layout placeholders`) for better skill matching
- **Added concrete code example**: Included a copy-paste-ready TSX snippet showing a properly structured component with typed props, `Field<string>` imports, and params handling
- **Structured workflow as numbered steps**: Converted bullet points to a clear 1→2→3→4→5 sequence (create file → define props → decide server/client → register → build & verify)
- **Added verification step**: Step 5 now includes confirming the component resolves in layout preview or editing mode after building

</details>

I also stress-tested your `content-sdk-component-registration` skill against a few real-world task evals and it held up really well on server-vs-client component map routing — scored 89% out of the box. 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.

## Testing Details

- [x] Manual Test/Other — Ran `tessl skill review` before and after on both template versions. Both went from 10% → 89%. Description dimension: 100%. Content dimension: 73%.

## Types of changes

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)

Thanks in advance 🙏
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 13, 2026

⚠️ No Changeset found

Latest commit: f0c907b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

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