orange-opensource/orange-boosted-bootstrap/create-component
Claude Code and agent skill by orange-opensource/orange-boosted-bootstrap
- community
Checking that the SKILL.md file is still in the repository.
Step-by-step workflow for creating a new SCSS and/or JavaScript component in OUDS Web. Use this skill when scaffolding a new UI component, form component, or interactive element from scratch. Covers SCSS file structure, brand entry point imports, token setup across 3 brands, ARIA requirements, JS BaseComponent boilerplate, unit tests, documentation page, and the full build/verify/checklist process.
Install
npx vskill@latest install orange-opensource/orange-boosted-bootstrap/create-componentSKILL.md
Workflow: Create a New Component
Before you start
- Is this truly new, or a variant of an existing component?
- CSS-only or interactive (needs JS)?
- Do component tokens already exist?
Steps
1. Create SCSS file
scss/_my-component.scss (or scss/forms/_my-component.scss)
Follow the structure in the component-patterns skill:
- Root-level
#{$ouds-root-selector}for shared vars scss-docs-start/endmarkers- CSS custom properties at top, consumed via
var() - States override variables
@include focus-visible()on:focus-visible
2. Import in brand entry points
Add to packages/<brand>/scss/ouds-web.scss for all 3 brands:
3. Add tokens
- Composite tokens → each
packages/<brand>/scss/tokens/_composite.scss - Temporary tokens →
scss/_variables.scsswith// TODO:comment - Never edit
_raw.scss,_semantic.scss,_component.scss
4. ARIA & accessibility
| Pattern | Required | |
|---|---|---|
| Toggle | aria-expanded + aria-controls | |
| Icon-only | aria-label + aria-hidden on icon | |
| Dynamic | aria-live="polite" / role="status" | |
| Disabled | aria-disabled="true" | |
| Loading | aria-busy="true" |
5. JS component (if interactive)
Create js/src/my-component.js extending BaseComponent (see javascript-conventions skill).
Register in js/index.esm.js and js/index.umd.js.
6. Unit tests
js/tests/unit/my-component.spec.js with Jasmine.
7. Documentation
site/src/content/docs/components/my-component.mdx
8. Build & verify
Check all 3 brands: light/dark, RTL, all variants.
Pre-PR checklist
- [ ] Tokens used (no hardcoded values)
- [ ]
@include border-radius()/@include transition() - [ ]
border: 0notborder: none - [ ] ARIA attributes correct
- [ ]
@include focus-visible() - [ ] Colors via
var(--#{$prefix}color-*) - [ ] No physical directions (RTL-safe)
- [ ] Tokens in all 3 brands
- [ ]
npm run lint+npm run distpass - [ ] No
dist/committed
Security
- Security scanPassed, 93 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.github/skills/create-component/SKILL.md
Popularity
- Repository stars
- 219
- Repository forks
- 61
- 7-day trend score
- 27
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/orange-opensource/orange-boosted-bootstrap/create-component)