agent-recipes 0.0.5__py3-none-any.whl

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 (270) hide show
  1. agent_recipes/__init__.py +27 -0
  2. agent_recipes/recipe_runtime/__init__.py +28 -0
  3. agent_recipes/recipe_runtime/core.py +385 -0
  4. agent_recipes/templates/ai-ab-hook-tester/recipe.yaml +45 -0
  5. agent_recipes/templates/ai-ab-hook-tester/tools.py +169 -0
  6. agent_recipes/templates/ai-angle-generator/recipe.yaml +49 -0
  7. agent_recipes/templates/ai-angle-generator/tools.py +182 -0
  8. agent_recipes/templates/ai-api-doc-generator/README.md +59 -0
  9. agent_recipes/templates/ai-api-doc-generator/TEMPLATE.yaml +29 -0
  10. agent_recipes/templates/ai-api-tester/README.md +60 -0
  11. agent_recipes/templates/ai-api-tester/TEMPLATE.yaml +29 -0
  12. agent_recipes/templates/ai-audio-enhancer/README.md +59 -0
  13. agent_recipes/templates/ai-audio-enhancer/TEMPLATE.yaml +28 -0
  14. agent_recipes/templates/ai-audio-normalizer/README.md +13 -0
  15. agent_recipes/templates/ai-audio-normalizer/TEMPLATE.yaml +44 -0
  16. agent_recipes/templates/ai-audio-splitter/README.md +14 -0
  17. agent_recipes/templates/ai-audio-splitter/TEMPLATE.yaml +47 -0
  18. agent_recipes/templates/ai-background-music-generator/README.md +59 -0
  19. agent_recipes/templates/ai-background-music-generator/TEMPLATE.yaml +28 -0
  20. agent_recipes/templates/ai-background-remover/README.md +60 -0
  21. agent_recipes/templates/ai-background-remover/TEMPLATE.yaml +27 -0
  22. agent_recipes/templates/ai-barcode-scanner/README.md +60 -0
  23. agent_recipes/templates/ai-barcode-scanner/TEMPLATE.yaml +26 -0
  24. agent_recipes/templates/ai-blog-generator/README.md +59 -0
  25. agent_recipes/templates/ai-blog-generator/TEMPLATE.yaml +28 -0
  26. agent_recipes/templates/ai-brief-generator/recipe.yaml +52 -0
  27. agent_recipes/templates/ai-brief-generator/tools.py +231 -0
  28. agent_recipes/templates/ai-broll-builder/recipe.yaml +47 -0
  29. agent_recipes/templates/ai-broll-builder/tools.py +204 -0
  30. agent_recipes/templates/ai-calendar-scheduler/README.md +60 -0
  31. agent_recipes/templates/ai-calendar-scheduler/TEMPLATE.yaml +29 -0
  32. agent_recipes/templates/ai-changelog-generator/README.md +14 -0
  33. agent_recipes/templates/ai-changelog-generator/TEMPLATE.yaml +46 -0
  34. agent_recipes/templates/ai-chart-generator/README.md +61 -0
  35. agent_recipes/templates/ai-chart-generator/TEMPLATE.yaml +32 -0
  36. agent_recipes/templates/ai-code-documenter/README.md +12 -0
  37. agent_recipes/templates/ai-code-documenter/TEMPLATE.yaml +37 -0
  38. agent_recipes/templates/ai-code-refactorer/README.md +59 -0
  39. agent_recipes/templates/ai-code-refactorer/TEMPLATE.yaml +28 -0
  40. agent_recipes/templates/ai-code-reviewer/README.md +59 -0
  41. agent_recipes/templates/ai-code-reviewer/TEMPLATE.yaml +31 -0
  42. agent_recipes/templates/ai-color-palette-extractor/README.md +60 -0
  43. agent_recipes/templates/ai-color-palette-extractor/TEMPLATE.yaml +27 -0
  44. agent_recipes/templates/ai-comment-miner/recipe.yaml +40 -0
  45. agent_recipes/templates/ai-comment-miner/tools.py +141 -0
  46. agent_recipes/templates/ai-commit-message-generator/README.md +59 -0
  47. agent_recipes/templates/ai-commit-message-generator/TEMPLATE.yaml +31 -0
  48. agent_recipes/templates/ai-content-calendar/recipe.yaml +43 -0
  49. agent_recipes/templates/ai-content-calendar/tools.py +170 -0
  50. agent_recipes/templates/ai-context-enricher/recipe.yaml +48 -0
  51. agent_recipes/templates/ai-context-enricher/tools.py +258 -0
  52. agent_recipes/templates/ai-contract-analyzer/README.md +60 -0
  53. agent_recipes/templates/ai-contract-analyzer/TEMPLATE.yaml +34 -0
  54. agent_recipes/templates/ai-csv-cleaner/README.md +13 -0
  55. agent_recipes/templates/ai-csv-cleaner/TEMPLATE.yaml +45 -0
  56. agent_recipes/templates/ai-cta-generator/recipe.yaml +54 -0
  57. agent_recipes/templates/ai-cta-generator/tools.py +174 -0
  58. agent_recipes/templates/ai-daily-news-show/recipe.yaml +103 -0
  59. agent_recipes/templates/ai-daily-news-show/tools.py +308 -0
  60. agent_recipes/templates/ai-data-anonymizer/README.md +60 -0
  61. agent_recipes/templates/ai-data-anonymizer/TEMPLATE.yaml +31 -0
  62. agent_recipes/templates/ai-data-profiler/README.md +14 -0
  63. agent_recipes/templates/ai-data-profiler/TEMPLATE.yaml +42 -0
  64. agent_recipes/templates/ai-dependency-auditor/README.md +12 -0
  65. agent_recipes/templates/ai-dependency-auditor/TEMPLATE.yaml +37 -0
  66. agent_recipes/templates/ai-doc-translator/README.md +12 -0
  67. agent_recipes/templates/ai-doc-translator/TEMPLATE.yaml +41 -0
  68. agent_recipes/templates/ai-duplicate-finder/README.md +59 -0
  69. agent_recipes/templates/ai-duplicate-finder/TEMPLATE.yaml +28 -0
  70. agent_recipes/templates/ai-ebook-converter/README.md +60 -0
  71. agent_recipes/templates/ai-ebook-converter/TEMPLATE.yaml +27 -0
  72. agent_recipes/templates/ai-email-parser/README.md +59 -0
  73. agent_recipes/templates/ai-email-parser/TEMPLATE.yaml +29 -0
  74. agent_recipes/templates/ai-etl-pipeline/README.md +60 -0
  75. agent_recipes/templates/ai-etl-pipeline/TEMPLATE.yaml +30 -0
  76. agent_recipes/templates/ai-excel-formula-generator/README.md +59 -0
  77. agent_recipes/templates/ai-excel-formula-generator/TEMPLATE.yaml +28 -0
  78. agent_recipes/templates/ai-face-blur/README.md +60 -0
  79. agent_recipes/templates/ai-face-blur/TEMPLATE.yaml +28 -0
  80. agent_recipes/templates/ai-fact-checker/recipe.yaml +52 -0
  81. agent_recipes/templates/ai-fact-checker/tools.py +279 -0
  82. agent_recipes/templates/ai-faq-generator/README.md +59 -0
  83. agent_recipes/templates/ai-faq-generator/TEMPLATE.yaml +28 -0
  84. agent_recipes/templates/ai-file-organizer/README.md +59 -0
  85. agent_recipes/templates/ai-file-organizer/TEMPLATE.yaml +29 -0
  86. agent_recipes/templates/ai-folder-packager/README.md +15 -0
  87. agent_recipes/templates/ai-folder-packager/TEMPLATE.yaml +48 -0
  88. agent_recipes/templates/ai-form-filler/README.md +60 -0
  89. agent_recipes/templates/ai-form-filler/TEMPLATE.yaml +30 -0
  90. agent_recipes/templates/ai-hashtag-optimizer/recipe.yaml +45 -0
  91. agent_recipes/templates/ai-hashtag-optimizer/tools.py +134 -0
  92. agent_recipes/templates/ai-hook-generator/recipe.yaml +50 -0
  93. agent_recipes/templates/ai-hook-generator/tools.py +177 -0
  94. agent_recipes/templates/ai-image-captioner/README.md +59 -0
  95. agent_recipes/templates/ai-image-captioner/TEMPLATE.yaml +28 -0
  96. agent_recipes/templates/ai-image-cataloger/README.md +13 -0
  97. agent_recipes/templates/ai-image-cataloger/TEMPLATE.yaml +39 -0
  98. agent_recipes/templates/ai-image-optimizer/README.md +13 -0
  99. agent_recipes/templates/ai-image-optimizer/TEMPLATE.yaml +43 -0
  100. agent_recipes/templates/ai-image-resizer/README.md +12 -0
  101. agent_recipes/templates/ai-image-resizer/TEMPLATE.yaml +39 -0
  102. agent_recipes/templates/ai-image-tagger/README.md +59 -0
  103. agent_recipes/templates/ai-image-tagger/TEMPLATE.yaml +28 -0
  104. agent_recipes/templates/ai-image-upscaler/README.md +60 -0
  105. agent_recipes/templates/ai-image-upscaler/TEMPLATE.yaml +27 -0
  106. agent_recipes/templates/ai-invoice-processor/README.md +60 -0
  107. agent_recipes/templates/ai-invoice-processor/TEMPLATE.yaml +34 -0
  108. agent_recipes/templates/ai-json-to-csv/README.md +12 -0
  109. agent_recipes/templates/ai-json-to-csv/TEMPLATE.yaml +36 -0
  110. agent_recipes/templates/ai-log-analyzer/README.md +59 -0
  111. agent_recipes/templates/ai-log-analyzer/TEMPLATE.yaml +28 -0
  112. agent_recipes/templates/ai-markdown-to-pdf/README.md +12 -0
  113. agent_recipes/templates/ai-markdown-to-pdf/TEMPLATE.yaml +40 -0
  114. agent_recipes/templates/ai-meeting-summarizer/README.md +59 -0
  115. agent_recipes/templates/ai-meeting-summarizer/TEMPLATE.yaml +32 -0
  116. agent_recipes/templates/ai-meta-tag-generator/README.md +59 -0
  117. agent_recipes/templates/ai-meta-tag-generator/TEMPLATE.yaml +28 -0
  118. agent_recipes/templates/ai-news-capture-pack/recipe.yaml +42 -0
  119. agent_recipes/templates/ai-news-capture-pack/tools.py +150 -0
  120. agent_recipes/templates/ai-news-crawler/recipe.yaml +99 -0
  121. agent_recipes/templates/ai-news-crawler/tools.py +417 -0
  122. agent_recipes/templates/ai-news-deduper/recipe.yaml +47 -0
  123. agent_recipes/templates/ai-news-deduper/tools.py +235 -0
  124. agent_recipes/templates/ai-newsletter-generator/README.md +59 -0
  125. agent_recipes/templates/ai-newsletter-generator/TEMPLATE.yaml +28 -0
  126. agent_recipes/templates/ai-note-summarizer/README.md +59 -0
  127. agent_recipes/templates/ai-note-summarizer/TEMPLATE.yaml +28 -0
  128. agent_recipes/templates/ai-pdf-summarizer/README.md +12 -0
  129. agent_recipes/templates/ai-pdf-summarizer/TEMPLATE.yaml +40 -0
  130. agent_recipes/templates/ai-pdf-to-markdown/README.md +19 -0
  131. agent_recipes/templates/ai-pdf-to-markdown/TEMPLATE.yaml +63 -0
  132. agent_recipes/templates/ai-performance-analyzer/recipe.yaml +45 -0
  133. agent_recipes/templates/ai-performance-analyzer/tools.py +159 -0
  134. agent_recipes/templates/ai-podcast-cleaner/README.md +117 -0
  135. agent_recipes/templates/ai-podcast-cleaner/TEMPLATE.yaml +117 -0
  136. agent_recipes/templates/ai-podcast-cleaner/agents.yaml +59 -0
  137. agent_recipes/templates/ai-podcast-cleaner/workflow.yaml +77 -0
  138. agent_recipes/templates/ai-podcast-transcriber/README.md +59 -0
  139. agent_recipes/templates/ai-podcast-transcriber/TEMPLATE.yaml +32 -0
  140. agent_recipes/templates/ai-post-copy-generator/recipe.yaml +41 -0
  141. agent_recipes/templates/ai-post-copy-generator/tools.py +105 -0
  142. agent_recipes/templates/ai-product-description-generator/README.md +59 -0
  143. agent_recipes/templates/ai-product-description-generator/TEMPLATE.yaml +28 -0
  144. agent_recipes/templates/ai-publisher-pack/recipe.yaml +44 -0
  145. agent_recipes/templates/ai-publisher-pack/tools.py +252 -0
  146. agent_recipes/templates/ai-qr-code-generator/README.md +60 -0
  147. agent_recipes/templates/ai-qr-code-generator/TEMPLATE.yaml +26 -0
  148. agent_recipes/templates/ai-regex-generator/README.md +59 -0
  149. agent_recipes/templates/ai-regex-generator/TEMPLATE.yaml +28 -0
  150. agent_recipes/templates/ai-repo-readme/README.md +13 -0
  151. agent_recipes/templates/ai-repo-readme/TEMPLATE.yaml +42 -0
  152. agent_recipes/templates/ai-report-generator/README.md +61 -0
  153. agent_recipes/templates/ai-report-generator/TEMPLATE.yaml +32 -0
  154. agent_recipes/templates/ai-resume-parser/README.md +60 -0
  155. agent_recipes/templates/ai-resume-parser/TEMPLATE.yaml +33 -0
  156. agent_recipes/templates/ai-rss-aggregator/README.md +60 -0
  157. agent_recipes/templates/ai-rss-aggregator/TEMPLATE.yaml +30 -0
  158. agent_recipes/templates/ai-schema-generator/README.md +12 -0
  159. agent_recipes/templates/ai-schema-generator/TEMPLATE.yaml +34 -0
  160. agent_recipes/templates/ai-screen-recorder/recipe.yaml +43 -0
  161. agent_recipes/templates/ai-screen-recorder/tools.py +184 -0
  162. agent_recipes/templates/ai-screenshot-capture/recipe.yaml +45 -0
  163. agent_recipes/templates/ai-screenshot-capture/tools.py +231 -0
  164. agent_recipes/templates/ai-screenshot-ocr/README.md +12 -0
  165. agent_recipes/templates/ai-screenshot-ocr/TEMPLATE.yaml +37 -0
  166. agent_recipes/templates/ai-script-writer/recipe.yaml +58 -0
  167. agent_recipes/templates/ai-script-writer/tools.py +297 -0
  168. agent_recipes/templates/ai-sentiment-analyzer/README.md +59 -0
  169. agent_recipes/templates/ai-sentiment-analyzer/TEMPLATE.yaml +28 -0
  170. agent_recipes/templates/ai-seo-optimizer/README.md +59 -0
  171. agent_recipes/templates/ai-seo-optimizer/TEMPLATE.yaml +28 -0
  172. agent_recipes/templates/ai-signal-ranker/recipe.yaml +54 -0
  173. agent_recipes/templates/ai-signal-ranker/tools.py +256 -0
  174. agent_recipes/templates/ai-sitemap-generator/README.md +59 -0
  175. agent_recipes/templates/ai-sitemap-generator/TEMPLATE.yaml +26 -0
  176. agent_recipes/templates/ai-sitemap-scraper/README.md +13 -0
  177. agent_recipes/templates/ai-sitemap-scraper/TEMPLATE.yaml +41 -0
  178. agent_recipes/templates/ai-slide-generator/README.md +60 -0
  179. agent_recipes/templates/ai-slide-generator/TEMPLATE.yaml +29 -0
  180. agent_recipes/templates/ai-slide-to-notes/README.md +12 -0
  181. agent_recipes/templates/ai-slide-to-notes/TEMPLATE.yaml +37 -0
  182. agent_recipes/templates/ai-social-media-generator/README.md +59 -0
  183. agent_recipes/templates/ai-social-media-generator/TEMPLATE.yaml +28 -0
  184. agent_recipes/templates/ai-sql-generator/README.md +59 -0
  185. agent_recipes/templates/ai-sql-generator/TEMPLATE.yaml +28 -0
  186. agent_recipes/templates/ai-subtitle-generator/README.md +59 -0
  187. agent_recipes/templates/ai-subtitle-generator/TEMPLATE.yaml +31 -0
  188. agent_recipes/templates/ai-test-generator/README.md +59 -0
  189. agent_recipes/templates/ai-test-generator/TEMPLATE.yaml +28 -0
  190. agent_recipes/templates/ai-translation-batch/README.md +59 -0
  191. agent_recipes/templates/ai-translation-batch/TEMPLATE.yaml +28 -0
  192. agent_recipes/templates/ai-url-to-markdown/README.md +14 -0
  193. agent_recipes/templates/ai-url-to-markdown/TEMPLATE.yaml +44 -0
  194. agent_recipes/templates/ai-video-chapter-generator/README.md +59 -0
  195. agent_recipes/templates/ai-video-chapter-generator/TEMPLATE.yaml +32 -0
  196. agent_recipes/templates/ai-video-compressor/README.md +59 -0
  197. agent_recipes/templates/ai-video-compressor/TEMPLATE.yaml +28 -0
  198. agent_recipes/templates/ai-video-editor/README.md +254 -0
  199. agent_recipes/templates/ai-video-editor/TEMPLATE.yaml +139 -0
  200. agent_recipes/templates/ai-video-editor/agents.yaml +36 -0
  201. agent_recipes/templates/ai-video-editor/requirements.txt +8 -0
  202. agent_recipes/templates/ai-video-editor/scripts/run.sh +10 -0
  203. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__init__.py +45 -0
  204. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__main__.py +8 -0
  205. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/__init__.cpython-312.pyc +0 -0
  206. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/cli.cpython-312.pyc +0 -0
  207. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/config.cpython-312.pyc +0 -0
  208. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/ffmpeg_probe.cpython-312.pyc +0 -0
  209. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/heuristics.cpython-312.pyc +0 -0
  210. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/llm_plan.cpython-312.pyc +0 -0
  211. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/models.cpython-312.pyc +0 -0
  212. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/pipeline.cpython-312.pyc +0 -0
  213. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/render.cpython-312.pyc +0 -0
  214. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/timeline.cpython-312.pyc +0 -0
  215. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/transcribe.cpython-312.pyc +0 -0
  216. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/utils.cpython-312.pyc +0 -0
  217. agent_recipes/templates/ai-video-editor/src/ai_video_editor/cli.py +343 -0
  218. agent_recipes/templates/ai-video-editor/src/ai_video_editor/config.py +102 -0
  219. agent_recipes/templates/ai-video-editor/src/ai_video_editor/ffmpeg_probe.py +92 -0
  220. agent_recipes/templates/ai-video-editor/src/ai_video_editor/heuristics.py +119 -0
  221. agent_recipes/templates/ai-video-editor/src/ai_video_editor/llm_plan.py +277 -0
  222. agent_recipes/templates/ai-video-editor/src/ai_video_editor/models.py +343 -0
  223. agent_recipes/templates/ai-video-editor/src/ai_video_editor/pipeline.py +287 -0
  224. agent_recipes/templates/ai-video-editor/src/ai_video_editor/render.py +274 -0
  225. agent_recipes/templates/ai-video-editor/src/ai_video_editor/timeline.py +278 -0
  226. agent_recipes/templates/ai-video-editor/src/ai_video_editor/transcribe.py +233 -0
  227. agent_recipes/templates/ai-video-editor/src/ai_video_editor/utils.py +222 -0
  228. agent_recipes/templates/ai-video-editor/src/input.mov +0 -0
  229. agent_recipes/templates/ai-video-editor/src/out.mp4 +0 -0
  230. agent_recipes/templates/ai-video-editor/tests/test_heuristics.py +130 -0
  231. agent_recipes/templates/ai-video-editor/tests/test_models.py +152 -0
  232. agent_recipes/templates/ai-video-editor/tests/test_timeline.py +105 -0
  233. agent_recipes/templates/ai-video-editor/workflow.yaml +51 -0
  234. agent_recipes/templates/ai-video-highlight-extractor/README.md +60 -0
  235. agent_recipes/templates/ai-video-highlight-extractor/TEMPLATE.yaml +33 -0
  236. agent_recipes/templates/ai-video-merger/recipe.yaml +40 -0
  237. agent_recipes/templates/ai-video-merger/tools.py +172 -0
  238. agent_recipes/templates/ai-video-thumbnails/README.md +16 -0
  239. agent_recipes/templates/ai-video-thumbnails/TEMPLATE.yaml +53 -0
  240. agent_recipes/templates/ai-video-to-gif/README.md +14 -0
  241. agent_recipes/templates/ai-video-to-gif/TEMPLATE.yaml +64 -0
  242. agent_recipes/templates/ai-voice-cloner/README.md +59 -0
  243. agent_recipes/templates/ai-voice-cloner/TEMPLATE.yaml +31 -0
  244. agent_recipes/templates/ai-voiceover-generator/recipe.yaml +41 -0
  245. agent_recipes/templates/ai-voiceover-generator/tools.py +194 -0
  246. agent_recipes/templates/ai-watermark-adder/README.md +59 -0
  247. agent_recipes/templates/ai-watermark-adder/TEMPLATE.yaml +26 -0
  248. agent_recipes/templates/ai-watermark-remover/README.md +60 -0
  249. agent_recipes/templates/ai-watermark-remover/TEMPLATE.yaml +32 -0
  250. agent_recipes/templates/data-transformer/README.md +75 -0
  251. agent_recipes/templates/data-transformer/TEMPLATE.yaml +63 -0
  252. agent_recipes/templates/data-transformer/agents.yaml +70 -0
  253. agent_recipes/templates/data-transformer/workflow.yaml +92 -0
  254. agent_recipes/templates/shorts-generator/README.md +61 -0
  255. agent_recipes/templates/shorts-generator/TEMPLATE.yaml +65 -0
  256. agent_recipes/templates/shorts-generator/agents.yaml +66 -0
  257. agent_recipes/templates/shorts-generator/workflow.yaml +86 -0
  258. agent_recipes/templates/transcript-generator/README.md +103 -0
  259. agent_recipes/templates/transcript-generator/TEMPLATE.yaml +57 -0
  260. agent_recipes/templates/transcript-generator/agents.yaml +62 -0
  261. agent_recipes/templates/transcript-generator/workflow.yaml +82 -0
  262. agent_recipes/templates/video-editor/README.md +70 -0
  263. agent_recipes/templates/video-editor/TEMPLATE.yaml +55 -0
  264. agent_recipes/templates/video-editor/agents.yaml +68 -0
  265. agent_recipes/templates/video-editor/workflow.yaml +92 -0
  266. agent_recipes-0.0.5.dist-info/METADATA +145 -0
  267. agent_recipes-0.0.5.dist-info/RECORD +269 -0
  268. agent_recipes-0.0.5.dist-info/WHEEL +5 -0
  269. agent_recipes-0.0.5.dist-info/top_level.txt +1 -0
  270. /236/326/177nE/243/231/214/232/265/322m/201/253/353/022C/372/321/266/b/225^=/272/017t/262/3337/310@/315wb/341pB/277z/216/330/314/004/265B/213/375/236/203/026/373/307/354z41/347#/374q/262/22589/032/276 /277/244Vh/322/017/004/224/215/004/367/377/375/335/n +0 -0
@@ -0,0 +1,60 @@
1
+ # Color Palette Extractor
2
+
3
+ Extract dominant colors from images
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install agent-recipes
9
+ ```
10
+
11
+ ## CLI Usage
12
+
13
+ ```bash
14
+ # Basic usage
15
+ praison recipes run ai-color-palette-extractor <input>
16
+
17
+ # With output directory
18
+ praison recipes run ai-color-palette-extractor <input> --output ./output/
19
+
20
+ # Dry run (check dependencies only)
21
+ praison recipes run ai-color-palette-extractor <input> --dry-run
22
+
23
+ # Show recipe info
24
+ praison recipes info ai-color-palette-extractor
25
+
26
+ # Check dependencies
27
+ praison recipes doctor ai-color-palette-extractor
28
+ ```
29
+
30
+ ## Python Usage
31
+
32
+ ```python
33
+ from praisonaiagents import Agent
34
+ from agent_recipes import load_recipe
35
+
36
+ # Load and run recipe
37
+ recipe = load_recipe("ai-color-palette-extractor")
38
+ result = recipe.run(input="<your-input>")
39
+ print(result)
40
+ ```
41
+
42
+ ## Requirements
43
+
44
+ ### Packages
45
+ - pillow
46
+ - colorthief
47
+
48
+ ### Environment Variables
49
+ - None
50
+
51
+ ### External Tools
52
+ - None
53
+
54
+ ## Tags
55
+
56
+ `image`, `color`, `palette`
57
+
58
+ ## License
59
+
60
+ Apache-2.0
@@ -0,0 +1,27 @@
1
+ name: ai-color-palette-extractor
2
+ version: "1.0.0"
3
+ description: Extract dominant colors from images
4
+ author: praison
5
+ license: Apache-2.0
6
+ tags:
7
+ - image
8
+ - color
9
+ - palette
10
+
11
+ requires:
12
+ tools:
13
+ - image_tool
14
+ packages:
15
+ - pillow
16
+ - colorthief
17
+
18
+ cli:
19
+ command: praison recipes run ai-color-palette-extractor
20
+ examples:
21
+ - praison recipes run ai-color-palette-extractor <input>
22
+ - praison recipes run ai-color-palette-extractor <input> --output ./output/
23
+ - praison recipes run ai-color-palette-extractor <input> --dry-run
24
+
25
+ safety:
26
+ dry_run_default: false
27
+ overwrites_files: true
@@ -0,0 +1,40 @@
1
+ name: ai-comment-miner
2
+ version: 1.0.0
3
+ description: Mine comments for content ideas and audience insights
4
+ author: PraisonAI
5
+ tags:
6
+ - comments
7
+ - ideas
8
+ - audience
9
+ - mining
10
+
11
+ config:
12
+ extract_ideas: true
13
+ sentiment_analysis: true
14
+ max_comments: 100
15
+
16
+ input:
17
+ type: object
18
+ properties:
19
+ comments:
20
+ type: array
21
+
22
+ output:
23
+ type: object
24
+ properties:
25
+ ideas:
26
+ type: array
27
+ insights:
28
+ type: object
29
+
30
+ requires:
31
+ env:
32
+ - OPENAI_API_KEY
33
+
34
+ workflow:
35
+ agents:
36
+ - name: miner
37
+ role: Comment Miner
38
+ tools:
39
+ - extract_ideas
40
+ - analyze_sentiment
@@ -0,0 +1,141 @@
1
+ """
2
+ AI Comment Miner Tools
3
+
4
+ Extract content ideas and insights from comments.
5
+ """
6
+
7
+ import logging
8
+ import os
9
+ from typing import Any, Dict, List
10
+
11
+ logger = logging.getLogger(__name__)
12
+
13
+
14
+ def call_llm(prompt: str, max_tokens: int = 800) -> str:
15
+ """Call OpenAI API."""
16
+ import requests
17
+ api_key = os.environ.get("OPENAI_API_KEY")
18
+ if not api_key:
19
+ raise ValueError("OPENAI_API_KEY not set")
20
+ response = requests.post(
21
+ "https://api.openai.com/v1/chat/completions",
22
+ headers={"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"},
23
+ json={"model": "gpt-4o-mini", "messages": [{"role": "user", "content": prompt}], "max_tokens": max_tokens},
24
+ timeout=60,
25
+ )
26
+ response.raise_for_status()
27
+ return response.json()["choices"][0]["message"]["content"]
28
+
29
+
30
+ def extract_ideas(
31
+ comments: List[str],
32
+ max_ideas: int = 10,
33
+ ) -> Dict[str, Any]:
34
+ """
35
+ Extract content ideas from comments.
36
+
37
+ Args:
38
+ comments: List of comment texts
39
+ max_ideas: Maximum ideas to extract
40
+
41
+ Returns:
42
+ Dictionary with extracted ideas
43
+ """
44
+ comments_text = "\n".join([f"- {c[:200]}" for c in comments[:50]])
45
+
46
+ prompt = f"""Analyze these audience comments and extract content ideas:
47
+
48
+ {comments_text}
49
+
50
+ Extract:
51
+ 1. Questions people are asking (potential video topics)
52
+ 2. Pain points mentioned (problems to solve)
53
+ 3. Requests for content (what they want to see)
54
+ 4. Trending topics mentioned
55
+
56
+ Provide {max_ideas} specific, actionable content ideas based on these comments.
57
+ Format each idea on its own line."""
58
+
59
+ try:
60
+ result = call_llm(prompt, max_tokens=600)
61
+
62
+ ideas = []
63
+ for line in result.split("\n"):
64
+ line = line.strip().lstrip("-•0123456789.").strip()
65
+ if line and len(line) > 10:
66
+ ideas.append(line)
67
+
68
+ return {
69
+ "ideas": ideas[:max_ideas],
70
+ "comments_analyzed": len(comments),
71
+ }
72
+ except Exception as e:
73
+ logger.error(f"Error extracting ideas: {e}")
74
+ return {"error": str(e)}
75
+
76
+
77
+ def analyze_sentiment(
78
+ comments: List[str],
79
+ ) -> Dict[str, Any]:
80
+ """
81
+ Analyze sentiment of comments.
82
+
83
+ Args:
84
+ comments: List of comment texts
85
+
86
+ Returns:
87
+ Sentiment analysis results
88
+ """
89
+ positive = 0
90
+ negative = 0
91
+ neutral = 0
92
+
93
+ positive_words = ["love", "great", "awesome", "amazing", "helpful", "thanks", "best", "excellent"]
94
+ negative_words = ["hate", "bad", "terrible", "worst", "boring", "waste", "disappointed"]
95
+
96
+ for comment in comments:
97
+ comment_lower = comment.lower()
98
+ pos_count = sum(1 for w in positive_words if w in comment_lower)
99
+ neg_count = sum(1 for w in negative_words if w in comment_lower)
100
+
101
+ if pos_count > neg_count:
102
+ positive += 1
103
+ elif neg_count > pos_count:
104
+ negative += 1
105
+ else:
106
+ neutral += 1
107
+
108
+ total = len(comments)
109
+
110
+ return {
111
+ "sentiment": {
112
+ "positive": positive,
113
+ "negative": negative,
114
+ "neutral": neutral,
115
+ "positive_rate": round(positive / total * 100, 1) if total > 0 else 0,
116
+ "negative_rate": round(negative / total * 100, 1) if total > 0 else 0,
117
+ },
118
+ "total_analyzed": total,
119
+ }
120
+
121
+
122
+ def mine_comments(
123
+ comments: List[str],
124
+ ) -> Dict[str, Any]:
125
+ """
126
+ Full comment mining pipeline.
127
+
128
+ Args:
129
+ comments: List of comment texts
130
+
131
+ Returns:
132
+ Complete mining results
133
+ """
134
+ ideas = extract_ideas(comments)
135
+ sentiment = analyze_sentiment(comments)
136
+
137
+ return {
138
+ "ideas": ideas.get("ideas", []),
139
+ "sentiment": sentiment.get("sentiment", {}),
140
+ "total_comments": len(comments),
141
+ }
@@ -0,0 +1,59 @@
1
+ # Commit Message Generator
2
+
3
+ Generate git commit messages from diffs
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install agent-recipes
9
+ ```
10
+
11
+ ## CLI Usage
12
+
13
+ ```bash
14
+ # Basic usage
15
+ praison recipes run ai-commit-message-generator <input>
16
+
17
+ # With output directory
18
+ praison recipes run ai-commit-message-generator <input> --output ./output/
19
+
20
+ # Dry run (check dependencies only)
21
+ praison recipes run ai-commit-message-generator <input> --dry-run
22
+
23
+ # Show recipe info
24
+ praison recipes info ai-commit-message-generator
25
+
26
+ # Check dependencies
27
+ praison recipes doctor ai-commit-message-generator
28
+ ```
29
+
30
+ ## Python Usage
31
+
32
+ ```python
33
+ from praisonaiagents import Agent
34
+ from agent_recipes import load_recipe
35
+
36
+ # Load and run recipe
37
+ recipe = load_recipe("ai-commit-message-generator")
38
+ result = recipe.run(input="<your-input>")
39
+ print(result)
40
+ ```
41
+
42
+ ## Requirements
43
+
44
+ ### Packages
45
+ - openai
46
+
47
+ ### Environment Variables
48
+ - OPENAI_API_KEY
49
+
50
+ ### External Tools
51
+ - git
52
+
53
+ ## Tags
54
+
55
+ `code`, `git`, `commit`
56
+
57
+ ## License
58
+
59
+ Apache-2.0
@@ -0,0 +1,31 @@
1
+ name: ai-commit-message-generator
2
+ version: "1.0.0"
3
+ description: Generate git commit messages from diffs
4
+ author: praison
5
+ license: Apache-2.0
6
+ tags:
7
+ - code
8
+ - git
9
+ - commit
10
+
11
+ requires:
12
+ tools:
13
+ - repo_tool
14
+ - llm_tool
15
+ packages:
16
+ - openai
17
+ env:
18
+ - OPENAI_API_KEY
19
+ external:
20
+ - git
21
+
22
+ cli:
23
+ command: praison recipes run ai-commit-message-generator
24
+ examples:
25
+ - praison recipes run ai-commit-message-generator <input>
26
+ - praison recipes run ai-commit-message-generator <input> --output ./output/
27
+ - praison recipes run ai-commit-message-generator <input> --dry-run
28
+
29
+ safety:
30
+ dry_run_default: true
31
+ overwrites_files: true
@@ -0,0 +1,43 @@
1
+ name: ai-content-calendar
2
+ version: 1.0.0
3
+ description: Generate content calendars with what/when/where scheduling
4
+ author: PraisonAI
5
+ tags:
6
+ - calendar
7
+ - scheduling
8
+ - planning
9
+ - content
10
+
11
+ config:
12
+ schedule_frequency: daily
13
+ platforms:
14
+ - youtube
15
+ - x
16
+ - linkedin
17
+ timezone: UTC
18
+
19
+ input:
20
+ type: object
21
+ properties:
22
+ topics:
23
+ type: array
24
+ duration_days:
25
+ type: integer
26
+
27
+ output:
28
+ type: object
29
+ properties:
30
+ calendar:
31
+ type: array
32
+
33
+ requires:
34
+ env:
35
+ - OPENAI_API_KEY
36
+
37
+ workflow:
38
+ agents:
39
+ - name: calendar_planner
40
+ role: Content Calendar Planner
41
+ tools:
42
+ - generate_calendar
43
+ - optimize_schedule
@@ -0,0 +1,170 @@
1
+ """
2
+ AI Content Calendar Tools
3
+
4
+ Generate content calendars with:
5
+ - Optimal posting times
6
+ - Platform-specific scheduling
7
+ - Topic distribution
8
+ """
9
+
10
+ import json
11
+ import logging
12
+ import os
13
+ from datetime import datetime, timedelta, timezone
14
+ from typing import Any, Dict, List, Optional
15
+
16
+ logger = logging.getLogger(__name__)
17
+
18
+
19
+ def call_llm(prompt: str, max_tokens: int = 1000) -> str:
20
+ """Call OpenAI API."""
21
+ import requests
22
+
23
+ api_key = os.environ.get("OPENAI_API_KEY")
24
+ if not api_key:
25
+ raise ValueError("OPENAI_API_KEY not set")
26
+
27
+ response = requests.post(
28
+ "https://api.openai.com/v1/chat/completions",
29
+ headers={"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"},
30
+ json={"model": "gpt-4o-mini", "messages": [{"role": "user", "content": prompt}], "max_tokens": max_tokens},
31
+ timeout=60,
32
+ )
33
+ response.raise_for_status()
34
+ return response.json()["choices"][0]["message"]["content"]
35
+
36
+
37
+ def generate_calendar(
38
+ topics: List[str],
39
+ duration_days: int = 30,
40
+ platforms: Optional[List[str]] = None,
41
+ posts_per_day: int = 1,
42
+ ) -> Dict[str, Any]:
43
+ """
44
+ Generate a content calendar.
45
+
46
+ Args:
47
+ topics: List of content topics
48
+ duration_days: Calendar duration in days
49
+ platforms: Target platforms
50
+ posts_per_day: Posts per day
51
+
52
+ Returns:
53
+ Dictionary with calendar entries
54
+ """
55
+ platforms = platforms or ["youtube", "x", "linkedin"]
56
+
57
+ # Optimal posting times by platform
58
+ optimal_times = {
59
+ "youtube": ["09:00", "12:00", "17:00"],
60
+ "x": ["08:00", "12:00", "17:00", "20:00"],
61
+ "linkedin": ["07:30", "12:00", "17:30"],
62
+ "instagram": ["11:00", "14:00", "19:00"],
63
+ "tiktok": ["07:00", "12:00", "19:00", "22:00"],
64
+ }
65
+
66
+ calendar = []
67
+ start_date = datetime.now(timezone.utc).replace(hour=0, minute=0, second=0, microsecond=0)
68
+
69
+ topic_idx = 0
70
+
71
+ for day in range(duration_days):
72
+ current_date = start_date + timedelta(days=day)
73
+
74
+ for post_num in range(posts_per_day):
75
+ # Rotate through topics
76
+ topic = topics[topic_idx % len(topics)]
77
+ topic_idx += 1
78
+
79
+ # Rotate through platforms
80
+ platform = platforms[post_num % len(platforms)]
81
+
82
+ # Get optimal time
83
+ times = optimal_times.get(platform, ["12:00"])
84
+ post_time = times[post_num % len(times)]
85
+
86
+ calendar.append({
87
+ "date": current_date.strftime("%Y-%m-%d"),
88
+ "time": post_time,
89
+ "platform": platform,
90
+ "topic": topic,
91
+ "status": "scheduled",
92
+ })
93
+
94
+ return {
95
+ "calendar": calendar,
96
+ "stats": {
97
+ "total_posts": len(calendar),
98
+ "duration_days": duration_days,
99
+ "platforms": platforms,
100
+ }
101
+ }
102
+
103
+
104
+ def optimize_schedule(
105
+ calendar: List[Dict[str, Any]],
106
+ avoid_weekends: bool = False,
107
+ peak_hours_only: bool = True,
108
+ ) -> Dict[str, Any]:
109
+ """
110
+ Optimize a content calendar schedule.
111
+
112
+ Args:
113
+ calendar: Existing calendar entries
114
+ avoid_weekends: Skip weekend posts
115
+ peak_hours_only: Only schedule during peak hours
116
+
117
+ Returns:
118
+ Optimized calendar
119
+ """
120
+ optimized = []
121
+
122
+ for entry in calendar:
123
+ date_str = entry.get("date", "")
124
+
125
+ try:
126
+ date = datetime.strptime(date_str, "%Y-%m-%d")
127
+
128
+ # Skip weekends if requested
129
+ if avoid_weekends and date.weekday() >= 5:
130
+ continue
131
+
132
+ optimized.append(entry)
133
+
134
+ except ValueError:
135
+ optimized.append(entry)
136
+
137
+ return {
138
+ "calendar": optimized,
139
+ "removed": len(calendar) - len(optimized),
140
+ }
141
+
142
+
143
+ def export_calendar(
144
+ calendar: List[Dict[str, Any]],
145
+ output_path: str,
146
+ format: str = "json",
147
+ ) -> Dict[str, Any]:
148
+ """
149
+ Export calendar to file.
150
+
151
+ Args:
152
+ calendar: Calendar entries
153
+ output_path: Output file path
154
+ format: Export format (json, csv, ical)
155
+
156
+ Returns:
157
+ Export info
158
+ """
159
+ if format == "json":
160
+ with open(output_path, "w") as f:
161
+ json.dump(calendar, f, indent=2)
162
+ elif format == "csv":
163
+ import csv
164
+ with open(output_path, "w", newline="") as f:
165
+ if calendar:
166
+ writer = csv.DictWriter(f, fieldnames=calendar[0].keys())
167
+ writer.writeheader()
168
+ writer.writerows(calendar)
169
+
170
+ return {"path": output_path, "format": format, "entries": len(calendar)}
@@ -0,0 +1,48 @@
1
+ name: ai-context-enricher
2
+ version: 1.0.0
3
+ description: Enrich news articles with background context, prior art, stakeholder analysis, and hype detection
4
+ author: PraisonAI
5
+ tags:
6
+ - news
7
+ - enrichment
8
+ - context
9
+ - analysis
10
+
11
+ config:
12
+ enrichment_types:
13
+ - background
14
+ - prior_art
15
+ - stakeholders
16
+ - hype_detection
17
+ max_context_length: 500
18
+ output_format: json
19
+
20
+ input:
21
+ type: object
22
+ properties:
23
+ articles:
24
+ type: array
25
+ description: Articles to enrich
26
+
27
+ output:
28
+ type: object
29
+ properties:
30
+ enriched_articles:
31
+ type: array
32
+
33
+ requires:
34
+ env:
35
+ - OPENAI_API_KEY
36
+ optional_env:
37
+ - TAVILY_API_KEY
38
+
39
+ workflow:
40
+ agents:
41
+ - name: enricher
42
+ role: Context Analyst
43
+ goal: Add rich context to news articles
44
+ tools:
45
+ - add_background
46
+ - find_prior_art
47
+ - analyze_stakeholders
48
+ - detect_hype