Company template for Cursor, Claude Code, and Android Studio Gemini. Single source of truth for Clean Architecture Android apps (XML + View Binding or Jetpack Compose via uiFramework, MVI, Koin lazyModule).
Apps copy these folders into the project root — do not fork rules/skills inside an app.
| Tool | Copy this folder |
|---|---|
| Cursor | .cursor/ |
| Claude Code | .claude/ |
| Android Studio Gemini | .agents/ |
Keep .cursor/, .claude/, and .agents/ in sync. If you change a rule or skill in one, update the twins. Skill names differ only by prefix: Cursor /hs-…, Claude Code /hsc-…, Gemini @hsg-…. Android Studio loads skills from .agents/skills (not .skills or .gemini).
| Path | Role |
|---|---|
.cursor/rules/ |
Company law (architecture, naming, invariants) |
.cursor/skills/ |
Cursor playbooks (/hs-skill-name) |
.claude/rules/ |
Same law, Claude Code format |
.claude/skills/ |
Claude Code playbooks (/hsc-skill-name) |
.agents/rules/ |
Same law, Gemini format |
.agents/skills/ |
Gemini playbooks (@hsg-skill-name) |
MUST_READ_BEFORE_SKILL_CHANGES.md |
How to edit this template |
Full skill map and rules index:
- Cursor:
.cursor/README.md - Claude Code:
.claude/README.md - Gemini:
.agents/README.md
- Copy
.cursor/,.claude/, and/or.agents/into the Android app root. - Open the app in Cursor, run
claudeat the repo root, or open the app in Android Studio (Gemini Agent). - Cursor: type
/hs(for example/hs-setup-new-project). Claude Code: type/hsc(for example/hsc-setup-new-project). Android Studio Gemini: type@hsg(for example@hsg-setup-new-project). Cursor skills say Hypersoft Cursor Skill:; Claude skills say Hypersoft Claude Skill:; Gemini skills say Hypersoft Gemini Skill:. Do not pick Figma plugin skills (“Created by Figma”) for Android screens. - After setup, obey
.cursor/project-settings.json(or the twin under.claude//.agents/) — especiallyuiFramework.
Use this from Android Studio Gemini Agent after .agents/ is in the app root. Invoke @hsg-localize (type @hsg). Cursor and Claude twins are /hs-localize and /hsc-localize. Description starts with Hypersoft Gemini Skill:.
- Gemini finds
LanguageDataSource.ktand lists language codes. - You confirm languages, then complete vs missing-only localization.
- It snapshots source strings once, then translates each locale in parallel (one worker per language, disjoint
values-*folders), preserves placeholders/XML, and reports files created/modified.
Cursor: /hs-… · Claude Code: /hsc-… · Gemini: @hsg-… (same steps)
/hs-setup-new-projector/hsc-setup-new-projector@hsg-setup-new-project(greenfield) ·/hs-setup-old-projector/hsc-setup-old-projector@hsg-setup-old-project(existing app)/hs-setup-design-systemor/hsc-setup-design-systemor@hsg-setup-design-system— Figma tokens/themes in:core-ui/hs-figma-to-xmlor/hsc-figma-to-xmlor@hsg-figma-to-xmlif xml;/hs-figma-to-composeor/hsc-figma-to-composeor@hsg-figma-to-composeif compose/hs-create-mvior/hsc-create-mvior@hsg-create-mvi— Intent / State / Effect / ViewModel + Fragment or*Screen/hs-create-clean-architectureor/hsc-create-clean-architectureor@hsg-create-clean-architecture— only when new domain / data is required/hs-review-completeor/hsc-review-completeor@hsg-review-completebefore PR
Read MUST_READ_BEFORE_SKILL_CHANGES.md before editing anything under .cursor/, .claude/, or .agents/.
Hard rules:
- Do not invent local rules inside an app — update this repo, then copy into apps.
- Do not delete rule meaning; prefer move / merge / link.
- Update related skills/rules in the same change (Cursor
hs-↔ Claudehsc-↔ Geminihsg-). - New product skills: learn from the reference apps, show a plan, wait for acceptance.