Skip to content

Commit 59a8194

Browse files
committed
Improve kol-pricing report workflow
1 parent 5b56c07 commit 59a8194

3 files changed

Lines changed: 791 additions & 14 deletions

File tree

skills/kol-pricing/SKILL.md

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: kol-pricing
3-
description: "Use this skill when pricing, ranking, or researching X/Twitter KOLs for a creator marketing campaign, especially when the user provides handles, asks for batch KOL analysis, wants outreach recommendations, or wants an agent-native version of the KOL Pricing framework. Prefer UnifAPI MCP tools for public X data, then run the deterministic pricing workflow before drafting outreach."
3+
description: "Use this skill when pricing, ranking, or researching X/Twitter KOLs for a creator marketing campaign, especially when the user provides handles, asks for batch KOL analysis, wants outreach recommendations, wants Markdown plus Tailwind HTML campaign reports, or wants an agent-native version of the KOL Pricing framework. Require product context before analysis, prefer UnifAPI MCP tools for public X data, then run the deterministic pricing workflow before drafting outreach."
44
license: MIT
55
metadata:
66
author: UnifAPI
@@ -29,13 +29,18 @@ Attribution: this skill is adapted from [Antoniaiaiaiaia/kol-pricing](https://gi
2929

3030
## Workflow
3131

32-
1. Gather campaign context.
33-
- Product name, URL, pitch, desired action, estimated LTV.
32+
1. Resolve product context first.
33+
- Treat the promoted product as required input before fetching KOL data or pricing a campaign.
34+
- If the current conversation does not include product information, stop and ask for it. Accept a product/docs URL, pasted text, or a local/attached text/PDF/document file. A concise manual summary is also fine.
35+
- Ask for only the missing essentials: product name, URL if available, value proposition, target customer, desired action, and estimated LTV if known. Do not proceed from handles alone.
36+
- When the user provides a URL or file, extract product context from that source first, then ask a follow-up only for details still missing.
37+
38+
2. Gather campaign constraints.
3439
- Target KOL tiers, excluded tiers, follower floor, engagement floor, extra keywords.
3540
- Handles to analyze, or a search query if discovery is needed.
36-
- If the user does not provide context, ask for minimal campaign inputs. Do not assume the original app's local config files exist in this skills repository.
41+
- Do not assume the original app's local config files exist in this skills repository.
3742

38-
2. Fetch public X/Twitter data.
43+
3. Fetch public X/Twitter data.
3944
- Prefer the available UnifAPI MCP tools. Look for operations corresponding to:
4045
- `GET /x/users/by/username/{username}` for profile lookup by handle.
4146
- `GET /x/users/{id}/tweets` for recent authored posts after resolving the handle to `data.id`.
@@ -45,7 +50,7 @@ Attribution: this skill is adapted from [Antoniaiaiaiaia/kol-pricing](https://gi
4550
- Keep the returned `billing` metadata when available so final reports can mention actual record cost.
4651
- Do not call `api.x.com` directly unless the user explicitly asks for an official X implementation.
4752

48-
3. Create a snapshot JSON for deterministic analysis.
53+
4. Create a snapshot JSON for deterministic analysis.
4954
- Use this shape:
5055

5156
```json
@@ -78,34 +83,39 @@ Attribution: this skill is adapted from [Antoniaiaiaiaia/kol-pricing](https://gi
7883

7984
- The analyzer also accepts whole UnifAPI response envelopes as `profile_response` and `tweets_response`, which is useful when preserving `request_id`, `pagination`, and `billing` beside the normalized report.
8085

81-
4. Run the offline pricing script when a reproducible artifact is useful.
86+
5. Run the offline pricing script when a reproducible artifact is useful. Generate Markdown, JSON, and Tailwind HTML artifacts from the same snapshot.
8287

8388
```bash
8489
node skills/kol-pricing/scripts/analyze-snapshot.mjs \
8590
--input /tmp/kol-pricing-input.json \
8691
--out /tmp/kol-pricing-report.md \
87-
--json /tmp/kol-pricing-report.json
92+
--json /tmp/kol-pricing-report.json \
93+
--html /tmp/kol-pricing-report.html
8894
```
8995

90-
5. Draft outreach with the calling agent, not an external LLM key.
96+
6. Draft outreach with the calling agent, not an external LLM key.
9197
- Use `dm_brief` from the JSON report.
9298
- Reference exactly one recent tweet when possible.
9399
- Keep the tone practitioner, direct, and low-hype.
94100
- If the recommendation is `skip`, draft a zero-cash affiliate/gift-access option only if the user still wants outreach.
95101

96102
## Output
97103

104+
Always produce a text report in chat or Markdown and, when writing artifacts, also produce an HTML report styled with Tailwind. The HTML must use the same analysis results as the text report, avoid placeholder/mock data, and mirror the original app's result modules: profile header, warnings panel, tier verdict, collaboration matrix, top-pick ROI card, contract requirements, outreach brief, and audit trail. For batch reports, prepend a records-style ranked table and top actions before the per-KOL modules.
105+
98106
For single-handle analysis, return:
99107
- Verdict: tier, top pick, cash range, ROI, risk level.
100108
- Evidence: matched keywords, engagement, profile fit, recent tweet signals.
101109
- Recommendation: contract terms and outreach brief.
102110
- Cost: UnifAPI records consumed or the best estimate if billing metadata is unavailable.
111+
- HTML report path when an artifact was generated.
103112

104113
For batch analysis, return:
105114
- Ranked table.
106115
- Per-KOL mini reports.
107116
- Top 3 actions: engage, negotiate, skip.
108117
- Optional DM drafts for only the selected KOLs unless the user asks for all.
118+
- HTML report path when an artifact was generated.
109119

110120
## Pricing Logic
111121

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
interface:
22
display_name: "KOL Pricing"
3-
short_description: "Price and rank KOL campaigns from X handles"
4-
default_prompt: "Use $kol-pricing to analyze these X handles for a campaign and recommend pricing."
3+
short_description: "Price, rank, and report KOL campaigns"
4+
default_prompt: "Use $kol-pricing to analyze these X handles for a campaign. Ask for product context if it is missing, then recommend pricing and generate Markdown plus Tailwind HTML reports."

0 commit comments

Comments
 (0)