SuperAPI AI Directory

content-track

General & other

View repository

Updated 10-16 09:56

About this skill

09 · Track — metrics → priori

The ninth step and closing the loop. Without it the recommender scores blindly, and content-repurpose has nowhere to get winners from. The logic is simple: published posts → numbers → tiers → weights back into the strategy that content-weekly-plan.

Mode What it does Cadence
--mode=ingest LinkedIn exports → archive posts.jsonl → Posts DB weekly
--mode=score (default) baseline, resonance index, quadrants, tiers, digest, dashboard weekly
--mode=calibrate breakdowns by pillars/formats/angles → weights into Section 7 of the strategy monthly

Normative: ${CLAUDE_PLUGIN_ROOT}/reference/tracking-rules.md — sources and their limits, baseline, RI formula, quadrants, tiers, n-gate calibration, honesty gates. Read BEFORE any mode. Additionally methodology.md §6 (metrics pyramid, cadences, feedback rule), §2.6 (reuse pauses), §4 item 11 (day 3/7/10).

Input: $ARGUMENTS — client (default — the single active one) + flags. State: client archive (archive/posts.jsonl + ANGLES.md) in the working folder, not in the plugin repo.


Mode A · --mode=ingest — collect the numbers

A1 · Take the exports

Three files, all from LinkedIn, all — by the user's hands (not retrieved automatically):

  • AggregateAnalytics XLSX — profile → Analytics → Export. Impressions and interactions. Holds top-50 for its window → ask for a file for each quarter, otherwise the year isn't covered.
  • Shares.csv — full text of posts (LinkedIn data export, email in ~24 h).
  • Rich_Media.csv — post format.

No fresh XLSX → don't block: text and format ingest proceeds, reach stays empty, in the report this shows as a separate line.

A2 · Run the archive

The script is in this skill's folder: <тека скіла content-track>/scripts/build_archive.py. Run it specifically, from the author's working folder (where the drafts are *.md і archive/):

python3 <тека скіла content-track>/scripts/build_archive.py --root . --metrics <q1.xlsx> <q2.xlsx> --shares Shares.csv --media Rich_Media.csv

For --metrics you need openpyxl (pip install openpyxl). Determine the path to the skill folder before running (find ~ -path "*content-track/scripts/build_archive.py" 2>/dev/null) and show it to the user; don't run a file with that name anywhere else. The script merges sources by share id, doesn't touch manual classification (angle, rubric, topics, format, funnel). Output — archive/posts.jsonl + index ANGLES.md.

A3 · Finish manual fields

After the run, the script prints how many posts have no angle. Classify new posts (angle, rubric, topics) — without this calibration has no breakdowns.

A4 · Dialogues

The main axis, and it does not come from anywhere by itself. For each new post with one question: how many dialogues did it start (DM, comments-to-private, inbound). If you don't know — leave it empty, not zero. Leads and calls — same place, if there is attribution.

A5 · У Notion

Write/update rows in 📊 Posts (reference/notion-schema.md): hook, date, URL, pillar, funnel, format, angle, impressions, likes/comments/reposts, dialogues, leads, export date.


Mode B · --mode=score — what of this worked

  1. Baseline — rolling (tracking-rules.md §3): for each post, the median of 12 posts published BEFORE it. The overall median for the entire archive is a mistake: on real data it made 65% of posts winners. Self-check — median RI across the archive ≈ 1.0. Fewer than 6 previous posts with data → we don't assign tiers, we show raw numbers and say why.
  2. RI for each post by tracking-rules.md §4. Without impressions — only the ER axis + flag.
  3. Quadrant (§5) — 💎 nugget · 📣 reach without applications · 🎯 quiet lead-gen · ⚪ weak. Dialogues unknown → quadrant is not assigned, only tier by RI with a flag.
  4. Tier and right to recirculation (§6) → in Posts DB. This is what then reads content-repurpose --from-tracking.
  5. Digest (Telegram, the same channel as the weekly plan):
    • top-3 and flop-3 of the week with RI and quadrant;
    • coverage line “impressions for N of M posts”;
    • 🎯 quiet lead-gens as a separate block — these are candidates for rework #1;
    • 1–3 lines “what this means for next week” (no new weights — weights are set by mode C).
  6. Dashboard — rebuild the client's page from the archive and deploy it. For the author's personal brand, this is one HTML file with embedded data + deploy to Cloudflare Pages; the path and project are taken from the client's config, not invented.

Mode C · --mode=calibrate — numbers → weights

Once a month, and only when a sample has accumulated.

  1. Breakdowns: pillar · format · angle (lever) · hook type · length · day of week.
  2. For each segment — median RI versus the overall median, the weight formula, and the n-gate (tracking-rules.md §8): n ≥ 4 → weight; n = 2–3 → "signal, not a conclusion"; n ≤ 1 → we stay silent.
  3. Write into Section 7 of the strategy the client's table of calibrated levers with n and the date. Then content-weekly-plan takes them automatically at the scoring step.
  4. Update angle_weight і validated_factor for content-repurpose.
  5. Give winners and failures to grader-rubric.md as examples of judge calibration.
  6. The default lever table methodology.md §5 should not be touched — it is a starting hypothesis for a new client, not a place for a specific client's data.

Definition of Done

  • Exports are ingested, the archive is rebuilt, manual classification is not overwritten.
  • Dialogs are requested for each new post; the unknown was left blank, not zero.
  • Posts DB is updated; every post with data has an RI, quadrant, tier, and the right to recirculation.
  • The digest is shown with a coverage line; 🎯 quiet lead generators are listed separately.
  • The dashboard is rebuilt and deployed (or it is stated why it was skipped).
  • In calibration mode — Section 7 is updated only for segments with n ≥ 4; the rest are marked as a signal; content-repurpose --from-tracking then has something to work with.