omgkit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +252 -0
  3. package/bin/omgkit.js +122 -0
  4. package/lib/.gitkeep +0 -0
  5. package/lib/cli.js +513 -0
  6. package/lib/index.js +35 -0
  7. package/package.json +52 -0
  8. package/plugin/.claude-plugin/.gitkeep +0 -0
  9. package/plugin/.claude-plugin/plugin.json +11 -0
  10. package/plugin/agents/.gitkeep +0 -0
  11. package/plugin/agents/api-designer.md +66 -0
  12. package/plugin/agents/architect.md +81 -0
  13. package/plugin/agents/brainstormer.md +60 -0
  14. package/plugin/agents/cicd-manager.md +50 -0
  15. package/plugin/agents/code-reviewer.md +45 -0
  16. package/plugin/agents/copywriter.md +48 -0
  17. package/plugin/agents/database-admin.md +49 -0
  18. package/plugin/agents/debugger.md +55 -0
  19. package/plugin/agents/docs-manager.md +52 -0
  20. package/plugin/agents/fullstack-developer.md +67 -0
  21. package/plugin/agents/git-manager.md +48 -0
  22. package/plugin/agents/journal-writer.md +51 -0
  23. package/plugin/agents/oracle.md +91 -0
  24. package/plugin/agents/pipeline-architect.md +52 -0
  25. package/plugin/agents/planner.md +60 -0
  26. package/plugin/agents/project-manager.md +43 -0
  27. package/plugin/agents/researcher.md +37 -0
  28. package/plugin/agents/scout.md +37 -0
  29. package/plugin/agents/security-auditor.md +53 -0
  30. package/plugin/agents/sprint-master.md +84 -0
  31. package/plugin/agents/tester.md +50 -0
  32. package/plugin/agents/ui-ux-designer.md +61 -0
  33. package/plugin/agents/vulnerability-scanner.md +53 -0
  34. package/plugin/commands/context/.gitkeep +0 -0
  35. package/plugin/commands/context/checkpoint.md +20 -0
  36. package/plugin/commands/context/index.md +17 -0
  37. package/plugin/commands/context/load.md +16 -0
  38. package/plugin/commands/context/mode.md +20 -0
  39. package/plugin/commands/context/spawn-collect.md +14 -0
  40. package/plugin/commands/context/spawn.md +20 -0
  41. package/plugin/commands/design/.gitkeep +0 -0
  42. package/plugin/commands/design/cro.md +27 -0
  43. package/plugin/commands/design/enhance.md +16 -0
  44. package/plugin/commands/design/fast.md +17 -0
  45. package/plugin/commands/design/good.md +23 -0
  46. package/plugin/commands/design/screenshot.md +21 -0
  47. package/plugin/commands/dev/.gitkeep +0 -0
  48. package/plugin/commands/dev/feature.md +25 -0
  49. package/plugin/commands/dev/fix-ci.md +23 -0
  50. package/plugin/commands/dev/fix-fast.md +19 -0
  51. package/plugin/commands/dev/fix-hard.md +25 -0
  52. package/plugin/commands/dev/fix-logs.md +21 -0
  53. package/plugin/commands/dev/fix-test.md +23 -0
  54. package/plugin/commands/dev/fix.md +22 -0
  55. package/plugin/commands/dev/review.md +31 -0
  56. package/plugin/commands/dev/tdd.md +29 -0
  57. package/plugin/commands/dev/test.md +25 -0
  58. package/plugin/commands/git/.gitkeep +0 -0
  59. package/plugin/commands/git/cm.md +13 -0
  60. package/plugin/commands/git/commit.md +31 -0
  61. package/plugin/commands/git/cp.md +14 -0
  62. package/plugin/commands/git/deploy.md +21 -0
  63. package/plugin/commands/git/pr.md +20 -0
  64. package/plugin/commands/git/ship.md +29 -0
  65. package/plugin/commands/omega/.gitkeep +0 -0
  66. package/plugin/commands/omega/1000x.md +41 -0
  67. package/plugin/commands/omega/100x.md +39 -0
  68. package/plugin/commands/omega/10x.md +47 -0
  69. package/plugin/commands/omega/dimensions.md +26 -0
  70. package/plugin/commands/omega/principles.md +43 -0
  71. package/plugin/commands/planning/.gitkeep +0 -0
  72. package/plugin/commands/planning/ask.md +21 -0
  73. package/plugin/commands/planning/brainstorm.md +33 -0
  74. package/plugin/commands/planning/doc.md +28 -0
  75. package/plugin/commands/planning/execute-plan.md +28 -0
  76. package/plugin/commands/planning/plan-detailed.md +32 -0
  77. package/plugin/commands/planning/plan-parallel.md +35 -0
  78. package/plugin/commands/planning/plan.md +39 -0
  79. package/plugin/commands/planning/research.md +39 -0
  80. package/plugin/commands/quality/.gitkeep +0 -0
  81. package/plugin/commands/quality/api-gen.md +25 -0
  82. package/plugin/commands/quality/lint.md +15 -0
  83. package/plugin/commands/quality/optimize.md +23 -0
  84. package/plugin/commands/quality/refactor.md +22 -0
  85. package/plugin/commands/quality/security-scan.md +28 -0
  86. package/plugin/commands/sprint/.gitkeep +0 -0
  87. package/plugin/commands/sprint/backlog-add.md +21 -0
  88. package/plugin/commands/sprint/backlog-prioritize.md +18 -0
  89. package/plugin/commands/sprint/backlog-show.md +25 -0
  90. package/plugin/commands/sprint/init.md +27 -0
  91. package/plugin/commands/sprint/sprint-current.md +22 -0
  92. package/plugin/commands/sprint/sprint-end.md +33 -0
  93. package/plugin/commands/sprint/sprint-new.md +31 -0
  94. package/plugin/commands/sprint/sprint-start.md +17 -0
  95. package/plugin/commands/sprint/team-ask.md +21 -0
  96. package/plugin/commands/sprint/team-run.md +29 -0
  97. package/plugin/commands/sprint/team-status.md +23 -0
  98. package/plugin/commands/sprint/vision-set.md +21 -0
  99. package/plugin/commands/sprint/vision-show.md +15 -0
  100. package/plugin/mcp/.gitkeep +0 -0
  101. package/plugin/mcp/.mcp.json +20 -0
  102. package/plugin/mcp/README.md +68 -0
  103. package/plugin/modes/.gitkeep +0 -0
  104. package/plugin/modes/autonomous.md +48 -0
  105. package/plugin/modes/brainstorm.md +33 -0
  106. package/plugin/modes/deep-research.md +41 -0
  107. package/plugin/modes/default.md +25 -0
  108. package/plugin/modes/implementation.md +35 -0
  109. package/plugin/modes/omega.md +38 -0
  110. package/plugin/modes/orchestration.md +41 -0
  111. package/plugin/modes/review.md +44 -0
  112. package/plugin/modes/token-efficient.md +37 -0
  113. package/plugin/skills/databases/.gitkeep +0 -0
  114. package/plugin/skills/databases/mongodb/SKILL.md +43 -0
  115. package/plugin/skills/databases/postgresql/SKILL.md +43 -0
  116. package/plugin/skills/databases/prisma/SKILL.md +55 -0
  117. package/plugin/skills/databases/redis/SKILL.md +41 -0
  118. package/plugin/skills/devops/.gitkeep +0 -0
  119. package/plugin/skills/devops/aws/SKILL.md +51 -0
  120. package/plugin/skills/devops/docker/SKILL.md +54 -0
  121. package/plugin/skills/devops/github-actions/SKILL.md +63 -0
  122. package/plugin/skills/devops/kubernetes/SKILL.md +64 -0
  123. package/plugin/skills/frameworks/.gitkeep +0 -0
  124. package/plugin/skills/frameworks/django/SKILL.md +47 -0
  125. package/plugin/skills/frameworks/express/SKILL.md +55 -0
  126. package/plugin/skills/frameworks/fastapi/SKILL.md +58 -0
  127. package/plugin/skills/frameworks/laravel/SKILL.md +65 -0
  128. package/plugin/skills/frameworks/nestjs/SKILL.md +67 -0
  129. package/plugin/skills/frameworks/nextjs/SKILL.md +77 -0
  130. package/plugin/skills/frameworks/rails/SKILL.md +56 -0
  131. package/plugin/skills/frameworks/react/SKILL.md +61 -0
  132. package/plugin/skills/frameworks/spring/SKILL.md +70 -0
  133. package/plugin/skills/frameworks/vue/SKILL.md +62 -0
  134. package/plugin/skills/frontend/.gitkeep +0 -0
  135. package/plugin/skills/frontend/accessibility/SKILL.md +52 -0
  136. package/plugin/skills/frontend/frontend-design/SKILL.md +47 -0
  137. package/plugin/skills/frontend/responsive/SKILL.md +46 -0
  138. package/plugin/skills/frontend/shadcn-ui/SKILL.md +58 -0
  139. package/plugin/skills/frontend/tailwindcss/SKILL.md +52 -0
  140. package/plugin/skills/frontend/threejs/SKILL.md +59 -0
  141. package/plugin/skills/languages/.gitkeep +0 -0
  142. package/plugin/skills/languages/javascript/SKILL.md +62 -0
  143. package/plugin/skills/languages/python/SKILL.md +63 -0
  144. package/plugin/skills/languages/typescript/SKILL.md +66 -0
  145. package/plugin/skills/methodology/.gitkeep +0 -0
  146. package/plugin/skills/methodology/brainstorming/SKILL.md +34 -0
  147. package/plugin/skills/methodology/defense-in-depth/SKILL.md +51 -0
  148. package/plugin/skills/methodology/dispatching-parallel-agents/SKILL.md +43 -0
  149. package/plugin/skills/methodology/executing-plans/SKILL.md +34 -0
  150. package/plugin/skills/methodology/finishing-development-branch/SKILL.md +41 -0
  151. package/plugin/skills/methodology/receiving-code-review/SKILL.md +41 -0
  152. package/plugin/skills/methodology/requesting-code-review/SKILL.md +38 -0
  153. package/plugin/skills/methodology/root-cause-tracing/SKILL.md +53 -0
  154. package/plugin/skills/methodology/systematic-debugging/SKILL.md +50 -0
  155. package/plugin/skills/methodology/test-driven-development/SKILL.md +39 -0
  156. package/plugin/skills/methodology/testing-anti-patterns/SKILL.md +50 -0
  157. package/plugin/skills/methodology/token-optimization/SKILL.md +51 -0
  158. package/plugin/skills/methodology/verification-before-completion/SKILL.md +32 -0
  159. package/plugin/skills/methodology/writing-plans/SKILL.md +34 -0
  160. package/plugin/skills/omega/.gitkeep +0 -0
  161. package/plugin/skills/omega/omega-architecture/SKILL.md +59 -0
  162. package/plugin/skills/omega/omega-coding/SKILL.md +61 -0
  163. package/plugin/skills/omega/omega-sprint/SKILL.md +64 -0
  164. package/plugin/skills/omega/omega-testing/SKILL.md +71 -0
  165. package/plugin/skills/omega/omega-thinking/SKILL.md +54 -0
  166. package/plugin/skills/security/.gitkeep +0 -0
  167. package/plugin/skills/security/better-auth/SKILL.md +53 -0
  168. package/plugin/skills/security/oauth/SKILL.md +50 -0
  169. package/plugin/skills/security/owasp/SKILL.md +57 -0
  170. package/plugin/skills/testing/.gitkeep +0 -0
  171. package/plugin/skills/testing/playwright/SKILL.md +60 -0
  172. package/plugin/skills/testing/pytest/SKILL.md +58 -0
  173. package/plugin/skills/testing/vitest/SKILL.md +64 -0
  174. package/templates/.gitkeep +0 -0
  175. package/templates/OMEGA.md +80 -0
  176. package/templates/backlog.yaml +25 -0
  177. package/templates/config.yaml +44 -0
  178. package/templates/settings.json +20 -0
  179. package/templates/vision.yaml +30 -0
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: spring
3
+ description: Spring Boot development. Use for Spring projects, REST APIs, JPA.
4
+ ---
5
+
6
+ # Spring Boot Skill
7
+
8
+ ## Patterns
9
+
10
+ ### Controller
11
+ ```java
12
+ @RestController
13
+ @RequestMapping("/api/users")
14
+ public class UserController {
15
+ @Autowired
16
+ private UserService userService;
17
+
18
+ @GetMapping
19
+ public List<User> findAll() {
20
+ return userService.findAll();
21
+ }
22
+
23
+ @PostMapping
24
+ public ResponseEntity<User> create(@RequestBody CreateUserDto dto) {
25
+ User user = userService.create(dto);
26
+ return ResponseEntity.status(HttpStatus.CREATED).body(user);
27
+ }
28
+ }
29
+ ```
30
+
31
+ ### Service
32
+ ```java
33
+ @Service
34
+ public class UserService {
35
+ @Autowired
36
+ private UserRepository userRepository;
37
+
38
+ public List<User> findAll() {
39
+ return userRepository.findAll();
40
+ }
41
+ }
42
+ ```
43
+
44
+ ### Repository
45
+ ```java
46
+ @Repository
47
+ public interface UserRepository extends JpaRepository<User, Long> {
48
+ Optional<User> findByEmail(String email);
49
+ }
50
+ ```
51
+
52
+ ### Entity
53
+ ```java
54
+ @Entity
55
+ @Table(name = "users")
56
+ public class User {
57
+ @Id
58
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
59
+ private Long id;
60
+
61
+ @Column(unique = true)
62
+ private String email;
63
+ }
64
+ ```
65
+
66
+ ## Best Practices
67
+ - Use constructor injection
68
+ - Use DTOs for API contracts
69
+ - Use @Transactional for writes
70
+ - Use Spring Security
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: vue
3
+ description: Vue.js development. Use for Vue 3 projects, Composition API, Pinia.
4
+ ---
5
+
6
+ # Vue.js Skill
7
+
8
+ ## Composition API
9
+
10
+ ### Component
11
+ ```vue
12
+ <script setup lang="ts">
13
+ import { ref, computed } from 'vue';
14
+
15
+ const count = ref(0);
16
+ const doubled = computed(() => count.value * 2);
17
+
18
+ function increment() {
19
+ count.value++;
20
+ }
21
+ </script>
22
+
23
+ <template>
24
+ <button @click="increment">{{ count }} ({{ doubled }})</button>
25
+ </template>
26
+ ```
27
+
28
+ ### Composable
29
+ ```typescript
30
+ // composables/useUser.ts
31
+ export function useUser(id: Ref<string>) {
32
+ const user = ref<User | null>(null);
33
+ const loading = ref(true);
34
+
35
+ watch(id, async (newId) => {
36
+ loading.value = true;
37
+ user.value = await fetchUser(newId);
38
+ loading.value = false;
39
+ }, { immediate: true });
40
+
41
+ return { user, loading };
42
+ }
43
+ ```
44
+
45
+ ### Pinia Store
46
+ ```typescript
47
+ export const useUserStore = defineStore('user', () => {
48
+ const user = ref<User | null>(null);
49
+
50
+ async function login(email: string, password: string) {
51
+ user.value = await api.login(email, password);
52
+ }
53
+
54
+ return { user, login };
55
+ });
56
+ ```
57
+
58
+ ## Best Practices
59
+ - Use Composition API
60
+ - Use `<script setup>`
61
+ - Create composables for logic
62
+ - Use Pinia for state
File without changes
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: accessibility
3
+ description: Accessibility (a11y). Use for WCAG compliance, screen readers, keyboard navigation.
4
+ ---
5
+
6
+ # Accessibility Skill
7
+
8
+ ## Semantic HTML
9
+ ```html
10
+ <header>
11
+ <nav aria-label="Main">
12
+ <main>
13
+ <article>
14
+ <aside>
15
+ <footer>
16
+ ```
17
+
18
+ ## ARIA
19
+ ```html
20
+ <button aria-label="Close" aria-pressed="false">
21
+ <div role="alert" aria-live="polite">
22
+ <input aria-describedby="hint-id">
23
+ ```
24
+
25
+ ## Keyboard Navigation
26
+ ```tsx
27
+ function handleKeyDown(e: KeyboardEvent) {
28
+ if (e.key === 'Enter' || e.key === ' ') {
29
+ activate();
30
+ }
31
+ if (e.key === 'Escape') {
32
+ close();
33
+ }
34
+ }
35
+ ```
36
+
37
+ ## Focus Management
38
+ ```tsx
39
+ const ref = useRef<HTMLButtonElement>(null);
40
+
41
+ useEffect(() => {
42
+ if (isOpen) ref.current?.focus();
43
+ }, [isOpen]);
44
+ ```
45
+
46
+ ## Checklist
47
+ - [ ] Color contrast 4.5:1+
48
+ - [ ] Keyboard accessible
49
+ - [ ] Focus visible
50
+ - [ ] Alt text on images
51
+ - [ ] Form labels
52
+ - [ ] Skip links
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: frontend-design
3
+ description: Frontend design patterns. Use for component architecture, state management.
4
+ ---
5
+
6
+ # Frontend Design Skill
7
+
8
+ ## Component Patterns
9
+
10
+ ### Compound Components
11
+ ```tsx
12
+ <Select>
13
+ <SelectTrigger>Select option</SelectTrigger>
14
+ <SelectContent>
15
+ <SelectItem value="1">Option 1</SelectItem>
16
+ </SelectContent>
17
+ </Select>
18
+ ```
19
+
20
+ ### Render Props
21
+ ```tsx
22
+ <DataFetcher url="/api/users">
23
+ {({ data, loading }) => loading ? <Spinner /> : <UserList users={data} />}
24
+ </DataFetcher>
25
+ ```
26
+
27
+ ### Custom Hooks
28
+ ```tsx
29
+ function useLocalStorage<T>(key: string, initial: T) {
30
+ const [value, setValue] = useState<T>(() => {
31
+ const stored = localStorage.getItem(key);
32
+ return stored ? JSON.parse(stored) : initial;
33
+ });
34
+
35
+ useEffect(() => {
36
+ localStorage.setItem(key, JSON.stringify(value));
37
+ }, [key, value]);
38
+
39
+ return [value, setValue] as const;
40
+ }
41
+ ```
42
+
43
+ ## Best Practices
44
+ - Single responsibility components
45
+ - Lift state appropriately
46
+ - Colocate related code
47
+ - Use composition over inheritance
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: responsive
3
+ description: Responsive design. Use for mobile-first, adaptive layouts.
4
+ ---
5
+
6
+ # Responsive Design Skill
7
+
8
+ ## Breakpoints
9
+ ```css
10
+ /* Mobile first */
11
+ .element { /* Mobile styles */ }
12
+
13
+ @media (min-width: 640px) { /* sm */ }
14
+ @media (min-width: 768px) { /* md */ }
15
+ @media (min-width: 1024px) { /* lg */ }
16
+ @media (min-width: 1280px) { /* xl */ }
17
+ ```
18
+
19
+ ## Patterns
20
+
21
+ ### Fluid Typography
22
+ ```css
23
+ font-size: clamp(1rem, 2.5vw, 2rem);
24
+ ```
25
+
26
+ ### Responsive Grid
27
+ ```css
28
+ .grid {
29
+ display: grid;
30
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
31
+ gap: 1rem;
32
+ }
33
+ ```
34
+
35
+ ### Container Queries
36
+ ```css
37
+ @container (min-width: 400px) {
38
+ .card { flex-direction: row; }
39
+ }
40
+ ```
41
+
42
+ ## Best Practices
43
+ - Mobile-first approach
44
+ - Use relative units
45
+ - Test on real devices
46
+ - Consider touch targets (44px min)
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: shadcn-ui
3
+ description: shadcn/ui components. Use for pre-built accessible React components.
4
+ ---
5
+
6
+ # shadcn/ui Skill
7
+
8
+ ## Installation
9
+ ```bash
10
+ npx shadcn-ui@latest init
11
+ npx shadcn-ui@latest add button
12
+ ```
13
+
14
+ ## Usage
15
+ ```tsx
16
+ import { Button } from "@/components/ui/button"
17
+ import { Input } from "@/components/ui/input"
18
+ import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"
19
+
20
+ <Button variant="default">Click me</Button>
21
+ <Button variant="outline">Outline</Button>
22
+ <Button variant="ghost">Ghost</Button>
23
+
24
+ <Card>
25
+ <CardHeader>
26
+ <CardTitle>Title</CardTitle>
27
+ </CardHeader>
28
+ <CardContent>
29
+ Content here
30
+ </CardContent>
31
+ </Card>
32
+ ```
33
+
34
+ ## Form Pattern
35
+ ```tsx
36
+ import { useForm } from "react-hook-form"
37
+ import { Form, FormField, FormItem, FormLabel, FormControl } from "@/components/ui/form"
38
+
39
+ <Form {...form}>
40
+ <FormField
41
+ control={form.control}
42
+ name="email"
43
+ render={({ field }) => (
44
+ <FormItem>
45
+ <FormLabel>Email</FormLabel>
46
+ <FormControl>
47
+ <Input {...field} />
48
+ </FormControl>
49
+ </FormItem>
50
+ )}
51
+ />
52
+ </Form>
53
+ ```
54
+
55
+ ## Best Practices
56
+ - Customize via CSS variables
57
+ - Use with React Hook Form
58
+ - Extend components as needed
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: tailwindcss
3
+ description: Tailwind CSS styling. Use when styling with utility classes.
4
+ ---
5
+
6
+ # Tailwind CSS Skill
7
+
8
+ ## Core Utilities
9
+ ```html
10
+ <!-- Spacing -->
11
+ <div class="p-4 m-2 space-y-4">
12
+
13
+ <!-- Flexbox -->
14
+ <div class="flex items-center justify-between gap-4">
15
+
16
+ <!-- Grid -->
17
+ <div class="grid grid-cols-3 gap-4">
18
+
19
+ <!-- Typography -->
20
+ <p class="text-lg font-bold text-gray-900">
21
+ ```
22
+
23
+ ## Responsive
24
+ ```html
25
+ <div class="text-sm md:text-base lg:text-lg">
26
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3">
27
+ ```
28
+
29
+ ## Component Pattern
30
+ ```html
31
+ <button class="
32
+ px-4 py-2
33
+ bg-blue-500 hover:bg-blue-600
34
+ text-white font-medium
35
+ rounded-lg
36
+ transition-colors
37
+ focus:outline-none focus:ring-2 focus:ring-blue-500
38
+ ">
39
+ Click me
40
+ </button>
41
+ ```
42
+
43
+ ## Dark Mode
44
+ ```html
45
+ <div class="bg-white dark:bg-gray-900 text-black dark:text-white">
46
+ ```
47
+
48
+ ## Best Practices
49
+ - Use consistent spacing
50
+ - Mobile-first responsive
51
+ - Extract common patterns
52
+ - Use @apply sparingly
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: threejs
3
+ description: Three.js 3D graphics. Use for 3D scenes, WebGL, animations.
4
+ ---
5
+
6
+ # Three.js Skill
7
+
8
+ ## Basic Setup
9
+ ```javascript
10
+ import * as THREE from 'three';
11
+
12
+ const scene = new THREE.Scene();
13
+ const camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 1000);
14
+ const renderer = new THREE.WebGLRenderer();
15
+
16
+ renderer.setSize(width, height);
17
+ document.body.appendChild(renderer.domElement);
18
+ ```
19
+
20
+ ## React Three Fiber
21
+ ```tsx
22
+ import { Canvas } from '@react-three/fiber';
23
+ import { OrbitControls } from '@react-three/drei';
24
+
25
+ function Scene() {
26
+ return (
27
+ <Canvas>
28
+ <ambientLight />
29
+ <pointLight position={[10, 10, 10]} />
30
+ <mesh>
31
+ <boxGeometry />
32
+ <meshStandardMaterial color="orange" />
33
+ </mesh>
34
+ <OrbitControls />
35
+ </Canvas>
36
+ );
37
+ }
38
+ ```
39
+
40
+ ## Animation
41
+ ```tsx
42
+ import { useFrame } from '@react-three/fiber';
43
+
44
+ function Box() {
45
+ const ref = useRef<THREE.Mesh>(null);
46
+
47
+ useFrame((state, delta) => {
48
+ if (ref.current) ref.current.rotation.y += delta;
49
+ });
50
+
51
+ return <mesh ref={ref}>...</mesh>;
52
+ }
53
+ ```
54
+
55
+ ## Best Practices
56
+ - Use React Three Fiber for React
57
+ - Dispose resources
58
+ - Optimize draw calls
59
+ - Use instances for repeated objects
File without changes
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: javascript
3
+ description: JavaScript development. Use for ES6+, async patterns, DOM manipulation.
4
+ ---
5
+
6
+ # JavaScript Skill
7
+
8
+ ## Patterns
9
+
10
+ ### Async/Await
11
+ ```javascript
12
+ async function fetchData() {
13
+ try {
14
+ const response = await fetch('/api/data');
15
+ const data = await response.json();
16
+ return data;
17
+ } catch (error) {
18
+ console.error('Fetch failed:', error);
19
+ throw error;
20
+ }
21
+ }
22
+ ```
23
+
24
+ ### Destructuring
25
+ ```javascript
26
+ const { name, email } = user;
27
+ const [first, ...rest] = items;
28
+ const { data: userData } = response;
29
+ ```
30
+
31
+ ### Spread Operator
32
+ ```javascript
33
+ const merged = { ...defaults, ...options };
34
+ const combined = [...array1, ...array2];
35
+ ```
36
+
37
+ ### Modules (ESM)
38
+ ```javascript
39
+ // Named exports
40
+ export const helper = () => {};
41
+ export function process() {}
42
+
43
+ // Default export
44
+ export default class Service {}
45
+
46
+ // Import
47
+ import Service, { helper, process } from './service.js';
48
+ ```
49
+
50
+ ### Optional Chaining
51
+ ```javascript
52
+ const street = user?.address?.street;
53
+ const result = callback?.();
54
+ ```
55
+
56
+ ## Best Practices
57
+ - Use const/let, never var
58
+ - Use arrow functions for callbacks
59
+ - Use template literals
60
+ - Use optional chaining
61
+ - Use nullish coalescing (??)
62
+ - Use modules (ESM)
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: python
3
+ description: Python development. Use when writing Python code, using pip, or working with Python frameworks.
4
+ ---
5
+
6
+ # Python Skill
7
+
8
+ ## Patterns
9
+
10
+ ### Type Hints
11
+ ```python
12
+ from typing import Optional, List
13
+
14
+ def create_user(email: str, password: str) -> User:
15
+ """Create a new user."""
16
+ ...
17
+
18
+ def get_users(limit: int = 10) -> List[User]:
19
+ ...
20
+ ```
21
+
22
+ ### Async
23
+ ```python
24
+ import asyncio
25
+ import aiohttp
26
+
27
+ async def fetch_data(url: str) -> dict:
28
+ async with aiohttp.ClientSession() as session:
29
+ async with session.get(url) as response:
30
+ return await response.json()
31
+ ```
32
+
33
+ ### Dataclasses
34
+ ```python
35
+ from dataclasses import dataclass
36
+ from datetime import datetime
37
+
38
+ @dataclass
39
+ class User:
40
+ id: str
41
+ email: str
42
+ created_at: datetime = field(default_factory=datetime.now)
43
+ ```
44
+
45
+ ### Pydantic
46
+ ```python
47
+ from pydantic import BaseModel, EmailStr
48
+
49
+ class UserCreate(BaseModel):
50
+ email: EmailStr
51
+ password: str
52
+
53
+ class Config:
54
+ str_strip_whitespace = True
55
+ ```
56
+
57
+ ## Best Practices
58
+ - Use type hints everywhere
59
+ - Use dataclasses or Pydantic for data
60
+ - Use async for I/O operations
61
+ - Follow PEP 8
62
+ - Use virtual environments
63
+ - Write docstrings
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: typescript
3
+ description: TypeScript development. Use when writing TypeScript, using strict types, or type-safe code.
4
+ ---
5
+
6
+ # TypeScript Skill
7
+
8
+ ## Patterns
9
+
10
+ ### Strict Types
11
+ ```typescript
12
+ interface User {
13
+ id: string;
14
+ email: string;
15
+ createdAt: Date;
16
+ }
17
+
18
+ interface CreateUserInput {
19
+ email: string;
20
+ password: string;
21
+ }
22
+
23
+ function createUser(input: CreateUserInput): Promise<User> {
24
+ ...
25
+ }
26
+ ```
27
+
28
+ ### Generics
29
+ ```typescript
30
+ type Result<T, E = Error> =
31
+ | { ok: true; data: T }
32
+ | { ok: false; error: E };
33
+
34
+ async function fetchUser(id: string): Promise<Result<User>> {
35
+ try {
36
+ const user = await db.users.findById(id);
37
+ return { ok: true, data: user };
38
+ } catch (error) {
39
+ return { ok: false, error };
40
+ }
41
+ }
42
+ ```
43
+
44
+ ### Utility Types
45
+ ```typescript
46
+ type Partial<T> = { [P in keyof T]?: T[P] };
47
+ type Required<T> = { [P in keyof T]-?: T[P] };
48
+ type Pick<T, K extends keyof T> = { [P in K]: T[P] };
49
+ type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
50
+ ```
51
+
52
+ ### Const Assertions
53
+ ```typescript
54
+ const CONFIG = {
55
+ API_URL: 'https://api.example.com',
56
+ TIMEOUT: 5000,
57
+ } as const;
58
+ ```
59
+
60
+ ## Best Practices
61
+ - Enable strict mode
62
+ - Use interfaces for objects
63
+ - Use type for unions/intersections
64
+ - Avoid `any`
65
+ - Use const assertions
66
+ - Prefer unknown over any
File without changes
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: brainstorming
3
+ description: Creative brainstorming. Use when exploring ideas, generating options.
4
+ ---
5
+
6
+ # Brainstorming Skill
7
+
8
+ ## Process
9
+ 1. **Diverge** - Generate many ideas without judgment
10
+ 2. **Explore** - Ask clarifying questions
11
+ 3. **Converge** - Evaluate and prioritize
12
+
13
+ ## Rules
14
+ - One question at a time
15
+ - No premature judgment
16
+ - Quantity over quality first
17
+ - Build on ideas
18
+
19
+ ## Techniques
20
+ - Mind mapping
21
+ - SCAMPER
22
+ - Reverse brainstorming
23
+ - Random word association
24
+
25
+ ## Output
26
+ ```markdown
27
+ ## Ideas Generated
28
+ 1. [Idea] - [Brief rationale]
29
+
30
+ ## Top Recommendations
31
+ 1. **Best Overall**: [Why]
32
+ 2. **Most Innovative**: [Why]
33
+ 3. **Quickest Win**: [Why]
34
+ ```