agentleFS
ambient-codeambient-code/platform/skills/ambient-ui/workflow/SKILL.md

workflow

Skill131 starsChanged 6 months agoMITView on GitHub

Perform any development work on the ambient-ui component. Full workflow instructions.

71 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use build-keil, can-debug and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • ZhongYechengSkill

    build-keil

    当需要通过 Keil MDK 命令行编译嵌入式工程,调用自带脚本解析工程文件、执行构建并定位固件产物时使用。

    Also in 3 projects that use this

  • ZhongYechengSkill

    can-debug

    当需要调试 CAN 总线通信时使用,支持通过 USB-CAN 适配器监听、发送 CAN 帧和扫描节点。

    Also in 3 projects that use this

  • iPlug2Skill

    build-cmake

    Build an iPlug2 plugin project using CMake with Ninja, Xcode, or Visual Studio generators

    Also in 3 projects that use this

  • +9 more from ZhongYecheng

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. 0 are common, 15 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 55 edited versions we read keep these.

  • 15

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    All work must be aligned with specs.

    line 22
  2. Distinctive:

    Before proceeding with implementation, update the relevant spec to match the request.

    line 25
  3. Distinctive:

    Test and verify implementation before proceeding to the next step.

    line 40
  4. Distinctive:

    When testing, fakes are to be preferred over mocks.

    line 48
  5. Distinctive:

    Do this: Combine bright colors with less saturated and neutral colors.

    line 56
  6. Distinctive:

    Not this: Don’t use colors with similar intensity in the same area.

    line 59
  7. Distinctive:

    Use consistent design tokens

    line 197
  8. Distinctive:

    Use iconography to improve the user experience and ability to scan the page

    line 198
  9. Distinctive:

    Use atomic, conventional commits.

    line 202
  10. Distinctive:

    Ensure relevant README & documentation reflects the changes in this unit of work

    line 224
  11. Distinctive:

    Do not be overly verbose. Follow any project documentation guidelines, aim for conciseness.

    line 225
  12. Distinctive:

    Use subagent(s) to address relevant review comments.

    line 240
  13. Distinctive:

    After addressing review comments, loop back to step 3.

    line 244
  14. Distinctive:

    If step 3 provides no actionable comments, proceed to the next step.

    line 246
  15. Very specific:

    If you are running within the ambient platform, you will have instructions for building images, and deploying to an OpenShift cluster.

    line 256
  16. Distinctive:

    If you are running locally, simply follow the local development setup, and provide the user with the URL to open in their browser to …

    line 262

“Common” is measured: kept by at least 6 in 10 of the 55 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Ambient UI Development workflow

Strict workflow execution to be used when performing any ambient-ui component work.

User Input

$ARGUMENTS

Workflow

1. Align with Specs

All work must be aligned with specs. If the user or instructions are asking for work to be done without a verified matching section in a spec, STOP.

Before proceeding with implementation, update the relevant spec to match the request.

2. Perform Test Driven Development

Determine the size of the work. If it is large, break it down into smaller atomic units of work and execute this workflow for each one. You can use subagents to handle this gracefully, preserving your context.

Define tests that are relevant and that, when they pass, provide a genuine trust that the system is properly implemented in a way that aligns with the spec and the user's intent.

Then, proceed with methodical implementation, breaking work into atomic units of work for subagents when possible. Bias towards using subagents for implementation tasks, but ensure they read this workflow skill to understand the development standards.

Test and verify implementation before proceeding to the next step.

Standards

These standards are to be used during all ambient-ui component development work.

Fakes over Mocks

When testing, fakes are to be preferred over mocks. Tests that don't test reality are not tests at all.

Accessibility
  • For Red Hat assets, small text (17pt or smaller) needs to have a 4.5:1 contrast ratio at minimum. Large text (18pt or larger) and informative graphics like icons need to have a 3:1 contrast ratio at minimum.
  • Saturated hues that are similar in intensity can vibrate when used together, creating fuzziness around the edges like a glowing blur. These colors can be difficult for anyone to look at and distinguish, and even painful for those with vision differences. An example of high-contrast colors that do not vibrate.

    Do this: Combine bright colors with less saturated and neutral colors. Image showing misuse: An example of low-contrast colors that vibrate.

    Not this: Don’t use colors with similar intensity in the same area.

Technology
  • React/Next.js
  • shadcn/ui components
  • Tabbed views MUST persist the active tab in the URL via ?tab= query parameter using controlled <Tabs value={activeTab}> with useState + useEffect + replaceState. Ensures tabs survive reload and support deep linking.
Colors

Core Palette

Color NameHEX CodeRGBCMYKPantone / Notes
red-05#fef0f0———
red-10#fce3e3———
red-20#fbc5c5———
red-30#f9a8a8———
red-40#f56e6e———
red-50#ee0000238 0 00 98 85 0Pantone 1788C (Red Hat red)
red-60#a60000———
red-70#5f0000———
red-80#3f0000———
white#ffffff255 255 2550 0 0 0Pantone White
gray-10#f2f2f2———
gray-20#e0e0e0———
gray-30#c7c7c7———
gray-40#a3a3a3———
gray-45#8c8c8c———
gray-50#707070———
gray-60#4d4d4d———
gray-70#383838———
gray-80#292929———
gray-90#1f1f1f———
gray-95#151515——ux black
black#0000000 0 060 40 40 100Pantone Black C

Secondary Palette

Color NameHEX CodeRGBCMYKPantone / Notes
orange-10#ffe8cc———
orange-20#fccb8f———
orange-30#f8ae54———
orange-40#f5921b245 146 270 50 100 0Pantone 144C
orange-50#ca6c0f———
orange-60#9e4a06———
orange-70#732e00———
orange-80#4d1f00———
yellow-10#fff4cc———
yellow-20#ffe072———
yellow-30#ffcc17248 204 230 15 100 0Pantone 108C
yellow-40#dca614———
yellow-50#b98412———
yellow-60#96640f———
yellow-70#73480b———
yellow-80#54330b———
teal-10#daf2f2———
teal-20#b9e5e5———
teal-30#9ad8d8———
teal-40#63bdbd———
teal-50#37a3a355 163 16380 10 30 10Pantone 2234C
teal-60#147878———
teal-70#004d4d———
teal-80#003333———
purple-10#ece6ff———
purple-20#d0c5f4———
purple-30#b6a6e9———
purple-40#876fd4———
purple-50#5e40be94 64 19085 80 0 0Pantone 2097C
purple-60#3d2785———
purple-70#21134d———
purple-80#1b0d33———

Note: The "Auxiliary colors" section in your text was empty, so it has been omitted here.


Information Palette

⚠️ Usage Note: These colors are utilitarian. They should only be used for their intended purposes, not for decorative visuals.

Color NameHEX CodeRGBCMYKPantone / Notes
success-green-10#e9f7df———
success-green-20#d1f1bb———
success-green-30#afdc8f———
success-green-40#87bb62———
success-green-50#63993d99 153 6170 0 100 10Pantone 7737C
success-green-60#3d7317———
success-green-70#204d00———
success-green-80#183301———
danger-orange-10#ffe3d9———
danger-orange-20#fbbea8———
danger-orange-30#f89b78———
danger-orange-40#f4784a———
danger-orange-50#f0561d240 86 290 83 100 0Pantone 165C
danger-orange-60#b1380b———
danger-orange-70#731f00———
danger-orange-80#4c1405———
interaction-blue-10#e0f0ff———
interaction-blue-20#b9dafc———
interaction-blue-30#92c5f9———
interaction-blue-40#4394e5———
interaction-blue-50#0066cc0 102 20485 55 0 5Pantone 2387C
interaction-blue-60#004d99———
interaction-blue-70#003366———
interaction-blue-80#032142———

Color Association More info red Red Hat Red is our brand color. Do not use red to represent negative things. danger-orange Error, decrease, or failure Something negative has occurred, like a destructive error or a decrease in value. orange Caution A non-destructive action or error has occurred. yellow Warning Take action now to avoid a destructive action or error. success-green Success, increase Something positive has occurred, like a successful action or increase in value. teal General or neutral A button or information has no severity. interaction-blue Link or interaction Clicking the object or text leads to a hyperlink or state change. purple Info or note tip Helpful information is available. gray Null A button or information is unavailable or unimportant.

Typefaces

Red Hat Text takes all of the personality from Display and optimizes it for more demanding applications. As the name implies, it’s easier to read in paragraphs or when text is used at small sizes—like in a whitepaper or tooltip.

To increase readability, Text has more height difference between the upper- and lowercase letters, more space between narrow characters, and more variation in letterform stroke weights.

Red Hat Mono

Red Hat Mono was created to distinguish code from natural-language text. Mono stands for monospaced, meaning each letter takes up the same amount of horizontal space. This creates neat columns of text and makes scanning code easier.

Mono should only be used when demonstrating code snippets in communications and interfaces, or as a stylistic approach for a more technical audience like the Red Hat Developer Program or the Code Comments podcast.

General Principles
  • Use consistent design tokens
  • Use iconography to improve the user experience and ability to scan the page
  • Everything must be accessible
  • Use reusable components
  • Unless specified by the user, NEVER MAKE CONSIDERATIONS BASED ON A NEED FOR BACKWARDS COMPATIBILITY.
  • Use atomic, conventional commits.

3. Perform Critical Review

Launch the following agents in parallel to review and critique your work:

  1. Security review agent:
  • Expert in OWASP vulnerability classes
  • Thoroughly vets for supply chain vulnerabilities
  1. Spec alignment review agent:
  • Thoroughly review the relevant spec & the implementation. Flags any gaps, no matter how trivial. Spec is the source of truth.
  1. Architecture review agent:
  • Identifies architectural inconsistencies, deviations from standards (domain driven design, domain oriented observability, using ports/adapters, etc.)
  • Identifies duplicate code, magic strings/numbers, etc.
  1. Code quality agent:
  • Identify lint & formatting issues
  • Identify dead code
  1. Documentation sync agent:
  • Ensure relevant README & documentation reflects the changes in this unit of work
  • Do not be overly verbose. Follow any project documentation guidelines, aim for conciseness. Do not over document.
  1. UX review agent:
  • Embodies the persona of Steve Krug and the book "Don't Make Me Think"
  • Identifies anything that might make the user think, is poorly organized, doesn't follow principles, etc.
  • Uses playwright to see and interact with the ui to verify & discover all findings.
  1. User target demographic review agent:
  • Embodies the persona of an engineer that is using the platform to:
    • Observe units of work, their status, and the overall status of the system (is human intervention necessary etc.)
    • Define and maintain credentials, binding access to projects and specific agents.
  • Exercises the application from end to end, following real user patterns to discover system breaking bugs.

4. Address Review Comments

Use subagent(s) to address relevant review comments. Although you are to use your judgement about whether a review comment is relevant, you are also to be picky about your work. Take pride in doing the correct thing, even if it's not the easiest.

After addressing review comments, loop back to step 3.

If step 3 provides no actionable comments, proceed to the next step. Do not worry if you spend many cycles in this stage. Correctness is worth the effort.

5. Request User Feedback

Get the UI in a running state so that the user can provide feedback. There are two ways for you to do this:

Running inside ambient

If you are running within the ambient platform, you will have instructions for building images, and deploying to an OpenShift cluster. You should do this, create a route, and add the route to the relevant annotation (see your operating instructions.)

Running locally

If you are running locally, simply follow the local development setup, and provide the user with the URL to open in their browser to provide feedback. Let them know what to test and where to look.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.