InsForge ui
Use this skill when contributing to InsForge's reusable UI package. This is for maintainers editing design-system primitives, exports, styles, and package-level component behavior in the InsForge monorepo.
install
source · Clone the upstream repo
git clone https://github.com/InsForge/InsForge
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/InsForge/InsForge "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.agents/skills/insforge-dev/ui" ~/.claude/skills/insforge-insforge-ui && rm -rf "$T"
manifest:
.agents/skills/insforge-dev/ui/SKILL.mdsource content
InsForge Dev UI
Use this skill for
packages/ui/ work in the InsForge repository.
Scope
packages/ui/src/components/**packages/ui/src/lib/**packages/ui/src/index.tspackages/ui/src/styles.css
Working Rules
-
Put only reusable primitives here.
- If the component is generic across dashboard features or other InsForge apps, it belongs in
.packages/ui/ - If it is tightly coupled to one dashboard workflow but should ship to both OSS and cloud hosts, keep it in
.packages/dashboard/ - If it is only for the self-hosting host app, keep it in
.frontend/
- If the component is generic across dashboard features or other InsForge apps, it belongs in
-
Preserve the package's implementation style.
- Use
for variants when appropriate.class-variance-authority - Use the shared
helper for class merging.cn() - Follow the existing Radix-wrapper and typed-export patterns.
- Use
-
Keep the public surface in sync.
- Export new public components from
.packages/ui/src/index.ts - Avoid adding internal-only abstractions to the package surface unless they are meant to be consumed.
- Never use the TypeScript
type. Keep component props and exported helpers strictly typed.any
- Export new public components from
-
Validate downstream impact.
- The shared dashboard package consumes this package directly, so UI changes can break
even ifpackages/dashboard/
itself builds cleanly.packages/ui/
- The shared dashboard package consumes this package directly, so UI changes can break
Validation
cd packages/ui && npm run buildcd packages/ui && npm run typecheck
Also validate
packages/dashboard/ when the changed component is used in the dashboard, and validate frontend/ if the host app integration or CSS entrypoints changed.