From matomo-analytics
Analyze site search behavior and content gaps. Use when the user asks about what visitors are searching for, search terms, no-result searches, or content gaps.
npx claudepluginhub lucaspretti/claude-plugins --plugin matomo-analyticsThis skill uses the workspace's default tool permissions.
Analyze internal site search to understand what visitors are looking for and identify content gaps.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Analyzes competition with Porter's Five Forces, Blue Ocean Strategy, and positioning maps to identify differentiation opportunities and market positioning for startups and pitches.
Analyze internal site search to understand what visitors are looking for and identify content gaps.
If $ARGUMENTS contains a site ID or name, use that. If the conversation already has a site in context, use that. Otherwise, call matomo_list_sites, present a short numbered list (ID, name, URL), and ask which site to analyze. Do not proceed until a site is selected.
Top search keywords using matomo_get_search_keywords with limit 20 for the requested period (default: last 30 days, period: day, date: last30)
Failed searches using matomo_get_search_no_results with limit 20 for the same period
Present findings:
If $ARGUMENTS contains a specific keyword, focus analysis around that topic.
If the user asks about mobile-only search behavior, pass device: "mobile" to both calls above to scope the analysis to smartphone+tablet+phablet traffic.
If a device-filtered call comes back with all-zero metrics while the same
query without device returns normal numbers, the Matomo server is refusing
to aggregate the segment for this API token (it lacks process_new_segment
or the segment isn't pre-archived). Do not claim "no mobile traffic" — that's
almost never the real answer.
Try these in order:
matomo_count_visits_by_segment. It uses the Live API
under the hood and does NOT need segment archiving. For mobile:
{siteId, period, date, device: "mobile"} returns
{visits, byDevice, byCountryTop10}.matomo_list_segments to find saved segments on the instance.
Any segment with auto_archive=1 is pre-archived and will always return
real numbers when you reference its definition string in segment.process_new_segment on the token or pre-archive common segments.