Skip to documentation
MCP & agent skills

Agent skills

Poolstatis skills teach an agent how to work; they do not connect it to the Poolstatis server. MCP is the connection, and a skill is the workflow. Install all three workflows, then verify MCP independently with get_onboarding_status.

SkillUse it whenProduct references
poolstatis-instrumentAdd or revise product instrumentationQuickstart, Instrumentation standard, Browser analytics, Browser Experience, Self-host
poolstatis-analyzeAnswer a product question from registered metricsMCP reference, Browser analytics, Browser Experience
poolstatis-maintainAudit drift, warnings, coverage, and retired metricsInstrumentation standard, MCP reference, Browser analytics, Browser Experience, Self-host

Every workflow reads the live project schema through MCP. The instrumentation workflow also reads poolstatis://standard/instrumentation before proposing any metric. Public documentation explains the product contract; the MCP resource remains the normative machine-readable standard used by the connected agent.

Codex user scope

Codex user-scope skills live under ${CODEX_HOME:-$HOME/.codex}/skills and can be reused across product repositories. On a clean installation, run the built-in installer:

python3 "${CODEX_HOME:-$HOME/.codex}/skills/.system/skill-installer/scripts/install-skill-from-github.py" \
  --repo lim5max/poolstatis \
  --ref 48618143c23349ab46d0c25b01b0ec93740794f2 \
  --path .agents/skills/poolstatis-instrument \
         .agents/skills/poolstatis-analyze \
         .agents/skills/poolstatis-maintain

If one of those destination folders already exists, do not delete it blindly. Ask Codex to compare the installed copy with the same GitHub path and update it deliberately.

Verify the three files before starting the client task:

for skill in poolstatis-instrument poolstatis-analyze poolstatis-maintain; do
  test -s "${CODEX_HOME:-$HOME/.codex}/skills/$skill/SKILL.md" || exit 1
done

Start a new Codex turn after installation — the skills are available from the next turn. A copyable first prompt is:

Use poolstatis-instrument. Read poolstatis://standard/instrumentation, list the projects I can
access, inspect the target schema, then propose the smallest purpose-first measurement plan.
Do not change product code until you show the proposed metrics, funnels, privacy boundaries,
and the event-to-query acceptance check.

Claude Code project scope

Claude Code project skills live inside the product repository, so the team can review and version them with the code. From the product root:

mkdir -p .claude/skills
for skill in poolstatis-instrument poolstatis-analyze poolstatis-maintain; do
  mkdir -p ".claude/skills/$skill"
  curl -fsSL \
    "https://raw.githubusercontent.com/lim5max/poolstatis/48618143c23349ab46d0c25b01b0ec93740794f2/.claude/skills/$skill/SKILL.md" \
    -o ".claude/skills/$skill/SKILL.md"
done

Verify project discovery:

for skill in poolstatis-instrument poolstatis-analyze poolstatis-maintain; do
  test -s ".claude/skills/$skill/SKILL.md" || exit 1
done

Restart the Claude Code project session, then use the same first prompt above. Commit the .claude/skills files if the whole team should receive the workflows. Do not commit the MCP token or MCP host configuration.

Connection acceptance

Skill discovery proves only that the workflow text is present. The client path is accepted only after the agent can call list_projects, get_onboarding_status, get_project_schema, sample_events, and one typed query such as query_trend. Follow the exact first connection proof.