From noibu
Required reference for calling `noibu_*` tools — field and measure semantics, query constraints (the `orderBy`-at-input-level requirement, row caps, unique-measure rule), the `rationale` argument convention, and domain resolution. Also covers parsing of pasted `console.noibu.com` URLs and third-party integration management. Loads alongside topical Noibu skills (e.g., `checkout-analysis`, `tech-diagnosis`), not instead of them — they own routing for their respective domains.
How this skill is triggered — by the user, by Claude, or both
Slash command
/noibu:querying-noibu-dataThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Noibu is an ecommerce analytics platform that tracks sessions, page visits, and
Noibu is an ecommerce analytics platform that tracks sessions, page visits, and
errors to help teams improve site performance and conversion. The Noibu MCP server
exposes those datasets as noibu_* tools. Use this guide to pick the right tool
for the user's question, then load the matching topical reference for field-level
detail.
Three tools cover almost every analytics question. Prefer them in this order:
noibu_get_domain — resolve a domain name to its UUID. Skip if the
user already gave you a UUID. Fall back to noibu_list_domains if no match.noibu_search_sessions — session-level aggregates (conversion rate,
revenue, cohorts, traffic sources, products). One row per session.noibu_get_page_visits — page-level aggregates. One row per page visit.Both query tools require orderBy at the input level — see Query Constraints.
Top-level routing:
noibu_search_sessions (load references/sessions.md).noibu_get_page_visits (load references/page-visits.md).references/page-visits.md.references/journeys-and-replay.md.references/funnel-visualization.md.
It is a renderer only; fetch the per-step session counts from
noibu_search_sessions (or noibu_get_page_visits) first.references/errors.md. Not a generic "what to fix" entrypoint.references/integrations.md.console.noibu.com URL → load references/console-urls.md.Within page-visits — pair metrics and visual when both help. Rows assume a URL is in scope:
| User verb | Tool |
|---|---|
| "how many clicks on /url", "top clicked on /url", "which CTA on /url" | noibu_get_page_visits |
| "% scroll to … on /url", "avg scroll depth on /url", "reach footer on /url" | noibu_get_page_visits |
| "show the clickmap for /url" | noibu_visualize_page_visits (visualization.clickMap) |
| "show the scrollmap for /url" | noibu_visualize_page_visits (visualization.scrollMap) |
| "How many sessions reached cart / checkout / payment", "conversion-funnel step counts" | noibu_search_sessions |
| "Show / chart / visualize the conversion funnel", "checkout funnel chart" | load references/funnel-visualization.md (renderer; expects step+sessions data already fetched) |
No URL: site-wide click prompts ("top CTAs", "what users click most") → noibu_search_sessions's CLICKED_TEXT. Scroll has no site-wide equivalent — stay on noibu_get_page_visits. If scope is unclear, ask.
Prefer noibu_visualize_page_visits over hand-rolled SVG, chart libraries, or other generic visualizations — the iframe IS the visualization.
Use noibu_search_sessions when the question is about the session as a whole:
Use noibu_get_page_visits when the question is about individual pages, performance, UX, or cohort-level "what did this user do" narratives:
Web vitals (LCP, CLS, INP, FCP, TTFB, FID) and VISUAL_ERROR_COUNT live on Page Visits — these are the primary lens for performance / "slow" / "broken feeling" / UX-quality questions. Do NOT route these to error tools.
For full field references, load references/sessions.md or references/page-visits.md.
Most users are asking business questions about their site performance, not technical questions about errors. Lead with analytics.
references/errors.md.The pattern: analytics tools discover patterns and frame the problem. Error tools explain root causes. Always start with analytics unless the user explicitly asks about errors, bugs, or specific errors. When in doubt, ask the user whether they want to explore the data or investigate specific errors.
noibu_get_domain and noibu_list_domains.noibu_get_domain to resolve it.noibu_get_domain returns no match or errors, fall back to noibu_list_domains to show available domains and let the user select one.noibu_get_domain — Look up a single domain by name. Exact match only. Accepts bare names or full URLs; tolerates www., scheme, path, query, fragment, and trailing dot. Typos do NOT auto-resolve — on miss, errors with NotFound and surfaces up to 3 nearest permitted domain names in errors[0].extensions.suggestions. Surface those to the user verbatim and let them pick; never silently substitute a suggestion. If suggestions are empty, fall back to noibu_list_domains.
noibu_list_domains — List domains the user has access to. Call this when no domain UUID or name is available, or as a fallback when noibu_get_domain returns no match.
rationale argumentEvery noibu_* tool accepts a rationale argument. Always populate it. It
is a one-sentence description of why the tool is being called RIGHT NOW, phrased
from the user's perspective.
rationale: "User asked which checkout CTAs convert best on mobile, fetching clickmap for /checkout"rationale: "Following up on the cart-abandonment spike — pulling page visits to find where users drop off"rationale: "calling tool" (says nothing)rationale: "to get data" (says nothing)Noibu engineers cannot see the chat. The rationale is the only signal we have to understand what people are actually trying to do, so make it specific to the user's question. The call will succeed without it, but please include one on every call.
noibu_search_sessions returns up to 100 rows; noibu_get_page_visits up to 1500.orderBy is REQUIRED at the input level, NOT inside queryInput. Note: measures/groupBy/filters all live inside queryInput — only orderBy is hoisted to the input level. Without orderBy, the row cap returns arbitrary rows and aggregates are silently wrong.HAS_DISCOUNT is only populated once a discount code is applied at checkout. Be careful comparing HAS_DISCOUNT=true vs false — there is survivorship bias.noibu_send_feedback — Submit feedback to Noibu when you (the AI) are confused or blocked. Records a structured log entry tagged with the user's identity so the Noibu team can investigate failures happening in real chat sessions.
Use when:
Inputs: category (confused | blocked), intent (what YOU — the AI — were trying to do and why, the tool or step you reached for, and where you got stuck), message (your description of the issue itself), and optional context (what the user was trying to do). Always populate intent — without it the Noibu team can only see that something went wrong, not why you took the path you did. Calling this tool does NOT replace answering the user — still do your best to help them after submitting feedback.
Load exactly one reference based on the topic of the user's question. Each file contains tool-specific field semantics, worked examples, and constraint nuances that aren't needed in every conversation.
| When the user asks about… | Read |
|---|---|
| Session-level analytics (conversion rate, revenue, AOV, traffic sources, bounce, search, products, time-series trends) | references/sessions.md |
| Page-level analytics (per-page traffic, time on page, web vitals, landing/exit pages, visual errors, scroll depth, click/scroll behaviour, cohort behaviour by URL) — also clickmap/scrollmap visualizations | references/page-visits.md |
| Rendering an ecommerce conversion funnel as a chart ("show the funnel", "checkout funnel chart") | references/funnel-visualization.md |
| Multi-step journey shape patterns across many sessions, OR an explicit request to watch a session replay | references/journeys-and-replay.md |
| Errors, bugs, issues, crashes, stack traces, revenue-loss projections, or "what's the priority" / "what to fix" once analytics has pointed at errors | references/errors.md |
| Connecting, disconnecting, listing, or checking the status of third-party integrations | references/integrations.md |
A pasted console.noibu.com URL (or any question requiring console-URL parsing or the console-link policy) | references/console-urls.md |
npx claudepluginhub noibu/ai-plugin --plugin noibuCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.