Install
openclaw skills install userlayerUse this skill when the user wants a UserLayer report for an App Store or Google Play app, including full analysis, polling, and follow-up questions grounded in real reviews. Trigger it for competitor review analysis, user pain point extraction, segment discovery, and opportunity validation tasks.
openclaw skills install userlayerUserLayer turns App Store and Google Play reviews into structured research outputs:
Use the bundled wrappers in scripts/main.py. Do not hand-roll raw HTTP requests when this skill is available.
API_KEY must be set to a valid UserLayer API key.LAUNCHBASE_API_URL is optional.
Default: https://lb-api.workflowhunt.comAPI_KEYhttps://lb-api.workflowhunt.comAPI_KEY should be scoped only for UserLayer API access and treated as a paid production credential.analyze(app_url: str, max_reviews: int | None = None)check_status(analysis_id: str)query(pain_point_id: str, question: str)analyze() to start a full async run.check_status() until the report is complete.pain_points.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.
analyze() run costs $2.99 and includes retrieval plus full analysis of the latest 100 reviews.max_reviews is raised above 100, extra reviews are billed as add-ons at $0.01 per extra review.query() is billed at $0.01 / 1K tokens.analyze() starts an async job and returns a lightweight payload with:
successdata.analysis_iddata.statuscheck_status() returns the full completed report when ready, including:
data.pain_pointsdata.user_segmentsdata.opportunitiessourcesusagequery() returns a follow-up answer for a specific pain point, including:
data.answerdata.confidencesourcesusageTreat pain_points[].id from a completed analysis as the required input for query().
100 latest reviews.analyze() includes retrieval and analysis of 100 latest reviews by default.max_reviews is raised above 100, extra reviews are billed as add-ons.analyze() is asynchronous and returns an analysis_id; poll with check_status().query() only after a completed full analysis returns a valid pain_point_id.sources and cited review evidence as the source of truth.DATA_INDEX_NOT_FOUND is returned, rerun a full analysis before querying again.