Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/thuong-nc/perlytics-skill/analysis-readoutnpx skills add thuong-nc/perlytics-skill --skill analysis-readoutgit clone --depth 1 https://github.com/thuong-nc/perlytics-skillWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/thuong-nc/perlytics-skill/analysis-readout)<a href="https://agentmods.dev/skills/thuong-nc/perlytics-skill/analysis-readout"><img src="https://agentmods.dev/badge/skills/thuong-nc/perlytics-skill/analysis-readout.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00066 | $0.02706 |
| Opus 5 | $0.00033 | $0.01353 |
| Sonnet 5 | $0.00013 | $0.00541 |
| Haiku 4.5 | $0.00007 | $0.00271 |
Grade A, and why
analysis-readout scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 215 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Analysis Readout (Orchestrator)
Purpose
Coordinate a sequence of atomic skills for open-ended analytics requests. This skill does not perform analysis itself — it runs the right atomic skills in the right order and assembles their outputs into a single report.
When to use
- The user has a business question and a dataset but has not scoped the analysis type
- The ask is open-ended: "phân tích tình hình kinh doanh", "find what matters in this data", "tell me what's going on with X"
- The request likely requires more than one analytical lens before a recommendation is possible
When not to use
- The user explicitly names a specific analysis type (use that atomic skill directly)
- The question is already fully scoped and one atomic skill is the clear match
- The ask is a single standalone memo or report with known inputs (use
stakeholder-memodirectly)
Assumption policy
Proceed with stated assumptions. Do not stop to ask clarifying questions unless a required input (dataset, metric definition, timeframe) is genuinely missing and cannot be inferred. State assumptions explicitly at the top of the report instead.
Evidence constraint
Every conclusion produced by any skill in this pipeline must be grounded in specific data — a number, a rate, a segment, or a timeframe. Do not speculate or assert without an evidential basis. If data is insufficient to support a conclusion, state explicitly what is missing rather than filling the gap with unsupported inference. When evidence is weak, use hedged language ("consistent with," "suggests," "leading hypothesis") rather than asserting certainty.
Pipeline
The pipeline has four phases. The question assessment, steps 1–2, and the final step are fixed. The diagnostic phase (step 3) is dynamic.
pipeline:
# Phase 0 — always run first, before any analysis
question_assessment:
- skill: clarify-question
required: true
note: "Assess the user's question before any analysis begins. Identify missing elements (metric, dimension, grain, timeframe, baseline, filter, decision context). If elements are missing and cannot be inferred, ask the minimum clarifying questions. If the user cannot answer, state working assumptions explicitly and proceed. Do not skip this step even for seemingly clear questions."
# Phase 1 — always run, in order
fixed_foundation:
- skill: data-quality-check
required: true
note: "Run after question assessment. Flag issues but do not stop — proceed with clean subset and document exclusions."
- skill: metric-definition
required: false
condition: "Any key metric, KPI, or column label in the dataset is ambiguous, unnamed, or could be measured in multiple valid ways (e.g. revenue = gross or net? activation = what event?). Run before EDA so interpretation is grounded in agreed definitions."
note: "Produces a metric spec for each ambiguous KPI. Output feeds directly into EDA framing."
- skill: exploratory-data-analysis
required: true
note: "Summarize shape, distributions, trends, and anomalies. This is the factual foundation."
# Phase 2 — dynamic dispatch: select any skills whose condition is met based on EDA findings
# Run all triggered skills; run multiple in parallel where findings are independent.
# No skill is pre-selected — the EDA output determines what runs.
diagnostic_phase:
select: "all skills whose condition is met"
available:
- skill: root-cause-analysis
condition: "A metric changed, declined, or spiked, OR a 'why' question is in scope."
- skill: segmentation-analysis
condition: "An audience, product, channel, or regional breakdown would change the recommendation."
- skill: cohort-retention
condition: "Retention, repeat purchase, or time-since-first-event patterns are relevant."
- skill: funnel-analysis
condition: "A conversion funnel or sequential drop-off is in scope."
- skill: forecasting-readout
condition: "A forward-looking projection or trend extrapolation is needed."
- skill: experiment-readout
condition: "An A/B test, holdout, or intervention is present in the data."
- skill: causal-inference-check
condition: "A causal claim is made or implied by the user or by EDA findings."
- skill: hypothesis-tree
condition: "The problem space is unclear after EDA and needs structured decomposition."
- skill: dashboard-critique
condition: "The input dataset is a dashboard export or reporting artifact, OR the analysis output is intended to populate or review an existing dashboard."
# Phase 2.5 — run after diagnostics, before synthesis
# Triggered when analysis reveals gaps the current data cannot close.
gap_resolution:
- skill: data-request-spec
required: false
condition: "EDA or any diagnostic skill identifies a specific data gap — missing fields, unmeasured events, unavailable history — that would materially change a finding or leave a key recommendation unsupported."
note: "Produces a precise request spec for data/engineering teams. Attach to the memo as an appendix so stakeholders see what is needed to close open questions."
# Phase 3 — always the final step
synthesis:
- skill: stakeholder-memo
required: true
note: "Synthesizes all prior outputs into a decision-ready memo. Always the last step."
assumption_policy: "state working assumptions explicitly after clarify-question; do not stop mid-pipeline to re-clarify"
output_artifact: "report-{date}.md"
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 215 lines · 66 tokens per session scan A c9b39573d8a3
analysis-readout is a skill published in the GitHub repository thuong-nc/perlytics-skill (5 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 66 tokens to every session and 2,706 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
happiness-skill
当用户问「怎么才能更幸福/为什么得到了还不满足/怎么减少焦虑」时调用。 核心理念: 幸福是缺憾感清空的默认状态, 是可训练的技能; 欲望是与自己的契约(得到前不快乐), 同时只留一个重大欲望; 活在当下。 不适用于: 临床抑郁等需要专业治疗的场景(本书方法不能替代医疗)。 Triggers: 幸福/不快乐/欲望/焦虑/知足/活在当下/happiness/desire/anxiety.
docx-comment-reply
Reply to comments (批注) in Word .docx/.doc files: extract comment context, draft replies, write threaded replies back, and validate OOXML.
sn-image-imitate
Generates a new image that imitates the style of a reference image while updating content based on user intent. Uses a three-stage pipeline: image annotation (long caption), caption rewriting, and image generation. Use when user asks to "imitate style", "保持这个风格重画", "按这张图风格生成", or "style transfer with new content".
pcbway
PCBWay PCB fabrication and assembly — turnkey/consigned assembly, design rules, ordering workflow. Alternative to JLCPCB for manufacturing. Use with KiCad. Use this skill when the user mentions PCBWay, needs turnkey assembly (PCBWay sources parts by MPN), has parts not available on LCSC, needs assembled boards with…
explaining-machine-learning-models
Explain trained machine learning models through feature attribution, local explanations, and behavior summaries. Use as an explicit/manual helper once a model already exists, not for training ownership, leakage auditing, or general ML strategy selection.
jobs-to-be-done
Discover what customers truly need by analyzing the "job" they hire your product to do. Use when the user mentions "customer discovery", "why customers churn", "what job does this solve", "competing against luck", "product-market fit", "switching behavior", "milkshake moment", or "functional vs emotional jobs". Also…