oh-my-customcode 0.1.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 (237) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +287 -0
  3. package/dist/cli/index.js +13299 -0
  4. package/dist/index.js +927 -0
  5. package/package.json +74 -0
  6. package/templates/.claude/contexts/dev.md +20 -0
  7. package/templates/.claude/contexts/ecomode.md +63 -0
  8. package/templates/.claude/contexts/index.yaml +41 -0
  9. package/templates/.claude/contexts/research.md +28 -0
  10. package/templates/.claude/contexts/review.md +23 -0
  11. package/templates/.claude/hooks/hooks.json +185 -0
  12. package/templates/.claude/hooks/hud/index.yaml +27 -0
  13. package/templates/.claude/hooks/hud/update-status.sh +32 -0
  14. package/templates/.claude/hooks/index.yaml +46 -0
  15. package/templates/.claude/hooks/memory-persistence/pre-compact.sh +37 -0
  16. package/templates/.claude/hooks/memory-persistence/session-end.sh +64 -0
  17. package/templates/.claude/hooks/memory-persistence/session-start.sh +41 -0
  18. package/templates/.claude/hooks/strategic-compact/suggest-compact.sh +50 -0
  19. package/templates/.claude/install-hooks.sh +100 -0
  20. package/templates/.claude/rules/MAY-optimization.md +93 -0
  21. package/templates/.claude/rules/MUST-agent-design.md +107 -0
  22. package/templates/.claude/rules/MUST-agent-identification.md +108 -0
  23. package/templates/.claude/rules/MUST-continuous-improvement.md +132 -0
  24. package/templates/.claude/rules/MUST-intent-transparency.md +199 -0
  25. package/templates/.claude/rules/MUST-language-policy.md +62 -0
  26. package/templates/.claude/rules/MUST-orchestrator-coordination.md +266 -0
  27. package/templates/.claude/rules/MUST-parallel-execution.md +341 -0
  28. package/templates/.claude/rules/MUST-permissions.md +84 -0
  29. package/templates/.claude/rules/MUST-safety.md +69 -0
  30. package/templates/.claude/rules/MUST-sync-verification.md +219 -0
  31. package/templates/.claude/rules/MUST-tool-identification.md +112 -0
  32. package/templates/.claude/rules/SHOULD-ecomode.md +145 -0
  33. package/templates/.claude/rules/SHOULD-error-handling.md +102 -0
  34. package/templates/.claude/rules/SHOULD-hud-statusline.md +89 -0
  35. package/templates/.claude/rules/SHOULD-interaction.md +103 -0
  36. package/templates/.claude/rules/SHOULD-memory-integration.md +114 -0
  37. package/templates/.claude/rules/SHOULD-pipeline-mode.md +165 -0
  38. package/templates/.claude/rules/index.yaml +125 -0
  39. package/templates/.claude/uninstall-hooks.sh +52 -0
  40. package/templates/CLAUDE.md.en +259 -0
  41. package/templates/CLAUDE.md.ko +259 -0
  42. package/templates/agents/index.yaml +237 -0
  43. package/templates/agents/infra-engineer/aws-expert/AGENT.md +47 -0
  44. package/templates/agents/infra-engineer/aws-expert/index.yaml +27 -0
  45. package/templates/agents/infra-engineer/docker-expert/AGENT.md +47 -0
  46. package/templates/agents/infra-engineer/docker-expert/index.yaml +27 -0
  47. package/templates/agents/manager/creator/AGENT.md +274 -0
  48. package/templates/agents/manager/creator/index.yaml +66 -0
  49. package/templates/agents/manager/gitnerd/AGENT.md +91 -0
  50. package/templates/agents/manager/gitnerd/index.yaml +55 -0
  51. package/templates/agents/manager/sauron/AGENT.md +153 -0
  52. package/templates/agents/manager/sauron/index.yaml +52 -0
  53. package/templates/agents/manager/supplier/AGENT.md +142 -0
  54. package/templates/agents/manager/supplier/index.yaml +31 -0
  55. package/templates/agents/manager/sync-checker/AGENT.md +34 -0
  56. package/templates/agents/manager/sync-checker/index.yaml +32 -0
  57. package/templates/agents/manager/updater/AGENT.md +125 -0
  58. package/templates/agents/manager/updater/index.yaml +31 -0
  59. package/templates/agents/orchestrator/dev-lead/AGENT.md +116 -0
  60. package/templates/agents/orchestrator/dev-lead/index.yaml +73 -0
  61. package/templates/agents/orchestrator/planner/AGENT.md +102 -0
  62. package/templates/agents/orchestrator/planner/index.yaml +38 -0
  63. package/templates/agents/orchestrator/qa-lead/AGENT.md +92 -0
  64. package/templates/agents/orchestrator/qa-lead/index.yaml +40 -0
  65. package/templates/agents/orchestrator/secretary/AGENT.md +132 -0
  66. package/templates/agents/orchestrator/secretary/index.yaml +55 -0
  67. package/templates/agents/qa-team/qa-engineer/AGENT.md +98 -0
  68. package/templates/agents/qa-team/qa-engineer/index.yaml +59 -0
  69. package/templates/agents/qa-team/qa-planner/AGENT.md +75 -0
  70. package/templates/agents/qa-team/qa-planner/index.yaml +47 -0
  71. package/templates/agents/qa-team/qa-writer/AGENT.md +98 -0
  72. package/templates/agents/qa-team/qa-writer/index.yaml +44 -0
  73. package/templates/agents/sw-architect/documenter/AGENT.md +120 -0
  74. package/templates/agents/sw-architect/documenter/index.yaml +39 -0
  75. package/templates/agents/sw-architect/speckit-agent/AGENT.md +127 -0
  76. package/templates/agents/sw-architect/speckit-agent/index.yaml +78 -0
  77. package/templates/agents/sw-engineer/backend/express-expert/AGENT.md +132 -0
  78. package/templates/agents/sw-engineer/backend/express-expert/index.yaml +36 -0
  79. package/templates/agents/sw-engineer/backend/fastapi-expert/AGENT.md +47 -0
  80. package/templates/agents/sw-engineer/backend/fastapi-expert/index.yaml +27 -0
  81. package/templates/agents/sw-engineer/backend/go-backend-expert/AGENT.md +47 -0
  82. package/templates/agents/sw-engineer/backend/go-backend-expert/index.yaml +27 -0
  83. package/templates/agents/sw-engineer/backend/nestjs-expert/AGENT.md +107 -0
  84. package/templates/agents/sw-engineer/backend/nestjs-expert/index.yaml +43 -0
  85. package/templates/agents/sw-engineer/backend/springboot-expert/AGENT.md +103 -0
  86. package/templates/agents/sw-engineer/backend/springboot-expert/index.yaml +69 -0
  87. package/templates/agents/sw-engineer/frontend/svelte-agent/AGENT.md +71 -0
  88. package/templates/agents/sw-engineer/frontend/svelte-agent/index.yaml +41 -0
  89. package/templates/agents/sw-engineer/frontend/vercel-agent/AGENT.md +67 -0
  90. package/templates/agents/sw-engineer/frontend/vercel-agent/index.yaml +43 -0
  91. package/templates/agents/sw-engineer/frontend/vuejs-agent/AGENT.md +71 -0
  92. package/templates/agents/sw-engineer/frontend/vuejs-agent/index.yaml +48 -0
  93. package/templates/agents/sw-engineer/language/golang-expert/AGENT.md +47 -0
  94. package/templates/agents/sw-engineer/language/golang-expert/index.yaml +27 -0
  95. package/templates/agents/sw-engineer/language/java21-expert/AGENT.md +122 -0
  96. package/templates/agents/sw-engineer/language/java21-expert/index.yaml +51 -0
  97. package/templates/agents/sw-engineer/language/kotlin-expert/AGENT.md +47 -0
  98. package/templates/agents/sw-engineer/language/kotlin-expert/index.yaml +27 -0
  99. package/templates/agents/sw-engineer/language/python-expert/AGENT.md +47 -0
  100. package/templates/agents/sw-engineer/language/python-expert/index.yaml +27 -0
  101. package/templates/agents/sw-engineer/language/rust-expert/AGENT.md +47 -0
  102. package/templates/agents/sw-engineer/language/rust-expert/index.yaml +27 -0
  103. package/templates/agents/sw-engineer/language/typescript-expert/AGENT.md +47 -0
  104. package/templates/agents/sw-engineer/language/typescript-expert/index.yaml +27 -0
  105. package/templates/agents/sw-engineer/tooling/bun-expert/AGENT.md +73 -0
  106. package/templates/agents/sw-engineer/tooling/bun-expert/index.yaml +46 -0
  107. package/templates/agents/sw-engineer/tooling/npm-expert/AGENT.md +160 -0
  108. package/templates/agents/sw-engineer/tooling/npm-expert/index.yaml +45 -0
  109. package/templates/agents/sw-engineer/tooling/optimizer/AGENT.md +170 -0
  110. package/templates/agents/sw-engineer/tooling/optimizer/index.yaml +45 -0
  111. package/templates/agents/system/memory-keeper/AGENT.md +126 -0
  112. package/templates/agents/system/memory-keeper/index.yaml +45 -0
  113. package/templates/agents/system/naggy/AGENT.md +72 -0
  114. package/templates/agents/system/naggy/index.yaml +35 -0
  115. package/templates/commands/COMMANDS.md +136 -0
  116. package/templates/commands/creator/agent.md +121 -0
  117. package/templates/commands/dev/refactor.md +126 -0
  118. package/templates/commands/dev/review.md +82 -0
  119. package/templates/commands/git/branch.yaml +8 -0
  120. package/templates/commands/git/commit.yaml +4 -0
  121. package/templates/commands/git/pr.yaml +4 -0
  122. package/templates/commands/git/status.yaml +4 -0
  123. package/templates/commands/git/sync.yaml +4 -0
  124. package/templates/commands/index.yaml +225 -0
  125. package/templates/commands/intent/explain.md +144 -0
  126. package/templates/commands/memory/recall.md +164 -0
  127. package/templates/commands/memory/save.md +128 -0
  128. package/templates/commands/naggy/add.yaml +8 -0
  129. package/templates/commands/naggy/done.yaml +8 -0
  130. package/templates/commands/naggy/list.yaml +4 -0
  131. package/templates/commands/naggy/priority.yaml +11 -0
  132. package/templates/commands/naggy/remind.yaml +4 -0
  133. package/templates/commands/npm/audit.yaml +62 -0
  134. package/templates/commands/npm/publish.yaml +52 -0
  135. package/templates/commands/npm/version.yaml +62 -0
  136. package/templates/commands/optimize/analyze.yaml +34 -0
  137. package/templates/commands/optimize/bundle.yaml +50 -0
  138. package/templates/commands/optimize/report.yaml +56 -0
  139. package/templates/commands/pipeline/list.md +81 -0
  140. package/templates/commands/pipeline/run.md +127 -0
  141. package/templates/commands/sauron/quick.yaml +4 -0
  142. package/templates/commands/sauron/report.yaml +4 -0
  143. package/templates/commands/sauron/watch.yaml +4 -0
  144. package/templates/commands/supplier/audit.md +133 -0
  145. package/templates/commands/supplier/fix.md +121 -0
  146. package/templates/commands/sync/agents.yaml +4 -0
  147. package/templates/commands/sync/check.yaml +4 -0
  148. package/templates/commands/sync/commands.yaml +4 -0
  149. package/templates/commands/sync/docs.yaml +4 -0
  150. package/templates/commands/sync/fix.yaml +4 -0
  151. package/templates/commands/system/help.md +137 -0
  152. package/templates/commands/system/lists.md +86 -0
  153. package/templates/commands/system/status.md +163 -0
  154. package/templates/commands/updater/docs.md +165 -0
  155. package/templates/commands/updater/external.md +214 -0
  156. package/templates/guides/aws/common-patterns.md +169 -0
  157. package/templates/guides/aws/index.yaml +26 -0
  158. package/templates/guides/aws/well-architected.md +143 -0
  159. package/templates/guides/claude-code/01-overview.md +42 -0
  160. package/templates/guides/claude-code/03-tools.md +107 -0
  161. package/templates/guides/claude-code/04-agent-skills.md +90 -0
  162. package/templates/guides/claude-code/05-agent-sdk.md +129 -0
  163. package/templates/guides/claude-code/06-mcp.md +165 -0
  164. package/templates/guides/claude-code/07-prompt-engineering.md +100 -0
  165. package/templates/guides/claude-code/08-testing.md +58 -0
  166. package/templates/guides/claude-code/09-guardrails.md +80 -0
  167. package/templates/guides/claude-code/10-monitoring.md +89 -0
  168. package/templates/guides/claude-code/index.yaml +51 -0
  169. package/templates/guides/docker/compose-best-practices.md +284 -0
  170. package/templates/guides/docker/dockerfile-best-practices.md +262 -0
  171. package/templates/guides/docker/index.yaml +26 -0
  172. package/templates/guides/fastapi/best-practices.md +232 -0
  173. package/templates/guides/fastapi/index.yaml +21 -0
  174. package/templates/guides/go-backend/index.yaml +26 -0
  175. package/templates/guides/go-backend/project-layout.md +243 -0
  176. package/templates/guides/go-backend/uber-style.md +212 -0
  177. package/templates/guides/golang/concurrency.md +282 -0
  178. package/templates/guides/golang/effective-go.md +309 -0
  179. package/templates/guides/golang/error-handling.md +250 -0
  180. package/templates/guides/golang/index.yaml +27 -0
  181. package/templates/guides/index.yaml +101 -0
  182. package/templates/guides/kotlin/coding-conventions.md +247 -0
  183. package/templates/guides/kotlin/idioms.md +234 -0
  184. package/templates/guides/kotlin/index.yaml +26 -0
  185. package/templates/guides/python/index.yaml +26 -0
  186. package/templates/guides/python/pep8-style-guide.md +202 -0
  187. package/templates/guides/python/zen-of-python.md +79 -0
  188. package/templates/guides/rust/error-handling.md +262 -0
  189. package/templates/guides/rust/index.yaml +26 -0
  190. package/templates/guides/rust/ownership.md +180 -0
  191. package/templates/guides/springboot/best-practices.md +361 -0
  192. package/templates/guides/springboot/index.yaml +22 -0
  193. package/templates/guides/typescript/advanced-types.md +225 -0
  194. package/templates/guides/typescript/index.yaml +26 -0
  195. package/templates/guides/typescript/type-system.md +219 -0
  196. package/templates/guides/web-design/accessibility.md +66 -0
  197. package/templates/guides/web-design/index.yaml +20 -0
  198. package/templates/guides/web-design/performance.md +102 -0
  199. package/templates/pipelines/examples/code-review.yaml +66 -0
  200. package/templates/pipelines/index.yaml +18 -0
  201. package/templates/pipelines/templates/pipeline-template.yaml +50 -0
  202. package/templates/skills/backend/fastapi-best-practices/SKILL.md +269 -0
  203. package/templates/skills/backend/fastapi-best-practices/index.yaml +25 -0
  204. package/templates/skills/backend/go-backend-best-practices/SKILL.md +337 -0
  205. package/templates/skills/backend/go-backend-best-practices/index.yaml +26 -0
  206. package/templates/skills/backend/springboot-best-practices/SKILL.md +356 -0
  207. package/templates/skills/backend/springboot-best-practices/index.yaml +27 -0
  208. package/templates/skills/development/go-best-practices/SKILL.md +202 -0
  209. package/templates/skills/development/go-best-practices/index.yaml +25 -0
  210. package/templates/skills/development/kotlin-best-practices/SKILL.md +255 -0
  211. package/templates/skills/development/kotlin-best-practices/index.yaml +27 -0
  212. package/templates/skills/development/python-best-practices/SKILL.md +221 -0
  213. package/templates/skills/development/python-best-practices/index.yaml +25 -0
  214. package/templates/skills/development/react-best-practices/SKILL.md +100 -0
  215. package/templates/skills/development/react-best-practices/index.yaml +39 -0
  216. package/templates/skills/development/rust-best-practices/SKILL.md +266 -0
  217. package/templates/skills/development/rust-best-practices/index.yaml +26 -0
  218. package/templates/skills/development/typescript-best-practices/SKILL.md +320 -0
  219. package/templates/skills/development/typescript-best-practices/index.yaml +28 -0
  220. package/templates/skills/development/vercel-deploy/SKILL.md +73 -0
  221. package/templates/skills/development/vercel-deploy/index.yaml +30 -0
  222. package/templates/skills/development/web-design-guidelines/SKILL.md +117 -0
  223. package/templates/skills/development/web-design-guidelines/index.yaml +34 -0
  224. package/templates/skills/index.yaml +129 -0
  225. package/templates/skills/infrastructure/aws-best-practices/SKILL.md +279 -0
  226. package/templates/skills/infrastructure/aws-best-practices/index.yaml +27 -0
  227. package/templates/skills/infrastructure/docker-best-practices/SKILL.md +274 -0
  228. package/templates/skills/infrastructure/docker-best-practices/index.yaml +26 -0
  229. package/templates/skills/orchestration/intent-detection/SKILL.md +214 -0
  230. package/templates/skills/orchestration/intent-detection/index.yaml +30 -0
  231. package/templates/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +333 -0
  232. package/templates/skills/orchestration/pipeline-execution/SKILL.md +188 -0
  233. package/templates/skills/orchestration/pipeline-execution/index.yaml +27 -0
  234. package/templates/skills/system/memory-management/SKILL.md +194 -0
  235. package/templates/skills/system/memory-management/index.yaml +30 -0
  236. package/templates/skills/system/result-aggregation/SKILL.md +163 -0
  237. package/templates/skills/system/result-aggregation/index.yaml +36 -0
@@ -0,0 +1,219 @@
1
+ # TypeScript Type System
2
+
3
+ > Reference for TypeScript type fundamentals
4
+
5
+ ## Basic Types
6
+
7
+ ```typescript
8
+ // Primitives
9
+ const name: string = 'TypeScript';
10
+ const version: number = 5.0;
11
+ const isActive: boolean = true;
12
+
13
+ // Arrays
14
+ const numbers: number[] = [1, 2, 3];
15
+ const items: Array<string> = ['a', 'b', 'c'];
16
+
17
+ // Tuples
18
+ const pair: [string, number] = ['key', 42];
19
+
20
+ // Enums
21
+ enum Status {
22
+ Pending = 'pending',
23
+ Active = 'active',
24
+ Completed = 'completed',
25
+ }
26
+
27
+ // Any and Unknown
28
+ const flexible: any = 'anything';
29
+ const safe: unknown = 'must narrow';
30
+
31
+ // Void and Never
32
+ function log(message: string): void {
33
+ console.log(message);
34
+ }
35
+
36
+ function fail(message: string): never {
37
+ throw new Error(message);
38
+ }
39
+ ```
40
+
41
+ ## Interfaces
42
+
43
+ ```typescript
44
+ interface User {
45
+ readonly id: string;
46
+ name: string;
47
+ email: string;
48
+ age?: number; // optional
49
+ }
50
+
51
+ // Extending interfaces
52
+ interface Admin extends User {
53
+ permissions: string[];
54
+ }
55
+
56
+ // Implementing interfaces
57
+ class UserImpl implements User {
58
+ readonly id: string;
59
+ name: string;
60
+ email: string;
61
+
62
+ constructor(id: string, name: string, email: string) {
63
+ this.id = id;
64
+ this.name = name;
65
+ this.email = email;
66
+ }
67
+ }
68
+ ```
69
+
70
+ ## Type Aliases
71
+
72
+ ```typescript
73
+ // Union types
74
+ type Status = 'pending' | 'active' | 'completed';
75
+
76
+ // Intersection types
77
+ type Employee = User & { department: string };
78
+
79
+ // Function types
80
+ type Handler = (event: Event) => void;
81
+
82
+ // Object types
83
+ type Point = {
84
+ x: number;
85
+ y: number;
86
+ };
87
+ ```
88
+
89
+ ## Generics
90
+
91
+ ```typescript
92
+ // Generic function
93
+ function identity<T>(arg: T): T {
94
+ return arg;
95
+ }
96
+
97
+ // Generic interface
98
+ interface Container<T> {
99
+ value: T;
100
+ getValue(): T;
101
+ }
102
+
103
+ // Generic class
104
+ class Box<T> {
105
+ private content: T;
106
+
107
+ constructor(content: T) {
108
+ this.content = content;
109
+ }
110
+
111
+ getContent(): T {
112
+ return this.content;
113
+ }
114
+ }
115
+
116
+ // Generic constraints
117
+ function getLength<T extends { length: number }>(item: T): number {
118
+ return item.length;
119
+ }
120
+
121
+ // Default type parameters
122
+ function createArray<T = string>(length: number, value: T): T[] {
123
+ return Array(length).fill(value);
124
+ }
125
+ ```
126
+
127
+ ## Type Guards
128
+
129
+ ```typescript
130
+ // typeof guard
131
+ function processValue(value: string | number) {
132
+ if (typeof value === 'string') {
133
+ console.log(value.toUpperCase());
134
+ } else {
135
+ console.log(value.toFixed(2));
136
+ }
137
+ }
138
+
139
+ // instanceof guard
140
+ function handleError(error: unknown) {
141
+ if (error instanceof Error) {
142
+ console.log(error.message);
143
+ }
144
+ }
145
+
146
+ // Custom type guard
147
+ function isUser(obj: unknown): obj is User {
148
+ return (
149
+ typeof obj === 'object' &&
150
+ obj !== null &&
151
+ 'id' in obj &&
152
+ 'name' in obj
153
+ );
154
+ }
155
+
156
+ // in operator
157
+ function processShape(shape: Circle | Square) {
158
+ if ('radius' in shape) {
159
+ console.log('Circle with radius:', shape.radius);
160
+ } else {
161
+ console.log('Square with side:', shape.side);
162
+ }
163
+ }
164
+ ```
165
+
166
+ ## Literal Types
167
+
168
+ ```typescript
169
+ // String literals
170
+ type Direction = 'north' | 'south' | 'east' | 'west';
171
+
172
+ // Numeric literals
173
+ type DiceRoll = 1 | 2 | 3 | 4 | 5 | 6;
174
+
175
+ // Boolean literal
176
+ type Success = true;
177
+
178
+ // Template literal types
179
+ type EventName = `on${Capitalize<string>}`;
180
+ type OnClick = `on${'Click' | 'Hover'}`;
181
+ ```
182
+
183
+ ## Type Assertions
184
+
185
+ ```typescript
186
+ // as syntax (preferred)
187
+ const input = document.getElementById('input') as HTMLInputElement;
188
+
189
+ // Angle bracket syntax
190
+ const input2 = <HTMLInputElement>document.getElementById('input');
191
+
192
+ // Non-null assertion
193
+ const element = document.getElementById('root')!;
194
+
195
+ // const assertion
196
+ const config = {
197
+ endpoint: '/api',
198
+ timeout: 5000,
199
+ } as const;
200
+ ```
201
+
202
+ ## Nullability
203
+
204
+ ```typescript
205
+ // Optional property
206
+ interface User {
207
+ name: string;
208
+ email?: string;
209
+ }
210
+
211
+ // Optional chaining
212
+ const email = user?.email?.toLowerCase();
213
+
214
+ // Nullish coalescing
215
+ const displayName = user.nickname ?? user.name;
216
+
217
+ // Non-null assertion
218
+ const element = document.getElementById('root')!;
219
+ ```
@@ -0,0 +1,66 @@
1
+ # Accessibility Best Practices
2
+
3
+ > Reference guide for web-design-guidelines skill
4
+
5
+ ## Core Principles
6
+
7
+ ### WCAG 2.1 Compliance
8
+ ```
9
+ Level A: Minimum accessibility
10
+ Level AA: Standard compliance (recommended)
11
+ Level AAA: Enhanced accessibility
12
+ ```
13
+
14
+ ### POUR Principles
15
+ ```
16
+ Perceivable: Content available to senses
17
+ Operable: Interface navigable
18
+ Understandable: Clear and predictable
19
+ Robust: Works across technologies
20
+ ```
21
+
22
+ ## Quick Reference
23
+
24
+ ### Color Contrast
25
+ ```
26
+ Normal text: 4.5:1 minimum
27
+ Large text: 3:1 minimum
28
+ UI components: 3:1 minimum
29
+ ```
30
+
31
+ ### Keyboard Navigation
32
+ ```
33
+ Tab: Move forward
34
+ Shift+Tab: Move backward
35
+ Enter/Space: Activate
36
+ Escape: Close/Cancel
37
+ Arrow keys: Navigate within component
38
+ ```
39
+
40
+ ### ARIA Landmarks
41
+ ```html
42
+ <header role="banner">
43
+ <nav role="navigation">
44
+ <main role="main">
45
+ <aside role="complementary">
46
+ <footer role="contentinfo">
47
+ ```
48
+
49
+ ### Common ARIA Attributes
50
+ ```html
51
+ aria-label="Description"
52
+ aria-labelledby="element-id"
53
+ aria-describedby="description-id"
54
+ aria-hidden="true|false"
55
+ aria-expanded="true|false"
56
+ aria-selected="true|false"
57
+ aria-live="polite|assertive"
58
+ ```
59
+
60
+ ## Testing Tools
61
+
62
+ - axe DevTools
63
+ - WAVE
64
+ - Lighthouse
65
+ - VoiceOver (macOS)
66
+ - NVDA (Windows)
@@ -0,0 +1,20 @@
1
+ # Web Design Guide
2
+
3
+ metadata:
4
+ name: web-design
5
+ description: Web design best practices and accessibility reference
6
+
7
+ source:
8
+ type: external
9
+ origin: github
10
+ url: https://github.com/vercel-labs/agent-skills
11
+ related_skill: web-design-guidelines
12
+
13
+ documents:
14
+ - name: accessibility
15
+ title: Accessibility Best Practices
16
+ path: ./accessibility.md
17
+
18
+ - name: performance
19
+ title: Performance Guidelines
20
+ path: ./performance.md
@@ -0,0 +1,102 @@
1
+ # Performance Guidelines
2
+
3
+ > Reference guide for react-best-practices skill
4
+
5
+ ## Core Web Vitals
6
+
7
+ ### LCP (Largest Contentful Paint)
8
+ ```
9
+ Good: < 2.5s
10
+ Needs improvement: 2.5s - 4s
11
+ Poor: > 4s
12
+ ```
13
+
14
+ ### FID (First Input Delay)
15
+ ```
16
+ Good: < 100ms
17
+ Needs improvement: 100ms - 300ms
18
+ Poor: > 300ms
19
+ ```
20
+
21
+ ### CLS (Cumulative Layout Shift)
22
+ ```
23
+ Good: < 0.1
24
+ Needs improvement: 0.1 - 0.25
25
+ Poor: > 0.25
26
+ ```
27
+
28
+ ## Optimization Strategies
29
+
30
+ ### JavaScript
31
+ ```
32
+ - Code splitting
33
+ - Tree shaking
34
+ - Lazy loading
35
+ - Minimize main thread work
36
+ ```
37
+
38
+ ### Images
39
+ ```
40
+ - Modern formats (WebP, AVIF)
41
+ - Responsive images
42
+ - Lazy loading
43
+ - Proper sizing
44
+ ```
45
+
46
+ ### CSS
47
+ ```
48
+ - Critical CSS inline
49
+ - Defer non-critical
50
+ - Remove unused
51
+ - Minimize specificity
52
+ ```
53
+
54
+ ### Fonts
55
+ ```
56
+ - font-display: swap
57
+ - Preload critical fonts
58
+ - Subset fonts
59
+ - System font fallback
60
+ ```
61
+
62
+ ## Next.js Specific
63
+
64
+ ### Server Components
65
+ ```tsx
66
+ // Default: Server Component (no directive)
67
+ export default function Page() {
68
+ return <div>Server rendered</div>
69
+ }
70
+ ```
71
+
72
+ ### Client Components
73
+ ```tsx
74
+ 'use client'
75
+ // Only when needed for interactivity
76
+ export default function Button() {
77
+ return <button onClick={...}>Click</button>
78
+ }
79
+ ```
80
+
81
+ ### Data Fetching
82
+ ```tsx
83
+ // Server: fetch in component
84
+ async function Page() {
85
+ const data = await fetch(...)
86
+ return <div>{data}</div>
87
+ }
88
+
89
+ // Client: use SWR/React Query
90
+ 'use client'
91
+ function Component() {
92
+ const { data } = useSWR('/api/data', fetcher)
93
+ return <div>{data}</div>
94
+ }
95
+ ```
96
+
97
+ ## Measurement Tools
98
+
99
+ - Lighthouse
100
+ - WebPageTest
101
+ - Chrome DevTools Performance
102
+ - Next.js Analytics
@@ -0,0 +1,66 @@
1
+ # Code Review Pipeline
2
+ # Full code review workflow with language detection
3
+
4
+ name: code-review
5
+ description: Full code review workflow with automatic language detection
6
+
7
+ inputs:
8
+ - name: file_path
9
+ required: true
10
+ description: Path to the file to review
11
+
12
+ - name: focus
13
+ required: false
14
+ description: Focus area (style, security, performance, all)
15
+ default: all
16
+
17
+ steps:
18
+ # Step 1: Detect programming language
19
+ - id: detect_language
20
+ agent: secretary
21
+ action: detect_language
22
+ input:
23
+ file: "${file_path}"
24
+ output: language
25
+ description: Detect the programming language of the file
26
+
27
+ # Step 2: Code analysis by language expert
28
+ - id: analyze
29
+ agent: "${language}-expert"
30
+ action: analyze_code
31
+ input:
32
+ file: "${file_path}"
33
+ focus: "${focus}"
34
+ output: analysis
35
+ description: Analyze code using language-specific best practices
36
+
37
+ # Step 3: Security review
38
+ - id: security_check
39
+ agent: qa-lead
40
+ action: security_review
41
+ input:
42
+ file: "${file_path}"
43
+ findings: "${analysis}"
44
+ output: security
45
+ description: Check for security vulnerabilities
46
+ on_error: continue
47
+
48
+ # Step 4: Generate final report
49
+ - id: report
50
+ agent: documenter
51
+ action: generate_report
52
+ input:
53
+ file: "${file_path}"
54
+ language: "${language}"
55
+ analysis: "${analysis}"
56
+ security: "${security}"
57
+ output: report
58
+ description: Generate comprehensive review report
59
+
60
+ error_handling:
61
+ default: stop
62
+
63
+ metadata:
64
+ author: baekgom-agents
65
+ version: 1.0.0
66
+ tags: [code-review, quality, security]
@@ -0,0 +1,18 @@
1
+ # Baekgom Agents - Pipeline Registry
2
+
3
+ description: Registry of available pipelines for sequential workflows
4
+
5
+ pipelines:
6
+ - name: code-review
7
+ path: ./examples/code-review.yaml
8
+ description: Full code review workflow with language detection
9
+
10
+ templates:
11
+ - name: pipeline-template
12
+ path: ./templates/pipeline-template.yaml
13
+ description: Base template for creating new pipelines
14
+
15
+ usage:
16
+ run: "pipeline:run <name> --input key=value"
17
+ list: "pipeline:list"
18
+ create: "Use templates/pipeline-template.yaml as base"
@@ -0,0 +1,50 @@
1
+ # Pipeline Template
2
+ # Copy this file and customize for your workflow
3
+
4
+ name: my-pipeline
5
+ description: Describe what this pipeline does
6
+
7
+ # Define inputs that the pipeline accepts
8
+ inputs:
9
+ - name: input_name
10
+ required: true
11
+ description: What this input is for
12
+ default: null # Optional default value
13
+
14
+ # Define the sequential steps
15
+ steps:
16
+ # Step 1: First operation
17
+ - id: step_1
18
+ agent: agent-name # Which agent executes this step
19
+ action: action_name # What action to perform
20
+ input: # Input for this step
21
+ key: "${input_name}" # Reference to pipeline input
22
+ output: step_1_result # Variable name for this step's output
23
+
24
+ # Step 2: Uses output from step 1
25
+ - id: step_2
26
+ agent: another-agent
27
+ action: process
28
+ input:
29
+ data: "${step_1_result}" # Reference to step 1 output
30
+ output: step_2_result
31
+ on_error: continue # Optional: stop | continue | retry
32
+
33
+ # Step 3: Final aggregation
34
+ - id: final
35
+ agent: aggregator
36
+ action: summarize
37
+ input:
38
+ result_1: "${step_1_result}"
39
+ result_2: "${step_2_result}"
40
+ output: final_result
41
+
42
+ # Optional: Error handling configuration
43
+ error_handling:
44
+ default: stop
45
+
46
+ # Optional: Metadata
47
+ metadata:
48
+ author: your-name
49
+ version: 1.0.0
50
+ tags: [template, example]