@tikomni/skills 0.1.1 → 0.1.2
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.
- package/package.json +1 -1
- package/skills/creator-analysis/SKILL.md +34 -10
- package/skills/creator-analysis/references/contracts/creator-card-fields.md +2 -0
- package/skills/creator-analysis/references/contracts/work-card-fields.md +40 -4
- package/skills/creator-analysis/references/platform-guides/douyin.md +41 -36
- package/skills/creator-analysis/references/platform-guides/generic.md +11 -7
- package/skills/creator-analysis/references/platform-guides/xiaohongshu.md +45 -30
- package/skills/creator-analysis/references/schemas/author-analysis-v2.schema.json +224 -95
- package/skills/creator-analysis/references/workflow.md +8 -3
- package/skills/creator-analysis/scripts/author_home/adapters/platform_adapters.py +205 -21
- package/skills/creator-analysis/scripts/author_home/analyzers/author_analysis_v2_support.py +54 -11
- package/skills/creator-analysis/scripts/author_home/analyzers/prompt_first_analyzers.py +200 -13
- package/skills/creator-analysis/scripts/author_home/analyzers/sampled_work_batch_explainer.py +113 -42
- package/skills/creator-analysis/scripts/author_home/asr/home_asr.py +65 -7
- package/skills/creator-analysis/scripts/author_home/builders/home_builders.py +82 -18
- package/skills/creator-analysis/scripts/author_home/collectors/homepage_collectors.py +198 -32
- package/skills/creator-analysis/scripts/author_home/orchestrator/run_author_analysis.py +374 -31
- package/skills/creator-analysis/scripts/author_home/orchestrator/work_analysis_artifacts.py +68 -12
- package/skills/creator-analysis/scripts/core/storage_router.py +3 -0
- package/skills/creator-analysis/scripts/writers/write_author_homepage_samples.py +3 -2
- package/skills/creator-analysis/scripts/writers/write_benchmark_card.py +314 -137
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "tikomni/author-analysis-v2.schema.json",
|
|
3
4
|
"title": "author_analysis_v2",
|
|
4
5
|
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
5
7
|
"required": [
|
|
6
8
|
"author_positioning",
|
|
7
9
|
"trust_model",
|
|
@@ -13,146 +15,273 @@
|
|
|
13
15
|
"evidence_pack",
|
|
14
16
|
"clone_guidance"
|
|
15
17
|
],
|
|
18
|
+
"$defs": {
|
|
19
|
+
"stringArray": {
|
|
20
|
+
"type": "array",
|
|
21
|
+
"items": { "type": "string" }
|
|
22
|
+
},
|
|
23
|
+
"themeCluster": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"additionalProperties": false,
|
|
26
|
+
"required": ["name", "keywords"],
|
|
27
|
+
"properties": {
|
|
28
|
+
"name": { "type": "string" },
|
|
29
|
+
"keywords": { "$ref": "#/$defs/stringArray" }
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"tensionItem": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"additionalProperties": false,
|
|
35
|
+
"required": ["label", "surface", "deep_reason", "strategic_implication"],
|
|
36
|
+
"properties": {
|
|
37
|
+
"label": { "type": "string" },
|
|
38
|
+
"surface": { "type": "string" },
|
|
39
|
+
"deep_reason": { "type": "string" },
|
|
40
|
+
"strategic_implication": { "type": "string" }
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"representativeWork": {
|
|
44
|
+
"type": "object",
|
|
45
|
+
"additionalProperties": false,
|
|
46
|
+
"required": ["platform_work_id", "title", "bucket"],
|
|
47
|
+
"properties": {
|
|
48
|
+
"platform_work_id": { "type": "string" },
|
|
49
|
+
"title": { "type": "string" },
|
|
50
|
+
"bucket": { "type": "string" }
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
16
54
|
"properties": {
|
|
17
55
|
"author_positioning": {
|
|
18
56
|
"type": "object",
|
|
19
|
-
"
|
|
57
|
+
"additionalProperties": false,
|
|
58
|
+
"required": [
|
|
59
|
+
"one_liner",
|
|
60
|
+
"author_type",
|
|
61
|
+
"primary_role",
|
|
62
|
+
"secondary_roles",
|
|
63
|
+
"target_audience",
|
|
64
|
+
"core_problem_solved",
|
|
65
|
+
"core_value_proposition",
|
|
66
|
+
"evidence"
|
|
67
|
+
],
|
|
20
68
|
"properties": {
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
69
|
+
"one_liner": { "type": "string" },
|
|
70
|
+
"author_type": { "type": "string" },
|
|
71
|
+
"primary_role": { "type": "string" },
|
|
72
|
+
"secondary_roles": { "$ref": "#/$defs/stringArray" },
|
|
73
|
+
"target_audience": { "type": "string" },
|
|
74
|
+
"core_problem_solved": { "type": "string" },
|
|
75
|
+
"core_value_proposition": { "type": "string" },
|
|
76
|
+
"evidence": { "$ref": "#/$defs/stringArray" }
|
|
77
|
+
}
|
|
27
78
|
},
|
|
28
79
|
"trust_model": {
|
|
29
80
|
"type": "object",
|
|
30
|
-
"
|
|
81
|
+
"additionalProperties": false,
|
|
82
|
+
"required": [
|
|
83
|
+
"primary_trust_source",
|
|
84
|
+
"secondary_trust_sources",
|
|
85
|
+
"trust_building_mechanisms",
|
|
86
|
+
"trust_risks",
|
|
87
|
+
"relationship_posture",
|
|
88
|
+
"evidence"
|
|
89
|
+
],
|
|
31
90
|
"properties": {
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
91
|
+
"primary_trust_source": { "type": "string" },
|
|
92
|
+
"secondary_trust_sources": { "$ref": "#/$defs/stringArray" },
|
|
93
|
+
"trust_building_mechanisms": { "$ref": "#/$defs/stringArray" },
|
|
94
|
+
"trust_risks": { "$ref": "#/$defs/stringArray" },
|
|
95
|
+
"relationship_posture": {
|
|
96
|
+
"type": "object",
|
|
97
|
+
"additionalProperties": false,
|
|
98
|
+
"required": ["distance", "authority_level", "affinity_level"],
|
|
99
|
+
"properties": {
|
|
100
|
+
"distance": { "type": "string" },
|
|
101
|
+
"authority_level": { "type": "string" },
|
|
102
|
+
"affinity_level": { "type": "string" }
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"evidence": { "$ref": "#/$defs/stringArray" }
|
|
106
|
+
}
|
|
40
107
|
},
|
|
41
108
|
"cognitive_engine": {
|
|
42
109
|
"type": "object",
|
|
43
|
-
"
|
|
110
|
+
"additionalProperties": false,
|
|
111
|
+
"required": [
|
|
112
|
+
"worldview",
|
|
113
|
+
"value_priority",
|
|
114
|
+
"problem_definition_style",
|
|
115
|
+
"reasoning_modes",
|
|
116
|
+
"knowledge_sources",
|
|
117
|
+
"judgment_style",
|
|
118
|
+
"core_cognitive_actions",
|
|
119
|
+
"evidence"
|
|
120
|
+
],
|
|
44
121
|
"properties": {
|
|
45
122
|
"worldview": { "type": "string" },
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
123
|
+
"value_priority": { "$ref": "#/$defs/stringArray" },
|
|
124
|
+
"problem_definition_style": { "type": "string" },
|
|
125
|
+
"reasoning_modes": { "$ref": "#/$defs/stringArray" },
|
|
126
|
+
"knowledge_sources": { "$ref": "#/$defs/stringArray" },
|
|
127
|
+
"judgment_style": {
|
|
128
|
+
"type": "object",
|
|
129
|
+
"additionalProperties": false,
|
|
130
|
+
"required": ["certainty_level", "notes"],
|
|
131
|
+
"properties": {
|
|
132
|
+
"certainty_level": { "type": "string" },
|
|
133
|
+
"notes": { "type": "string" }
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"core_cognitive_actions": { "$ref": "#/$defs/stringArray" },
|
|
137
|
+
"evidence": { "$ref": "#/$defs/stringArray" }
|
|
138
|
+
}
|
|
53
139
|
},
|
|
54
140
|
"expression_hooks": {
|
|
55
141
|
"type": "object",
|
|
56
|
-
"
|
|
142
|
+
"additionalProperties": false,
|
|
143
|
+
"required": [
|
|
144
|
+
"language_style",
|
|
145
|
+
"hook_keywords",
|
|
146
|
+
"hook_types",
|
|
147
|
+
"argument_patterns",
|
|
148
|
+
"emotion_patterns",
|
|
149
|
+
"memorability_sources",
|
|
150
|
+
"evidence"
|
|
151
|
+
],
|
|
57
152
|
"properties": {
|
|
58
|
-
"
|
|
59
|
-
"type": "
|
|
60
|
-
"
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
153
|
+
"language_style": {
|
|
154
|
+
"type": "object",
|
|
155
|
+
"additionalProperties": false,
|
|
156
|
+
"required": ["oral_level", "assertiveness", "emotional_intensity", "professional_density"],
|
|
157
|
+
"properties": {
|
|
158
|
+
"oral_level": { "type": "string" },
|
|
159
|
+
"assertiveness": { "type": "string" },
|
|
160
|
+
"emotional_intensity": { "type": "string" },
|
|
161
|
+
"professional_density": { "type": "string" }
|
|
162
|
+
}
|
|
65
163
|
},
|
|
66
|
-
"
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
164
|
+
"hook_keywords": { "$ref": "#/$defs/stringArray" },
|
|
165
|
+
"hook_types": { "$ref": "#/$defs/stringArray" },
|
|
166
|
+
"argument_patterns": { "$ref": "#/$defs/stringArray" },
|
|
167
|
+
"emotion_patterns": { "$ref": "#/$defs/stringArray" },
|
|
168
|
+
"memorability_sources": { "$ref": "#/$defs/stringArray" },
|
|
169
|
+
"evidence": { "$ref": "#/$defs/stringArray" }
|
|
170
|
+
}
|
|
72
171
|
},
|
|
73
172
|
"content_mechanism": {
|
|
74
173
|
"type": "object",
|
|
75
|
-
"
|
|
174
|
+
"additionalProperties": false,
|
|
175
|
+
"required": [
|
|
176
|
+
"topic_sources",
|
|
177
|
+
"topic_goals",
|
|
178
|
+
"winning_content_structures",
|
|
179
|
+
"repeatable_series",
|
|
180
|
+
"traffic_drivers",
|
|
181
|
+
"content_flywheel",
|
|
182
|
+
"cross_platform_variation",
|
|
183
|
+
"dominant_themes",
|
|
184
|
+
"theme_clusters",
|
|
185
|
+
"evidence"
|
|
186
|
+
],
|
|
76
187
|
"properties": {
|
|
77
|
-
"topic_sources": {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
},
|
|
81
|
-
"
|
|
188
|
+
"topic_sources": { "$ref": "#/$defs/stringArray" },
|
|
189
|
+
"topic_goals": { "$ref": "#/$defs/stringArray" },
|
|
190
|
+
"winning_content_structures": { "$ref": "#/$defs/stringArray" },
|
|
191
|
+
"repeatable_series": { "$ref": "#/$defs/stringArray" },
|
|
192
|
+
"traffic_drivers": { "$ref": "#/$defs/stringArray" },
|
|
193
|
+
"content_flywheel": { "type": "string" },
|
|
194
|
+
"cross_platform_variation": { "type": "string" },
|
|
195
|
+
"dominant_themes": { "$ref": "#/$defs/stringArray" },
|
|
196
|
+
"theme_clusters": {
|
|
82
197
|
"type": "array",
|
|
83
|
-
"items": { "
|
|
198
|
+
"items": { "$ref": "#/$defs/themeCluster" }
|
|
84
199
|
},
|
|
85
|
-
"
|
|
86
|
-
|
|
87
|
-
"items": { "type": "string" }
|
|
88
|
-
},
|
|
89
|
-
"traffic_drivers": {
|
|
90
|
-
"type": "array",
|
|
91
|
-
"items": { "type": "string" }
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
"additionalProperties": false
|
|
200
|
+
"evidence": { "$ref": "#/$defs/stringArray" }
|
|
201
|
+
}
|
|
95
202
|
},
|
|
96
203
|
"commercial_bridge": {
|
|
97
204
|
"type": "object",
|
|
98
|
-
"
|
|
205
|
+
"additionalProperties": false,
|
|
206
|
+
"required": [
|
|
207
|
+
"content_role_in_funnel",
|
|
208
|
+
"likely_products",
|
|
209
|
+
"conversion_path",
|
|
210
|
+
"content_product_fit",
|
|
211
|
+
"business_model_signals",
|
|
212
|
+
"commercial_risks",
|
|
213
|
+
"evidence"
|
|
214
|
+
],
|
|
99
215
|
"properties": {
|
|
100
|
-
"
|
|
216
|
+
"content_role_in_funnel": { "$ref": "#/$defs/stringArray" },
|
|
217
|
+
"likely_products": { "$ref": "#/$defs/stringArray" },
|
|
101
218
|
"conversion_path": { "type": "string" },
|
|
102
|
-
"
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
"additionalProperties": false
|
|
219
|
+
"content_product_fit": { "type": "string" },
|
|
220
|
+
"business_model_signals": { "$ref": "#/$defs/stringArray" },
|
|
221
|
+
"commercial_risks": { "$ref": "#/$defs/stringArray" },
|
|
222
|
+
"evidence": { "$ref": "#/$defs/stringArray" }
|
|
223
|
+
}
|
|
108
224
|
},
|
|
109
225
|
"core_tensions": {
|
|
110
|
-
"type": "
|
|
111
|
-
"
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"deep_reason": { "type": "string" },
|
|
118
|
-
"strategic_implication": { "type": "string" }
|
|
226
|
+
"type": "object",
|
|
227
|
+
"additionalProperties": false,
|
|
228
|
+
"required": ["tensions", "most_important_tension", "evidence"],
|
|
229
|
+
"properties": {
|
|
230
|
+
"tensions": {
|
|
231
|
+
"type": "array",
|
|
232
|
+
"items": { "$ref": "#/$defs/tensionItem" }
|
|
119
233
|
},
|
|
120
|
-
"
|
|
234
|
+
"most_important_tension": { "type": "string" },
|
|
235
|
+
"evidence": { "$ref": "#/$defs/stringArray" }
|
|
121
236
|
}
|
|
122
237
|
},
|
|
123
238
|
"evidence_pack": {
|
|
124
239
|
"type": "object",
|
|
125
|
-
"
|
|
240
|
+
"additionalProperties": false,
|
|
241
|
+
"required": [
|
|
242
|
+
"sample_size",
|
|
243
|
+
"sample_confidence",
|
|
244
|
+
"representative_works",
|
|
245
|
+
"top_keywords",
|
|
246
|
+
"observed_hooks",
|
|
247
|
+
"observed_ctas",
|
|
248
|
+
"observed_structures",
|
|
249
|
+
"notes"
|
|
250
|
+
],
|
|
126
251
|
"properties": {
|
|
127
252
|
"sample_size": { "type": "integer", "minimum": 0 },
|
|
128
253
|
"sample_confidence": {
|
|
129
254
|
"type": "string",
|
|
130
|
-
"enum": ["low", "
|
|
255
|
+
"enum": ["low", "mid", "high"]
|
|
256
|
+
},
|
|
257
|
+
"representative_works": {
|
|
258
|
+
"type": "array",
|
|
259
|
+
"items": { "$ref": "#/$defs/representativeWork" }
|
|
131
260
|
},
|
|
132
|
-
"
|
|
133
|
-
|
|
134
|
-
|
|
261
|
+
"top_keywords": { "$ref": "#/$defs/stringArray" },
|
|
262
|
+
"observed_hooks": { "$ref": "#/$defs/stringArray" },
|
|
263
|
+
"observed_ctas": { "$ref": "#/$defs/stringArray" },
|
|
264
|
+
"observed_structures": { "$ref": "#/$defs/stringArray" },
|
|
265
|
+
"notes": { "$ref": "#/$defs/stringArray" }
|
|
266
|
+
}
|
|
135
267
|
},
|
|
136
268
|
"clone_guidance": {
|
|
137
269
|
"type": "object",
|
|
138
|
-
"
|
|
270
|
+
"additionalProperties": false,
|
|
271
|
+
"required": [
|
|
272
|
+
"copyable_elements",
|
|
273
|
+
"non_copyable_elements",
|
|
274
|
+
"borrowable_flavor",
|
|
275
|
+
"danger_zones",
|
|
276
|
+
"if_only_learn_one_thing"
|
|
277
|
+
],
|
|
139
278
|
"properties": {
|
|
140
|
-
"copyable_elements": {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
},
|
|
144
|
-
"non_copyable_elements": {
|
|
145
|
-
"type": "array",
|
|
146
|
-
"items": { "type": "string" }
|
|
147
|
-
},
|
|
148
|
-
"danger_zones": {
|
|
149
|
-
"type": "array",
|
|
150
|
-
"items": { "type": "string" }
|
|
151
|
-
},
|
|
279
|
+
"copyable_elements": { "$ref": "#/$defs/stringArray" },
|
|
280
|
+
"non_copyable_elements": { "$ref": "#/$defs/stringArray" },
|
|
281
|
+
"borrowable_flavor": { "$ref": "#/$defs/stringArray" },
|
|
282
|
+
"danger_zones": { "$ref": "#/$defs/stringArray" },
|
|
152
283
|
"if_only_learn_one_thing": { "type": "string" }
|
|
153
|
-
}
|
|
154
|
-
"additionalProperties": false
|
|
284
|
+
}
|
|
155
285
|
}
|
|
156
|
-
}
|
|
157
|
-
"additionalProperties": false
|
|
286
|
+
}
|
|
158
287
|
}
|
|
@@ -3,16 +3,21 @@
|
|
|
3
3
|
## Main Flow
|
|
4
4
|
|
|
5
5
|
1. Collect creator fact fields.
|
|
6
|
-
2. Collect the content set
|
|
6
|
+
2. Collect the content set.
|
|
7
7
|
3. Run batch ASR for video items.
|
|
8
8
|
4. Exclude works with `analysis_eligibility=incomplete` from downstream analysis.
|
|
9
|
-
5. Run
|
|
9
|
+
5. Run normalization, aggregation, bucketing, and sampling.
|
|
10
10
|
6. Run one batch explanation step for sampled works.
|
|
11
11
|
7. Generate `author_analysis_v2`.
|
|
12
|
-
8.
|
|
12
|
+
8. Write author sample cards for all retrieved works.
|
|
13
|
+
9. Write sampled enhanced cards for sampled works only.
|
|
14
|
+
10. Write the creator card.
|
|
15
|
+
11. Return the creator card, author sample cards, sampled enhanced cards, and aggregated conclusions.
|
|
13
16
|
|
|
14
17
|
## Required Rules
|
|
15
18
|
|
|
16
19
|
- Do not run per-work LLM deep analysis.
|
|
17
20
|
- `sampled_work_explanations` must come from one batch stage only.
|
|
18
21
|
- `author_analysis_v2` is the formal creator-level primary output.
|
|
22
|
+
- Author sample cards are the fact-and-structure cards for all retrieved works.
|
|
23
|
+
- Sampled enhanced cards reuse the sampled works only and add the explanation block from `sampled_work_explanations`.
|