interpreting-html
Map rendered/pasted HTML class names back to source code (CSS Modules, Fluent UI, Griffel). USE WHEN: inspecting Playwright DOM output, debugging styles in the browser, or reverse-engineering pasted HTML.
- License 许可
- CC-BY-4.0
- 最近更新
- 2026-11-06
- Stars
- ★ 2
- Forks
- 1
01 前言 Front Matter
- name
- interpreting-html
- description
- Map rendered/pasted HTML class names back to source code (CSS Modules, Fluent UI, Griffel). USE WHEN: inspecting Playwright DOM output, debugging styles in the browser, or reverse-engineering pasted HTML.
03 SKILL.md 正文
How to Interpret Pasted HTML Code
When the site is rendered to HTML, you can identify several aspects of the app code via HTML properties:
- Class names with the pattern
_camelCase_123ab_45correspond to class names applied from CSS Modules.- For example,
class="_headerWrapper_16arl_15"in HTML comes fromclassName={styles.headerWrapper}in React.
- For example,
- Class names prefixed with
fui-are derived from Fluent UI components.- These are Fluent component root elements. For example,
fui-Buttonis a<Button/>. - These are Fluent component sub-elements if they contain the
__delimiter (BEM style). For example,fui-Button__iconcomes from<Button icon={<SomeIcon20Regular/>}/>.
- These are Fluent component root elements. For example,
- Class names that follow the pattern
f123abcare Griffel-generated atomic classes. Reset classes use anr…hash, and sequence classes start with___. These are auto-generated and are not authored source identifiers. For example:class="f11589ue f1q5o8ev f1pdflbu fkfq4zb". Do not search these hashes to locate authored styles. data-*attributes may be authored in React, generated by a framework, or derived from dynamic state. Verify their origin before using them to locate source; do not assume their values are static.aria-labelattributes and text content often appear as literal strings in this prototype, so searching them can help locate the corresponding JSX. For example,Create agentappears directly in the agents route. Values may also come from props, data, or localization, so a rendered string does not always have an exact literal match in source.
Interpreting React Grab Context
The prototype's customized React Grab context is not raw DOM output. It decodes CSS Module class names to their local names and omits Fluent/Griffel classes. A cleaned class such as brandLink can therefore correspond to a hashed CSS Module class in the browser.
The in Component (path:line:column) entries describe component usage or rendering ancestry, not necessarily component definitions. Components that render passed-in children may appear in the ancestry even when another component created that JSX. Use the reported location to inspect the relevant call site or component body before deciding which source to edit.
04 同仓库更多 Skills
coreai-ds-fluentui-react
MANDATORY for @coreai-ds/react-components work. Use the CoreAI documentation MCP to discover components, props, stories, templates, and implementation patterns. If the MCP is unavailable, stop and ask the user to enable or troubleshoot it with you.
state-management
CoreAI Sandbox's simplified TanStack Query + mock-JSON data layer. USE WHEN: editing data-fetching hooks (`app/hooks/use*.ts`), adding mock data in `app/data/`, or wiring a component to query state.
start-app
Start the CoreAI Sandbox dev server and open it using available browser tools. USE WHEN: the user asks you to "start the app", "run the dev server", "open the app", or "launch CoreAI Sandbox".
routing
React Router v7 routing conventions for this SPA. USE WHEN: editing `app/routes.ts`, adding/removing a route, or changing navigation.
react-components
CoreAI Sandbox component usage: import boundaries, CoreAI MCP documentation, and local adapter inspection. USE WHEN: editing any `*.tsx` file, picking a component, or writing component imports.
new-variant
Create a new design variant or alternative for a page using the built-in feature/variant system. USE WHEN: a designer wants to try a different layout, create an "option B" or "version 2", compare designs side by side, add an A/B alternative, or explore an alternate version. Do NOT build a custom toggle solution.