Component Forge
EliasOulkadi/shokunin
Build production-grade components for React, Vue 3, and Svelte 5 with all states (loading, empty, error, success, idle), TypeScript strict, WCAG 2.2 accessibility, server components (RSC), and…
Best practices for HarmonyOS application development with ArkTS and ArkUI, covering components, state management, resources, layout, lifecycle, and accessibility.
$ npx skills add Mindrally/skills --skill harmony-arkts -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Mindrally/skills harmony-arkts --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Mindrally/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/harmony-arkts .claude/skills/harmony-arkts && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "harmony-arkts" agent skill from https://github.com/Mindrally/skills/tree/main/harmony-arkts into .claude/skills/harmony-arkts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harmony-arkts", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Mindrally/skills/tree/main/harmony-arktsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Mindrally/skills --skill harmony-arkts -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Mindrally/skills harmony-arkts --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mindrally/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/harmony-arkts .agents/skills/harmony-arkts && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "harmony-arkts" agent skill from https://github.com/Mindrally/skills/tree/main/harmony-arkts into .agents/skills/harmony-arkts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harmony-arkts", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Mindrally/skills --skill harmony-arkts -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Mindrally/skills harmony-arkts --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mindrally/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/harmony-arkts .cursor/skills/harmony-arkts && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "harmony-arkts" agent skill from https://github.com/Mindrally/skills/tree/main/harmony-arkts into .cursor/skills/harmony-arkts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harmony-arkts", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Mindrally/skills.git --path harmony-arkts--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Mindrally/skills --skill harmony-arkts -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Mindrally/skills harmony-arkts --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mindrally/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/harmony-arkts .gemini/skills/harmony-arkts && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "harmony-arkts" agent skill from https://github.com/Mindrally/skills/tree/main/harmony-arkts into .gemini/skills/harmony-arkts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harmony-arkts", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Mindrally/skills harmony-arktsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Mindrally/skills --skill harmony-arkts -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Mindrally/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/harmony-arkts .github/skills/harmony-arkts && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "harmony-arkts" agent skill from https://github.com/Mindrally/skills/tree/main/harmony-arkts into .github/skills/harmony-arkts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harmony-arkts", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Mindrally/skills --skill harmony-arkts -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Mindrally/skills harmony-arkts --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mindrally/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/harmony-arkts .opencode/skills/harmony-arkts && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "harmony-arkts" agent skill from https://github.com/Mindrally/skills/tree/main/harmony-arkts into .opencode/skills/harmony-arkts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harmony-arkts", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
harmony-arktsBest practices for HarmonyOS application development with ArkTS and ArkUI, covering components, state management, resources, layout, lifecycle, and accessibility.
Harmony Arkts is an agent skill from Mindrally/skills. Best practices for HarmonyOS application development with ArkTS and ArkUI, covering components, state management, resources, layout, lifecycle, and accessibility. Use when writing .ets component files, using ArkUI decorators like @Component/@State/@Prop/@Link, building layouts with Column/Row/Stack/List, managing HarmonyOS app resources with $r(), or handling component lifecycle and accessibility on HarmonyOS.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Accessibility, State management and Link building. The repository describes itself as: 265+ Claude Code skills for every major framework and language. Install with: npx skills add Mindrally/skills. The licence is Apache-2.0.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7682ca7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Harmony Arkts loads about 2k tokens when it runs. Until then it costs about 107 tokens; SKILL.md has 864 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Mindrally/skills at commit 7682ca7, republished under its Apache-2.0 licence (© Mindrally). 864 words, ~2,037 tokens.
.claude/skills/harmony-arkts/SKILL.md (or your agent's skills folder).This skill covers building HarmonyOS applications with ArkTS and the declarative ArkUI framework, including component structure, state management, layout, lifecycle, resources, and accessibility.
struct decorated with @Component, named in PascalCase.@State, @Prop, @Link, and other state decorators first, before any methods.aboutToAppear()/aboutToDisappear() (and others as needed) after state, before build().build() last, using ArkUI primitives (Column, Row, Stack, List, etc.) to lay out child components.build() grows large or nested, pull sections into smaller @Component structs or @Builder functions.$r().@Component to define components and PascalCase for the component struct name (e.g., struct UserProfileCard).@State, @Prop, @Link, @StorageLink, plain fields) near the top of the component, before methods and lifecycle hooks.aboutToAppear, aboutToDisappear, onPageShow, onPageHide) before build() so the component's lifecycle is easy to scan.build() last and keep it focused purely on UI composition — pull data transformation and business logic out into methods called from build(), not embedded inline.@Component structs (or @Builder functions for lightweight, reusable UI fragments) once a build() method grows past a screenful or nests more than a few levels deep.@State for state owned and mutated by the component itself.@Prop for one-way parent-to-child data — the child gets its own copy and local changes don't propagate back up.@Link only for intentional two-way binding where the child genuinely needs to mutate the parent's state (e.g., a custom form control).items and itemCount as separate @State fields when itemCount can be this.items.length).AppStorage/LocalStorage used indiscriminately) unless the project has an established app-state pattern; prefer passing data down through props/links for anything not genuinely global.@Component
export struct CounterCard {
@Prop label: string = 'Counter';
@State private count: number = 0;
private maxCount: number = 99;
aboutToAppear(): void {
console.info(`CounterCard mounted with label=${this.label}`);
}
private increment = (): void => {
if (this.count >= this.maxCount) {
return;
}
this.count += 1;
};
private reset = (): void => {
this.count = 0;
};
build() {
Column({ space: 12 }) {
Text(this.label)
.fontSize(18)
.fontWeight(FontWeight.Medium)
Text(`${this.count}`)
.fontSize(32)
.fontColor($r('app.color.primary'))
.accessibilityText(`Current count is ${this.count}`)
Row({ space: 8 }) {
Button('Increment')
.onClick(this.increment)
.accessibilityText('Increment counter')
Button('Reset')
.onClick(this.reset)
.accessibilityText('Reset counter')
}
}
.width('100%')
.padding(16)
.alignItems(HorizontalAlign.Center)
}
}Column, Row, Stack, List, and other ArkUI layout primitives intentionally based on the axis and stacking behavior actually needed, rather than defaulting to Stack and positioning everything absolutely.layoutWeight) — before visual properties (color, font, border) in the chained modifier calls, so structure reads before decoration..margin({ top: 8, bottom: 16, left: 12, right: 12 })) rather than a single shorthand that implies uniform spacing.vp) consistently for sizes so layouts scale correctly across device pixel densities; avoid mixing raw pixel values.'100%', '50%') for sizes that should be relative to the parent container instead of hardcoded fixed values.$r('app.color.primary'), $r('app.float.spacing_md')) when the project supports it, instead of repeating literals across components..onClick(() => this.handleTap()) or a bound class field like private handleTap = () => {...}) so this binds correctly without extra boilerplate.try/catch around await) and surface user-facing errors (a toast, an inline error state) instead of letting a rejected promise disappear silently.aboutToAppear, aboutToDisappear, onPageShow, onPageHide, onBackPress) only for setup/teardown that genuinely depends on the component or page's lifecycle — don't use them as a dumping ground for logic that could live in a regular method.$r() to reference app resources (strings, colors, media, floats) instead of embedding literal values directly in component code.resources/base/element/string.json, color.json, float.json by feature or screen so they stay navigable as the app grows..accessibilityText(), .accessibilityDescription()) and correct focus handling (.focusable(true), .tabIndex()) for every interactive element.build() instead of in dedicated methods — build() should read like a UI tree, not a program.@Link two-way binding when a simple one-way @Prop would do, which makes data flow harder to trace and invites accidental mutation from child components.console.log/console.info calls in production code paths, which adds noise and can leak internal state into logs.© Mindrally, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in harmony-arkts of Mindrally/skills.
Open the folder on GitHubat commit 7682ca7
Harmony Arkts next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Harmony Arkts this skillMindrally/skills | 269 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Component ForgeEliasOulkadi/shokunin | 114 | — | ~3.6k | Automated safety check: Notes | MIT | |
| Acarshub Design Languagesdr-enthusiasts/docker-acarshub | 117 | — | ~1.1k | Automated safety check: Pass | GPL-3.0 | |
| Discover Frontendrand/cc-polymath | 181 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Salesforce Component Standardsgithub/awesome-copilot | 40k | 1 repos | ~2.4k | Automated safety check: Pass | MIT | |
| React Code Reviewgiuseppe-trisciuoglio/developer-kit | 356 | — | ~2.6k | Automated safety check: Notes | MIT |
EliasOulkadi/shokunin
Build production-grade components for React, Vue 3, and Svelte 5 with all states (loading, empty, error, success, idle), TypeScript strict, WCAG 2.2 accessibility, server components (RSC), and…
sdr-enthusiasts/docker-acarshub
Use ONLY when working in the docker-acarshub repository AND building UI -- React components, SCSS modules, theme variables, accessibility, mobile responsiveness, Catppuccin color usage, Zustand…
rand/cc-polymath
Automatically discover frontend development skills when working with React, Next.js, UI components, state management, data fetching, forms, accessibility, performance optimization, or SEO.
github/awesome-copilot
Quality standards for Salesforce Lightning Web Components (LWC), Aura components, and Visualforce pages.
giuseppe-trisciuoglio/developer-kit
Provides comprehensive code review capability for React applications, validates component architecture, hooks usage, React 19 patterns, state management, performance optimization, accessibility…
Owl-Listener/inclusive-design-skills
Write link text that makes sense out of context for screen reader users and improves usability for everyone.
Mindrally/skills
Best practices for analytics, data analysis, and visualization using Python, pandas, matplotlib, seaborn, and Jupyter notebooks.
Mindrally/skills
Best practices for AutoML and hyperparameter search with Optuna, Ray Tune, and PyCaret, covering search-space design, validation splits, and leakage prevention.
Mindrally/skills
Best practices for writing Blender Python add-ons using the bpy API, covering operators, panels, properties, registration, and API-safe scripting.
Mindrally/skills
Expert guidelines for Chrome extension development with Manifest V3, covering security, performance, and best practices.
Mindrally/skills
Clean, maintainable, human-readable code principles combined with anti-over-engineering discipline: naming, single responsibility, DRY, and scoping changes to exactly what was requested.
Mindrally/skills
Comprehensive design system guidelines for building consistent, accessible, and scalable component libraries.
Categories
Best practices for HarmonyOS application development with ArkTS and ArkUI, covering components, state management, resources, layout, lifecycle, and accessibility. Harmony Arkts is an agent skill from Mindrally/skills. Best practices for HarmonyOS application development with ArkTS and ArkUI, covering components, state management, resources, layout, lifecycle, and accessibility.
Harmony Arkts fits situations like: writing .ets component files; using ArkUI decorators like @Component/@State/@Prop/@Link; building layouts with Column/Row/Stack/List; managing HarmonyOS app resources with $r().
Run `npx skills add Mindrally/skills --skill harmony-arkts -a claude-code`. Or copy the skill folder (harmony-arkts in Mindrally/skills) into .claude/skills/harmony-arkts in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Mindrally/skills --skill harmony-arkts -a codex`. Or copy the skill folder (harmony-arkts in Mindrally/skills) into .agents/skills/harmony-arkts in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Mindrally/skills --skill harmony-arkts -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/harmony-arkts, .gemini/skills/harmony-arkts, .github/skills/harmony-arkts and .opencode/skills/harmony-arkts in your project.
SKILL.md names no scripts, command-line tools or credentials: Harmony Arkts is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Harmony Arkts is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Harmony Arkts: Component Forge (EliasOulkadi/shokunin, 114 stars), Acarshub Design Language (sdr-enthusiasts/docker-acarshub, 117 stars), Discover Frontend (rand/cc-polymath, 181 stars) and Salesforce Component Standards (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Mindrally (a GitHub organization) maintains it in Mindrally/skills, which has 269 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on October 8, 2026.
Source: Mindrally/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.