install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/customrule" ~/.claude/skills/majiayu000-claude-skill-registry-customrule && rm -rf "$T"
manifest:
skills/data/customrule/SKILL.mdsource content
TypeScript Migration Rules for 9jang Project
Architecture Standard
- We are using a Monorepo structure with
.pnpm workspaces - Centralized Data Source: All API schemas and types MUST reside in
.shared/src/schemas - Never define types locally if they represent API entities; always use
from the shared package.z.infer<typeof Schema>
TypeScript Best Practices
- No
: Useany
with type guards if a type is truly uncertain.unknown - Zod Integration: Use Zod for runtime validation at the API service layer.
- Tiptap Extensions: When migrating extensions, use "Module Augmentation" to register custom commands and attributes in
.@tiptap/core
Migration Strategy
- When converting Vue components, prioritize
.<script setup lang="ts"> - For large composables (e.g., usePrintPreview), break down the logic into smaller, typed internal functions.
- Ensure all path aliases use
for frontend and@/
for shared types.@9jang/shared