Skip to content

chore: add ui-skills subagent for interface constraints#25

Merged
marcusquinn merged 2 commits intomainfrom
chore/add-ui-skills-subagent
Jan 10, 2026
Merged

chore: add ui-skills subagent for interface constraints#25
marcusquinn merged 2 commits intomainfrom
chore/add-ui-skills-subagent

Conversation

@marcusquinn
Copy link
Owner

@marcusquinn marcusquinn commented Jan 10, 2026

Summary

  • Add ui-skills subagent based on https://www.ui-skills.com/llms.txt
  • Provides opinionated constraints for building better interfaces with agents
  • Update tools/ui/ folder description in AGENTS.md

Constraints Included

  • Stack: Tailwind CSS defaults, motion/react, tw-animate-css, cn utility
  • Components: Accessible primitives (Base UI, React Aria, Radix)
  • Animation: Compositor props only, prefers-reduced-motion, max 200ms feedback
  • Typography: text-balance for headings, tabular-nums for data
  • Performance: No large blur/backdrop-filter, no will-change outside animations
  • Design: No gradients/glows unless explicitly requested

Summary by CodeRabbit

  • Documentation
    • Expanded UI catalog entry with a clearer description and additional metadata.
    • Added a comprehensive UI guidance document covering stack choices, component standards, accessibility, animation policies, typography, layout, performance, and related resources.

✏️ Tip: You can customize this high-level summary in your review settings.

Add opinionated constraints for building better interfaces with agents,
based on https://www.ui-skills.com/llms.txt

Includes guidance for:
- Stack: Tailwind CSS, motion/react, tw-animate-css
- Components: Accessible primitives (Base UI, React Aria, Radix)
- Animation: Compositor props only, prefers-reduced-motion
- Typography: text-balance, tabular-nums
- Performance: No large blur/backdrop-filter
- Design: No gradients/glows unless requested
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 10, 2026

Walkthrough

Updated agent catalog docs to expand the UI subagent description and add a ui-skills tag; added a new .agent/tools/ui/ui-skills.md documenting opinionated UI/UX constraints; minor robustness and parsing improvements added to .agent/scripts/postflight-check.sh.

Changes

Cohort / File(s) Summary
Agent Catalog Metadata
\.agent/AGENTS.md``
Expanded UI subagent description to mention component libraries, design systems, and interface constraints; added ui-skills tag reference.
UI Skills Reference
\.agent/tools/ui/ui-skills.md``
New comprehensive doc prescribing stack choices (Tailwind, motion/react, tw-animate-css, clsx + tailwind-merge), mandatory/should/never rules across Stack, Components, Interaction, Animation, Typography, Layout, Performance, Design, accessibility guidance, and related resources.
Postflight Check Script
\.agent/scripts/postflight-check.sh``
Added ORIGINAL_PWD constant and switched git remote parsing to safer string-based logic (handles HTTPS/SSH, strips .git, validates path); macOS-compatible parsing; retains empty-result fallback.

Sequence Diagram(s)

(Skipped — changes are documentation and a small script improvement; no new multi-component control flow requiring visualization.)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🎨 A tidy doc, a script made stout,
UI rules written, edge cases routed out.
Tailwind whispers, motion takes flight,
Checks run steady in the original light. ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding a new ui-skills subagent documentation for interface constraints, which is the primary objective of this PR.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1ffb552 and 069e70d.

📒 Files selected for processing (1)
  • .agent/scripts/postflight-check.sh
🧰 Additional context used
📓 Path-based instructions (1)
.agent/scripts/*.sh

⚙️ CodeRabbit configuration file

.agent/scripts/*.sh: Automation scripts - focus on:

  • Reliability and robustness
  • Clear logging and feedback
  • Proper exit codes
  • Error recovery mechanisms

Files:

  • .agent/scripts/postflight-check.sh
🧠 Learnings (3)
📓 Common learnings
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-06T15:57:56.008Z
Learning: Applies to **/AGENTS.md : Limit root AGENTS.md to ~50-100 max instructions with universal applicability to >80% of tasks
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-29T04:34:27.158Z
Learning: All instructions, documentation, and operational guidance should be maintained in AGENTS.md as the single source of truth
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENT.md:0-0
Timestamp: 2025-11-29T04:34:42.033Z
Learning: Reference AGENTS.md (authoritative) instead of AGENT.md for AI assistant guidance
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: GEMINI.md:0-0
Timestamp: 2025-11-29T04:34:30.742Z
Learning: Maintain all instructions, documentation, and operational guidance in AGENTS.md as the single source of truth
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENT.md:0-0
Timestamp: 2025-11-29T04:34:42.033Z
Learning: Maintain all AI assistant instructions, documentation, and operational guidance in AGENTS.md as the single source of truth
📚 Learning: 2026-01-06T15:57:56.007Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-06T15:57:56.007Z
Learning: Applies to **/.agent/scripts/linters-local.sh : Run quality checks before committing using .agent/scripts/linters-local.sh

Applied to files:

  • .agent/scripts/postflight-check.sh
📚 Learning: 2025-12-22T01:24:53.937Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: templates/home/AGENTS.md:0-0
Timestamp: 2025-12-22T01:24:53.937Z
Learning: Follow all security protocols and working directory specifications defined in ~/Git/aidevops/AGENTS.md

Applied to files:

  • .agent/scripts/postflight-check.sh
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Codacy Static Code Analysis
🔇 Additional comments (3)
.agent/scripts/postflight-check.sh (3)

29-30: Excellent worktree support implementation!

The ORIGINAL_PWD capture is exactly the right approach for worktree compatibility. The readonly declaration prevents accidental modification, and the comment clearly documents the intent.


103-107: Core worktree fix applied correctly.

Using git -C "$ORIGINAL_PWD" ensures the git operation runs in the worktree context rather than the repository root. The error handling and fallback remain intact.


114-134: Parameter expansion approach is correct for macOS bash 3.2 compatibility.

The logic properly handles both HTTPS and SSH URL formats, strips the .git suffix, and validates the owner/repo structure. The use of git -C "$ORIGINAL_PWD" is appropriate here since this function operates after a directory change and needs to preserve the original working directory's git context for worktree scenarios.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist
Copy link

Summary of Changes

Hello @marcusquinn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request integrates a new ui-skills subagent to standardize and improve the quality of user interfaces developed with agents. By establishing clear, opinionated constraints, it aims to foster consistency, enhance accessibility, and optimize performance across UI components. The subagent acts as a guide for developers, ensuring adherence to best practices in stack choices, component design, animation implementation, and overall user experience.

Highlights

  • New Subagent Added: A new ui-skills subagent has been introduced, providing a structured set of opinionated constraints for building user interfaces, particularly in agent-driven development contexts.
  • Interface Constraints Defined: The ui-skills subagent outlines detailed guidelines across various UI development aspects, including preferred technology stack (e.g., Tailwind CSS, motion/react), component usage (e.g., accessible primitives like Base UI, React Aria, Radix), animation principles (e.g., compositor props, prefers-reduced-motion), typography, performance optimizations, and design aesthetics.
  • Documentation Update: The AGENTS.md file has been updated to include the new ui-skills subagent within the tools/ui/ category, expanding its description to cover 'interface constraints'.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions
Copy link

🔍 Code Quality Report

�[0;35m[MONITOR]�[0m Code Review Monitoring Report

�[0;34m[INFO]�[0m Latest Quality Status:
SonarCloud: 0 bugs, 0 vulnerabilities, 225 code smells

�[0;34m[INFO]�[0m Recent monitoring activity:
Sat Jan 10 21:02:42 UTC 2026: Code review monitoring started
Sat Jan 10 21:02:43 UTC 2026: SonarCloud - Bugs: 0, Vulnerabilities: 0, Code Smells: 225
Sat Jan 10 21:02:43 UTC 2026: Qlty - 0 issues found, auto-formatting applied
Sat Jan 10 21:02:45 UTC 2026: Codacy analysis completed with auto-fixes

📈 Current Quality Metrics

  • BUGS: 0
  • CODE SMELLS: 225
  • VULNERABILITIES: 0

Generated on: Sat Jan 10 21:03:19 UTC 2026


Generated by AI DevOps Framework Code Review Monitoring

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new ui-skills subagent, providing a set of opinionated constraints for UI development based on an external source. The changes are well-contained, updating the agent documentation and adding the new markdown file with the constraints. The rules are comprehensive and clearly structured. I have a few minor suggestions to improve the clarity and consistency of the instructions in the new ui-skills.md file to ensure they are interpreted correctly by the agent.


- **Purpose**: Opinionated constraints for building better interfaces with agents
- **Source**: https://www.ui-skills.com/llms.txt
- **Stack**: Tailwind CSS, motion/react, tw-animate-css, clsx + tailwind-merge

Choose a reason for hiding this comment

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

medium

For consistency with the Stack section below (line 46), it would be clearer to refer to the cn utility directly in the quick reference stack.

Suggested change
- **Stack**: Tailwind CSS, motion/react, tw-animate-css, clsx + tailwind-merge
- **Stack**: Tailwind CSS, motion/react, tw-animate-css, `cn` utility


## Layout

- MUST use a fixed `z-index` scale (no arbitrary `z-x`)

Choose a reason for hiding this comment

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

medium

The placeholder z-x could be ambiguous. To make this instruction clearer for an agent, I suggest explicitly mentioning what an "arbitrary" value looks like in Tailwind CSS, such as the z-[value] syntax that should be avoided.

Suggested change
- MUST use a fixed `z-index` scale (no arbitrary `z-x`)
- MUST use a fixed `z-index` scale (e.g., `z-10`, `z-20`) and avoid arbitrary values (e.g., `z-[99]`)

## Layout

- MUST use a fixed `z-index` scale (no arbitrary `z-x`)
- SHOULD use `size-x` for square elements instead of `w-x` + `h-x`

Choose a reason for hiding this comment

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

medium

The use of x as a placeholder in size-x, w-x, and h-x might be unclear. Using a wildcard * would be more idiomatic and less ambiguous when describing Tailwind utility patterns.

Suggested change
- SHOULD use `size-x` for square elements instead of `w-x` + `h-x`
- SHOULD use `size-*` for square elements instead of `w-*` and `h-*`

@augmentcode
Copy link

augmentcode bot commented Jan 10, 2026

🤖 Augment PR Summary

Summary: Adds a ui-skills subagent to standardize agent-built UI decisions with opinionated constraints.
Why: Centralizes UI best practices (accessibility, animation, performance) for more consistent interfaces.
Changes:

  • New .agent/tools/ui/ui-skills.md with constraints for stack, components, interaction, animation, typography, layout, performance, and design (sourced from ui-skills.com).
  • Updated .agent/AGENTS.md to include ui-skills in tools/ui/ and clarify that the folder also covers interface constraints.
Technical Notes: Emphasizes Tailwind defaults, accessible primitives (Base UI/React Aria/Radix), compositor-only motion with prefers-reduced-motion, and avoiding expensive effects (blur/backdrop-filter/will-change).

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

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

Review completed. No suggestions at this time.

Comment augment review to trigger a new review at any time.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
.agent/tools/ui/ui-skills.md (2)

23-23: Clarify the "cn utility" terminology upfront.

Line 23 introduces clsx + tailwind-merge without defining the pattern, then line 46 labels it as a "cn utility." Readers unfamiliar with this pattern (a common utility export in Next.js projects) may be confused.

Consider adding a brief definition in the Stack section:

  • "Use cn utility (a wrapper combining clsx + tailwind-merge) to safely merge Tailwind classes and override defaults"

Or, link to a standard reference or example usage.

Also applies to: 46-46


100-100: Clarify why purple gradients are specifically prohibited.

Line 100 states "NEVER use purple or multicolor gradients" — this is unusually specific. Purple is a valid color in most design systems. Is this prohibition tied to:

  • A specific brand or design system's color rules?
  • A documented accessibility or usability issue with purple gradients?
  • A stylistic preference that should be softer (e.g., "SHOULD avoid purple/multicolor gradients unless explicitly requested")?

Clarifying the rationale will help users understand whether this is a hard constraint or a default preference.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6129d2a and 1ffb552.

📒 Files selected for processing (2)
  • .agent/AGENTS.md
  • .agent/tools/ui/ui-skills.md
🧰 Additional context used
🧠 Learnings (8)
📓 Common learnings
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-06T15:57:56.008Z
Learning: Applies to **/AGENTS.md : Limit root AGENTS.md to ~50-100 max instructions with universal applicability to >80% of tasks
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-29T04:34:27.158Z
Learning: All instructions, documentation, and operational guidance should be maintained in AGENTS.md as the single source of truth
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: GEMINI.md:0-0
Timestamp: 2025-11-29T04:34:30.742Z
Learning: Maintain all instructions, documentation, and operational guidance in AGENTS.md as the single source of truth
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENT.md:0-0
Timestamp: 2025-11-29T04:34:42.033Z
Learning: Maintain all AI assistant instructions, documentation, and operational guidance in AGENTS.md as the single source of truth
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-06T15:57:56.008Z
Learning: Applies to **/AGENTS.md : Use progressive disclosure in AGENTS.md with pointers to subagents rather than inline content
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENT.md:0-0
Timestamp: 2025-11-29T04:34:42.033Z
Learning: Reference AGENTS.md (authoritative) instead of AGENT.md for AI assistant guidance
📚 Learning: 2025-11-29T04:34:42.033Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENT.md:0-0
Timestamp: 2025-11-29T04:34:42.033Z
Learning: Maintain all AI assistant instructions, documentation, and operational guidance in AGENTS.md as the single source of truth

Applied to files:

  • .agent/tools/ui/ui-skills.md
  • .agent/AGENTS.md
📚 Learning: 2025-11-29T04:34:42.033Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENT.md:0-0
Timestamp: 2025-11-29T04:34:42.033Z
Learning: Reference AGENTS.md (authoritative) instead of AGENT.md for AI assistant guidance

Applied to files:

  • .agent/tools/ui/ui-skills.md
  • .agent/AGENTS.md
📚 Learning: 2025-11-29T04:34:27.158Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-29T04:34:27.158Z
Learning: All instructions, documentation, and operational guidance should be maintained in AGENTS.md as the single source of truth

Applied to files:

  • .agent/tools/ui/ui-skills.md
  • .agent/AGENTS.md
📚 Learning: 2025-11-29T04:34:30.742Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: GEMINI.md:0-0
Timestamp: 2025-11-29T04:34:30.742Z
Learning: Maintain all instructions, documentation, and operational guidance in AGENTS.md as the single source of truth

Applied to files:

  • .agent/tools/ui/ui-skills.md
  • .agent/AGENTS.md
📚 Learning: 2026-01-06T15:57:56.008Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-06T15:57:56.008Z
Learning: Applies to **/AGENTS.md : Limit root AGENTS.md to ~50-100 max instructions with universal applicability to >80% of tasks

Applied to files:

  • .agent/tools/ui/ui-skills.md
  • .agent/AGENTS.md
📚 Learning: 2025-11-29T04:34:30.742Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: GEMINI.md:0-0
Timestamp: 2025-11-29T04:34:30.742Z
Learning: Reference AGENTS.md for authoritative AI assistant guidance instead of GEMINI.md

Applied to files:

  • .agent/tools/ui/ui-skills.md
📚 Learning: 2026-01-06T15:57:56.008Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-06T15:57:56.008Z
Learning: Applies to **/AGENTS.md : Use progressive disclosure in AGENTS.md with pointers to subagents rather than inline content

Applied to files:

  • .agent/AGENTS.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Codacy Static Code Analysis
🔇 Additional comments (3)
.agent/AGENTS.md (1)

249-249: Perfect alignment with progressive disclosure pattern.

The tools/ui/ row update properly expands the description and adds the ui-skills tag without inlining constraint details into the root AGENTS.md. This keeps the root guide focused and directs users to the specialized subagent for comprehensive UI/UX guidance.

The combination of shadcn and ui-skills tags now surfaces two complementary UI approaches (component library + constraints framework).

.agent/tools/ui/ui-skills.md (2)

44-44: No action requiredmotion/react is confirmed as the current official animation library name as of January 2026. The migration from framer-motion is complete and recommended. The documentation at line 44 is accurate and reflects current best practices.


109-114: Correct line range and URL count; all links are valid.

The Related Resources section spans lines 109–115 and contains 7 external links (not 5 as stated). All URLs are current and resolve correctly:

No action needed; all resources are live and match their reference titles.

Save original working directory before cd to REPO_ROOT, then use it
for git operations. This allows the script to correctly determine
the repository when run from a worktree directory.
@sonarqubecloud
Copy link

@github-actions
Copy link

🔍 Code Quality Report

�[0;35m[MONITOR]�[0m Code Review Monitoring Report

�[0;34m[INFO]�[0m Latest Quality Status:
SonarCloud: 0 bugs, 0 vulnerabilities, 225 code smells

�[0;34m[INFO]�[0m Recent monitoring activity:
Sat Jan 10 21:35:33 UTC 2026: Code review monitoring started
Sat Jan 10 21:35:34 UTC 2026: SonarCloud - Bugs: 0, Vulnerabilities: 0, Code Smells: 225
Sat Jan 10 21:35:34 UTC 2026: Qlty - 0 issues found, auto-formatting applied
Sat Jan 10 21:35:36 UTC 2026: Codacy analysis completed with auto-fixes

📈 Current Quality Metrics

  • BUGS: 0
  • CODE SMELLS: 225
  • VULNERABILITIES: 0

Generated on: Sat Jan 10 21:36:10 UTC 2026


Generated by AI DevOps Framework Code Review Monitoring

@marcusquinn marcusquinn merged commit 682cb0f into main Jan 10, 2026
9 checks passed
@marcusquinn marcusquinn deleted the chore/add-ui-skills-subagent branch January 10, 2026 21:59
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.

1 participant