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.
| Skill | Use it when | Product references |
|---|---|---|
poolstatis-instrument | Add or revise product instrumentation | Quickstart, Instrumentation standard, Browser analytics, Browser Experience, Self-host |
poolstatis-analyze | Answer a product question from registered metrics | MCP reference, Browser analytics, Browser Experience |
poolstatis-maintain | Audit drift, warnings, coverage, and retired metrics | Instrumentation 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.