UserLayer
UserLayer turns App Store and Google Play reviews into structured research outputs:
- - pain points
- user segments
- market opportunities
- follow-up answers grounded in cited reviews
Use the bundled wrappers in scripts/main.py. Do not hand-roll raw HTTP requests when this skill is available.
Use This Skill When
- - The user gives you an App Store or Google Play URL and wants review-backed insights.
- The user wants to ask follow-up questions about a completed full analysis.
Prerequisites
- -
API_KEY must be set to a valid UserLayer API key. - INLINECODE2 is optional.
Default: INLINECODE3
Credentials and Host
- - Primary credential: INLINECODE4
- Default API host: INLINECODE5
- INLINECODE6 should be scoped only for UserLayer API access and treated as a paid production credential.
Available Wrappers
- - INLINECODE7
- INLINECODE8
- INLINECODE9
Typical Flow
- 1. Call
analyze() to start a full async run. - Poll with
check_status() until the report is complete. - Read the returned
pain_points. - Use a
pain_point.id with query() for targeted follow-up questions.
You do not need a separate preview step. analyze() is the main public entry point.
Pricing Baseline
- - One
analyze() run costs $2.99 and includes retrieval plus full analysis of the latest 100 reviews. - If
max_reviews is raised above 100, extra reviews are billed as add-ons at $0.01 per extra review. - INLINECODE22 is billed at
$0.01 / 1K tokens.
Key Response Shapes
- -
analyze() starts an async job and returns a lightweight payload with:
-
success
-
data.analysis_id
-
data.status
- -
check_status() returns the full completed report when ready, including:
-
data.pain_points
-
data.user_segments
-
data.opportunities
-
sources
-
usage
- -
query() returns a follow-up answer for a specific pain point, including:
-
data.answer
-
data.confidence
-
sources
- INLINECODE38
Treat pain_points[].id from a completed analysis as the required input for query().
Operating Rules
- - Default review count is
100 latest reviews. - INLINECODE42 includes retrieval and analysis of
100 latest reviews by default. - If
max_reviews is raised above 100, extra reviews are billed as add-ons. - INLINECODE46 is asynchronous and returns an
analysis_id; poll with check_status(). - Use
query() only after a completed full analysis returns a valid pain_point_id. - Treat
sources and cited review evidence as the source of truth. - If
DATA_INDEX_NOT_FOUND is returned, rerun a full analysis before querying again.
UserLayer
UserLayer将App Store和Google Play的评论转化为结构化的研究成果:
- - 痛点
- 用户细分
- 市场机会
- 基于引用评论的后续问题答案
使用scripts/main.py中的封装函数。当此技能可用时,不要手动编写原始HTTP请求。
使用此技能的时机
- - 用户提供App Store或Google Play的URL,并希望获得基于评论的分析洞察。
- 用户希望对已完成的全量分析提出后续问题。
前置条件
- - APIKEY必须设置为有效的UserLayer API密钥。
- LAUNCHBASEAPI_URL为可选配置。
默认值:https://lb-api.workflowhunt.com
凭证与主机
- - 主要凭证:APIKEY
- 默认API主机:https://lb-api.workflowhunt.com
- APIKEY应仅限用于UserLayer API访问,并作为付费生产凭证处理。
可用封装函数
- - analyze(appurl: str, maxreviews: int | None = None)
- checkstatus(analysisid: str)
- query(painpointid: str, question: str)
典型流程
- 1. 调用analyze()启动全量异步运行。
- 使用checkstatus()轮询,直到报告完成。
- 读取返回的painpoints。
- 使用pain_point.id配合query()进行针对性的后续提问。
无需单独的预览步骤。analyze()是主要的公共入口点。
定价基准
- - 一次analyze()运行费用为$2.99,包含检索和对最新100条评论的全量分析。
- 如果max_reviews超过100,额外评论按每条$0.01的附加费用计费。
- query()按$0.01 / 1K tokens计费。
关键响应结构
- - analyze()启动异步任务并返回轻量级负载,包含:
- success
- data.analysis_id
- data.status
- - check_status()在完成时返回完整的报告,包含:
- data.pain_points
- data.user_segments
- data.opportunities
- sources
- usage
- - query()返回针对特定痛点的后续回答,包含:
- data.answer
- data.confidence
- sources
- usage
将已完成分析中的pain_points[].id作为query()的必需输入。
操作规则
- - 默认评论数量为最新100条。
- analyze()默认包含对最新100条评论的检索和分析。
- 如果maxreviews超过100,额外评论按附加费用计费。
- analyze()是异步的,返回一个analysisid;使用checkstatus()轮询。
- 仅在完成全量分析并返回有效的painpointid后使用query()。
- 将sources和引用的评论证据视为事实来源。
- 如果返回DATAINDEXNOTFOUND,在再次查询前重新运行全量分析。