Skill: xjouska/ai-cmo (version 1.0.3)

--- name: AI-CMO Social Media Promoter description: Find the best social media promotion spots for any product and generate platform-tailored engagement copy requires: env: - AICMO_API_KEY --- # AI-CMO: Social Media Promotion Intelligence AI-CMO analyzes any product URL or name and finds the best promotion opportunities across Reddit, YouTube, Twitter/X, Quora, Product Hunt, and Hacker News. It returns ranked posts with AI-generated engagement copy tailored to each platform's tone. > This skill calls the AI-CMO REST API to retrieve promotion data. It does **not** require a local browser — all analysis happens server-side. The agent uses the returned data to help you engage on social media. **Homepage:** <https://www.aicmo.site> **API Docs:** <https://www.aicmo.site/api-docs> ## Runtime requirements * **OS:** macOS · Linux · Windows * **Env:** `AICMO_API_KEY` — your AI-CMO API key (get one at <https://www.aicmo.site> → Settings → API Keys) ## When to use * You want to find high-value posts/threads to engage with for a product * You need AI-generated comments customized per platform * You want a CSV of promotion targets for batch processing ## When not to use * You only need a simple Google search (use a search engine instead) * The product has no web presence yet (AI-CMO needs existing content to find) ## Prerequisites * An AI-CMO account — register at <https://www.aicmo.site> * Environment variable: `AICMO_API_KEY` ### Get an API key 1. Log in to <https://aicmo.site> 2. Go to **Settings → API Keys** 3. Click **Create Key** and save the key securely ```bash export AICMO_API_KEY="sk-cmo-your-key-here" ``` ## Quick start: analyze a product Analyze a product and get ranked promotion spots. Consumes **1 credit** per call. > Note: Analysis takes 2–4 minutes (scraping 6 platforms + AI scoring). Set your HTTP client timeout to at least 300 seconds. ```typescript const resp = await fetch("https://www.aicmo.site/api/v1/open/analyze", { method: "POST", headers: { "Content-Type": "application/json", "x-api-key": process.env.AICMO_API_KEY!, }, body: JSON.stringify({ product: "https://your-product.com", language: "en", max_results: 10, }), }); const result = await resp.json(); for (const spot of result.promotions) { console.log(`#${spot.rank} [${spot.platform}] ${spot.title}`); console.log(` URL: ${spot.url}`); console.log(` Comment: ${spot.suggested_comment}`); console.log(` Score: ${spot.composite_score} | Risk: ${spot.risk_level}`); } ``` The response contains `promotions[]` (ranked posts with `url`, `suggested_comment`, `platform`, `composite_score`, `risk_level`, etc.) and `strategy` (action plan). For CSV output, use `/analyze/csv` instead — same request, returns a downloadable CSV file. Base URL: `https://www.aicmo.site/api/v1/open` (always use `www.aicmo.site`). ### CSV columns | Column | Description | |--------|-------------| | Rank | Priority ranking (1 = best) | | Platform | reddit, youtube, twitter, quora, producthunt, hackernews | | URL | Direct link to the post/thread | | Title | Post title | | Suggested Comment | AI-generated engagement copy for this specific post | | Comment Strategy | Context on how to approach the conversation | | Why Recommend | Why this post is a good promotion opportunity | | Best Timing | Recommended engagement window | | Risk Level | low, medium, or high | | Estimated Exposure | Approximate reach | | Score | Composite quality score (0–100) | ## Engaging with results After receiving promotion spots, the agent can help you engage by: 1. **Browsing** to the post URL 2. **Reading** the existing discussion for context 3. **Composing** a reply using the `suggested_comment` as a starting point 4. **Adapting** the tone to match the thread's conversation style > Important: Always review the suggested comment before posting. The AI provides a strong starting point, but human judgment ensures the reply feels authentic and adds genuine value to the conversation. ## References (deep dive) * API reference: [references/api-reference.md](references/api-reference.md) * Platform-specific engagement tips: [references/platform-tips.md](references/platform-tips.md) * Scheduling and frequency recommendations: [references/scheduling.md](references/scheduling.md) --- # 中文版 / Chinese Translation --- # AI-CMO：社媒推广智能分析 AI-CMO 可分析任意产品 URL 或名称，在 Reddit、YouTube、Twitter/X、Quora、Product Hunt 和 Hacker News 上找到最佳推广机会。返回排名后的帖子列表，并为每个帖子生成匹配该平台风格的 AI 互动文案。 > 本 Skill 调用 AI-CMO REST API 获取推广数据，**不需要**本地浏览器——所有分析在服务端完成。 ## 何时使用 * 为产品找到高价值的帖子/讨论串进行互动 * 获取为每个平台定制的 AI 评论文案 * 获取 CSV 格式的推广目标清单用于批量处理 ## 何时不使用 * 只需要简单搜索（请直接用搜索引擎） * 产品还没有任何网络信息（AI-CMO 需要已有内容才能分析） ## 前置条件 * AI-CMO 账号——在 <https://www.aicmo.site> 注册 * 环境变量：`AICMO_API_KEY`（在 **设置 → API 密钥** 中创建） > 代码示例与上方英文部分一致，此处不再重复。 ## 核心接口 | 接口 | 说明 | 消耗积分 | |------|------|---------| | `GET /quota` | 查询剩余积分 | 否 | | `POST /analyze` | 分析产品，返回 JSON 推广位 | 1 积分 | | `POST /analyze/csv` | 分析产品，返回 CSV 文件 | 1 积分 | | `GET /history` | 分析历史列表 | 否 | | `GET /history/{id}/csv` | 导出过往分析为 CSV | 否 | ## 使用结果进行互动 Agent 可以帮你：浏览帖子 URL → 阅读上下文 → 以 `suggested_comment` 为起点撰写回复 → 调整语气匹配对话风格。 > 发帖前务必审阅。AI 提供的是起点，人工判断确保回复真实自然。 ## 参考文档 * API 参考：[references/api-reference.md](references/api-reference.md) * 各平台互动技巧：[references/platform-tips.md](references/platform-tips.md) * 频率和节奏建议：[references/scheduling.md](references/scheduling.md)

path: references/scheduling.md
content: # Scheduling and Frequency Recommendations

## How often to analyze

Social media content moves fast. A post that's trending today may be buried tomorrow. For best results:

* **Active campaigns:** Analyze every 1–2 days to catch fresh opportunities
* **Maintenance mode:** Analyze 2–3 times per week to stay visible
* **Launch period:** Analyze daily during your first 2 weeks

## How many posts to engage with per session

Engaging with too many posts at once can feel unnatural. Recommended per session:

| Approach | Posts per session | Best for |
|----------|-------------------|----------|
| Conservative | 3–5 | New accounts, building reputation |
| Balanced | 5–8 | Day-to-day promotion |
| Intensive | 8–10 | Established accounts with history |

## Timing your engagement

The `best_timing` field in each promotion spot tells you when to engage for maximum visibility. General principles:

* **Reddit:** Most active 8 AM – 12 PM EST on weekdays
* **YouTube:** Comments on fresh videos (< 24 hours old) get the most visibility
* **Twitter/X:** Peak engagement 9 AM – 3 PM in your target audience's timezone
* **Hacker News:** Mornings EST for US tech audience
* **Quora:** Evenings and weekends see higher read-through rates

## Pacing

Natural engagement rhythm:

1. Browse to the post and read the content (30–60 seconds)
2. Read a few existing comments for context (20–40 seconds)
3. Compose and post your reply
4. Move on to the next task after a natural pause

## Credit consumption estimates

Each analysis call (regardless of JSON or CSV format) consumes **1 credit**.

| Strategy | Frequency | Monthly credits | Monthly cost (approx) |
|----------|-----------|-----------------|----------------------|
| Conservative | Every 2 days | ~15 | S$17 (Starter × 2) |
| Balanced | Daily | ~30 | S$22.99 (Pro) |
| Intensive | Daily + re-runs | ~45–60 | S$99.99 (Ultra) |

> Exporting past analyses via `/history/{id}/csv` does **not** consume credits, so you can re-download previous results at any time.

---

# 中文版 / Chinese Translation

---

# 频率和节奏建议

## 多久分析一次

社媒内容更新很快。今天的热帖明天可能就沉了。为获得最佳效果：

* **活跃推广期：** 每 1-2 天分析一次，抓住新机会
* **维护模式：** 每周分析 2-3 次，保持可见度
* **产品发布期：** 前 2 周每天分析

## 每次互动多少帖子

一次性互动太多帖子会显得不自然。每次推荐数量：

| 策略 | 每次帖数 | 适用场景 |
|------|---------|---------|
| 保守 | 3–5 | 新账号、积累声誉期 |
| 均衡 | 5–8 | 日常推广 |
| 密集 | 8–10 | 老号、有历史记录的账号 |

## 互动时机

每个推广位的 `best_timing` 字段告诉你最佳互动时间。通用原则：

* **Reddit：** 工作日 EST 上午 8 点 – 中午 12 点最活跃
* **YouTube：** 新视频（发布 24 小时内）的评论曝光最高
* **Twitter/X：** 目标用户时区的上午 9 点 – 下午 3 点为高峰
* **Hacker News：** EST 早晨，面向美国科技受众
* **Quora：** 晚间和周末阅读率更高

## 互动节奏

自然的互动节奏：

1. 浏览帖子，阅读内容（30–60 秒）
2. 看几条已有评论了解上下文（20–40 秒）
3. 撰写并发布回复
4. 自然停顿后进入下一个任务

## 积分消耗预估

每次分析调用（无论 JSON 还是 CSV 格式）消耗 **1 积分**。

| 策略 | 频率 | 月消耗积分 | 月费用（约） |
|------|------|-----------|------------|
| 保守 | 每 2 天 | ~15 | S$17（Starter × 2） |
| 均衡 | 每天 | ~30 | S$22.99（Pro） |
| 密集 | 每天 + 重新分析 | ~45–60 | S$99.99（Ultra） |

> 通过 `/history/{id}/csv` 导出过往分析**不消耗**积分，你可以随时重新下载之前的结果。


path: references/platform-tips.md
content: # Platform-Specific Engagement Tips

Each platform has different norms for how comments and replies are received. Following these guidelines helps ensure your engagement feels authentic and is well-received by the community.

## Reddit

* **Read before replying.** Scan existing comments to avoid duplicating what others already said.
* **Add value.** Reddit users downvote anything that looks promotional. Frame your reply as genuinely helpful — share an experience, answer a question, or add context.
* **Match the subreddit's tone.** r/technology is different from r/SideProject. Adapt formality, humor, and length accordingly.
* **Don't include links immediately.** In many subreddits, linking in your first comment gets flagged. Contribute to the discussion first; share links only when asked or when it naturally fits.
* **Timing matters.** Posts gain most traction in the first 4–6 hours. The `best_timing` field reflects this window.

## YouTube

* **Comment early on new videos.** Early comments on popular videos get pinned or upvoted to the top.
* **Reference specific content in the video.** "Great explanation at 3:42 about X" feels more genuine than generic praise.
* **Ask a follow-up question.** Questions drive engagement threads and make the creator more likely to reply.

## Twitter / X

* **Be concise.** Twitter rewards brevity and wit.
* **Quote-tweet for visibility.** If the post is relevant, a quote-tweet with your perspective reaches your followers too.
* **Use relevant hashtags sparingly.** 1–2 targeted hashtags, not a wall of them.
* **Engage in threads.** Replying to active threads gives more visibility than standalone tweets.

## Quora

* **Answer the question comprehensively.** Quora rewards detailed, well-structured answers.
* **Include your perspective.** "In my experience with [tool]..." is more credible than a generic recommendation.
* **Formatting matters.** Use bullet points, bold text, and short paragraphs. Quora readers skim.

## Product Hunt

* **Launch day is key.** Most engagement happens in the first 12 hours.
* **Ask genuine questions about the product.** Makers actively monitor and reply on launch day.
* **Share related tools.** "I've also been using X for similar purposes" positions you as knowledgeable, not spammy.

## Hacker News

* **Substance over promotion.** HN has the strictest anti-promotion culture. Focus on technical insight.
* **Engage with the ideas, not the product.** Discuss the underlying technology, market, or problem space.
* **Avoid superlatives.** "Revolutionary" and "game-changing" trigger skepticism. Use measured, specific language.
* **Show, don't tell.** Share specific data points, benchmarks, or technical details.

## General principles

* **One account, one voice.** Be consistent in your engagement style.
* **Space out your activity.** Engaging on 3–5 posts per session, with natural pauses between them, matches organic browsing behavior.
* **Respect the community.** If a platform's rules prohibit self-promotion, don't force it. Focus on adding value — people will organically check your profile.
* **Review before posting.** The `suggested_comment` from AI-CMO is a strong starting point, but always adapt it to the specific conversation context.

---

# 中文版 / Chinese Translation

---

# 各平台互动技巧

每个平台对评论和回复有不同的规范。遵循以下指南有助于确保你的互动显得真实自然，并被社区接受。

## Reddit

* **先看再回。** 浏览已有评论，避免重复别人说过的话。
* **提供价值。** Reddit 用户会点踩任何看起来像推广的内容。把回复框架为真正有帮助的——分享经验、回答问题或补充背景。
* **匹配子版块的语气。** r/technology 和 r/SideProject 完全不同。根据情况调整正式程度、幽默感和篇幅。
* **不要立刻放链接。** 在很多子版块，首条评论放链接会被标记。先参与讨论，只在被问到或自然合适时才分享链接。
* **时机很重要。** 帖子在前 4-6 小时获得最多关注。`best_timing` 字段反映了这个窗口。

## YouTube

* **在新视频上尽早评论。** 热门视频的早期评论容易被置顶或获得高赞。
* **引用视频中的具体内容。** "3:42 处关于 X 的解释很棒" 比泛泛的夸赞更真实。
* **提出后续问题。** 问题能带动互动讨论串，也更容易让创作者回复。

## Twitter / X

* **简洁有力。** Twitter 奖励简短和机智。
* **引用转发增加曝光。** 如果帖子相关，带上你观点的引用转发能触达你的粉丝。
* **谨慎使用话题标签。** 1-2 个针对性标签即可，不要堆一堆。
* **参与讨论串。** 回复活跃的讨论串比独立发推更有曝光。

## Quora

* **全面回答问题。** Quora 奖励详细、结构清晰的回答。
* **加入你的观点。** "以我使用 [工具] 的经验来看..." 比泛泛推荐更可信。
* **排版很重要。** 使用要点、加粗和短段落。Quora 读者习惯略读。

## Product Hunt

* **发布日是关键。** 大部分互动发生在前 12 小时。
* **提出真诚的问题。** 创始人在发布日积极监控和回复。
* **分享相关工具。** "我也在用 X 做类似的事" 让你显得专业而非推销。

## Hacker News

* **内容大于推广。** HN 有最严格的反推广文化。专注于技术洞察。
* **讨论想法，而非产品。** 聊底层技术、市场或问题空间。
* **避免夸张修辞。** "颠覆性" "改变游戏规则" 会引发怀疑。用精确、具体的语言。
* **用事实说话。** 分享具体数据、基准测试或技术细节。

## 通用原则

* **一个账号，一种风格。** 保持互动风格的一致性。
* **分散活动节奏。** 每次 3-5 个帖子，帖与帖之间自然停顿，符合正常浏览行为。
* **尊重社区。** 如果平台规则禁止自我推广，不要硬推。专注于提供价值——人们会自然地查看你的个人主页。
* **发帖前审阅。** AI-CMO 的 `suggested_comment` 是很好的起点，但始终要根据具体对话上下文调整。


path: references/api-reference.md
content: # AI-CMO API Reference

Base URL: `https://www.aicmo.site/api/v1/open`

All endpoints require the `x-api-key` header.

## GET /quota

Check remaining credits.

```typescript
const data = await aicmoFetch("/quota").then(r => r.json());
// { credits_remaining: 15, username: "you", is_premium: false }
```

## POST /analyze

Analyze a product and return ranked promotion spots as JSON. Consumes 1 credit.

**Request body:**

```json
{
  "product": "https://yoursite.com",
  "language": "en",
  "max_results": 10
}
```

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| product | string | yes | Product URL or name (1–500 chars) |
| language | string | no | Response language: en, zh, ja, ko, es, fr, de, pt, ru, ar. Default: en |
| max_results | integer | no | Number of results (1–20). Default: 10 |

**Response:** See `AnalyzeResponse` in SKILL.md.

## POST /analyze/csv

Same as `/analyze` but returns CSV directly. Consumes 1 credit.

Same request body as `/analyze`. Response is a CSV file with BOM for Excel compatibility.

```typescript
const resp = await aicmoFetch("/analyze/csv", {
  method: "POST",
  body: JSON.stringify({ product: "mysite.com", language: "en", max_results: 8 }),
});
const csvText = await resp.text();
```

## GET /history

List recent analysis sessions.

| Query Param | Type | Default | Description |
|-------------|------|---------|-------------|
| limit | integer | 20 | Max results |

```typescript
const data = await aicmoFetch("/history?limit=5").then(r => r.json());
// { conversations: [{ id, title, status, created_at }, ...] }
```

## GET /history/{id}

Get full results from a past analysis.

```typescript
const data = await aicmoFetch(`/history/${conversationId}`).then(r => r.json());
// { input_value, recommendations: [...], strategy: {...} }
```

## GET /history/{id}/csv

Export a past analysis as CSV. Does **not** consume credits.

```typescript
const csv = await aicmoFetch(`/history/${conversationId}/csv`).then(r => r.text());
```

## Rate limits

* No explicit rate limit on reads (`/quota`, `/history`)
* Analysis endpoints (`/analyze`, `/analyze/csv`) are gated by credits — each call costs 1 credit
* If an analysis fails server-side, the credit is automatically refunded

## Promotion spot fields

Each item in the `promotions` array contains:

| Field | Type | Description |
|-------|------|-------------|
| rank | integer | Priority ranking |
| platform | string | Platform name (reddit, youtube, twitter, quora, producthunt, hackernews) |
| url | string | Direct URL to the post |
| title | string | Post title |
| suggested_comment | string | AI-crafted comment tailored to this post and platform |
| comment_strategy | string | How to frame the reply (helpful, comparative, etc.) |
| why_recommend | string | Why this post is a good opportunity |
| best_timing | string | When to engage for max visibility |
| risk_level | string | low / medium / high |
| risk_note | string | Explanation of the risk assessment |
| estimated_exposure | string | Expected reach (e.g. "~5K views") |
| composite_score | float | Quality score 0–100 |
| engagement_stats | object | Platform metrics: upvotes, comments, views |

---

# 中文版 / Chinese Translation

---

# AI-CMO API 参考

Base URL：`https://www.aicmo.site/api/v1/open`。所有接口需要 `x-api-key` 请求头。代码示例同上方英文部分。

## 接口一览

| 接口 | 说明 | 消耗积分 |
|------|------|---------|
| `GET /quota` | 查询剩余积分 | 否 |
| `POST /analyze` | 分析产品，返回 JSON 格式排名推广位 | 1 积分 |
| `POST /analyze/csv` | 分析产品，直接返回 CSV 文件（Excel 兼容） | 1 积分 |
| `GET /history` | 列出最近的分析记录 | 否 |
| `GET /history/{id}` | 获取某次分析的完整结果 | 否 |
| `GET /history/{id}/csv` | 将过往分析导出为 CSV | 否 |

## 请求参数（`/analyze` 和 `/analyze/csv`）

| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| product | string | 是 | 产品 URL 或名称（1–500 字符） |
| language | string | 否 | 响应语言：en、zh、ja、ko、es、fr、de、pt、ru、ar。默认 en |
| max_results | integer | 否 | 返回结果数量（1–20）。默认 10 |

## 速率限制

* 读取接口（`/quota`、`/history`）无显式速率限制
* 分析接口通过积分控制——每次调用消耗 1 积分
* 如果分析在服务端失败，积分自动退回

## 推广位字段说明

| 字段 | 类型 | 说明 |
|------|------|------|
| rank | integer | 优先级排名 |
| platform | string | 平台名（reddit、youtube、twitter、quora、producthunt、hackernews） |
| url | string | 帖子直链 |
| title | string | 帖子标题 |
| suggested_comment | string | 为该帖和平台定制的 AI 评论文案 |
| comment_strategy | string | 回复切入方式（帮助型、对比型等） |
| why_recommend | string | 推荐理由 |
| best_timing | string | 最佳互动时间窗口 |
| risk_level | string | low / medium / high |
| risk_note | string | 风险评估说明 |
| estimated_exposure | string | 预估曝光量 |
| composite_score | float | 综合质量评分 0–100 |
| engagement_stats | object | 平台指标：点赞数、评论数、浏览量 |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)