Skip to content

chore(quantic): creation of new managing quantic components skill#7596

Open
mmitiche wants to merge 9 commits into
mainfrom
SFINT-6773
Open

chore(quantic): creation of new managing quantic components skill#7596
mmitiche wants to merge 9 commits into
mainfrom
SFINT-6773

Conversation

@mmitiche
Copy link
Copy Markdown
Contributor

@mmitiche mmitiche commented May 19, 2026

SFINT-6773

Summary

This PR adds the managing-quantic-components agent skill following the Agent Skills format
The skill is structured with progressive disclosure, a compact SKILL.md for quick reference, and three focused reference files loaded only when needed:

  • SKILL.md (~160 lines): Non-negotiable conventions table, canonical file ordering, directory layout, Definition of Done checklist, and working workflow
  • headless-and-lifecycle.md: Scaffolding, headless engine integration, error handling, Bueno validation, store registration, shared utilities
  • ui-patterns.md : Label management (including i18n, pluralization, translations), template directives, CSS/SLDS patterns, event dispatch/listening, multi-template rendering
  • docs-accessibility-testing.md: JSDoc documentation requirements, AriaLiveRegion accessibility, testing strategy

What's next

This is the first iteration, we'll refine the skill as we observe how agents use it in practice. One planned improvement is extracting a dedicated testing skill (Jest unit tests + Playwright E2E) to keep this skill focused on component authoring and avoid overcrowding it.

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 19, 2026

⚠️ No Changeset found

Latest commit: 228c8b8

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

@svcsnykcoveo
Copy link
Copy Markdown

svcsnykcoveo commented May 19, 2026

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@chromatic-com
Copy link
Copy Markdown

chromatic-com Bot commented May 19, 2026

Important

Testing in progress…

🟢 UI Tests: 366 tests unchanged
UI Review: Comparing 366 stories…
Storybook icon Storybook Publish: 366 stories published

@chromatic-com
Copy link
Copy Markdown

chromatic-com Bot commented May 19, 2026

Tip

All tests passed and all changes approved!

🟢 UI Tests: 366 tests unchanged
🟢 UI Review: 366 stories published -- no changes
Storybook icon Storybook Publish: 366 stories published

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 19, 2026

@coveo/atomic

npm i https://pkg.pr.new/@coveo/atomic@7596

@coveo/atomic-hosted-page

npm i https://pkg.pr.new/@coveo/atomic-hosted-page@7596

@coveo/atomic-legacy

npm i https://pkg.pr.new/@coveo/atomic-legacy@7596

@coveo/atomic-react

npm i https://pkg.pr.new/@coveo/atomic-react@7596

@coveo/auth

npm i https://pkg.pr.new/@coveo/auth@7596

@coveo/bueno

npm i https://pkg.pr.new/@coveo/bueno@7596

@coveo/create-atomic

npm i https://pkg.pr.new/@coveo/create-atomic@7596

@coveo/create-atomic-component

npm i https://pkg.pr.new/@coveo/create-atomic-component@7596

@coveo/create-atomic-component-project

npm i https://pkg.pr.new/@coveo/create-atomic-component-project@7596

@coveo/create-atomic-result-component

npm i https://pkg.pr.new/@coveo/create-atomic-result-component@7596

@coveo/create-atomic-rollup-plugin

npm i https://pkg.pr.new/@coveo/create-atomic-rollup-plugin@7596

@coveo/headless

npm i https://pkg.pr.new/@coveo/headless@7596

@coveo/headless-react

npm i https://pkg.pr.new/@coveo/headless-react@7596

@coveo/shopify

npm i https://pkg.pr.new/@coveo/shopify@7596

commit: 327aeb0

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

🔗 Scratch Orgs ready to test this PR:

@mmitiche mmitiche marked this pull request as ready for review May 19, 2026 20:32
@mmitiche mmitiche requested review from a team, Copilot and y-lakhdar May 19, 2026 20:32
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 agent skill managing-quantic-components under .agents/skills/ documenting conventions, lifecycle, UI patterns, accessibility, docs, and testing rules for Quantic LWC components, and whitelists the spelling of onquantic in cspell.

Changes:

  • New SKILL.md with quick reference, conventions table, ordering rules, Definition of Done, and progressive-disclosure links to three reference files.
  • Three reference docs covering headless integration/lifecycle, UI/label/event patterns, and docs/accessibility/testing.
  • .cspell.json updated to allow onquantic (used in LWC event-listener attribute examples).

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
.agents/skills/managing-quantic-components/SKILL.md Top-level skill entry with conventions, ordering, DoD, and references.
.agents/skills/managing-quantic-components/references/headless-and-lifecycle.md Scaffolding, headless integration, error handling, Bueno, store registration.
.agents/skills/managing-quantic-components/references/ui-patterns.md Labels (i18n/pluralization), template directives, CSS, events, multi-template.
.agents/skills/managing-quantic-components/references/docs-accessibility-testing.md JSDoc requirements, AriaLiveRegion accessibility, testing strategy.
.cspell.json Whitelists onquantic token used in event-listener attribute examples.


### Documentation Requirements

Quantic reference docs are generated from component JSDoc. Every component class and `@api` property must be documented. See the full rules, valid categories, and code templates in **Section 8** of `references/quantic-component-workflow.md`.
Comment on lines +112 to +115
For the testing strategy rationale, see [packages/quantic/decisions/0001-testing-strategy.md](../../../decisions/0001-testing-strategy.md).

- **Jest unit tests** — Isolated component behavior, rendering, lifecycle, and headless interactions with mocks. When writing tests, examine an existing test file for a similar component and follow its mock scaffolding, selector patterns, and assertion style.
- **Playwright E2E tests** — Real user workflows, analytics, API interactions, and Salesforce integration. See [packages/quantic/docs/adding-tests.md](../../../docs/adding-tests.md) for the full walkthrough.
Copy link
Copy Markdown
Collaborator

@erocheleau erocheleau left a comment

Choose a reason for hiding this comment

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

lgtm, just a bit weird the cspell.json file?

* @fires quantic__eventname
* @slot slot-name - Description of the slot.
* @example
* <c-quantic-component-name engine-id={engineId} with-toggle></c-quantic-component-name>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Do you know if we need to specify that the names are always using kebab-case etc?

.generated-answer__card-header { }
```

### Custom properties (SLDS design tokens)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I would perhaps add that we should always include a fallback whenever we're using a SLDS design token, because they're not always available everywhere?

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.

good point


## Multi-Template Components

Components with multiple visual states override `render()`:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Not sure about the "multiple visual states" ?
But if an agent understands it then it's okay I guess

Comment on lines +106 to +113
### Testing Strategy

Follow the package split:

- Jest unit tests verify isolated component behavior, rendering, lifecycle, and Headless interactions with mocks
- Playwright E2E tests verify real user workflows, analytics, API interactions, accessibility flows, and Salesforce integration behavior

Do not duplicate upstream Headless coverage unless the Quantic component adds behavior on top.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think this is duplicated under the ui-patterns.md file?

Comment thread .cspell.json
Comment on lines +330 to +331
"στόμα",
"onquantic"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

what is that? lol

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.

The spell check pre-commit hook was telling me onquantic was a typo preventing my commit, so I added it to this list of recognized words.

Before marking any task as complete, verify every applicable item and output this table:


| Check | Status |
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.

should we add a check in the list for accessibility related stuff?

Copy link
Copy Markdown
Contributor

@SimonMilord SimonMilord left a comment

Choose a reason for hiding this comment

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

Looks good and exhaustive. Just wondering any use in having the AI use the sf cli commands for example to create a initial boilerplate component or do we want to leave it to the LLM to manage that on its own?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants