Agent skill

Question Router

by ai-analyst-lab in ai-analyst-lab/ai-analyst

Classify every analytical request (anything about data, metrics, trends, segments, funnels, revenue, retention, experiments, or "why did X change") into complexity levels L1-L5 and route it before…

MITAuto-check passed

Install Question Router

skills CLI
$ npx skills add ai-analyst-lab/ai-analyst --skill question-router -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ai-analyst-lab/ai-analyst question-router --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/question-router .claude/skills/question-router && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
question-router
GitHub stars
304
Token cost
~4.1k tokens
SKILL.md length
2,040 words
Files
1
Skills in repo
43
Repo updated
First seen
Licence
MIT

At a glance

Classify every analytical request (anything about data, metrics, trends, segments, funnels, revenue, retention, experiments, or "why did X change") into complexity levels L1-L5 and route it before…

  • Works in 6 steps: Pre-flight (runs on every query before… → Parse the question → Classify by the strongest signal → …
  • SKILL.md covers Purpose, When to Use, Classification Levels and Classification Algorithm, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Question Router is an agent skill from ai-analyst-lab/ai-analyst. Classify every analytical request (anything about data, metrics, trends, segments, funnels, revenue, retention, experiments, or "why did X change") into complexity levels L1-L5 and route it before any analytical workflow starts, including follow-ups mid-analysis and chart requests. Simple lookups get a direct answer; investigations get the depth they need. Run this first even when the question looks simple.

Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: AI Product Analyst — Claude Code-powered data analysis toolkit. The licence is MIT.

Example prompts

  • “why did X change”
  • “/question-router”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Pre-flight (runs on every query before classification)
  2. Parse the question
  3. Classify by the strongest signal
  4. Adapt from user profile
  5. 5: Pace Mode Selection (L3+ only; skip for L1/L2)
  6. Respond based on classification level

What it can do on your machine

Read from SKILL.md and the folder at commit 52c0744. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Question Router loads about 4.1k tokens when it runs. Until then it costs about 107 tokens; SKILL.md has 2,040 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~107
When it runs · the whole SKILL.md, loaded when a task matches
~4.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ai-analyst-lab/ai-analyst at commit 52c0744, republished under its MIT licence (© ai-analyst-lab). 2,040 words, ~4,125 tokens.

Download SKILL.mdSave it as .claude/skills/question-router/SKILL.md (or your agent's skills folder).
name
question-router
description
Classify every analytical request (anything about data, metrics, trends, segments, funnels, revenue, retention, experiments, or "why did X change") into complexity levels L1-L5 and route it before any analytical workflow starts, including follow-ups mid-analysis and chart requests. Simple lookups get a direct answer; investigations get the depth they need. Run this first even when the question looks simple.

Skill: Question Router

Purpose

Classify incoming user questions into complexity levels (L1-L5) and route them to the appropriate response path.

When to Use

  • At the start of every user interaction that looks like an analytical request
  • Before launching the full 18-step pipeline
  • When the user asks a follow-up question mid-analysis

Classification Levels

L1: Factual Lookup

Pattern: User wants a specific number or fact from the data. Examples:

  • "How many users signed up in March?"
  • "What's the average order value?"
  • "How many products are in the electronics category?"

Response path: Query the data directly. Return the answer with source citation (table, column, filter). No agents needed.

L2: Simple Comparison

Pattern: User wants to compare two things or see a breakdown. Examples:

  • "Compare conversion rates by device"
  • "Show me revenue by category"
  • "What's the split of users by acquisition channel?"

Response path: Query + quick chart. Use chart_helpers directly. Apply Visualization Patterns skill. No full pipeline.

L3: Guided Analysis

Pattern: User has a specific analytical question requiring multiple steps. Examples:

  • "Why did conversion drop last month?"
  • "Which user segment has the highest LTV?"
  • "Is our new checkout flow performing better?"

Response path: Subset of the pipeline — Frame → Explore → Analyze → Validate → Present findings. Skip storyboard/deck unless requested. Use 3-5 agents.

L4: Deep Investigation

Pattern: User needs root cause analysis, opportunity sizing, or experiment design. Examples:

  • "Investigate why mobile revenue dropped 15% in Q3"
  • "Size the opportunity if we fix the cart abandonment issue"
  • "Design an A/B test for the new pricing page"

Response path: Full pipeline minus deck. Frame → Hypothesize → Explore → Analyze → Root Cause → Validate → Size → Present findings. Use 6-10 agents.

L5: Full Presentation

Pattern: User wants a complete analysis with a polished slide deck. Examples:

  • "Run the full pipeline on Q4 performance"
  • /run-pipeline
  • "Build me a board-ready deck on our retention problem"

Response path: Complete 18-step pipeline. All agents, full storyboard, charts, narrative, and Marp deck.

Classification Algorithm

Fast-Path Detection (optional shortcut for obvious L1 questions)

Before running the full classification workflow, check if the question matches an obvious L1 pattern. If YES, skip to L1 execution immediately. If NO or UNCERTAIN, proceed to Step 0.

Trigger phrases for fast-path L1:

  • Starts with "how many" or "how much"
  • Starts with "what's the total" or "what's the average"
  • Starts with "count of" or "number of"
  • Contains "count" + single metric/entity + optional time filter
  • Examples:
    • "how many orders last month?"
    • "what's the total revenue in Q4?"
    • "count of users who converted"

Do NOT fast-path if:

  • Question contains "compare", "by", "breakdown", or "split"
  • Question contains "why", "investigate", or "analyze"
  • Question mentions multiple metrics or dimensions
  • Question references a product change or hypothesis
  • You're uncertain whether it's genuinely simple

Why fast-path matters: L1 questions don't benefit from the full classification overhead. The user wants a quick answer, not a classification report. Fast-path saves ~40 seconds and ~7-9k tokens for simple lookups.

Output format for fast-path L1:

  • Answer the question directly
  • Include source citation (table, column, filter)
  • Offer 2-3 contextual next actions
  • Skip the classification documentation

If you use the fast-path, you're done — don't proceed to Step 0 or beyond.


Step 0: Pre-flight (runs on every query before classification)

Enrichment steps — never block routing. If any sub-step fails, skip it silently. IMPORTANT: Only report pre-flight findings if they actually find something. Silent skip if nothing found.

  1. Feedback check — If the message is a correction or feedback with no analytical question, hand it to the log-correction skill and skip routing.

  2. Entity disambiguation — If the entity index is loaded (from bootstrap):

    • Call resolve_entity(query_text, entity_index) from helpers/knowledge/entity_resolver.py.
    • If matches found, call format_disambiguation(matches) and set {{RESOLVED_ENTITIES}} for downstream agents.
    • Example: "why is cvr dropping?" → Resolved: 'cvr' -> conversion_rate (metric)
  3. Corrections check — Read .knowledge/corrections/index.yaml.

    • If total_corrections > 0 for the active dataset, set {{CORRECTION_COUNT}} so analysis agents check the correction log before writing SQL (e.g., known join pitfalls, filter requirements).
  4. Dataset detection — Before classifying, check whether the question references a dataset other than the currently active one.

    • Read .knowledge/datasets/ to get all known dataset IDs and display names.
    • Scan the user's question for exact or fuzzy matches to any dataset name.
    • If a non-active dataset is referenced:
      • Inform the user: "It looks like you're asking about {display_name}, but the active dataset is {active_display_name}."
      • Offer: "Want me to switch? (/switch-dataset {id})"
      • Do NOT proceed with analysis until the user confirms which dataset to use.
  5. Archaeology note — The Query Archaeology skill provides SQL pattern context (prior queries, reusable CTEs) to analysis agents when available. No action needed here — just acknowledge it flows downstream automatically.

After pre-flight completes, proceed to Step 1.


Step 1: Parse the question

Extract:

  • Subject: What entity/metric is being asked about?
  • Action: Lookup, compare, analyze, investigate, or present?
  • Scope: Single metric, breakdown, multi-dimensional, or end-to-end?
  • Output expectation: Number, chart, findings, or deck?
Step 2: Classify by the strongest signal

Classify by the strongest signal present, in this order: /run-pipeline or "deck / presentation / slides" → L5; "why / investigate / root cause", sizing or opportunity, experiment or A/B test → L4; "analyze / what's happening with", or a question with several sub-questions → L3; "compare / by {dimension} / breakdown / split" → L2; a single number → L1. A "quick" or "just" qualifier drops one level. When two levels are equally supported, take the lower one (prefer the faster response).

Step 3: Adapt from user profile

If .knowledge/user/profile.md exists, read the user's preferences:

  • Detail level = "executive-summary": Bias one level down (L3 → L2)
  • Detail level = "deep-dive": Bias one level up (L2 → L3)
  • Technical level = "advanced": Show more SQL, skip explanations
  • Technical level = "beginner": Add more context, explain terms
Step 3.5: Pace Mode Selection (L3+ only; skip for L1/L2)

Pace mode is orthogonal to complexity level. Level decides which agents run; pace decides how visible the machinery is. Any level can run in any mode.

ModeBehaviorBest For
guidedAnnounce each phase. Run it. Pause. Wait for /continue (or any affirmative reply) before the next phase.Demos, teaching, first-time users, high-stakes analyses where oversight matters
narratedAnnounce each phase, run it, announce the result, proceed immediately to the next phase. End-to-end but machinery is visible.Normal use — the user wants to follow the reasoning but not block the flow
autopilotSilent end-to-end. No phase banners. Final output only.Expert users, tight iteration loops, mid-analysis follow-ups

Default when no signal is clear: narrated. Never default to guided (blocks the user) or autopilot (hides the work). Narrated is the failure-safe middle ground.

Auto-detection signals

Read these from the user's message and session context. Pick guided on teaching or pacing language ("walk me through", "teach me", "step by step", "slow down", "one step at a time") or a technical_level: beginner profile. Pick autopilot on "just run it / silent / don't narrate", a terse task-like prompt ("conversion by device last week"), a mid-analysis follow-up ("now break by country"), or an advanced profile in a session that has already run several analyses. Otherwise, including a bare /run-pipeline, pick narrated. A /pace choice persisted this session overrides all of these (see below).

Persisted mode (survives across phases and sessions)

On every router run, read working/session_state.yaml. If pace_mode is set, use it as the starting mode regardless of auto-detected signals — an explicit user choice beats heuristics.

The /pace skill writes this key. On session resume (/resume-pipeline), the persisted mode is honored.

Show full SKILL.md (839 more words)Show less
Override commands (honored at any time, including mid-phase)
  • /pace guided | /pace narrated | /pace autopilot — switch modes
  • /continue — in guided mode, proceed past the current pause point
  • /skip {phase} — skip the named upcoming phase (e.g., /skip validation)
  • /explain — during a guided pause, expand on the output of the phase that just completed before continuing
  • /abort — stop the current analysis, discard in-progress work (preserve working/ artifacts for inspection)
Step 4: Respond based on classification level

For L1-L2: Execute immediately. No confirmation needed. Streamlined output:

  • Answer the question (or produce chart)
  • Include source citation (table, column, filter)
  • Offer 2-3 contextual next actions
  • Do NOT include: Full classification rationale, pre-flight details (unless something was found), complexity scoring table, skill adherence checklist. Save that documentation for your own internal tracking — the user just wants the answer.

For L3-L5: Brief the user on the plan AND the pace BEFORE executing:

I'd classify this as a **[Level] — [Label]**.

**Pace: {mode}** ({one-line rationale — e.g., "detected teaching signals",
"default for L3+", "persisted from earlier `/pace` command"})
- guided → I'll pause after each phase and wait for `/continue`.
- narrated → I'll announce each phase and run end-to-end.
- autopilot → I'll run silently and show you the final deliverable.

**Plan:**
1. [Phase name] — [one-line purpose]
2. [Phase name] — [one-line purpose]
...

Reply to proceed, or:
- `/pace {other_mode}` to change how I surface the work
- Adjust the scope in your own words ("skip validation", "go deeper on X")

Include any relevant pre-flight findings (dataset mismatch, corrections available, resolved entities) in this confirmation message.

The user can:

  • Confirm: Proceed with the plan at the proposed pace
  • Adjust up: "Go deeper" → bump to next level
  • Adjust down: "Just give me the quick answer" → drop to lower level
  • Change pace: /pace guided|narrated|autopilot → re-brief with new pace

Integration with Pipeline

When routed to L3+, the Question Router hands off to the appropriate agents by setting the entry point in the Default Workflow:

LevelEntry PointExit PointValidation Tier
L1Direct queryAnswer inlineTier 1 only (always-on)
L2Direct query + chartAnswer inlineTier 1 only (always-on)
L3Step 1 (Frame)Step 7 (Validate) — present findings inlineTier 1 always + Tier 2 offered (CP 2.1)
L4Step 1 (Frame)Step 8 (Size) — present findings inlineTier 2 default (CP 2.1 menu)
L5Step 1 (Frame)Step 18 (Close the Loop) — full deckTier 2 default, Tier 3 available (CP 2.1 menu)

Contextual Suggestions

After delivering results at any level, offer 2-3 relevant next actions based on what was just completed. Match suggestions to the level and findings.

After L1/L2 results:

  • "Want to break this down by [dimension from schema]?"
  • "Want to see how this trended over time?"
  • "Want to compare this across [available segment]?"

After L3 findings:

  • "Want me to investigate the root cause of [top finding]?"
  • "Want to size the opportunity if we fix [issue]?"
  • "Want a deck of these findings for [audience]?"

After L4 investigation:

  • "Want me to design an experiment to test [hypothesis]?"
  • "Want a presentation-ready deck?"
  • "Want to check this against [related metric from dictionary]?"

After L5 deck delivery:

  • "Want to archive this analysis? (/archive)"
  • "Want to explore a related question?"
  • "Want to export in a different format? (/export)"

Always tailor suggestions to the actual findings — reference specific metrics, segments, or anomalies discovered. Generic suggestions ("want to know more?") are not helpful.


Edge Cases

  • Ambiguous questions: Default to L2, ask a clarifying question. "Do you want a quick breakdown, or should I investigate the drivers?"
  • Follow-up after analysis: Re-classify. "Now make a deck" bumps a completed L3 to L5 (but reuses existing analysis, skips to Step 9).
  • Multiple questions in one message: Classify each separately. Execute the highest-level one, note the others as follow-ups.
  • Non-analytical requests: "Help me write a SQL query" or "Explain this chart" — handle directly without classification.
  • Guided-mode silence: If the user doesn't reply after a guided pause point, do NOT block indefinitely. Treat any next message (even a new unrelated question) as implicit intent to move on. If the next message is a new analytical question, re-route it — treat the paused one as abandoned and preserve its working/ artifacts untouched.
  • Mode switch mid-phase: /pace X takes effect at the next phase boundary, never mid-phase. Tell the user which phase it applies from.
  • Unknown /pace argument: Echo the valid modes and ask which they want; do not silently fall back.
  • working/session_state.yaml write fails: Honor the requested mode for the current session in memory. Warn the user: "Pace set to X for this session but I couldn't persist it — /pace X again after resume." Never let a persistence failure block the analysis.

Phase Banner Format

Every time a skill or agent begins executing inside an L3+ analysis, emit a phase banner so the user can see the machinery. This is the entire point of narrated and guided modes.

Opening banner:

▶ Phase {n}/{N}: {Skill or Agent Name}
  Why: {one-line reason this phase is firing now}
  Input: {brief summary — not a dump — of what's being fed in}

Closing banner:

✓ {Phase name} complete — {one-line result summary}

In guided mode, append to the closing banner:

  Reply to proceed, or: /explain (expand on this phase), /skip (skip next),
  /pace {mode} (change pace), /abort (stop).

On failure:

✗ {Phase name} failed — {reason}.
  Options: retry (reply "retry"), skip (reply "skip"), abort (/abort).

Mode-specific rules:

ModeOpening bannerWorkClosing bannerPause?
guided✓✓✓ + promptyes
narrated✓✓✓no
autopilot—✓—no

Anti-Patterns

  1. Never run the full 18-step pipeline for an L1 question. "How many users do we have?" should not trigger hypothesis generation.
  2. Never skip validation for L3+ questions. Even guided analyses need a sanity check before presenting results.
  3. Never assume the user wants a deck. Only create slides if explicitly requested or classified as L5.
  4. Never re-classify mid-execution without user input. If you realize the question is more complex than initially classified, pause and ask.
  5. Never include classification overhead in L1/L2 output. The user asked "how many orders?" — give them the number, not a 3-page classification report.

© ai-analyst-lab, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/question-router of ai-analyst-lab/ai-analyst.

Open the folder on GitHubat commit 52c0744

Compare with similar skills

Question Router next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Question Router compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Question Router this skillai-analyst-lab/ai-analyst304—~4.1kAutomated safety check: PassMIT
Analytics Productsickn33/agentic-awesome-skills47k2 repos~2.8kAutomated safety check: PassMIT
Analytics Trackingalirezarezvani/claude-skills28k1 repos~3.8kAutomated safety check: PassMIT
Product Metrics Dashboard Designphuryn/pm-skills27k—~1.3kAutomated safety check: PassMIT
Analyticsgetsentry/sentry46k—~2.5kAutomated safety check: PassCustom licence
North Star Metricphuryn/pm-skills27k—~1kAutomated safety check: PassMIT

Similar skills

  • Analytics Product

    sickn33/agentic-awesome-skills

    Analytics de produto — PostHog, Mixpanel, eventos, funnels, cohorts, retencao, north star metric, OKRs e dashboards de produto.

    47k GitHub starsUsed in 2 repos~2.8k tokens
    Product & Project ManagementAuto-check passed
  • Analytics Tracking

    alirezarezvani/claude-skills

    Set up, audit, and debug analytics tracking implementation — GA4, Google Tag Manager, event taxonomy, conversion tracking, and data quality.

    28k GitHub starsUsed in 1 repo~3.8k tokens
    Data & AnalyticsAuto-check passed
  • Designs a product metrics dashboard: a North Star and input metrics, a definition table with data sources, chart types and alert thresholds, and a screen layout.

    27k GitHub stars~1.3k tokensUpdated 24 days ago
    Product & Project ManagementAuto-check passed
  • Analytics

    getsentry/sentry

    Official

    Instrument and discover analytics events in Sentry's frontend UI.

    46k GitHub stars~2.5k tokensUpdated today
    Frontend & DesignAuto-check passed
  • North Star Metric

    phuryn/pm-skills

    Define a North Star Metric and 3-5 supporting input metrics that form a metrics constellation.

    27k GitHub stars~1k tokensUpdated 24 days ago
    Product & Project ManagementAuto-check passed
  • Investigate Metric

    PostHog/posthog

    Official

    Diagnose why a product metric changed (dropped, spiked, or plateaued) by orchestrating breakdowns, actors, paths, lifecycle, retention, and annotations queries.

    40k GitHub stars~1.9k tokensUpdated today
    Product & Project ManagementAuto-check passed

More from ai-analyst-lab/ai-analyst

All 43 skills in this repo
  • Always Compare

    ai-analyst-lab/ai-analyst

    Never present a metric or number in isolation; anchor every number to a comparison (prior period, benchmark, or another segment) or state that none is available.

    304 GitHub stars~1.4k tokensUpdated 8 days ago
    Auto-check passed
  • Archaeology

    ai-analyst-lab/ai-analyst

    Retrieve proven SQL patterns, table cheatsheets, and join patterns from .knowledge/query-archaeology/ so past work gets reused.

    304 GitHub stars~1.3k tokensUpdated 8 days ago
    Auto-check passed
  • Archive Analysis

    ai-analyst-lab/ai-analyst

    Save completed analyses to the knowledge system's analysis archive for future reference.

    304 GitHub stars~2.7k tokensUpdated 8 days ago
    Auto-check passed
  • Auth Preflight

    ai-analyst-lab/ai-analyst

    Verify Google Workspace MCP authentication at the start of any session that needs Google APIs (Docs, Slides, Drive).

    304 GitHub stars~3.1k tokensUpdated 8 days ago
    Auto-check passed
  • Causal

    ai-analyst-lab/ai-analyst

    Causal inference toolkit for when experiments are not possible: estimate treatment effects from observational data with assumption checks and mandatory caveats.

    304 GitHub stars~1.8k tokensUpdated 8 days ago
    Auto-check passed
  • Chart To Drive

    ai-analyst-lab/ai-analyst

    Standardized workflow for uploading local chart PNGs to Google Drive and making them available for insertion into Google Docs and Slides.

    304 GitHub stars~1.4k tokensUpdated 8 days ago
    Auto-check passed

Questions about Question Router

What does Question Router do?

Classify every analytical request (anything about data, metrics, trends, segments, funnels, revenue, retention, experiments, or "why did X change") into complexity levels L1-L5 and route it before…. Question Router is an agent skill from ai-analyst-lab/ai-analyst. Classify every analytical request (anything about data, metrics, trends, segments, funnels, revenue, retention, experiments, or "why did X change") into complexity levels L1-L5 and route it before any analytical workflow starts, including follow-ups mid-analysis and chart requests.

How do I install Question Router in Claude Code?

Run `npx skills add ai-analyst-lab/ai-analyst --skill question-router -a claude-code`. Or copy the skill folder (.claude/skills/question-router in ai-analyst-lab/ai-analyst) into .claude/skills/question-router in your project. Claude Code loads it when a task matches its description.

How do I install Question Router in Codex?

Run `npx skills add ai-analyst-lab/ai-analyst --skill question-router -a codex`. Or copy the skill folder (.claude/skills/question-router in ai-analyst-lab/ai-analyst) into .agents/skills/question-router in your project. Codex loads it when a task matches its description.

Can I use Question Router in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ai-analyst-lab/ai-analyst --skill question-router -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/question-router, .gemini/skills/question-router, .github/skills/question-router and .opencode/skills/question-router in your project.

What does Question Router need to run?

SKILL.md names no scripts, command-line tools or credentials: Question Router is instructions for the agent only.

Does Question Router access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Question Router safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Question Router use?

Question Router is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Question Router use?

About 4.1k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Question Router?

Skills that share tags, products or a category with Question Router: Analytics Product (sickn33/agentic-awesome-skills, 47k stars), Analytics Tracking (alirezarezvani/claude-skills, 28k stars), Product Metrics Dashboard Design (phuryn/pm-skills, 27k stars) and Analytics (getsentry/sentry, 46k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Question Router?

ai-analyst-lab (a GitHub organization) maintains it in ai-analyst-lab/ai-analyst, which has 304 GitHub stars. The repository holds 43 skills in this directory. The repository was last updated on September 30, 2026.

Source: ai-analyst-lab/ai-analyst on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.