skill-publish-analytics · Publish Analytics

Publish-data attribution: reads the publish log (publish-log.json) and attributes content performance across four dimensions — best publish time (weekday × time-slot heatmap), tag effectiveness (rankings + co-occurrence), content-type comparison (posts/video/live/articles), and growth attribution (publish events vs. 24h/48h/7d follower changes).
All four modes are computed deterministically by script (time bucketing, tag aggregation, sample-size warnings, coverage); the LLM only interprets. Hard rules: never invent data, label every bucket with its sample count, warn on small samples, and "correlation ≠ causation" is mandatory in every report's limitations.
Example invocation: "Analyze which publish times worked best this month."
Full brief
Positioning
skill-publish-analytics is the consumption layer of the attribution chain: it reads only the publish log and follower-snapshot base, creates no new storage, and writes nothing back. It does four-dimension attribution — not cross-platform monthly portfolio reviews (that's skill-social-performance-review).
Core capabilities
- Mode A best publish time: publish-slot vs. engagement, weekday × time-slot heatmap with Top 3 recommended slots (engagement score = views×0.1 + likes×1.0 + comments×2.0 + shares×3.0).
- Mode B tag effectiveness: tag frequency, average performance, high/low-value tag identification, tag co-occurrence matrix.
- Mode C content-type comparison: posts/video/live/articles compared across metrics, platform × type cross-tab.
- Mode D growth attribution: publish events vs. 24h/48h/7d follower deltas, ranked by follower impact.
- Deterministic script computation: all four modes computed by
scripts/analyze.py; the LLM interprets. - Data-quality hard rules: never invent data; every bucket labeled with sample count; <5 per bucket flagged; <10 total gets a bold header warning; null metrics excluded from averages with coverage reported.
Workflow
- Check profile context (filter by profile, use its timezone)
- Run
scripts/analyze.py(default A+B+C; D needs the follower log exported first) - Convert script JSON to Markdown tables
- Key findings (3) → methodology → limitations (must include "correlation ≠ causation")
- Output the structured attribution report
Inputs & outputs
| Input | Notes |
|---|---|
| Analysis mode | A/B/C/D, combinable; defaults to A+B+C |
| publish-log.json | Data base, maintained by skill-publish-log |
| follower-log.json | Needed for Mode D, exported from skill-data-tracker's snapshot base |
Output: structured attribution report (data summary, analysis tables, key findings, methodology, limitations).
Boundaries with adjacent skills
| Skill | Lane |
|---|---|
| skill-publish-analytics (this) | Four-dimension attribution from the publish log |
| skill-social-performance-review | Cross-platform portfolio-level monthly review with next-month actions |
| skill-content-postmortem | Single-post win/loss review / hit-formula extraction |
Fit
- Finding your account's best publish times
- Evaluating which tags actually drive performance
- Data-backed post vs. video decisions
- Identifying which publishes genuinely grew followers
Before you start
- The publish log needs enough entries; <10 total triggers a statistical-significance warning.
- Mode D needs follower-snapshot base data.
skill-publish-analytics is part of the Aiglade Skill library. Invoke it from the Aiglade chat box in plain language.