Skip to content

chore(ai-tools): skills audit + design tooling#3351

Open
dreamwasp wants to merge 17 commits into
evan-poc-agent-toolingfrom
cass-gmt-skill-update
Open

chore(ai-tools): skills audit + design tooling#3351
dreamwasp wants to merge 17 commits into
evan-poc-agent-toolingfrom
cass-gmt-skill-update

Conversation

@dreamwasp
Copy link
Copy Markdown
Contributor

@dreamwasp dreamwasp commented May 15, 2026

Overview

Refactors skills to reflect actual practices and adds new tag for adding themed DESIGN.theme.md. I also removed the figma tool since the figma.config.json is only for the CodeConnect tool

Testing Instructions

  1. in the project where you're using gamut, yarn add @codecademy/gamut@insert-alpha-here. this will just pull the new agent assets as well as the new gamut binary command, which you can run with yarn gamut or npx gamut.
    • if you're testing from within this branch on a local clone, run yarn install to register the new gamut binary.
  2. install the plugin in your tool with yarn gamut plugin install cursor|claude .
    • yarn gamut plugin install (without a target) defaults to cursor.
    • yarn gamut plugin install claude installs both the plugin and a custom marketplace.
  • yarn gamut plugin install cursor --theme core installs the tools & proper DESIGN.theme.md file
  1. open your tool's plugin UI to verify that the assets exist.
    • Cursor: Cmd + Shift + J then go to Plugins in the sidebar. You should see "Gamut Design System" listed.
    • Claude: claude plugins list. You should see gamut-design-system listed.
    • for either theme install - DESIGN.theme.md should be in your root repo
  2. Check out the new AI Tooling docs sections
  3. Read through the changes to the skills and make sure they're accurate

@nx-cloud
Copy link
Copy Markdown

nx-cloud Bot commented May 15, 2026

View your CI Pipeline Execution ↗ for commit 9f1fa02


☁️ Nx Cloud last updated this comment at 2026-05-18 21:04:06 UTC

@nx-cloud
Copy link
Copy Markdown

nx-cloud Bot commented May 15, 2026

View your CI Pipeline Execution ↗ for commit 64fed33


☁️ Nx Cloud last updated this comment at 2026-05-15 15:50:15 UTC

@codecov
Copy link
Copy Markdown

codecov Bot commented May 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.91%. Comparing base (0308fed) to head (9f1fa02).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@                    Coverage Diff                     @@
##           evan-poc-agent-tooling    #3351      +/-   ##
==========================================================
- Coverage                   90.29%   89.91%   -0.38%     
==========================================================
  Files                         384      276     -108     
  Lines                        6263     5730     -533     
  Branches                     2046     1929     -117     
==========================================================
- Hits                         5655     5152     -503     
+ Misses                        600      570      -30     
  Partials                        8        8              
Flag Coverage Δ
pull-request 89.91% <ø> (-0.38%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dreamwasp dreamwasp changed the title chore(ai-tools): skill audit chore(ai-tools): skills audit + design tooling May 18, 2026
@dreamwasp dreamwasp marked this pull request as ready for review May 18, 2026 19:10
@dreamwasp dreamwasp requested a review from a team as a code owner May 18, 2026 19:10
Copy link
Copy Markdown
Member

@sh0ji sh0ji left a comment

Choose a reason for hiding this comment

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

very nice!

my only suggestions were around the accessibility stuff, which I'm fine iterating on after merging rather than trying to get perfect here. but I'll leave that up to you.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

how do you feel about not including rules? I was on the fence about this when I opened the PR and just included the rule version as an example.

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.

yeah i'm down with it - alot of this work was adding intra-skill links where i thought would be necessary so i think it makes sense to refactor this to a general accessibility skill.

## Form label association

Match `htmlFor` on `<FormGroupLabel>` with the `id` on the input. `<FormGroup>` auto-wires `aria-live` for `error` and `description` — do not add redundant live regions manually.
Match **`htmlFor`** on **`<FormGroupLabel>`** with the **`id`** on the control. Base **`<FormGroup>`** renders live regions for **`error`** and **`description`**; **`GridForm`** and **`ConnectedForm`** add field wiring (**`aria-describedby`**, **`aria-invalid`**, first-error **`aria-live`** behavior) — do not add redundant duplicate regions. Depth: **[`skills/gamut-forms/SKILL.md`](../skills/gamut-forms/SKILL.md)**.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

did you add this bolding or did the AI?

I've noticed that AI seems to love bolding things, but have wondered how meaningful it is. it certainly would be if it changed the meaning like <em> does but these examples are just marking the words as important by setting them apart visually, which the <code>/` already does.

no need to change anything, especially if you decide to kill this rule. just reminded me that I've been wondering this.

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.

def AI, i'll change it

<li>...</li>
</ul>
```
Prefer native HTML, minimal ARIA, correct roles, visible names, focus visibility, semantic color / `ColorMode`, and Gamut primitives — see the always-loaded **Gamut Accessibility Rules**: [`accessibility.mdc`](../../rules/accessibility.mdc). This skill adds **Gamut component behavior** and audit detail below.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't think accessibility makes sense as always-loaded context, which is one of the reasons I don't love rules (the other being that they're Cursor-only). there are lots of times when a developer won't want/need it in context like if they're writing an RFC for a backend system or just using the agent to help them explore a codebase.

I do like the idea of shipping a general accessibility skill—distributing it through the design system makes sense. but maybe there's some way we can break this up into "general accessibility" and "Gamut accessibility" skills?

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.

agreed - i'll refactor a bit and use the same intra-skill logic to make sure they are loaded when needed


---

## General rules
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

These 5 "general rules" are the only ones that I wrote myself because it's where I'm most opinionated. If you do think it makes sense for Gamut to ship a "general accessibility" skill, could we discuss these as the baseline?

  • Prefer HTML over ARIA
  • A Role is a Promise
  • ARIA can both cloak and enhance
  • Align accessible names with visible copy
  • Treat missing visible labels as a design smell

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.

yeah, love it

@codecademydev
Copy link
Copy Markdown
Collaborator

📬 Published Alpha Packages:

Package Version npm Diff
@codecademy/gamut 68.6.1-alpha.5064c8.0 npm diff
@codecademy/gamut-icons 9.57.6-alpha.5064c8.0 npm diff
@codecademy/gamut-illustrations 0.58.12-alpha.5064c8.0 npm diff
@codecademy/gamut-kit 0.6.599-alpha.5064c8.0 npm diff
@codecademy/gamut-patterns 0.10.31-alpha.5064c8.0 npm diff
@codecademy/gamut-styles 18.0.1-alpha.5064c8.0 npm diff
@codecademy/gamut-tests 6.0.2-alpha.5064c8.0 npm diff
@codecademy/variance 0.26.2-alpha.5064c8.0 npm diff
eslint-plugin-gamut 2.4.4-alpha.5064c8.0 npm diff

@github-actions
Copy link
Copy Markdown
Contributor

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.

3 participants