Skip to content

feat(evo-testing): create skill for test creation#635

Merged
LuLaValva merged 2 commits intomainfrom
evo-testing
Apr 24, 2026
Merged

feat(evo-testing): create skill for test creation#635
LuLaValva merged 2 commits intomainfrom
evo-testing

Conversation

@reidmore-online
Copy link
Copy Markdown
Contributor

Description

Based on the previous work for the testing prompt, I turned it into a skill to build tests for evo. It currently is only setup and pointed at ebayui-core/ebayui-core-react, it will need to be updated once the other packages are ready to be included.

Notes

It is currently built to produce both unit and interactions tests for components, though right now the interactions tests cause issues, so when they are generated we aren't merging them. I am happy to keep it as is, or edit it to only do unit tests right now and develop a separate skill for the interactions tests when those are ready.

Things I'd love feedback on:

  • Instead of linking out to the evo-web site for docs, is it possibly better to link into the docs, since they are also in the repo?
  • Examples are currently part of the skill file, but I also considered making them reference files to be called as needed, which approach makes more sense?

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 22, 2026

⚠️ No Changeset found

Latest commit: 0cbbb08

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

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a new Claude “skill” document to standardize how contributors/agents generate and review component tests across the evo-web monorepo, focusing on ebayui-core (Marko) and ebayui-core-react (React) with an accessibility-first approach.

Changes:

  • Introduces a new evo-testing skill with guidance on where tests live, how to structure test plans, and how to categorize coverage (click/keyboard/focus/ARIA).
  • Adds example snippets for Marko tests, React tests, and Storybook interaction (play) tests.
  • Documents workflow guidance to avoid duplicated tests and to align assertions with component accessibility docs.

Comment on lines +57 to +58
checkbox.focus();
await userEvent.keyboard(" ");
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The Marko userEvent example uses userEvent.keyboard(...), but in this repo’s Marko browser tests userEvent comes from vitest/browser and is used via a setup instance (e.g. const user = userEvent.setup(); await user.keyboard(...)). As written, the snippet doesn’t match the established pattern and is likely to be copied into tests in a non-working form.

Suggested change
checkbox.focus();
await userEvent.keyboard(" ");
const user = userEvent.setup();
checkbox.focus();
await user.keyboard(" ");

Copilot uses AI. Check for mistakes.
Comment on lines +161 to +167
describe("when Enter key is pressed", () => {
beforeEach(async () => {
const button = screen.getByRole("button");
button.focus();
await user.keyboard("{Enter}");
});

Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The React keyboard unit example calls user.keyboard(...) but doesn’t define user. In this repo, keyboard input is typically done either via userEvent.keyboard(...) or by creating a setup instance (const user = userEvent.setup()) and using user.keyboard(...). Please adjust the example so it’s self-contained and copy/pasteable.

Copilot uses AI. Check for mistakes.
Comment thread .claude/skills/evo-testing/SKILL.md Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Member

@LuLaValva LuLaValva left a comment

Choose a reason for hiding this comment

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

Thanks for adding this @reidmore-online! Since the only change is a skill, I'm comfortable merging as-is and we can tweak the specific details when there are bugs in tests created using it.

Copy link
Copy Markdown
Contributor

@ArtBlue ArtBlue left a comment

Choose a reason for hiding this comment

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

Can we please audit this skill using skill-creator to see if there are opportunities for improvement?

@reidmore-online
Copy link
Copy Markdown
Contributor Author

Can we please audit this skill using skill-creator to see if there are opportunities for improvement?

Sorry, I should have mentioned I did this step :). I used skill-creator to help me take the old testing.md file from previous experiments and turn it into the skill, I then asked it to evaluate the skill and that's the current state. The only thing I did not have it do was test, because I don't really have a comparison to test it with and I think the output would be hard to quantitatively assess.

@ArtBlue
Copy link
Copy Markdown
Contributor

ArtBlue commented Apr 23, 2026

Can we please audit this skill using skill-creator to see if there are opportunities for improvement?

Sorry, I should have mentioned I did this step :). I used skill-creator to help me take the old testing.md file from previous experiments and turn it into the skill, I then asked it to evaluate the skill and that's the current state. The only thing I did not have it do was test, because I don't really have a comparison to test it with and I think the output would be hard to quantitatively assess.

@reidmore-online , awesome! Did you want to check the evals in to establish a baseline for the skill performance or do you think it's too early for that (if this is still beta)?

@reidmore-online
Copy link
Copy Markdown
Contributor Author

Can we please audit this skill using skill-creator to see if there are opportunities for improvement?

Sorry, I should have mentioned I did this step :). I used skill-creator to help me take the old testing.md file from previous experiments and turn it into the skill, I then asked it to evaluate the skill and that's the current state. The only thing I did not have it do was test, because I don't really have a comparison to test it with and I think the output would be hard to quantitatively assess.

@reidmore-online , awesome! Did you want to check the evals in to establish a baseline for the skill performance or do you think it's too early for that (if this is still beta)?

I think it's still too early, in my other experiments with evals they seem to be most helpful when you have something to compare to, and I just don't really have that yet. I am curious if I make variants of these skill that reflect the areas I have questions about, then I can possibly run evals between the different versions to see what ends up performing best.

@ArtBlue
Copy link
Copy Markdown
Contributor

ArtBlue commented Apr 23, 2026

Evals are also helpful once you start making adjustments before committing potential improvements. In some cases, they are absolutely critical right off the bat. Probably not here.

@LuLaValva LuLaValva merged commit b2fbbfe into main Apr 24, 2026
3 checks passed
@LuLaValva LuLaValva deleted the evo-testing branch April 24, 2026 16:46
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.

4 participants