@tikomni/skills 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 (451) hide show
  1. package/.skill-package-allowlist.txt +4 -0
  2. package/LICENSE +21 -0
  3. package/README.md +167 -0
  4. package/README.zh-CN.md +167 -0
  5. package/bin/tikomni-skills.js +127 -0
  6. package/env.example +160 -0
  7. package/lib/installer.js +176 -0
  8. package/package.json +44 -0
  9. package/skills/creator-analysis/SKILL.md +71 -0
  10. package/skills/creator-analysis/agents/openai.yaml +4 -0
  11. package/skills/creator-analysis/env.example +36 -0
  12. package/skills/creator-analysis/references/api-capability-index.md +92 -0
  13. package/skills/creator-analysis/references/api-contracts/asr-api.md +130 -0
  14. package/skills/creator-analysis/references/api-contracts/bilibili-app-api.md +776 -0
  15. package/skills/creator-analysis/references/api-contracts/bilibili-web-api.md +2017 -0
  16. package/skills/creator-analysis/references/api-contracts/demo-api.md +717 -0
  17. package/skills/creator-analysis/references/api-contracts/douyin-app-v3-api.md +3594 -0
  18. package/skills/creator-analysis/references/api-contracts/douyin-billboard-api.md +2274 -0
  19. package/skills/creator-analysis/references/api-contracts/douyin-creator-api.md +1575 -0
  20. package/skills/creator-analysis/references/api-contracts/douyin-creator-v2-api.md +3254 -0
  21. package/skills/creator-analysis/references/api-contracts/douyin-search-api.md +4118 -0
  22. package/skills/creator-analysis/references/api-contracts/douyin-web-api.md +5544 -0
  23. package/skills/creator-analysis/references/api-contracts/douyin-xingtu-api.md +1916 -0
  24. package/skills/creator-analysis/references/api-contracts/douyin-xingtu-v2-api.md +1540 -0
  25. package/skills/creator-analysis/references/api-contracts/health-check.md +69 -0
  26. package/skills/creator-analysis/references/api-contracts/hybrid-parsing.md +78 -0
  27. package/skills/creator-analysis/references/api-contracts/instagram-v1-api.md +2256 -0
  28. package/skills/creator-analysis/references/api-contracts/instagram-v2-api.md +2011 -0
  29. package/skills/creator-analysis/references/api-contracts/instagram-v3-api.md +2630 -0
  30. package/skills/creator-analysis/references/api-contracts/ios-shortcut.md +44 -0
  31. package/skills/creator-analysis/references/api-contracts/kuaishou-app-api.md +1518 -0
  32. package/skills/creator-analysis/references/api-contracts/kuaishou-web-api.md +1242 -0
  33. package/skills/creator-analysis/references/api-contracts/lemon8-app-api.md +1088 -0
  34. package/skills/creator-analysis/references/api-contracts/linkedin-web-api.md +1949 -0
  35. package/skills/creator-analysis/references/api-contracts/media-ingest-api.md +126 -0
  36. package/skills/creator-analysis/references/api-contracts/pipixia-app-api.md +1142 -0
  37. package/skills/creator-analysis/references/api-contracts/reddit-app-api.md +2025 -0
  38. package/skills/creator-analysis/references/api-contracts/sora2-api.md +2266 -0
  39. package/skills/creator-analysis/references/api-contracts/temp-mail-api.md +208 -0
  40. package/skills/creator-analysis/references/api-contracts/threads-web-api.md +897 -0
  41. package/skills/creator-analysis/references/api-contracts/tikhub-downloader-api.md +134 -0
  42. package/skills/creator-analysis/references/api-contracts/tikhub-user-api.md +494 -0
  43. package/skills/creator-analysis/references/api-contracts/tiktok-ads-api.md +5947 -0
  44. package/skills/creator-analysis/references/api-contracts/tiktok-analytics-api.md +968 -0
  45. package/skills/creator-analysis/references/api-contracts/tiktok-app-v3-api.md +5735 -0
  46. package/skills/creator-analysis/references/api-contracts/tiktok-creator-api.md +1951 -0
  47. package/skills/creator-analysis/references/api-contracts/tiktok-interaction-api.md +742 -0
  48. package/skills/creator-analysis/references/api-contracts/tiktok-shop-web-api.md +1890 -0
  49. package/skills/creator-analysis/references/api-contracts/tiktok-web-api.md +4448 -0
  50. package/skills/creator-analysis/references/api-contracts/toutiao-app-api.md +342 -0
  51. package/skills/creator-analysis/references/api-contracts/toutiao-web-api.md +143 -0
  52. package/skills/creator-analysis/references/api-contracts/twitter-web-api.md +989 -0
  53. package/skills/creator-analysis/references/api-contracts/wechat-channels-api.md +809 -0
  54. package/skills/creator-analysis/references/api-contracts/wechat-media-platform-web-api.md +677 -0
  55. package/skills/creator-analysis/references/api-contracts/weibo-app-api.md +1547 -0
  56. package/skills/creator-analysis/references/api-contracts/weibo-web-api.md +798 -0
  57. package/skills/creator-analysis/references/api-contracts/weibo-web-v2-api.md +2459 -0
  58. package/skills/creator-analysis/references/api-contracts/xiaohongshu-app-api.md +1291 -0
  59. package/skills/creator-analysis/references/api-contracts/xiaohongshu-app-v2-api.md +1683 -0
  60. package/skills/creator-analysis/references/api-contracts/xiaohongshu-web-api.md +1324 -0
  61. package/skills/creator-analysis/references/api-contracts/xiaohongshu-web-v2-api.md +1209 -0
  62. package/skills/creator-analysis/references/api-contracts/xigua-app-v2-api.md +489 -0
  63. package/skills/creator-analysis/references/api-contracts/youtube-web-api.md +2636 -0
  64. package/skills/creator-analysis/references/api-contracts/youtube-web-v2-api.md +2660 -0
  65. package/skills/creator-analysis/references/api-contracts/zhihu-web-api.md +2315 -0
  66. package/skills/creator-analysis/references/api-tags/asr-api.md +100 -0
  67. package/skills/creator-analysis/references/api-tags/bilibili-app-api.md +482 -0
  68. package/skills/creator-analysis/references/api-tags/bilibili-web-api.md +1267 -0
  69. package/skills/creator-analysis/references/api-tags/demo-api.md +365 -0
  70. package/skills/creator-analysis/references/api-tags/douyin-app-v3-api.md +2012 -0
  71. package/skills/creator-analysis/references/api-tags/douyin-billboard-api.md +1428 -0
  72. package/skills/creator-analysis/references/api-tags/douyin-creator-api.md +694 -0
  73. package/skills/creator-analysis/references/api-tags/douyin-creator-v2-api.md +694 -0
  74. package/skills/creator-analysis/references/api-tags/douyin-search-api.md +1059 -0
  75. package/skills/creator-analysis/references/api-tags/douyin-web-api.md +3314 -0
  76. package/skills/creator-analysis/references/api-tags/douyin-xingtu-api.md +935 -0
  77. package/skills/creator-analysis/references/api-tags/douyin-xingtu-v2-api.md +925 -0
  78. package/skills/creator-analysis/references/api-tags/health-check.md +40 -0
  79. package/skills/creator-analysis/references/api-tags/hybrid-parsing.md +57 -0
  80. package/skills/creator-analysis/references/api-tags/instagram-v1-api.md +1224 -0
  81. package/skills/creator-analysis/references/api-tags/instagram-v2-api.md +1147 -0
  82. package/skills/creator-analysis/references/api-tags/instagram-v3-api.md +1123 -0
  83. package/skills/creator-analysis/references/api-tags/ios-shortcut.md +45 -0
  84. package/skills/creator-analysis/references/api-tags/kuaishou-app-api.md +846 -0
  85. package/skills/creator-analysis/references/api-tags/kuaishou-web-api.md +551 -0
  86. package/skills/creator-analysis/references/api-tags/lemon8-app-api.md +687 -0
  87. package/skills/creator-analysis/references/api-tags/linkedin-web-api.md +1105 -0
  88. package/skills/creator-analysis/references/api-tags/media-ingest-api.md +112 -0
  89. package/skills/creator-analysis/references/api-tags/pipixia-app-api.md +721 -0
  90. package/skills/creator-analysis/references/api-tags/reddit-app-api.md +1057 -0
  91. package/skills/creator-analysis/references/api-tags/sora2-api.md +737 -0
  92. package/skills/creator-analysis/references/api-tags/temp-mail-api.md +136 -0
  93. package/skills/creator-analysis/references/api-tags/threads-web-api.md +472 -0
  94. package/skills/creator-analysis/references/api-tags/tikhub-downloader-api.md +65 -0
  95. package/skills/creator-analysis/references/api-tags/tikhub-user-api.md +253 -0
  96. package/skills/creator-analysis/references/api-tags/tiktok-ads-api.md +1393 -0
  97. package/skills/creator-analysis/references/api-tags/tiktok-analytics-api.md +179 -0
  98. package/skills/creator-analysis/references/api-tags/tiktok-app-v3-api.md +3264 -0
  99. package/skills/creator-analysis/references/api-tags/tiktok-creator-api.md +709 -0
  100. package/skills/creator-analysis/references/api-tags/tiktok-interaction-api.md +366 -0
  101. package/skills/creator-analysis/references/api-tags/tiktok-shop-web-api.md +663 -0
  102. package/skills/creator-analysis/references/api-tags/tiktok-web-api.md +2516 -0
  103. package/skills/creator-analysis/references/api-tags/toutiao-app-api.md +220 -0
  104. package/skills/creator-analysis/references/api-tags/toutiao-web-api.md +96 -0
  105. package/skills/creator-analysis/references/api-tags/twitter-web-api.md +562 -0
  106. package/skills/creator-analysis/references/api-tags/wechat-channels-api.md +405 -0
  107. package/skills/creator-analysis/references/api-tags/wechat-media-platform-web-api.md +431 -0
  108. package/skills/creator-analysis/references/api-tags/weibo-app-api.md +851 -0
  109. package/skills/creator-analysis/references/api-tags/weibo-web-api.md +470 -0
  110. package/skills/creator-analysis/references/api-tags/weibo-web-v2-api.md +1405 -0
  111. package/skills/creator-analysis/references/api-tags/xiaohongshu-app-api.md +534 -0
  112. package/skills/creator-analysis/references/api-tags/xiaohongshu-app-v2-api.md +934 -0
  113. package/skills/creator-analysis/references/api-tags/xiaohongshu-web-api.md +757 -0
  114. package/skills/creator-analysis/references/api-tags/xiaohongshu-web-v2-api.md +762 -0
  115. package/skills/creator-analysis/references/api-tags/xigua-app-v2-api.md +308 -0
  116. package/skills/creator-analysis/references/api-tags/youtube-web-api.md +934 -0
  117. package/skills/creator-analysis/references/api-tags/youtube-web-v2-api.md +717 -0
  118. package/skills/creator-analysis/references/api-tags/zhihu-web-api.md +1384 -0
  119. package/skills/creator-analysis/references/asr-orchestration.md +33 -0
  120. package/skills/creator-analysis/references/config-templates/defaults.yaml +60 -0
  121. package/skills/creator-analysis/references/contracts/creator-card-fields.md +23 -0
  122. package/skills/creator-analysis/references/contracts/work-card-fields.md +32 -0
  123. package/skills/creator-analysis/references/platform-guides/douyin.md +49 -0
  124. package/skills/creator-analysis/references/platform-guides/generic.md +46 -0
  125. package/skills/creator-analysis/references/platform-guides/xiaohongshu.md +54 -0
  126. package/skills/creator-analysis/references/prompt-contracts/asr-clean.md +28 -0
  127. package/skills/creator-analysis/references/prompt-contracts/author-analysis-v2.md +46 -0
  128. package/skills/creator-analysis/references/prompt-contracts/author-analysis.md +49 -0
  129. package/skills/creator-analysis/references/prompt-contracts/cta.md +24 -0
  130. package/skills/creator-analysis/references/prompt-contracts/hook.md +25 -0
  131. package/skills/creator-analysis/references/prompt-contracts/insight.md +47 -0
  132. package/skills/creator-analysis/references/prompt-contracts/sampled-work-batch-explanations.md +30 -0
  133. package/skills/creator-analysis/references/prompt-contracts/structure.md +25 -0
  134. package/skills/creator-analysis/references/prompt-contracts/style.md +27 -0
  135. package/skills/creator-analysis/references/prompt-contracts/summary.md +29 -0
  136. package/skills/creator-analysis/references/prompt-contracts/topic.md +29 -0
  137. package/skills/creator-analysis/references/schemas/author-analysis-input-v1.schema.json +325 -0
  138. package/skills/creator-analysis/references/schemas/author-analysis-v2.schema.json +158 -0
  139. package/skills/creator-analysis/references/schemas/sampled-work-batch-explanations.schema.json +41 -0
  140. package/skills/creator-analysis/references/service-guides/asr-u2-u3-fallback.md +75 -0
  141. package/skills/creator-analysis/references/workflow.md +18 -0
  142. package/skills/creator-analysis/scripts/__init__.py +0 -0
  143. package/skills/creator-analysis/scripts/author_home/__init__.py +0 -0
  144. package/skills/creator-analysis/scripts/author_home/adapters/__init__.py +0 -0
  145. package/skills/creator-analysis/scripts/author_home/adapters/platform_adapters.py +299 -0
  146. package/skills/creator-analysis/scripts/author_home/analyzers/__init__.py +0 -0
  147. package/skills/creator-analysis/scripts/author_home/analyzers/author_analysis_v2_support.py +1122 -0
  148. package/skills/creator-analysis/scripts/author_home/analyzers/prompt_first_analyzers.py +260 -0
  149. package/skills/creator-analysis/scripts/author_home/analyzers/sampled_work_batch_explainer.py +260 -0
  150. package/skills/creator-analysis/scripts/author_home/asr/__init__.py +5 -0
  151. package/skills/creator-analysis/scripts/author_home/asr/home_asr.py +961 -0
  152. package/skills/creator-analysis/scripts/author_home/builders/__init__.py +0 -0
  153. package/skills/creator-analysis/scripts/author_home/builders/home_builders.py +149 -0
  154. package/skills/creator-analysis/scripts/author_home/collectors/__init__.py +0 -0
  155. package/skills/creator-analysis/scripts/author_home/collectors/homepage_collectors.py +636 -0
  156. package/skills/creator-analysis/scripts/author_home/orchestrator/__init__.py +0 -0
  157. package/skills/creator-analysis/scripts/author_home/orchestrator/run_author_analysis.py +491 -0
  158. package/skills/creator-analysis/scripts/author_home/orchestrator/work_analysis_artifacts.py +553 -0
  159. package/skills/creator-analysis/scripts/author_home/schema.py +417 -0
  160. package/skills/creator-analysis/scripts/core/__init__.py +0 -0
  161. package/skills/creator-analysis/scripts/core/analysis_pipeline.py +133 -0
  162. package/skills/creator-analysis/scripts/core/bootstrap_env.py +35 -0
  163. package/skills/creator-analysis/scripts/core/config_loader.py +418 -0
  164. package/skills/creator-analysis/scripts/core/extract_pipeline.py +173 -0
  165. package/skills/creator-analysis/scripts/core/progress_report.py +111 -0
  166. package/skills/creator-analysis/scripts/core/storage_router.py +253 -0
  167. package/skills/creator-analysis/scripts/core/tikomni_common.py +588 -0
  168. package/skills/creator-analysis/scripts/pipeline/__init__.py +0 -0
  169. package/skills/creator-analysis/scripts/pipeline/asr/__init__.py +0 -0
  170. package/skills/creator-analysis/scripts/pipeline/asr/asr_pipeline.py +1189 -0
  171. package/skills/creator-analysis/scripts/pipeline/asr/poll_u2_task.py +95 -0
  172. package/skills/creator-analysis/scripts/platform/__init__.py +0 -0
  173. package/skills/creator-analysis/scripts/platform/douyin/__init__.py +0 -0
  174. package/skills/creator-analysis/scripts/platform/douyin/douyin_video_type_matrix.py +224 -0
  175. package/skills/creator-analysis/scripts/platform/douyin/run_douyin_single_video.py +1208 -0
  176. package/skills/creator-analysis/scripts/platform/douyin/select_low_quality_video_url.py +200 -0
  177. package/skills/creator-analysis/scripts/platform/xiaohongshu/__init__.py +0 -0
  178. package/skills/creator-analysis/scripts/platform/xiaohongshu/run_xiaohongshu_extract.py +2128 -0
  179. package/skills/creator-analysis/scripts/writers/__init__.py +0 -0
  180. package/skills/creator-analysis/scripts/writers/write_author_homepage_samples.py +106 -0
  181. package/skills/creator-analysis/scripts/writers/write_benchmark_card.py +1402 -0
  182. package/skills/meta-capability/SKILL.md +69 -0
  183. package/skills/meta-capability/agents/openai.yaml +4 -0
  184. package/skills/meta-capability/env.example +42 -0
  185. package/skills/meta-capability/references/api-capability-index.md +92 -0
  186. package/skills/meta-capability/references/api-contracts/asr-api.md +130 -0
  187. package/skills/meta-capability/references/api-contracts/bilibili-app-api.md +776 -0
  188. package/skills/meta-capability/references/api-contracts/bilibili-web-api.md +2017 -0
  189. package/skills/meta-capability/references/api-contracts/demo-api.md +717 -0
  190. package/skills/meta-capability/references/api-contracts/douyin-app-v3-api.md +3594 -0
  191. package/skills/meta-capability/references/api-contracts/douyin-billboard-api.md +2274 -0
  192. package/skills/meta-capability/references/api-contracts/douyin-creator-api.md +1575 -0
  193. package/skills/meta-capability/references/api-contracts/douyin-creator-v2-api.md +3254 -0
  194. package/skills/meta-capability/references/api-contracts/douyin-search-api.md +4118 -0
  195. package/skills/meta-capability/references/api-contracts/douyin-web-api.md +5544 -0
  196. package/skills/meta-capability/references/api-contracts/douyin-xingtu-api.md +1916 -0
  197. package/skills/meta-capability/references/api-contracts/douyin-xingtu-v2-api.md +1540 -0
  198. package/skills/meta-capability/references/api-contracts/health-check.md +69 -0
  199. package/skills/meta-capability/references/api-contracts/hybrid-parsing.md +78 -0
  200. package/skills/meta-capability/references/api-contracts/instagram-v1-api.md +2256 -0
  201. package/skills/meta-capability/references/api-contracts/instagram-v2-api.md +2011 -0
  202. package/skills/meta-capability/references/api-contracts/instagram-v3-api.md +2630 -0
  203. package/skills/meta-capability/references/api-contracts/ios-shortcut.md +44 -0
  204. package/skills/meta-capability/references/api-contracts/kuaishou-app-api.md +1518 -0
  205. package/skills/meta-capability/references/api-contracts/kuaishou-web-api.md +1242 -0
  206. package/skills/meta-capability/references/api-contracts/lemon8-app-api.md +1088 -0
  207. package/skills/meta-capability/references/api-contracts/linkedin-web-api.md +1949 -0
  208. package/skills/meta-capability/references/api-contracts/media-ingest-api.md +126 -0
  209. package/skills/meta-capability/references/api-contracts/pipixia-app-api.md +1142 -0
  210. package/skills/meta-capability/references/api-contracts/reddit-app-api.md +2025 -0
  211. package/skills/meta-capability/references/api-contracts/sora2-api.md +2266 -0
  212. package/skills/meta-capability/references/api-contracts/temp-mail-api.md +208 -0
  213. package/skills/meta-capability/references/api-contracts/threads-web-api.md +897 -0
  214. package/skills/meta-capability/references/api-contracts/tikhub-downloader-api.md +134 -0
  215. package/skills/meta-capability/references/api-contracts/tikhub-user-api.md +494 -0
  216. package/skills/meta-capability/references/api-contracts/tiktok-ads-api.md +5947 -0
  217. package/skills/meta-capability/references/api-contracts/tiktok-analytics-api.md +968 -0
  218. package/skills/meta-capability/references/api-contracts/tiktok-app-v3-api.md +5735 -0
  219. package/skills/meta-capability/references/api-contracts/tiktok-creator-api.md +1951 -0
  220. package/skills/meta-capability/references/api-contracts/tiktok-interaction-api.md +742 -0
  221. package/skills/meta-capability/references/api-contracts/tiktok-shop-web-api.md +1890 -0
  222. package/skills/meta-capability/references/api-contracts/tiktok-web-api.md +4448 -0
  223. package/skills/meta-capability/references/api-contracts/toutiao-app-api.md +342 -0
  224. package/skills/meta-capability/references/api-contracts/toutiao-web-api.md +143 -0
  225. package/skills/meta-capability/references/api-contracts/twitter-web-api.md +989 -0
  226. package/skills/meta-capability/references/api-contracts/wechat-channels-api.md +809 -0
  227. package/skills/meta-capability/references/api-contracts/wechat-media-platform-web-api.md +677 -0
  228. package/skills/meta-capability/references/api-contracts/weibo-app-api.md +1547 -0
  229. package/skills/meta-capability/references/api-contracts/weibo-web-api.md +798 -0
  230. package/skills/meta-capability/references/api-contracts/weibo-web-v2-api.md +2459 -0
  231. package/skills/meta-capability/references/api-contracts/xiaohongshu-app-api.md +1291 -0
  232. package/skills/meta-capability/references/api-contracts/xiaohongshu-app-v2-api.md +1683 -0
  233. package/skills/meta-capability/references/api-contracts/xiaohongshu-web-api.md +1324 -0
  234. package/skills/meta-capability/references/api-contracts/xiaohongshu-web-v2-api.md +1209 -0
  235. package/skills/meta-capability/references/api-contracts/xigua-app-v2-api.md +489 -0
  236. package/skills/meta-capability/references/api-contracts/youtube-web-api.md +2636 -0
  237. package/skills/meta-capability/references/api-contracts/youtube-web-v2-api.md +2660 -0
  238. package/skills/meta-capability/references/api-contracts/zhihu-web-api.md +2315 -0
  239. package/skills/meta-capability/references/api-tags/asr-api.md +100 -0
  240. package/skills/meta-capability/references/api-tags/bilibili-app-api.md +482 -0
  241. package/skills/meta-capability/references/api-tags/bilibili-web-api.md +1267 -0
  242. package/skills/meta-capability/references/api-tags/demo-api.md +365 -0
  243. package/skills/meta-capability/references/api-tags/douyin-app-v3-api.md +2012 -0
  244. package/skills/meta-capability/references/api-tags/douyin-billboard-api.md +1428 -0
  245. package/skills/meta-capability/references/api-tags/douyin-creator-api.md +694 -0
  246. package/skills/meta-capability/references/api-tags/douyin-creator-v2-api.md +694 -0
  247. package/skills/meta-capability/references/api-tags/douyin-search-api.md +1059 -0
  248. package/skills/meta-capability/references/api-tags/douyin-web-api.md +3314 -0
  249. package/skills/meta-capability/references/api-tags/douyin-xingtu-api.md +935 -0
  250. package/skills/meta-capability/references/api-tags/douyin-xingtu-v2-api.md +925 -0
  251. package/skills/meta-capability/references/api-tags/health-check.md +40 -0
  252. package/skills/meta-capability/references/api-tags/hybrid-parsing.md +57 -0
  253. package/skills/meta-capability/references/api-tags/instagram-v1-api.md +1224 -0
  254. package/skills/meta-capability/references/api-tags/instagram-v2-api.md +1147 -0
  255. package/skills/meta-capability/references/api-tags/instagram-v3-api.md +1123 -0
  256. package/skills/meta-capability/references/api-tags/ios-shortcut.md +45 -0
  257. package/skills/meta-capability/references/api-tags/kuaishou-app-api.md +846 -0
  258. package/skills/meta-capability/references/api-tags/kuaishou-web-api.md +551 -0
  259. package/skills/meta-capability/references/api-tags/lemon8-app-api.md +687 -0
  260. package/skills/meta-capability/references/api-tags/linkedin-web-api.md +1105 -0
  261. package/skills/meta-capability/references/api-tags/media-ingest-api.md +112 -0
  262. package/skills/meta-capability/references/api-tags/pipixia-app-api.md +721 -0
  263. package/skills/meta-capability/references/api-tags/reddit-app-api.md +1057 -0
  264. package/skills/meta-capability/references/api-tags/sora2-api.md +737 -0
  265. package/skills/meta-capability/references/api-tags/temp-mail-api.md +136 -0
  266. package/skills/meta-capability/references/api-tags/threads-web-api.md +472 -0
  267. package/skills/meta-capability/references/api-tags/tikhub-downloader-api.md +65 -0
  268. package/skills/meta-capability/references/api-tags/tikhub-user-api.md +253 -0
  269. package/skills/meta-capability/references/api-tags/tiktok-ads-api.md +1393 -0
  270. package/skills/meta-capability/references/api-tags/tiktok-analytics-api.md +179 -0
  271. package/skills/meta-capability/references/api-tags/tiktok-app-v3-api.md +3264 -0
  272. package/skills/meta-capability/references/api-tags/tiktok-creator-api.md +709 -0
  273. package/skills/meta-capability/references/api-tags/tiktok-interaction-api.md +366 -0
  274. package/skills/meta-capability/references/api-tags/tiktok-shop-web-api.md +663 -0
  275. package/skills/meta-capability/references/api-tags/tiktok-web-api.md +2516 -0
  276. package/skills/meta-capability/references/api-tags/toutiao-app-api.md +220 -0
  277. package/skills/meta-capability/references/api-tags/toutiao-web-api.md +96 -0
  278. package/skills/meta-capability/references/api-tags/twitter-web-api.md +562 -0
  279. package/skills/meta-capability/references/api-tags/wechat-channels-api.md +405 -0
  280. package/skills/meta-capability/references/api-tags/wechat-media-platform-web-api.md +431 -0
  281. package/skills/meta-capability/references/api-tags/weibo-app-api.md +851 -0
  282. package/skills/meta-capability/references/api-tags/weibo-web-api.md +470 -0
  283. package/skills/meta-capability/references/api-tags/weibo-web-v2-api.md +1405 -0
  284. package/skills/meta-capability/references/api-tags/xiaohongshu-app-api.md +534 -0
  285. package/skills/meta-capability/references/api-tags/xiaohongshu-app-v2-api.md +934 -0
  286. package/skills/meta-capability/references/api-tags/xiaohongshu-web-api.md +757 -0
  287. package/skills/meta-capability/references/api-tags/xiaohongshu-web-v2-api.md +762 -0
  288. package/skills/meta-capability/references/api-tags/xigua-app-v2-api.md +308 -0
  289. package/skills/meta-capability/references/api-tags/youtube-web-api.md +934 -0
  290. package/skills/meta-capability/references/api-tags/youtube-web-v2-api.md +717 -0
  291. package/skills/meta-capability/references/api-tags/zhihu-web-api.md +1384 -0
  292. package/skills/meta-capability/references/config-templates/defaults.yaml +18 -0
  293. package/skills/meta-capability/references/dispatch.md +27 -0
  294. package/skills/meta-capability/references/execution-guidelines.md +25 -0
  295. package/skills/meta-capability/references/implemented-route-map.md +177 -0
  296. package/skills/meta-capability/references/service-guides/asr-u2-u3-fallback.md +75 -0
  297. package/skills/meta-capability/scripts/__init__.py +1 -0
  298. package/skills/meta-capability/scripts/call_route.py +141 -0
  299. package/skills/meta-capability/scripts/core/__init__.py +1 -0
  300. package/skills/meta-capability/scripts/core/bootstrap_env.py +32 -0
  301. package/skills/meta-capability/scripts/core/config_loader.py +204 -0
  302. package/skills/meta-capability/scripts/core/tikomni_common.py +443 -0
  303. package/skills/meta-capability/scripts/test_auth.py +98 -0
  304. package/skills/single-work-analysis/SKILL.md +62 -0
  305. package/skills/single-work-analysis/agents/openai.yaml +4 -0
  306. package/skills/single-work-analysis/env.example +36 -0
  307. package/skills/single-work-analysis/references/api-capability-index.md +92 -0
  308. package/skills/single-work-analysis/references/api-contracts/asr-api.md +130 -0
  309. package/skills/single-work-analysis/references/api-contracts/bilibili-app-api.md +776 -0
  310. package/skills/single-work-analysis/references/api-contracts/bilibili-web-api.md +2017 -0
  311. package/skills/single-work-analysis/references/api-contracts/demo-api.md +717 -0
  312. package/skills/single-work-analysis/references/api-contracts/douyin-app-v3-api.md +3594 -0
  313. package/skills/single-work-analysis/references/api-contracts/douyin-billboard-api.md +2274 -0
  314. package/skills/single-work-analysis/references/api-contracts/douyin-creator-api.md +1575 -0
  315. package/skills/single-work-analysis/references/api-contracts/douyin-creator-v2-api.md +3254 -0
  316. package/skills/single-work-analysis/references/api-contracts/douyin-search-api.md +4118 -0
  317. package/skills/single-work-analysis/references/api-contracts/douyin-web-api.md +5544 -0
  318. package/skills/single-work-analysis/references/api-contracts/douyin-xingtu-api.md +1916 -0
  319. package/skills/single-work-analysis/references/api-contracts/douyin-xingtu-v2-api.md +1540 -0
  320. package/skills/single-work-analysis/references/api-contracts/health-check.md +69 -0
  321. package/skills/single-work-analysis/references/api-contracts/hybrid-parsing.md +78 -0
  322. package/skills/single-work-analysis/references/api-contracts/instagram-v1-api.md +2256 -0
  323. package/skills/single-work-analysis/references/api-contracts/instagram-v2-api.md +2011 -0
  324. package/skills/single-work-analysis/references/api-contracts/instagram-v3-api.md +2630 -0
  325. package/skills/single-work-analysis/references/api-contracts/ios-shortcut.md +44 -0
  326. package/skills/single-work-analysis/references/api-contracts/kuaishou-app-api.md +1518 -0
  327. package/skills/single-work-analysis/references/api-contracts/kuaishou-web-api.md +1242 -0
  328. package/skills/single-work-analysis/references/api-contracts/lemon8-app-api.md +1088 -0
  329. package/skills/single-work-analysis/references/api-contracts/linkedin-web-api.md +1949 -0
  330. package/skills/single-work-analysis/references/api-contracts/media-ingest-api.md +126 -0
  331. package/skills/single-work-analysis/references/api-contracts/pipixia-app-api.md +1142 -0
  332. package/skills/single-work-analysis/references/api-contracts/reddit-app-api.md +2025 -0
  333. package/skills/single-work-analysis/references/api-contracts/sora2-api.md +2266 -0
  334. package/skills/single-work-analysis/references/api-contracts/temp-mail-api.md +208 -0
  335. package/skills/single-work-analysis/references/api-contracts/threads-web-api.md +897 -0
  336. package/skills/single-work-analysis/references/api-contracts/tikhub-downloader-api.md +134 -0
  337. package/skills/single-work-analysis/references/api-contracts/tikhub-user-api.md +494 -0
  338. package/skills/single-work-analysis/references/api-contracts/tiktok-ads-api.md +5947 -0
  339. package/skills/single-work-analysis/references/api-contracts/tiktok-analytics-api.md +968 -0
  340. package/skills/single-work-analysis/references/api-contracts/tiktok-app-v3-api.md +5735 -0
  341. package/skills/single-work-analysis/references/api-contracts/tiktok-creator-api.md +1951 -0
  342. package/skills/single-work-analysis/references/api-contracts/tiktok-interaction-api.md +742 -0
  343. package/skills/single-work-analysis/references/api-contracts/tiktok-shop-web-api.md +1890 -0
  344. package/skills/single-work-analysis/references/api-contracts/tiktok-web-api.md +4448 -0
  345. package/skills/single-work-analysis/references/api-contracts/toutiao-app-api.md +342 -0
  346. package/skills/single-work-analysis/references/api-contracts/toutiao-web-api.md +143 -0
  347. package/skills/single-work-analysis/references/api-contracts/twitter-web-api.md +989 -0
  348. package/skills/single-work-analysis/references/api-contracts/wechat-channels-api.md +809 -0
  349. package/skills/single-work-analysis/references/api-contracts/wechat-media-platform-web-api.md +677 -0
  350. package/skills/single-work-analysis/references/api-contracts/weibo-app-api.md +1547 -0
  351. package/skills/single-work-analysis/references/api-contracts/weibo-web-api.md +798 -0
  352. package/skills/single-work-analysis/references/api-contracts/weibo-web-v2-api.md +2459 -0
  353. package/skills/single-work-analysis/references/api-contracts/xiaohongshu-app-api.md +1291 -0
  354. package/skills/single-work-analysis/references/api-contracts/xiaohongshu-app-v2-api.md +1683 -0
  355. package/skills/single-work-analysis/references/api-contracts/xiaohongshu-web-api.md +1324 -0
  356. package/skills/single-work-analysis/references/api-contracts/xiaohongshu-web-v2-api.md +1209 -0
  357. package/skills/single-work-analysis/references/api-contracts/xigua-app-v2-api.md +489 -0
  358. package/skills/single-work-analysis/references/api-contracts/youtube-web-api.md +2636 -0
  359. package/skills/single-work-analysis/references/api-contracts/youtube-web-v2-api.md +2660 -0
  360. package/skills/single-work-analysis/references/api-contracts/zhihu-web-api.md +2315 -0
  361. package/skills/single-work-analysis/references/api-tags/asr-api.md +100 -0
  362. package/skills/single-work-analysis/references/api-tags/bilibili-app-api.md +482 -0
  363. package/skills/single-work-analysis/references/api-tags/bilibili-web-api.md +1267 -0
  364. package/skills/single-work-analysis/references/api-tags/demo-api.md +365 -0
  365. package/skills/single-work-analysis/references/api-tags/douyin-app-v3-api.md +2012 -0
  366. package/skills/single-work-analysis/references/api-tags/douyin-billboard-api.md +1428 -0
  367. package/skills/single-work-analysis/references/api-tags/douyin-creator-api.md +694 -0
  368. package/skills/single-work-analysis/references/api-tags/douyin-creator-v2-api.md +694 -0
  369. package/skills/single-work-analysis/references/api-tags/douyin-search-api.md +1059 -0
  370. package/skills/single-work-analysis/references/api-tags/douyin-web-api.md +3314 -0
  371. package/skills/single-work-analysis/references/api-tags/douyin-xingtu-api.md +935 -0
  372. package/skills/single-work-analysis/references/api-tags/douyin-xingtu-v2-api.md +925 -0
  373. package/skills/single-work-analysis/references/api-tags/health-check.md +40 -0
  374. package/skills/single-work-analysis/references/api-tags/hybrid-parsing.md +57 -0
  375. package/skills/single-work-analysis/references/api-tags/instagram-v1-api.md +1224 -0
  376. package/skills/single-work-analysis/references/api-tags/instagram-v2-api.md +1147 -0
  377. package/skills/single-work-analysis/references/api-tags/instagram-v3-api.md +1123 -0
  378. package/skills/single-work-analysis/references/api-tags/ios-shortcut.md +45 -0
  379. package/skills/single-work-analysis/references/api-tags/kuaishou-app-api.md +846 -0
  380. package/skills/single-work-analysis/references/api-tags/kuaishou-web-api.md +551 -0
  381. package/skills/single-work-analysis/references/api-tags/lemon8-app-api.md +687 -0
  382. package/skills/single-work-analysis/references/api-tags/linkedin-web-api.md +1105 -0
  383. package/skills/single-work-analysis/references/api-tags/media-ingest-api.md +112 -0
  384. package/skills/single-work-analysis/references/api-tags/pipixia-app-api.md +721 -0
  385. package/skills/single-work-analysis/references/api-tags/reddit-app-api.md +1057 -0
  386. package/skills/single-work-analysis/references/api-tags/sora2-api.md +737 -0
  387. package/skills/single-work-analysis/references/api-tags/temp-mail-api.md +136 -0
  388. package/skills/single-work-analysis/references/api-tags/threads-web-api.md +472 -0
  389. package/skills/single-work-analysis/references/api-tags/tikhub-downloader-api.md +65 -0
  390. package/skills/single-work-analysis/references/api-tags/tikhub-user-api.md +253 -0
  391. package/skills/single-work-analysis/references/api-tags/tiktok-ads-api.md +1393 -0
  392. package/skills/single-work-analysis/references/api-tags/tiktok-analytics-api.md +179 -0
  393. package/skills/single-work-analysis/references/api-tags/tiktok-app-v3-api.md +3264 -0
  394. package/skills/single-work-analysis/references/api-tags/tiktok-creator-api.md +709 -0
  395. package/skills/single-work-analysis/references/api-tags/tiktok-interaction-api.md +366 -0
  396. package/skills/single-work-analysis/references/api-tags/tiktok-shop-web-api.md +663 -0
  397. package/skills/single-work-analysis/references/api-tags/tiktok-web-api.md +2516 -0
  398. package/skills/single-work-analysis/references/api-tags/toutiao-app-api.md +220 -0
  399. package/skills/single-work-analysis/references/api-tags/toutiao-web-api.md +96 -0
  400. package/skills/single-work-analysis/references/api-tags/twitter-web-api.md +562 -0
  401. package/skills/single-work-analysis/references/api-tags/wechat-channels-api.md +405 -0
  402. package/skills/single-work-analysis/references/api-tags/wechat-media-platform-web-api.md +431 -0
  403. package/skills/single-work-analysis/references/api-tags/weibo-app-api.md +851 -0
  404. package/skills/single-work-analysis/references/api-tags/weibo-web-api.md +470 -0
  405. package/skills/single-work-analysis/references/api-tags/weibo-web-v2-api.md +1405 -0
  406. package/skills/single-work-analysis/references/api-tags/xiaohongshu-app-api.md +534 -0
  407. package/skills/single-work-analysis/references/api-tags/xiaohongshu-app-v2-api.md +934 -0
  408. package/skills/single-work-analysis/references/api-tags/xiaohongshu-web-api.md +757 -0
  409. package/skills/single-work-analysis/references/api-tags/xiaohongshu-web-v2-api.md +762 -0
  410. package/skills/single-work-analysis/references/api-tags/xigua-app-v2-api.md +308 -0
  411. package/skills/single-work-analysis/references/api-tags/youtube-web-api.md +934 -0
  412. package/skills/single-work-analysis/references/api-tags/youtube-web-v2-api.md +717 -0
  413. package/skills/single-work-analysis/references/api-tags/zhihu-web-api.md +1384 -0
  414. package/skills/single-work-analysis/references/asr-and-fallback.md +20 -0
  415. package/skills/single-work-analysis/references/config-templates/defaults.yaml +58 -0
  416. package/skills/single-work-analysis/references/contracts/work-card-fields.md +41 -0
  417. package/skills/single-work-analysis/references/platform-guides/douyin.md +47 -0
  418. package/skills/single-work-analysis/references/platform-guides/generic.md +43 -0
  419. package/skills/single-work-analysis/references/platform-guides/xiaohongshu.md +54 -0
  420. package/skills/single-work-analysis/references/prompt-contracts/asr-clean.md +28 -0
  421. package/skills/single-work-analysis/references/prompt-contracts/cta.md +24 -0
  422. package/skills/single-work-analysis/references/prompt-contracts/hook.md +25 -0
  423. package/skills/single-work-analysis/references/prompt-contracts/insight.md +47 -0
  424. package/skills/single-work-analysis/references/prompt-contracts/structure.md +25 -0
  425. package/skills/single-work-analysis/references/prompt-contracts/style.md +27 -0
  426. package/skills/single-work-analysis/references/prompt-contracts/summary.md +29 -0
  427. package/skills/single-work-analysis/references/prompt-contracts/topic.md +29 -0
  428. package/skills/single-work-analysis/references/schemas/work-card.schema.json +39 -0
  429. package/skills/single-work-analysis/references/service-guides/asr-u2-u3-fallback.md +75 -0
  430. package/skills/single-work-analysis/scripts/__init__.py +0 -0
  431. package/skills/single-work-analysis/scripts/core/__init__.py +0 -0
  432. package/skills/single-work-analysis/scripts/core/analysis_pipeline.py +133 -0
  433. package/skills/single-work-analysis/scripts/core/bootstrap_env.py +35 -0
  434. package/skills/single-work-analysis/scripts/core/config_loader.py +418 -0
  435. package/skills/single-work-analysis/scripts/core/extract_pipeline.py +173 -0
  436. package/skills/single-work-analysis/scripts/core/progress_report.py +111 -0
  437. package/skills/single-work-analysis/scripts/core/storage_router.py +253 -0
  438. package/skills/single-work-analysis/scripts/core/tikomni_common.py +588 -0
  439. package/skills/single-work-analysis/scripts/pipeline/__init__.py +0 -0
  440. package/skills/single-work-analysis/scripts/pipeline/asr/__init__.py +0 -0
  441. package/skills/single-work-analysis/scripts/pipeline/asr/asr_pipeline.py +1189 -0
  442. package/skills/single-work-analysis/scripts/pipeline/asr/poll_u2_task.py +95 -0
  443. package/skills/single-work-analysis/scripts/platform/__init__.py +0 -0
  444. package/skills/single-work-analysis/scripts/platform/douyin/__init__.py +0 -0
  445. package/skills/single-work-analysis/scripts/platform/douyin/douyin_video_type_matrix.py +224 -0
  446. package/skills/single-work-analysis/scripts/platform/douyin/run_douyin_single_video.py +1233 -0
  447. package/skills/single-work-analysis/scripts/platform/douyin/select_low_quality_video_url.py +200 -0
  448. package/skills/single-work-analysis/scripts/platform/xiaohongshu/__init__.py +0 -0
  449. package/skills/single-work-analysis/scripts/platform/xiaohongshu/run_xiaohongshu_extract.py +2156 -0
  450. package/skills/single-work-analysis/scripts/writers/__init__.py +0 -0
  451. package/skills/single-work-analysis/scripts/writers/write_benchmark_card.py +1402 -0
@@ -0,0 +1,18 @@
1
+ schema_version: v1
2
+ profile: default
3
+
4
+ runtime:
5
+ base_url: "https://api.tikomni.com"
6
+ auth_env_key: "TIKOMNI_API_KEY"
7
+ timeout_ms: 60000
8
+
9
+ storage_routes:
10
+ default:
11
+ root_dir: ""
12
+ runs_dir: "_runs"
13
+ results_dir: "results"
14
+ errors_dir: "_errors"
15
+
16
+ naming_rules:
17
+ card_filename_pattern: "{prefix}-{author_slug}-{title_slug}{ext}"
18
+ json_filename_pattern: "{timestamp}-{platform}-{identifier}{ext}"
@@ -0,0 +1,27 @@
1
+ # Dispatch Guidance
2
+
3
+ ## Dispatch Principle
4
+
5
+ - `meta-capability` can always complete general TikOmni tasks on its own.
6
+ - If a more specialized skill exists in the current skill workspace and clearly matches the task, prefer handing off to that skill.
7
+ - If the better specialized skill is missing, not installed, not checked out, or otherwise unavailable, stay in `meta-capability` and complete the task here.
8
+
9
+ ## When To Prefer `single-work-analysis`
10
+
11
+ - The target object is a single video, single post, single note, single article, or another single content item.
12
+ - The user wants a work card, single-item structured analysis, or transcription for one content item.
13
+ - `single-work-analysis` is available in the current skill workspace.
14
+
15
+ ## When To Prefer `creator-analysis`
16
+
17
+ - The target object is a creator, account, profile page, or a creator-level content collection.
18
+ - The user wants an author card, a full content set, bucketed sampling, sampled explanations, or creator-level conclusions.
19
+ - `creator-analysis` is available in the current skill workspace.
20
+
21
+ ## When To Stay In `meta-capability`
22
+
23
+ - The object boundary is still unclear.
24
+ - The platform is unfamiliar and the task first needs route confirmation, parameter confirmation, or media-entry discovery.
25
+ - The task first needs capability checking before a stricter work-card or author-card contract can be satisfied.
26
+ - The user is asking what is available, what route to use, or what fields are required.
27
+ - A better specialized skill is not currently available.
@@ -0,0 +1,25 @@
1
+ # Execution Guidelines
2
+
3
+ ## Goal
4
+
5
+ Within a shared cross-platform execution flow, finish capability discovery, route selection, input confirmation, and field-availability checks before moving into extraction or analysis.
6
+
7
+ ## Minimum Checklist
8
+
9
+ - Confirm the platform and object type: single content item, comments, profile, or content collection.
10
+ - Read `api-capability-index.md` and lock onto the relevant platform tag.
11
+ - Read the relevant routes in `api-tags/*.md` for auth requirements, key inputs, and key success responses.
12
+ - If exact field definitions, defaults, examples, or full success-response structures are needed, continue into the relevant `api-contracts/*.md`.
13
+ - Decide whether the task can use a validated route chain from this repository or needs an ad hoc route choice from the broader catalog.
14
+ - For video ASR, decide whether `service-guides/asr-u2-u3-fallback.md` is needed for the 90-second soft observation window and the 120-second hard fallback.
15
+ - Identify the usable entry points: share URL, landing-page URL, platform ID, profile URL, download URL, or raw text.
16
+ - Identify the retrievable resources: title, caption, subtitles, comments, media download URLs, author metadata, and engagement metrics.
17
+ - Confirm the output expectation: raw facts, structured fields, analysis conclusions, or a combination.
18
+ - Confirm missing-field and degradation behavior: which fields are stable, which need fallback, and which are currently unavailable.
19
+
20
+ ## Output Requirements
21
+
22
+ - Return concrete routes, inputs, and results rather than generic advice.
23
+ - Make field origin, stability, and missing reasons explicit.
24
+ - Ground every analysis conclusion in retrieved facts only.
25
+ - Prefer platform-neutral output structures when possible so the results remain reusable.
@@ -0,0 +1,177 @@
1
+ # Validated Route Chains
2
+
3
+ ## Contents
4
+
5
+ - [Purpose](#purpose)
6
+ - [Single Content](#single-content)
7
+ - [Creator Profiles](#creator-profiles)
8
+ - [Other Platforms](#other-platforms)
9
+
10
+ ## Purpose
11
+
12
+ - This file records only the preferred route chains that already have script support and have been validated in this repository.
13
+ - It does not replace `api-capability-index.md` + `api-tags/*.md` + `api-contracts/*.md`. The first two provide discovery and route summaries, the third provides full contracts, and this file answers the narrower question: which chain should be tried first.
14
+ - When the user target is already clear, prefer the chains listed here. Only go back to the index and tag files when the validated chain is insufficient.
15
+
16
+ ## Single Content
17
+
18
+ ### Douyin Single Content
19
+
20
+ 1. `GET /api/u1/v1/douyin/app/v3/fetch_one_video_by_share_url`
21
+ - Required input: `share_url`
22
+ 2. `GET /api/u1/v1/douyin/web/fetch_one_video_by_share_url`
23
+ - Required input: `share_url`
24
+ 3. `POST /api/u2/v1/services/audio/asr/transcription`
25
+ - Key request-body field: `input.file_urls[]`
26
+ 4. `POST /api/u2/v1/tasks/{task_id}`
27
+ - Path parameter: `task_id`
28
+
29
+ ASR timeout fallback:
30
+
31
+ - After 90 seconds, stay in soft observation only.
32
+ - After 120 seconds, if there is still no result, do not declare failure immediately. Follow `service-guides/asr-u2-u3-fallback.md`, use U3 fallback, and then retry U2.
33
+
34
+ Required output targets:
35
+
36
+ - `platform_work_id`
37
+ - `platform_author_id`
38
+ - `author_handle`
39
+ - `title`
40
+ - `caption_raw`
41
+ - `work_modality`
42
+ - `published_date`
43
+ - `digg_count`
44
+ - `comment_count`
45
+ - `collect_count`
46
+ - `share_count`
47
+ - `play_count`
48
+ - `cover_image`
49
+ - `source_url`
50
+ - `share_url`
51
+ - `video_download_url`
52
+ - `asr_raw`
53
+
54
+ ### Xiaohongshu Single Content
55
+
56
+ 1. `GET /api/u1/v1/xiaohongshu/app_v2/get_video_note_detail`
57
+ 2. `GET /api/u1/v1/xiaohongshu/app_v2/get_image_note_detail`
58
+ 3. `GET /api/u1/v1/xiaohongshu/app_v2/get_mixed_note_detail`
59
+ - Typical input: `note_id` or `share_text`
60
+ 4. `GET /api/u1/v1/xiaohongshu/app/get_note_info`
61
+ 5. `GET /api/u1/v1/xiaohongshu/web_v2/fetch_feed_notes_v2`
62
+ - Required input: `note_id`
63
+ 6. `GET /api/u1/v1/xiaohongshu/web_v2/fetch_feed_notes_v3`
64
+ - Required input: `short_url`
65
+ 7. `GET /api/u1/v1/xiaohongshu/web/get_note_info_v7`
66
+ 8. `POST /api/u2/v1/services/audio/asr/transcription`
67
+ 9. `POST /api/u2/v1/tasks/{task_id}`
68
+
69
+ ASR timeout fallback:
70
+
71
+ - After 90 seconds, stay in soft observation only.
72
+ - After 120 seconds, if there is still no result, do not declare failure immediately. Follow `service-guides/asr-u2-u3-fallback.md`, use U3 fallback, and then retry U2.
73
+
74
+ Required output targets:
75
+
76
+ - `platform_work_id`
77
+ - `platform_author_id`
78
+ - `author_handle`
79
+ - `title`
80
+ - `caption_raw`
81
+ - `work_modality`
82
+ - `published_date`
83
+ - `digg_count`
84
+ - `comment_count`
85
+ - `collect_count`
86
+ - `share_count`
87
+ - `play_count`
88
+ - `cover_image`
89
+ - `source_url`
90
+ - `share_url`
91
+ - `video_download_url`
92
+ - `asr_raw`
93
+
94
+ ## Creator Profiles
95
+
96
+ ### Douyin Creator Profile
97
+
98
+ 1. `GET /api/u1/v1/douyin/web/get_sec_user_id`
99
+ - OpenAPI-required input: `url`
100
+ 2. `GET /api/u1/v1/douyin/app/v3/handler_user_profile`
101
+ - Required input: `sec_user_id`
102
+ 3. `GET /api/u1/v1/douyin/app/v3/fetch_user_post_videos`
103
+ - Required input: `sec_user_id`
104
+ - Common pagination parameters: `max_cursor`, `count`, `sort_type`
105
+
106
+ Required author-card fields:
107
+
108
+ - `platform_author_id`
109
+ - `author_handle`
110
+ - `nickname`
111
+ - `ip_location`
112
+ - `signature`
113
+ - `avatar_url`
114
+ - `fans_count`
115
+ - `liked_count`
116
+ - `works_count`
117
+ - `verified`
118
+
119
+ Required profile-post fields:
120
+
121
+ - `platform_work_id`
122
+ - `title`
123
+ - `caption_raw`
124
+ - `published_date`
125
+ - `digg_count`
126
+ - `comment_count`
127
+ - `collect_count`
128
+ - `share_count`
129
+ - `play_count`
130
+ - `video_download_url`
131
+
132
+ ### Xiaohongshu Creator Profile
133
+
134
+ 1. `GET /api/u1/v1/xiaohongshu/app/get_user_id_and_xsec_token`
135
+ - OpenAPI-required input: `share_link`
136
+ 2. Profile cascade:
137
+ - `GET /api/u1/v1/xiaohongshu/app_v2/get_user_info`
138
+ - `GET /api/u1/v1/xiaohongshu/web_v2/fetch_user_info_app`
139
+ - `GET /api/u1/v1/xiaohongshu/app/get_user_info`
140
+ 3. Posts cascade:
141
+ - `GET /api/u1/v1/xiaohongshu/app_v2/get_user_posted_notes`
142
+ - `GET /api/u1/v1/xiaohongshu/web_v2/fetch_home_notes_app`
143
+ - `GET /api/u1/v1/xiaohongshu/app/get_user_notes`
144
+
145
+ Required author-card fields:
146
+
147
+ - `platform_author_id`
148
+ - `author_handle`
149
+ - `nickname`
150
+ - `ip_location`
151
+ - `signature`
152
+ - `avatar_url`
153
+ - `fans_count`
154
+ - `liked_count`
155
+ - `collected_count`
156
+ - `works_count`
157
+ - `verified`
158
+
159
+ Required profile-post fields:
160
+
161
+ - `platform_work_id`
162
+ - `title`
163
+ - `caption_raw`
164
+ - `published_date`
165
+ - `digg_count`
166
+ - `comment_count`
167
+ - `collect_count`
168
+ - `share_count`
169
+ - `play_count`
170
+ - `video_download_url`
171
+
172
+ ## Other Platforms
173
+
174
+ - Start with `api-capability-index.md` to find the relevant platform tag, then read the relevant `api-tags/*.md`. If the field definitions are still not precise enough, continue into the relevant `api-contracts/*.md`.
175
+ - For a single content item, prefer a detail route first, then add media, subtitle, or comment routes as needed.
176
+ - For a creator profile, prefer a profile route plus a posts route. Do not stop at a single segment of data.
177
+ - Declare a platform or object infeasible only when the full catalog still cannot provide routes that satisfy the required output fields.
@@ -0,0 +1,75 @@
1
+ # U2 ASR and U3 Public URL Fallback
2
+
3
+ ## Purpose
4
+
5
+ - This guide defines the primary ASR path and timeout fallback for video tasks. It does not apply to text-only works.
6
+ - Always try U2 ASR first. U3 is fallback-only and must not bypass U2 by default.
7
+ - If a U1 detail route returns a no-watermark download link or another download URL that may not be publicly readable, use this guide to decide when to switch to U3.
8
+ - Source: `https://app.tikomni.com/openapi/tikomni-openapi.full.with-u2.public.latest.json`
9
+ - Fetched at: `2026-03-08T06:54:04+00:00`
10
+
11
+ ## Fixed Policy
12
+
13
+ 1. Call a U1 detail route first and collect `video_download_url`, a no-watermark download URL, or another directly downloadable media URL.
14
+ 2. Submit that URL to U2 ASR directly. Do not start with U3.
15
+ 3. If there is still no complete result after 90 seconds, stay in soft observation and keep the primary path unchanged.
16
+ 4. If there is still no result or still no complete result after 120 seconds, treat the source URL as likely not publicly readable and only then allow U3 fallback.
17
+ 5. After U3 completes, obtain a public URL and submit it to U2 ASR again.
18
+ 6. If U3 or the second U2 attempt still fails, keep the fact card and return `incomplete`. Do not fabricate the main text or any analysis conclusion.
19
+
20
+ ## Scenario Notes
21
+
22
+ - Single content task: run this flow only for the current item.
23
+ - Creator batch task: apply U3 fallback only to the subset that still has no result after 120 seconds. Do not re-upload items that already succeeded.
24
+
25
+ ## Route Facts
26
+
27
+ ### Submit U2 ASR job
28
+
29
+ - Purpose: Default primary path. Submit the no-watermark or download URL returned by U1 directly to U2 ASR. Do not start with U3.
30
+ - Tag: [`ASR-API`](../api-tags/asr-api.md)
31
+ - Route: `POST /api/u2/v1/services/audio/asr/transcription`
32
+ - Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
33
+ - Parameters: None
34
+ - Request body: application/json: `input*`{`file_urls*`[string(uri)]}
35
+ - Success response: 200 application/json: `request_id*`:string, `output*`{`task_id*`:string, `task_status*`:string, `submit_time`:string, `scheduled_time`:string, `end_time`:string, `task_metrics`{...}, `results`[object]}, `usage`{...}
36
+ - Full contract: [`api-contracts/asr-api.md#post-api-u2-v1-services-audio-asr-transcription`](../api-contracts/asr-api.md#post-api-u2-v1-services-audio-asr-transcription)
37
+
38
+ ### Poll U2 job status
39
+
40
+ - Purpose: Observe job completion. Stay in soft observation after 90 seconds. Trigger U3 fallback only if there is still no result after 120 seconds.
41
+ - Tag: [`ASR-API`](../api-tags/asr-api.md)
42
+ - Route: `POST /api/u2/v1/tasks/{task_id}`
43
+ - Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
44
+ - Parameters: path: `task_id*`
45
+ - Request body: None
46
+ - Success response: 200 application/json: `time*`:string, `time_stamp*`:integer, `time_zone*`:string, `params*`{`task_id*`:string}, `data*`{`task_id*`:string, `task_status*`:string | null, `platform_task_status*`:string, `is_fully_succeeded*`:boolean, `submit_time`:string, `scheduled_time`:string, `end_time`:string, `task_metrics`{...}, ...}, `code*`:integer, `request_id*`:string, `message*`:string, ...
47
+ - Full contract: [`api-contracts/asr-api.md#post-api-u2-v1-tasks-task-id`](../api-contracts/asr-api.md#post-api-u2-v1-tasks-task-id)
48
+
49
+ ### Request U3 upload / relay
50
+
51
+ - Purpose: Use only if U2 still has no result after 120 seconds. Its purpose is to convert a private or non-publicly-readable source link into a public URL.
52
+ - Tag: [`Media-Ingest-API`](../api-tags/media-ingest-api.md)
53
+ - Route: `POST /api/u3/v1/uploads`
54
+ - Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
55
+ - Parameters: None
56
+ - Request body: application/json: `provider*`:string, `file_name*`:string, `content_type*`:string, `size_bytes*`:integer
57
+ - Success response: 200 application/json: `time*`:string, `time_stamp*`:integer, `time_zone*`:string, `params*`{`provider*`:string, `file_name*`:string, `content_type*`:string, `size_bytes*`:integer}, `data*`{`upload_id*`:string, `provider*`:string, `upload_method*`:string, `upload_url*`:string, `upload_headers*`{...}, `upload_expires_at*`:string, `file_ttl_seconds*`:integer}, `code*`:integer, `request_id*`:string, `message*`:string, ...
58
+ - Full contract: [`api-contracts/media-ingest-api.md#post-api-u3-v1-uploads`](../api-contracts/media-ingest-api.md#post-api-u3-v1-uploads)
59
+
60
+ ### Complete U3 upload and get a public URL
61
+
62
+ - Purpose: Completion should return a public URL. Submit that URL to U2 ASR again. If it still fails, keep the fact card and return incomplete.
63
+ - Tag: [`Media-Ingest-API`](../api-tags/media-ingest-api.md)
64
+ - Route: `POST /api/u3/v1/uploads/{upload_id}/complete`
65
+ - Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
66
+ - Parameters: path: `upload_id*`
67
+ - Request body: application/json: dynamic object
68
+ - Success response: 200 application/json: `time*`:string, `time_stamp*`:integer, `time_zone*`:string, `params*`{`upload_id*`:string}, `data*`{`upload_id*`:string, `provider*`:string, `file_url*`:string, `file_expires_at*`:string}, `code*`:integer, `request_id*`:string, `message*`:string, ...
69
+ - Full contract: [`api-contracts/media-ingest-api.md#post-api-u3-v1-uploads-upload-id-complete`](../api-contracts/media-ingest-api.md#post-api-u3-v1-uploads-upload-id-complete)
70
+
71
+ ## Execution Notes
72
+
73
+ - This guide only defines route order and fallback order. It does not replace platform-specific detail-route selection.
74
+ - The U1 source route depends on the platform, for example a Douyin or Xiaohongshu detail route. This guide only requires using the returned download URL first.
75
+ - If the platform already returns usable `subtitle_raw`, map it directly to `asr_raw` instead of calling U2 or U3.
@@ -0,0 +1 @@
1
+ """Meta capability runtime scripts."""
@@ -0,0 +1,141 @@
1
+ #!/usr/bin/env python3
2
+
3
+ if __package__ in {None, ""}:
4
+ import sys
5
+ from pathlib import Path
6
+
7
+ _self = Path(__file__).resolve()
8
+ for _parent in _self.parents:
9
+ if (_parent / "scripts" / "core" / "bootstrap_env.py").is_file():
10
+ sys.path.insert(0, str(_parent))
11
+ break
12
+
13
+ """Call any TikOmni route with Authorization for meta-capability."""
14
+
15
+ from scripts.core.bootstrap_env import bootstrap_for_direct_run
16
+
17
+ bootstrap_for_direct_run(__file__, __package__)
18
+
19
+ import argparse
20
+ import json
21
+ from typing import Any, Dict, Optional
22
+
23
+ from scripts.core.config_loader import load_tikomni_config, resolve_runtime_settings
24
+ from scripts.core.tikomni_common import call_json_api, resolve_runtime, write_json_stdout
25
+
26
+
27
+ def _parse_json_arg(name: str, raw_value: Optional[str]) -> Optional[Any]:
28
+ if raw_value is None or not str(raw_value).strip():
29
+ return None
30
+ try:
31
+ return json.loads(raw_value)
32
+ except Exception as error:
33
+ raise ValueError(f"invalid_json:{name}") from error
34
+
35
+
36
+ def _require_mapping(name: str, payload: Optional[Any]) -> Optional[Dict[str, Any]]:
37
+ if payload is None:
38
+ return None
39
+ if not isinstance(payload, dict):
40
+ raise ValueError(f"{name}_must_be_json_object")
41
+ return payload
42
+
43
+
44
+ def _normalize_headers(payload: Optional[Any]) -> Optional[Dict[str, str]]:
45
+ mapping = _require_mapping("headers", payload)
46
+ if mapping is None:
47
+ return None
48
+ normalized: Dict[str, str] = {}
49
+ for key, value in mapping.items():
50
+ normalized[str(key)] = str(value)
51
+ return normalized
52
+
53
+
54
+ def main() -> None:
55
+ parser = argparse.ArgumentParser(description="Call a TikOmni route with meta-capability auth")
56
+ parser.add_argument("method", help="HTTP method, for example GET or POST")
57
+ parser.add_argument("path", help="Route path, for example /api/u1/v1/health/check")
58
+ parser.add_argument("--params-json", default=None, help='JSON object for query params, for example {"id":"123"}')
59
+ parser.add_argument("--body-json", default=None, help='JSON payload for request body')
60
+ parser.add_argument(
61
+ "--headers-json",
62
+ default=None,
63
+ help='Optional extra headers JSON, for example {"X-Debug":"1"}',
64
+ )
65
+ parser.add_argument("--config", default=None, help="Optional YAML config path")
66
+ parser.add_argument("--env-file", default=None, help="Optional env file path under skills root")
67
+ parser.add_argument("--api-key-env", default=None, help="Optional API key env variable name override")
68
+ parser.add_argument("--base-url", default=None, help="Optional TikOmni API base URL override")
69
+ parser.add_argument("--timeout-ms", type=int, default=None, help="Optional timeout override in milliseconds")
70
+ parser.add_argument("--allow-process-env", action="store_true", help="Allow process env to override env files")
71
+ args = parser.parse_args()
72
+
73
+ try:
74
+ params = _require_mapping("params", _parse_json_arg("params", args.params_json))
75
+ body = _parse_json_arg("body", args.body_json)
76
+ extra_headers = _normalize_headers(_parse_json_arg("headers", args.headers_json))
77
+
78
+ config, config_path = load_tikomni_config(
79
+ cli_config_path=args.config,
80
+ env_file=args.env_file,
81
+ allow_process_env=args.allow_process_env,
82
+ )
83
+ runtime_settings = resolve_runtime_settings(
84
+ config=config,
85
+ cli_base_url=args.base_url,
86
+ cli_timeout_ms=args.timeout_ms,
87
+ cli_api_key_env=args.api_key_env,
88
+ )
89
+ runtime = resolve_runtime(
90
+ env_file=args.env_file,
91
+ api_key_env=runtime_settings["api_key_env"],
92
+ base_url=runtime_settings["base_url"],
93
+ timeout_ms=runtime_settings["timeout_ms"],
94
+ allow_process_env=args.allow_process_env,
95
+ )
96
+ except Exception as error:
97
+ write_json_stdout(
98
+ {
99
+ "ok": False,
100
+ "method": args.method.upper(),
101
+ "path": args.path,
102
+ "error_reason": str(error),
103
+ "request_id": None,
104
+ }
105
+ )
106
+ raise SystemExit(2) from error
107
+
108
+ result = call_json_api(
109
+ base_url=runtime["base_url"],
110
+ path=args.path,
111
+ token=runtime["token"],
112
+ method=args.method.upper(),
113
+ timeout_ms=runtime["timeout_ms"],
114
+ params=params,
115
+ body=body,
116
+ extra_headers=extra_headers,
117
+ )
118
+
119
+ write_json_stdout(
120
+ {
121
+ "ok": result["ok"],
122
+ "method": args.method.upper(),
123
+ "path": args.path,
124
+ "base_url": runtime["base_url"],
125
+ "params": params,
126
+ "body": body,
127
+ "extra_headers": extra_headers,
128
+ "status_code": result.get("status_code"),
129
+ "request_id": result.get("request_id"),
130
+ "error_reason": result.get("error_reason"),
131
+ "auth_env_key": runtime_settings["api_key_env"],
132
+ "config_path": config_path,
133
+ "env_bootstrap": runtime.get("env_bootstrap", {}),
134
+ "data": result.get("data", {}),
135
+ }
136
+ )
137
+ raise SystemExit(0 if result["ok"] else 1)
138
+
139
+
140
+ if __name__ == "__main__":
141
+ main()
@@ -0,0 +1 @@
1
+ """Core helpers for meta capability runtime."""
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env python3
2
+ """Shared bootstrap utilities for direct script execution."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import sys
7
+ from pathlib import Path
8
+ from typing import Optional
9
+
10
+
11
+ def _locate_repo_root(file_path: str) -> Optional[Path]:
12
+ current = Path(file_path).resolve()
13
+ for parent in current.parents:
14
+ if (parent / "scripts").is_dir():
15
+ return parent
16
+ return None
17
+
18
+
19
+ def bootstrap_for_direct_run(file_path: str, package: Optional[str] = None) -> Optional[str]:
20
+ """Inject repo root into sys.path when executed as a direct script path."""
21
+
22
+ if package not in {None, ""}:
23
+ return None
24
+
25
+ repo_root = _locate_repo_root(file_path)
26
+ if repo_root is None:
27
+ return None
28
+
29
+ repo_root_str = str(repo_root)
30
+ if repo_root_str not in sys.path:
31
+ sys.path.insert(0, repo_root_str)
32
+ return repo_root_str