@rotifer/playground 0.5.0-alpha.2 → 0.7.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 (316) hide show
  1. package/CHANGELOG.md +159 -15
  2. package/LICENSE +1 -1
  3. package/README.md +51 -23
  4. package/README.zh.md +54 -25
  5. package/dist/cloud/auth.d.ts +7 -1
  6. package/dist/cloud/auth.d.ts.map +1 -1
  7. package/dist/cloud/auth.js +65 -1
  8. package/dist/cloud/auth.js.map +1 -1
  9. package/dist/cloud/client.d.ts +4 -1
  10. package/dist/cloud/client.d.ts.map +1 -1
  11. package/dist/cloud/client.js +9 -2
  12. package/dist/cloud/client.js.map +1 -1
  13. package/dist/cloud/types.d.ts +3 -1
  14. package/dist/cloud/types.d.ts.map +1 -1
  15. package/dist/cloud/types.js.map +1 -1
  16. package/dist/commands/agent-create.d.ts.map +1 -1
  17. package/dist/commands/agent-create.js +66 -3
  18. package/dist/commands/agent-create.js.map +1 -1
  19. package/dist/commands/agent-run.d.ts.map +1 -1
  20. package/dist/commands/agent-run.js +296 -32
  21. package/dist/commands/agent-run.js.map +1 -1
  22. package/dist/commands/arena-submit.d.ts.map +1 -1
  23. package/dist/commands/arena-submit.js +45 -17
  24. package/dist/commands/arena-submit.js.map +1 -1
  25. package/dist/commands/compile.d.ts.map +1 -1
  26. package/dist/commands/compile.js +9 -3
  27. package/dist/commands/compile.js.map +1 -1
  28. package/dist/commands/init.d.ts.map +1 -1
  29. package/dist/commands/init.js +13 -3
  30. package/dist/commands/init.js.map +1 -1
  31. package/dist/commands/login.d.ts.map +1 -1
  32. package/dist/commands/login.js +23 -16
  33. package/dist/commands/login.js.map +1 -1
  34. package/dist/commands/network.js +4 -4
  35. package/dist/commands/network.js.map +1 -1
  36. package/dist/commands/publish.d.ts.map +1 -1
  37. package/dist/commands/publish.js +162 -44
  38. package/dist/commands/publish.js.map +1 -1
  39. package/dist/commands/test.d.ts.map +1 -1
  40. package/dist/commands/test.js +209 -23
  41. package/dist/commands/test.js.map +1 -1
  42. package/dist/commands/wrap.d.ts.map +1 -1
  43. package/dist/commands/wrap.js +17 -1
  44. package/dist/commands/wrap.js.map +1 -1
  45. package/dist/index.js +0 -0
  46. package/dist/runtime/network-gateway.d.ts +53 -0
  47. package/dist/runtime/network-gateway.d.ts.map +1 -0
  48. package/dist/runtime/network-gateway.js +147 -0
  49. package/dist/runtime/network-gateway.js.map +1 -0
  50. package/dist/utils/binding.d.ts +25 -0
  51. package/dist/utils/binding.d.ts.map +1 -1
  52. package/dist/utils/binding.js.map +1 -1
  53. package/dist/utils/open-browser.d.ts +10 -0
  54. package/dist/utils/open-browser.d.ts.map +1 -0
  55. package/dist/utils/open-browser.js +23 -0
  56. package/dist/utils/open-browser.js.map +1 -0
  57. package/genes/academic-writer/.cloud-manifest.json +6 -0
  58. package/genes/academic-writer/.gene-manifest.json +8 -0
  59. package/genes/academic-writer/SKILL.md +274 -0
  60. package/genes/academic-writer/phenotype.json +28 -0
  61. package/genes/ai-components/.cloud-manifest.json +6 -0
  62. package/genes/ai-components/.gene-manifest.json +8 -0
  63. package/genes/ai-components/SKILL.md +381 -0
  64. package/genes/ai-components/phenotype.json +28 -0
  65. package/genes/algorithmic-art/.cloud-manifest.json +6 -0
  66. package/genes/algorithmic-art/.gene-manifest.json +8 -0
  67. package/genes/algorithmic-art/SKILL.md +405 -0
  68. package/genes/algorithmic-art/phenotype.json +28 -0
  69. package/genes/answer-synthesizer/.cloud-manifest.json +6 -0
  70. package/genes/answer-synthesizer/index.ts +194 -0
  71. package/genes/answer-synthesizer/phenotype.json +61 -0
  72. package/genes/api-designer/.cloud-manifest.json +6 -0
  73. package/genes/api-designer/.gene-manifest.json +8 -0
  74. package/genes/api-designer/SKILL.md +456 -0
  75. package/genes/api-designer/phenotype.json +28 -0
  76. package/genes/auto-coder/.cloud-manifest.json +6 -0
  77. package/genes/auto-coder/.gene-manifest.json +8 -0
  78. package/genes/auto-coder/SKILL.md +400 -0
  79. package/genes/auto-coder/phenotype.json +28 -0
  80. package/genes/auto-writer/.cloud-manifest.json +6 -0
  81. package/genes/auto-writer/.gene-manifest.json +8 -0
  82. package/genes/auto-writer/SKILL.md +361 -0
  83. package/genes/auto-writer/phenotype.json +28 -0
  84. package/genes/brand-personality/.cloud-manifest.json +6 -0
  85. package/genes/brand-personality/.gene-manifest.json +8 -0
  86. package/genes/brand-personality/SKILL.md +549 -0
  87. package/genes/brand-personality/phenotype.json +28 -0
  88. package/genes/business-writer/.cloud-manifest.json +6 -0
  89. package/genes/business-writer/.gene-manifest.json +8 -0
  90. package/genes/business-writer/SKILL.md +448 -0
  91. package/genes/business-writer/phenotype.json +28 -0
  92. package/genes/citation-manager/.cloud-manifest.json +6 -0
  93. package/genes/citation-manager/.gene-manifest.json +8 -0
  94. package/genes/citation-manager/SKILL.md +279 -0
  95. package/genes/citation-manager/index.ts +162 -0
  96. package/genes/citation-manager/package.json +1 -0
  97. package/genes/citation-manager/phenotype.json +50 -0
  98. package/genes/code-complexity/.cloud-manifest.json +6 -0
  99. package/genes/code-complexity/README.md +35 -0
  100. package/genes/code-complexity/index.ts +101 -0
  101. package/genes/code-complexity/phenotype.json +34 -0
  102. package/genes/copywriter/.cloud-manifest.json +6 -0
  103. package/genes/copywriter/.gene-manifest.json +8 -0
  104. package/genes/copywriter/SKILL.md +329 -0
  105. package/genes/copywriter/phenotype.json +28 -0
  106. package/genes/creative-writer/.cloud-manifest.json +6 -0
  107. package/genes/creative-writer/.gene-manifest.json +8 -0
  108. package/genes/creative-writer/SKILL.md +356 -0
  109. package/genes/creative-writer/phenotype.json +28 -0
  110. package/genes/data-modeler/.cloud-manifest.json +6 -0
  111. package/genes/data-modeler/.gene-manifest.json +8 -0
  112. package/genes/data-modeler/SKILL.md +486 -0
  113. package/genes/data-modeler/phenotype.json +28 -0
  114. package/genes/debugger/.cloud-manifest.json +6 -0
  115. package/genes/debugger/.gene-manifest.json +8 -0
  116. package/genes/debugger/SKILL.md +416 -0
  117. package/genes/debugger/phenotype.json +28 -0
  118. package/genes/design-tokens/.cloud-manifest.json +6 -0
  119. package/genes/design-tokens/.gene-manifest.json +8 -0
  120. package/genes/design-tokens/SKILL.md +222 -0
  121. package/genes/design-tokens/index.ts +128 -0
  122. package/genes/design-tokens/package.json +1 -0
  123. package/genes/design-tokens/phenotype.json +1 -0
  124. package/genes/devops-automator/.cloud-manifest.json +6 -0
  125. package/genes/devops-automator/.gene-manifest.json +8 -0
  126. package/genes/devops-automator/SKILL.md +490 -0
  127. package/genes/devops-automator/phenotype.json +28 -0
  128. package/genes/doc-coauthoring/.cloud-manifest.json +6 -0
  129. package/genes/doc-coauthoring/.gene-manifest.json +8 -0
  130. package/genes/doc-coauthoring/SKILL.md +375 -0
  131. package/genes/doc-coauthoring/phenotype.json +28 -0
  132. package/genes/doc-retrieval/.cloud-manifest.json +6 -0
  133. package/genes/doc-retrieval/index.ts +134 -0
  134. package/genes/doc-retrieval/phenotype.json +54 -0
  135. package/genes/docs-writer/.cloud-manifest.json +6 -0
  136. package/genes/docs-writer/.gene-manifest.json +8 -0
  137. package/genes/docs-writer/SKILL.md +492 -0
  138. package/genes/docs-writer/phenotype.json +28 -0
  139. package/genes/evolve-life/.cloud-manifest.json +6 -0
  140. package/genes/evolve-life/.compile-result.json +12 -0
  141. package/genes/evolve-life/README.md +52 -0
  142. package/genes/evolve-life/gene.ir.wasm +0 -0
  143. package/genes/evolve-life/gene.wasm +0 -0
  144. package/genes/evolve-life/index.ts +255 -0
  145. package/genes/evolve-life/phenotype.json +129 -0
  146. package/genes/evolve-life-bitwise/.cloud-manifest.json +6 -0
  147. package/genes/evolve-life-bitwise/.compile-result.json +12 -0
  148. package/genes/evolve-life-bitwise/gene.ir.wasm +0 -0
  149. package/genes/evolve-life-bitwise/gene.wasm +0 -0
  150. package/genes/evolve-life-bitwise/index.ts +273 -0
  151. package/genes/evolve-life-bitwise/phenotype.json +129 -0
  152. package/genes/evolve-life-sparse/.cloud-manifest.json +6 -0
  153. package/genes/evolve-life-sparse/.compile-result.json +12 -0
  154. package/genes/evolve-life-sparse/gene.ir.wasm +0 -0
  155. package/genes/evolve-life-sparse/gene.wasm +0 -0
  156. package/genes/evolve-life-sparse/index.ts +236 -0
  157. package/genes/evolve-life-sparse/phenotype.json +129 -0
  158. package/genes/fact-checker/.cloud-manifest.json +6 -0
  159. package/genes/fact-checker/.gene-manifest.json +8 -0
  160. package/genes/fact-checker/SKILL.md +373 -0
  161. package/genes/fact-checker/phenotype.json +28 -0
  162. package/genes/genesis-code-format/.cloud-manifest.json +6 -0
  163. package/genes/genesis-code-format/package.json +1 -0
  164. package/genes/genesis-code-format/phenotype.json +1 -0
  165. package/genes/genesis-file-read/.cloud-manifest.json +6 -0
  166. package/genes/genesis-file-read/index.ts +11 -1
  167. package/genes/genesis-file-read/package.json +1 -0
  168. package/genes/genesis-file-read/phenotype.json +1 -0
  169. package/genes/genesis-l0-constraint/.cloud-manifest.json +6 -0
  170. package/genes/genesis-l0-constraint/package.json +1 -0
  171. package/genes/genesis-l0-constraint/phenotype.json +1 -0
  172. package/genes/genesis-web-search/.cloud-manifest.json +2 -2
  173. package/genes/genesis-web-search/package.json +1 -0
  174. package/genes/genesis-web-search/phenotype.json +1 -0
  175. package/genes/genesis-web-search-lite/.cloud-manifest.json +6 -0
  176. package/genes/genesis-web-search-lite/package.json +1 -0
  177. package/genes/genesis-web-search-lite/phenotype.json +1 -0
  178. package/genes/git-workflow/.cloud-manifest.json +6 -0
  179. package/genes/git-workflow/.gene-manifest.json +8 -0
  180. package/genes/git-workflow/SKILL.md +407 -0
  181. package/genes/git-workflow/phenotype.json +28 -0
  182. package/genes/grammar-checker/.cloud-manifest.json +6 -0
  183. package/genes/grammar-checker/.gene-manifest.json +8 -0
  184. package/genes/grammar-checker/SKILL.md +194 -0
  185. package/genes/grammar-checker/index.ts +168 -0
  186. package/genes/grammar-checker/package.json +1 -0
  187. package/genes/grammar-checker/phenotype.json +52 -0
  188. package/genes/json-validator/.cloud-manifest.json +6 -0
  189. package/genes/json-validator/README.md +42 -0
  190. package/genes/json-validator/index.ts +112 -0
  191. package/genes/json-validator/phenotype.json +42 -0
  192. package/genes/license-advisor/.cloud-manifest.json +6 -0
  193. package/genes/license-advisor/.gene-manifest.json +8 -0
  194. package/genes/license-advisor/SKILL.md +117 -0
  195. package/genes/license-advisor/phenotype.json +28 -0
  196. package/genes/logic-architect/.cloud-manifest.json +6 -0
  197. package/genes/logic-architect/.gene-manifest.json +8 -0
  198. package/genes/logic-architect/SKILL.md +451 -0
  199. package/genes/logic-architect/phenotype.json +28 -0
  200. package/genes/markdown-formatter/.cloud-manifest.json +6 -0
  201. package/genes/markdown-formatter/README.md +34 -0
  202. package/genes/markdown-formatter/index.ts +86 -0
  203. package/genes/markdown-formatter/phenotype.json +32 -0
  204. package/genes/orch/.cloud-manifest.json +6 -0
  205. package/genes/orch/.gene-manifest.json +8 -0
  206. package/genes/orch/SKILL.md +504 -0
  207. package/genes/orch/phenotype.json +28 -0
  208. package/genes/particle-barneshut/.cloud-manifest.json +6 -0
  209. package/genes/particle-barneshut/.compile-result.json +12 -0
  210. package/genes/particle-barneshut/README.md +55 -0
  211. package/genes/particle-barneshut/gene.ir.wasm +0 -0
  212. package/genes/particle-barneshut/gene.wasm +0 -0
  213. package/genes/particle-barneshut/index.ts +486 -0
  214. package/genes/particle-barneshut/phenotype.json +137 -0
  215. package/genes/particle-brute/.cloud-manifest.json +6 -0
  216. package/genes/particle-brute/.compile-result.json +12 -0
  217. package/genes/particle-brute/README.md +55 -0
  218. package/genes/particle-brute/gene.ir.wasm +0 -0
  219. package/genes/particle-brute/gene.wasm +0 -0
  220. package/genes/particle-brute/index.ts +277 -0
  221. package/genes/particle-brute/phenotype.json +137 -0
  222. package/genes/particle-spatial/.cloud-manifest.json +6 -0
  223. package/genes/particle-spatial/.compile-result.json +12 -0
  224. package/genes/particle-spatial/README.md +53 -0
  225. package/genes/particle-spatial/gene.ir.wasm +0 -0
  226. package/genes/particle-spatial/gene.wasm +0 -0
  227. package/genes/particle-spatial/index.ts +352 -0
  228. package/genes/particle-spatial/phenotype.json +137 -0
  229. package/genes/performance-optimizer/.cloud-manifest.json +6 -0
  230. package/genes/performance-optimizer/.gene-manifest.json +8 -0
  231. package/genes/performance-optimizer/SKILL.md +480 -0
  232. package/genes/performance-optimizer/phenotype.json +28 -0
  233. package/genes/plagiarism-checker/.cloud-manifest.json +6 -0
  234. package/genes/plagiarism-checker/.gene-manifest.json +8 -0
  235. package/genes/plagiarism-checker/SKILL.md +342 -0
  236. package/genes/plagiarism-checker/phenotype.json +28 -0
  237. package/genes/product-manager/.cloud-manifest.json +6 -0
  238. package/genes/product-manager/.gene-manifest.json +8 -0
  239. package/genes/product-manager/SKILL.md +249 -0
  240. package/genes/product-manager/phenotype.json +28 -0
  241. package/genes/project-reviewer/.cloud-manifest.json +6 -0
  242. package/genes/project-reviewer/.gene-manifest.json +8 -0
  243. package/genes/project-reviewer/SKILL.md +312 -0
  244. package/genes/project-reviewer/phenotype.json +28 -0
  245. package/genes/prompt-engineer/.cloud-manifest.json +6 -0
  246. package/genes/prompt-engineer/.gene-manifest.json +8 -0
  247. package/genes/prompt-engineer/SKILL.md +411 -0
  248. package/genes/prompt-engineer/phenotype.json +28 -0
  249. package/genes/readability-analyzer/.cloud-manifest.json +6 -0
  250. package/genes/readability-analyzer/.gene-manifest.json +8 -0
  251. package/genes/readability-analyzer/SKILL.md +357 -0
  252. package/genes/readability-analyzer/index.ts +123 -0
  253. package/genes/readability-analyzer/package.json +1 -0
  254. package/genes/readability-analyzer/phenotype.json +35 -0
  255. package/genes/rotifer-protocol/SKILL.md +121 -0
  256. package/genes/security-auditor/.cloud-manifest.json +6 -0
  257. package/genes/security-auditor/.gene-manifest.json +8 -0
  258. package/genes/security-auditor/SKILL.md +494 -0
  259. package/genes/security-auditor/phenotype.json +28 -0
  260. package/genes/seo-optimizer/.cloud-manifest.json +6 -0
  261. package/genes/seo-optimizer/.gene-manifest.json +8 -0
  262. package/genes/seo-optimizer/SKILL.md +327 -0
  263. package/genes/seo-optimizer/index.ts +206 -0
  264. package/genes/seo-optimizer/package.json +1 -0
  265. package/genes/seo-optimizer/phenotype.json +1 -0
  266. package/genes/source-linker/.cloud-manifest.json +6 -0
  267. package/genes/source-linker/index.ts +88 -0
  268. package/genes/source-linker/phenotype.json +45 -0
  269. package/genes/style-optimizer/.cloud-manifest.json +6 -0
  270. package/genes/style-optimizer/.gene-manifest.json +8 -0
  271. package/genes/style-optimizer/SKILL.md +285 -0
  272. package/genes/style-optimizer/phenotype.json +28 -0
  273. package/genes/tech-lead/.cloud-manifest.json +6 -0
  274. package/genes/tech-lead/.gene-manifest.json +8 -0
  275. package/genes/tech-lead/SKILL.md +451 -0
  276. package/genes/tech-lead/phenotype.json +28 -0
  277. package/genes/test-wrap/.cloud-manifest.json +6 -0
  278. package/genes/test-wrap/.gene-manifest.json +8 -0
  279. package/genes/test-wrap/phenotype.json +28 -0
  280. package/genes/testing-strategist/.cloud-manifest.json +6 -0
  281. package/genes/testing-strategist/.gene-manifest.json +8 -0
  282. package/genes/testing-strategist/SKILL.md +500 -0
  283. package/genes/testing-strategist/phenotype.json +28 -0
  284. package/genes/text-summarizer/.cloud-manifest.json +6 -0
  285. package/genes/text-summarizer/README.md +34 -0
  286. package/genes/text-summarizer/index.ts +122 -0
  287. package/genes/text-summarizer/phenotype.json +32 -0
  288. package/genes/tone-analyzer/.cloud-manifest.json +6 -0
  289. package/genes/tone-analyzer/.gene-manifest.json +8 -0
  290. package/genes/tone-analyzer/SKILL.md +410 -0
  291. package/genes/tone-analyzer/phenotype.json +28 -0
  292. package/genes/translator/.cloud-manifest.json +6 -0
  293. package/genes/translator/.gene-manifest.json +8 -0
  294. package/genes/translator/SKILL.md +355 -0
  295. package/genes/translator/phenotype.json +28 -0
  296. package/genes/ui-components/.cloud-manifest.json +6 -0
  297. package/genes/ui-components/.gene-manifest.json +8 -0
  298. package/genes/ui-components/SKILL.md +467 -0
  299. package/genes/ui-components/phenotype.json +28 -0
  300. package/genes/uiux-designer/.cloud-manifest.json +6 -0
  301. package/genes/uiux-designer/.gene-manifest.json +8 -0
  302. package/genes/uiux-designer/SKILL.md +353 -0
  303. package/genes/uiux-designer/phenotype.json +28 -0
  304. package/genes/url-extractor/.cloud-manifest.json +6 -0
  305. package/genes/url-extractor/README.md +37 -0
  306. package/genes/url-extractor/index.ts +86 -0
  307. package/genes/url-extractor/phenotype.json +48 -0
  308. package/genes/ux-patterns/.cloud-manifest.json +6 -0
  309. package/genes/ux-patterns/.gene-manifest.json +8 -0
  310. package/genes/ux-patterns/SKILL.md +872 -0
  311. package/genes/ux-patterns/phenotype.json +28 -0
  312. package/genes/web3-components/.cloud-manifest.json +6 -0
  313. package/genes/web3-components/.gene-manifest.json +8 -0
  314. package/genes/web3-components/SKILL.md +390 -0
  315. package/genes/web3-components/phenotype.json +28 -0
  316. package/package.json +6 -5
@@ -0,0 +1,357 @@
1
+ ---
2
+ name: readability-analyzer
3
+ description: Analyze and improve content readability. Evaluate sentence complexity, word choice, and overall accessibility. Use when ensuring content is appropriate for target audience reading level.
4
+ ---
5
+
6
+ # Readability Analyzer
7
+
8
+ **Goal**: Analyze and improve content readability, ensuring text is easy to understand for the target audience.
9
+
10
+ ---
11
+
12
+ ## 1. Readability Metrics
13
+
14
+ ### Flesch Reading Ease
15
+
16
+ ```markdown
17
+ ## Formula
18
+
19
+ FRE = 206.835 - 1.015 × (total words / total sentences) - 84.6 × (total syllables / total words)
20
+
21
+ ## Score Interpretation
22
+
23
+ | Score | Difficulty | Grade Level | Example |
24
+ |-------|-----------|-------------|---------|
25
+ | 90-100 | Very easy | 5th grade | Children's books |
26
+ | 80-90 | Easy | 6th grade | Conversational |
27
+ | 70-80 | Fairly easy | 7th grade | Popular media |
28
+ | 60-70 | Standard | 8th-9th grade | Newspapers |
29
+ | 50-60 | Fairly difficult | 10th-12th grade | Academic |
30
+ | 30-50 | Difficult | College | Professional literature |
31
+ | 0-30 | Very difficult | Graduate+ | Legal documents |
32
+
33
+ ## Target Scores
34
+
35
+ - General audience: 60-70
36
+ - Business documents: 50-60
37
+ - Academic papers: 30-50
38
+ ```
39
+
40
+ ### Flesch-Kincaid Grade Level
41
+
42
+ ```markdown
43
+ ## Formula
44
+
45
+ FKGL = 0.39 × (total words / total sentences) + 11.8 × (total syllables / total words) - 15.59
46
+
47
+ ## Interpretation
48
+
49
+ The result represents the US grade level required to read the text.
50
+ Example: FKGL = 8.0 means 8th grade reading ability is needed.
51
+
52
+ ## Recommendations
53
+
54
+ - General audience: Grade 6-8
55
+ - Professional content: Grade 10-12
56
+ - Academic articles: Grade 12+
57
+ ```
58
+
59
+ ---
60
+
61
+ ## 2. Assessment Methods
62
+
63
+ ### Automated Analysis Tools
64
+
65
+ ```markdown
66
+ ## English Tools
67
+
68
+ | Tool | Features | Link |
69
+ |------|----------|------|
70
+ | Hemingway Editor | Simplicity analysis | hemingwayapp.com |
71
+ | Grammarly | Comprehensive analysis | grammarly.com |
72
+ | Readable | Detailed reports | readable.com |
73
+ | Yoast SEO | WordPress plugin | |
74
+
75
+ ## Manual Assessment
76
+
77
+ 1. Calculate average sentence length
78
+ 2. Count technical terms
79
+ 3. Evaluate structural clarity
80
+ 4. Have target readers review the text
81
+ ```
82
+
83
+ ### Assessment Report Template
84
+
85
+ ```markdown
86
+ ## Readability Analysis Report
87
+
88
+ ### Basic Statistics
89
+ - Total word count:
90
+ - Total sentence count:
91
+ - Total paragraph count:
92
+ - Average sentence length:
93
+ - Average paragraph length:
94
+
95
+ ### Metric Scores
96
+ - Flesch Reading Ease: /100
97
+ - Estimated grade level:
98
+ - Reading time: approx. X minutes
99
+
100
+ ### Issues Found
101
+ - Overly long sentences: X instances
102
+ - Complex vocabulary: X words
103
+ - Passive voice: X instances
104
+ - Long paragraphs: X instances
105
+
106
+ ### Recommendations
107
+ 1.
108
+ 2.
109
+ 3.
110
+ ```
111
+
112
+ ---
113
+
114
+ ## 3. Optimization Strategies
115
+
116
+ ### Sentence Optimization
117
+
118
+ ```markdown
119
+ ## Break Up Long Sentences
120
+
121
+ Before: Due to the rapid development of artificial intelligence technology in recent years, particularly the breakthrough progress in deep learning and natural language processing, machines have become increasingly capable of accurately understanding and generating human language, which has had a profound impact on traditional industries such as translation, customer service, and content creation.
122
+
123
+ After: Artificial intelligence has developed rapidly in recent years. Deep learning and NLP have achieved breakthrough progress. Machines can now understand and generate human language with increasing accuracy. This has profoundly impacted translation, customer service, and content creation.
124
+
125
+ ## Principles
126
+
127
+ - One idea per sentence
128
+ - Aim for 15-20 words per sentence in English
129
+ - Use short sentences for rhythm variation
130
+ ```
131
+
132
+ ### Vocabulary Simplification
133
+
134
+ ```markdown
135
+ ## Replace Complex Words
136
+
137
+ | Complex | Simple |
138
+ |---------|--------|
139
+ | utilize | use |
140
+ | implement | do / carry out |
141
+ | commence | start / begin |
142
+ | facilitate | help |
143
+ | demonstrate | show |
144
+
145
+ ## Explain Technical Terms
146
+
147
+ Bad: The system uses a RAG architecture.
148
+
149
+ Good: The system uses Retrieval-Augmented Generation (RAG) — it first retrieves relevant information, then generates answers based on those results.
150
+
151
+ ## Avoid Jargon Overload
152
+
153
+ Bad: Leverage AI-powered SaaS platform for B2B digital transformation...
154
+
155
+ Good: Use intelligent online software to help businesses go digital...
156
+ ```
157
+
158
+ ### Structure Optimization
159
+
160
+ ```markdown
161
+ ## Use Subheadings
162
+
163
+ Bad: Large blocks of plain text
164
+
165
+ Good:
166
+ ### Problem Background
167
+ [Short paragraph]
168
+
169
+ ### Solution
170
+ [Short paragraph]
171
+
172
+ ### Implementation Steps
173
+ [List]
174
+
175
+ ## Use Lists
176
+
177
+ Bad: We need to consider cost, time, quality, and risk factors.
178
+
179
+ Good: Consider the following factors:
180
+ - Cost
181
+ - Time
182
+ - Quality
183
+ - Risk
184
+
185
+ ## Use Transition Words
186
+
187
+ First... Next... Finally...
188
+ Therefore... However... Additionally...
189
+ ```
190
+
191
+ ---
192
+
193
+ ## 4. Audience Adaptation
194
+
195
+ ### Adjust by Audience
196
+
197
+ ```markdown
198
+ ## General Public
199
+
200
+ - Sentence length: < 20 words
201
+ - Technical terms: minimal
202
+ - Structure: simple and direct
203
+ - Examples: use frequently
204
+
205
+ ## Professionals
206
+
207
+ - Sentence length: moderate
208
+ - Technical terms: industry standard
209
+ - Structure: logical and rigorous
210
+ - Examples: precise
211
+
212
+ ## Academic Readers
213
+
214
+ - Sentence length: can be longer
215
+ - Technical terms: specialized and formal
216
+ - Structure: well-argued
217
+ - Citations: complete and proper
218
+ ```
219
+
220
+ ### Genre Adaptation
221
+
222
+ ```markdown
223
+ ## News/Media
224
+ - Flesch: 60-70
225
+ - Sentence length: 15-20 words
226
+ - Style: concise and objective
227
+
228
+ ## Business Documents
229
+ - Flesch: 50-60
230
+ - Sentence length: 18-22 words
231
+ - Style: professional and clear
232
+
233
+ ## Technical Documentation
234
+ - Flesch: 40-50
235
+ - Sentence length: 20-25 words
236
+ - Style: accurate and detailed
237
+
238
+ ## Academic Papers
239
+ - Flesch: 30-40
240
+ - Sentence length: 25-30 words
241
+ - Style: rigorous and formal
242
+ ```
243
+
244
+ ---
245
+
246
+ ## 5. Visual Readability
247
+
248
+ ### Typography Recommendations
249
+
250
+ ```markdown
251
+ ## Line Length
252
+
253
+ - Optimal: 45-75 characters per line
254
+ - Too long causes reading fatigue
255
+
256
+ ## Line Height
257
+
258
+ - Recommended: 1.5-2x line spacing
259
+ - Body text: 1.5x
260
+ - Headings: 1.2x
261
+
262
+ ## Paragraph Spacing
263
+
264
+ - Leave one blank line between paragraphs
265
+ - More space before subheadings
266
+
267
+ ## Font
268
+
269
+ - Body: sans-serif font
270
+ - Size: 14-16px
271
+ - Contrast: sufficient clarity
272
+ ```
273
+
274
+ ### Formatting Elements
275
+
276
+ ```markdown
277
+ ## Effective Use
278
+
279
+ - Bullet lists
280
+ - Numbered steps
281
+ - Comparison tables
282
+ - Code blocks
283
+ - Blockquotes
284
+ - Selective bold text
285
+
286
+ ## Avoid
287
+
288
+ - Bold everywhere
289
+ - Too many colors
290
+ - Mixed fonts
291
+ - Lack of whitespace
292
+ ```
293
+
294
+ ---
295
+
296
+ ## 6. Checklist
297
+
298
+ ```markdown
299
+ ## Readability Checklist
300
+
301
+ ### Sentence Level
302
+ - [ ] Average sentence length is moderate
303
+ - [ ] No overly long sentences (>40 words)
304
+ - [ ] Varied sentence structures
305
+ - [ ] Clear logic
306
+
307
+ ### Vocabulary Level
308
+ - [ ] Technical terms are explained
309
+ - [ ] Word choice is concise
310
+ - [ ] No obscure expressions
311
+ - [ ] Vocabulary suits the audience
312
+
313
+ ### Structure Level
314
+ - [ ] Subheadings used
315
+ - [ ] Paragraph length is moderate
316
+ - [ ] Logical hierarchy is clear
317
+ - [ ] Transitions connect ideas
318
+
319
+ ### Visual Level
320
+ - [ ] Clean layout
321
+ - [ ] Sufficient whitespace
322
+ - [ ] Consistent formatting
323
+ - [ ] Lists and tables used where appropriate
324
+ ```
325
+
326
+ ---
327
+
328
+ ## Quick Reference
329
+
330
+ ### Readability Quick Check
331
+
332
+ ```markdown
333
+ 1. Sentence > 40 words? → Split it
334
+ 2. Paragraph > 5 sentences? → Break it up
335
+ 3. Unexplained jargon? → Add explanation
336
+ 4. Long text wall? → Add subheadings
337
+ 5. Can content be listed? → Convert to list
338
+ ```
339
+
340
+ ### Target Scores by Context
341
+
342
+ | Context | Flesch Score | Avg Sentence Length |
343
+ |---------|-------------|---------------------|
344
+ | Social media | 70-80 | 10-15 words |
345
+ | Blog posts | 60-70 | 15-20 words |
346
+ | Business emails | 55-65 | 18-22 words |
347
+ | Technical docs | 45-55 | 20-25 words |
348
+ | Academic papers | 30-45 | 25-30 words |
349
+
350
+ ### Reading Time Estimation
351
+
352
+ ```markdown
353
+ English: approx. 200-250 words/minute
354
+
355
+ Formula:
356
+ Reading time = Total words / Reading speed
357
+ ```
@@ -0,0 +1,123 @@
1
+ interface ReadabilityInput {
2
+ text: string;
3
+ }
4
+
5
+ interface ReadabilityOutput {
6
+ fleschKincaid: number;
7
+ gradeLevel: number;
8
+ avgSentenceLength: number;
9
+ avgSyllablesPerWord: number;
10
+ wordCount: number;
11
+ sentenceCount: number;
12
+ complexWordRatio: number;
13
+ verdict: string;
14
+ }
15
+
16
+ function countSyllables(word: string): number {
17
+ word = word.toLowerCase().replace(/[^a-z]/g, "");
18
+ if (word.length <= 2) return 1;
19
+
20
+ const vowelGroups = word.match(/[aeiouy]+/g);
21
+ let count = vowelGroups ? vowelGroups.length : 1;
22
+
23
+ if (word.endsWith("e") && !word.endsWith("le") && count > 1) count--;
24
+ if (word.endsWith("ed") && count > 1) count--;
25
+ if (word.endsWith("es") && !word.endsWith("ses") && !word.endsWith("zes") && count > 1) count--;
26
+
27
+ return Math.max(count, 1);
28
+ }
29
+
30
+ function splitSentences(text: string): string[] {
31
+ return text
32
+ .split(/[.!?]+/)
33
+ .map((s) => s.trim())
34
+ .filter((s) => s.length > 0);
35
+ }
36
+
37
+ function splitWords(text: string): string[] {
38
+ return text
39
+ .split(/\s+/)
40
+ .map((w) => w.replace(/[^a-zA-Z'-]/g, ""))
41
+ .filter((w) => w.length > 0);
42
+ }
43
+
44
+ function getVerdict(score: number): string {
45
+ if (score >= 90) return "Very easy to read (5th grade)";
46
+ if (score >= 80) return "Easy to read (6th grade)";
47
+ if (score >= 70) return "Fairly easy to read (7th grade)";
48
+ if (score >= 60) return "Standard (8th-9th grade)";
49
+ if (score >= 50) return "Fairly difficult (10th-12th grade)";
50
+ if (score >= 30) return "Difficult (college level)";
51
+ return "Very difficult (graduate level)";
52
+ }
53
+
54
+ /**
55
+ * Readability Analyzer Gene
56
+ *
57
+ * Computes Flesch-Kincaid readability metrics for English text.
58
+ * Pure algorithmic implementation with no external dependencies.
59
+ */
60
+ export async function express(input: ReadabilityInput): Promise<ReadabilityOutput> {
61
+ const text = (input.text || "").trim();
62
+ if (!text) {
63
+ return {
64
+ fleschKincaid: 0,
65
+ gradeLevel: 0,
66
+ avgSentenceLength: 0,
67
+ avgSyllablesPerWord: 0,
68
+ wordCount: 0,
69
+ sentenceCount: 0,
70
+ complexWordRatio: 0,
71
+ verdict: "No text provided",
72
+ };
73
+ }
74
+
75
+ const sentences = splitSentences(text);
76
+ const words = splitWords(text);
77
+ const sentenceCount = Math.max(sentences.length, 1);
78
+ const wordCount = words.length;
79
+
80
+ if (wordCount === 0) {
81
+ return {
82
+ fleschKincaid: 0,
83
+ gradeLevel: 0,
84
+ avgSentenceLength: 0,
85
+ avgSyllablesPerWord: 0,
86
+ wordCount: 0,
87
+ sentenceCount: 0,
88
+ complexWordRatio: 0,
89
+ verdict: "No words found",
90
+ };
91
+ }
92
+
93
+ const syllableCounts = words.map(countSyllables);
94
+ const totalSyllables = syllableCounts.reduce((a, b) => a + b, 0);
95
+ const complexWords = syllableCounts.filter((s) => s >= 3).length;
96
+
97
+ const avgSentenceLength = wordCount / sentenceCount;
98
+ const avgSyllablesPerWord = totalSyllables / wordCount;
99
+ const complexWordRatio = complexWords / wordCount;
100
+
101
+ // Flesch-Kincaid Reading Ease: 206.835 - 1.015*(words/sentences) - 84.6*(syllables/words)
102
+ const fleschKincaid = Math.max(
103
+ 0,
104
+ Math.min(100, 206.835 - 1.015 * avgSentenceLength - 84.6 * avgSyllablesPerWord)
105
+ );
106
+
107
+ // Flesch-Kincaid Grade Level: 0.39*(words/sentences) + 11.8*(syllables/words) - 15.59
108
+ const gradeLevel = Math.max(
109
+ 0,
110
+ 0.39 * avgSentenceLength + 11.8 * avgSyllablesPerWord - 15.59
111
+ );
112
+
113
+ return {
114
+ fleschKincaid: Math.round(fleschKincaid * 100) / 100,
115
+ gradeLevel: Math.round(gradeLevel * 10) / 10,
116
+ avgSentenceLength: Math.round(avgSentenceLength * 10) / 10,
117
+ avgSyllablesPerWord: Math.round(avgSyllablesPerWord * 100) / 100,
118
+ wordCount,
119
+ sentenceCount,
120
+ complexWordRatio: Math.round(complexWordRatio * 1000) / 1000,
121
+ verdict: getVerdict(fleschKincaid),
122
+ };
123
+ }
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,35 @@
1
+ {
2
+ "domain": "content.readability",
3
+ "description": "Analyze and improve content readability. Evaluate sentence complexity, word choice, and overall accessibility. Use when ensuring content is appropriate for target audience reading level.",
4
+ "inputSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "text": {
8
+ "type": "string",
9
+ "description": "English text to analyze for readability"
10
+ }
11
+ },
12
+ "required": ["text"]
13
+ },
14
+ "outputSchema": {
15
+ "type": "object",
16
+ "properties": {
17
+ "fleschKincaid": { "type": "number", "description": "Flesch-Kincaid reading ease score (0-100)" },
18
+ "gradeLevel": { "type": "number", "description": "US grade level" },
19
+ "avgSentenceLength": { "type": "number", "description": "Average words per sentence" },
20
+ "avgSyllablesPerWord": { "type": "number", "description": "Average syllables per word" },
21
+ "wordCount": { "type": "number", "description": "Total word count" },
22
+ "sentenceCount": { "type": "number", "description": "Total sentence count" },
23
+ "complexWordRatio": { "type": "number", "description": "Ratio of words with 3+ syllables" },
24
+ "verdict": { "type": "string", "description": "Readability verdict (e.g. Easy to read, College level)" }
25
+ },
26
+ "required": ["fleschKincaid", "gradeLevel", "avgSentenceLength", "avgSyllablesPerWord", "wordCount", "sentenceCount", "complexWordRatio", "verdict"]
27
+ },
28
+ "dependencies": [],
29
+ "version": "0.2.0",
30
+ "author": "rotifer-team",
31
+ "createdAt": 1771939401147,
32
+ "fidelity": "Native",
33
+ "transparency": "Open",
34
+ "source": "skill"
35
+ }
@@ -0,0 +1,121 @@
1
+ ---
2
+ name: skill-to-gene
3
+ description: Turn your static AI skills into evolving Genes that compete, improve, and self-select in a live Arena. Use when the user wants smarter skills, self-improving agents, or mentions evolution, fitness, arena, gene, or rotifer.
4
+ ---
5
+
6
+ # Skill-to-Gene
7
+
8
+ Your skills are static. Genes evolve.
9
+
10
+ **Rotifer Protocol** upgrades AI agent capabilities from fixed skill files into **Genes** — executable units that compete in an Arena, rank by fitness, and get replaced when a better one appears. No manual maintenance. No stale tools.
11
+
12
+ ---
13
+
14
+ ## Why upgrade from Skills to Genes?
15
+
16
+ | | Skill | Gene |
17
+ |---|---|---|
18
+ | **Updates** | Manual — you edit, you push | Autonomous — Genes mutate and compete |
19
+ | **Quality** | Trust the author | Proven in Arena — fitness-ranked |
20
+ | **Redundancy** | Multiple skills doing the same thing | Arena selects the best, eliminates the rest |
21
+ | **Safety** | Hope for the best | L0 immutable constraint layer — cannot be bypassed |
22
+ | **Composition** | Copy-paste between skills | Algebraic: Seq / Par / Cond / Try operators |
23
+ | **Isolation** | Runs in your process | WASM sandbox — zero trust execution |
24
+
25
+ ---
26
+
27
+ ## Get started (30 seconds)
28
+
29
+ ```bash
30
+ npm install -g @rotifer/playground
31
+ rotifer init my-project && cd my-project
32
+ ```
33
+
34
+ You'll see a live Arena with 5 Genesis Genes ranked by fitness. No configuration needed.
35
+
36
+ ---
37
+
38
+ ## Convert any function into a Gene
39
+
40
+ ```bash
41
+ rotifer scan genes/ # Find candidate functions
42
+ rotifer wrap my-function # Wrap as a Gene
43
+ rotifer test my-function # Validate in WASM sandbox
44
+ rotifer arena submit my-function # Submit to Arena — let it compete
45
+ rotifer arena list # Watch the rankings
46
+ ```
47
+
48
+ ---
49
+
50
+ ## Write a Gene in TypeScript
51
+
52
+ ```typescript
53
+ // genes/my-search/index.ts
54
+ export function express(input: { query: string }) {
55
+ return { results: [`Found: ${input.query}`], total: 1 };
56
+ }
57
+ ```
58
+
59
+ ```bash
60
+ rotifer wrap my-search --domain search
61
+ rotifer compile my-search # TS → WASM automatically
62
+ rotifer arena submit my-search # Compete against existing search Genes
63
+ ```
64
+
65
+ ---
66
+
67
+ ## Browse & install community Genes
68
+
69
+ ```bash
70
+ rotifer search "code format" # Find Genes on Cloud
71
+ rotifer install <gene-id> # Install to your project
72
+ rotifer arena list # See how it ranks locally
73
+ ```
74
+
75
+ Browse: [rotifer.dev/genes](https://rotifer.dev/genes/)
76
+
77
+ ---
78
+
79
+ ## Compose Genes into Agents
80
+
81
+ ```bash
82
+ rotifer agent create search-bot --genes web-search formatter --composition Seq
83
+ rotifer agent create resilient --genes primary backup --composition Try
84
+ rotifer agent run search-bot --input '{"query":"hello"}'
85
+ ```
86
+
87
+ | Operator | What it does |
88
+ |----------|-------------|
89
+ | **Seq** | Pipeline: A → B → C |
90
+ | **Par** | Parallel: run all, merge results |
91
+ | **Cond** | Branch: pick Gene based on input |
92
+ | **Try** | Fallback: primary with recovery |
93
+
94
+ ---
95
+
96
+ ## Full CLI
97
+
98
+ | Command | Description |
99
+ |---------|-------------|
100
+ | `rotifer init` | Initialize project with Genesis Genes |
101
+ | `rotifer scan` | Find gene candidates in source code |
102
+ | `rotifer wrap` | Convert function to Gene |
103
+ | `rotifer test` | Test in WASM sandbox |
104
+ | `rotifer compile` | Compile TS → WASM → Rotifer IR |
105
+ | `rotifer arena submit` | Submit to Arena |
106
+ | `rotifer arena list` | View rankings |
107
+ | `rotifer publish` | Publish Gene to Cloud |
108
+ | `rotifer search` | Search Cloud registry |
109
+ | `rotifer install` | Install from Cloud |
110
+ | `rotifer agent create` | Build Agent from Genes |
111
+ | `rotifer agent run` | Execute Agent pipeline |
112
+
113
+ ---
114
+
115
+ ## Links
116
+
117
+ - [rotifer.dev](https://rotifer.dev) — Website
118
+ - [rotifer.dev/genes](https://rotifer.dev/genes/) — Gene Store
119
+ - [rotifer.dev/docs](https://rotifer.dev/docs/) — Documentation
120
+ - [GitLab](https://gitlab.com/rotifer-protocol/rotifer-playground) — Source
121
+ - [Discord](https://discord.gg/6d4JrfMr) — Community
@@ -0,0 +1,6 @@
1
+ {
2
+ "cloud_id": "686236d2-4ad0-4f82-9f42-065ef3c32d00",
3
+ "owner": "Rotifer Protocol",
4
+ "version": "0.1.0",
5
+ "published_at": "2026-03-17T14:13:35.542Z"
6
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "geneId": "e884a901d023c20d5693dec5005280d5376cafddb6213a94fc91f452239550ca",
3
+ "name": "security-auditor",
4
+ "domain": "code.security",
5
+ "fidelity": "Wrapped",
6
+ "wrappedAt": "2026-02-24T13:23:31.218Z",
7
+ "fromSkill": "../.cursor/skills/security-auditor/SKILL.md"
8
+ }