Jak używać
- Skopiuj polecenie instalacji i sprawdź źródła przed instalacją we własnym środowisku agenta.
- W oryginale sprawdź wymagane narzędzia, dane dostępowe i obsługiwane środowiska.
- Opisz dane wejściowe i oczekiwany rezultat; porównaj wynik ze źródłami.
npx skills add https://github.com/crawlora-org/crawlora-skills --skill customer-feedback-analysisPrzed rozpoczęciem
- Instalacja nie obejmuje subskrypcji modelu, limitu API ani uprawnień do plików.
- Gwiazdki i instalacje pokazują aktywność, a nie niezależny test jakości lub bezpieczeństwa.
Treść z repozytorium z zachowaniem nagłówków, przykładów, kodu, tabel, linków i obrazów.
Customer-feedback analysis
Turn a bounded sample of customer feedback into traceable themes and hypotheses. Keep reviews and social discussion distinct: a Reddit commenter is not necessarily a customer, and sentiment in a sample is not a population satisfaction measure.
Setup
Set CRAWLORA_API_KEY to your key from crawlora.net. Run the bundled scripts/crawlora.sh from this skill directory or by absolute path. It sends x-api-key to https://api.crawlora.net/api/v1 and prints JSON. Keep the key in the environment. Read reference/endpoints.md for supported sources, discovery endpoints, IDs, and pagination.
Collect a comparable sample
- Define the product(s), question, market/language, time window, and sample
bound from the brief. Resolve exact products before collecting feedback. Keep app versions, product models, and company-wide service reviews separate.
- Choose relevant sources, rather than querying all of them:
| Source | Identity and collection details |
|---|---|
| App Store | Search with term; reviews require numeric id or bundle app_id. Pages 1–10; sort=mostRecent or mostHelpful; specify country. |
| Google Play | Search/details resolve package app_id. Reviews use num (max 1000), country, lang, and sort=newest, helpfulness, or rating. Read rows under data.data and follow data.next_pagination_token only within the sample bound. |
| Stored app reviews | /datasets/apps-reviews/search uses store=ios or android, exact app_id, and page_size (max 100). This is indexed feedback, not a live refresh. |
| Trustpilot | Search for the business slug, usually its domain; collect /trustpilot/business/{slug}/reviews. Preserve star/language filters. Date filters are currently rejected upstream: filter returned dates locally and disclose collection coverage. |
| Capterra | Resolve numeric product_id through search, then /capterra/product/reviews with page. |
| Adidas | Resolve products[].model_number through search. Fetch review topics for that model before applying topic; reviews accept rating, locale, and page. |
Search for relevant discussions, then retrieve the returned post ID and comments. Normal comment mode can be text; use include_metrics=true only when structured comment identities/metrics are needed, with its higher documented credit cost. |
- Save source IDs/URLs, dates, product/version, rating scale, text, and collection
filters. Deduplicate by source review ID; use normalized text plus date/product only as a fallback, and avoid counting syndicated copies twice. Exclude brand replies from the customer-review denominator and report exclusions.
- Label each review with one or more specific themes and distinguish an explicit
feature request from an inferred product opportunity. Separate praise and complaints. Keep mixed/unclear sentiment instead of forcing a binary label.
- Count unique eligible reviews mentioning each theme. Report
n/Nwith the
definition of N, by source/product. Multiple themes per review mean totals can exceed N. Do not combine incompatible star scales or compare differently filtered samples as though they were controlled measurements.
scripts/crawlora.sh /googleplay/reviews \
app_id=com.openai.chatgpt country=us lang=en sort=newest num=10Deliverable and interpretation
Return a theme table with theme, source/product, unique-review count/denominator, short attributed examples and links, observed impact, and a proposed follow-up. Include dates, filters, deduplication rules, gaps, and untested hypotheses. Use brief excerpts rather than republishing review archives. Do not export reviewer contact details; only retain author identifiers when needed for provenance.
- A star-filtered, keyword-filtered, or helpfulness-ranked sample is biased
toward its selection rule. It cannot establish overall complaint prevalence.
- Missing dates cannot prove a review belongs in the requested window. Mark
undated records separately. Do not call comments verified purchases.
- No repeated pagination token/page progress means stop. For indexed app reviews,
respect the 10,000-result window; there is a minimum-score filter, not a maximum.
- Stop when the bound or source end is reached. Back off on
429, retry a
transient 5xx once, and stop on 401/403. App Store 404 can mean the app is absent from that storefront; do not repeatedly retry it. Check the application envelope before treating an empty response as no feedback.


