# Measure Results

> Ingest a launch/campaign's real post-publish results for ONE channel, produce a structured what-worked/what-failed read against that channel's playbook pack, and feed a dated entry back into the pack so the next launch compounds. Closes the metrics loop (pillar 3). Not for scoring a single organic post in an eval loop (use evaluate-content), paid-ad results (use evaluate-ad), short-form video (us…

- **Type:** Skill
- **Install:** `agentstack add skill-hungv47-meta-skills-measure-results`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [hungv47](https://agentstack.voostack.com/s/hungv47)
- **Installs:** 0
- **Category:** [Data & Analytics](https://agentstack.voostack.com/c/data-and-analytics)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [hungv47](https://github.com/hungv47)
- **Source:** https://github.com/hungv47/meta-skills/tree/main/skills/marketing/measure-results
- **Website:** https://skills.forsvn.com/

## Install

```sh
agentstack add skill-hungv47-meta-skills-measure-results
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Measure Results — Loop Closer

4 agents (metric-ingest → diagnosis → pack-feedback → critic) turn a channel's real launch results into a structured read **and a dated entry written back into that channel's playbook pack**, so the next launch on the channel starts from evidence, not a blank page. Capability: [`routing.yaml`](routing.yaml). Agents + rubric: [`references/agent-manifest.md`](references/agent-manifest.md). Method: [`references/playbook.md`](references/playbook.md).

**Core question:** Which specific pack tactic earned (or cost) the result — and what should the next launch on this channel keep, drop, or test?

## Critical Gates — load first

1. **One channel per run.** Multi-channel results = one run per channel (the pack is per-channel). 
2. **Pack-grounded or transparent.** Diagnose against the channel's pack (§3 signals, §5 playbook); if no pack covers the channel, say so and produce a general read — never fake channel attribution (legibility convention).
3. **Evidence, not vibes.** Every "what worked" names the tactic + the number that supports it. No number → it's a hypothesis, labelled as one.
4. **Loop write-back is the point.** A run that produces a read but writes nothing back to the pack/performance store has not closed the loop.

## Before Starting

Apply [`references/_shared/before-starting-check.md`](references/_shared/before-starting-check.md). Then:

| Input | Source | Required? |
|---|---|---|
| Channel results (paste or path) | operator | **Hard** — the numbers to read |
| Channel pack | `references/_shared/platform-intelligence/[channel].md` | Rec — the tactics to attribute against |
| Launch artifact | `plan-campaign` / launch chain comms plan | Rec — the hypotheses being tested |
| `.forsvn/performance/*.tsv` | prior runs | Opt — trend context |

Mode per [`references/_shared/mode-resolver.md`](references/_shared/mode-resolver.md). `budget: standard`. `--fast` → ingest + read, skip the trend layer; **never** skips the pack write-back or the critic. Pre-Dispatch per [`references/procedures/pre-dispatch.md`](references/procedures/pre-dispatch.md).

## Quality Gate — 5 dimensions

Full rubric: [`references/rubric.md`](references/rubric.md).

- [ ] Attribution — each result traced to a named pack tactic / ranking signal (not "it went well")
- [ ] Falsifiability — claims carry the supporting number; hypotheses labelled
- [ ] Honesty — failures named as plainly as wins (anti-sycophancy)
- [ ] Actionability — a concrete keep/drop/test for the next launch
- [ ] Write-back fidelity — the pack entry + performance row are accurate and dated

Pass ≥35/50 AND no dim 0. FAIL twice → `BLOCKED`, no write-back.

## Artifact Contract

- **Path:** `docs/forsvn/artifacts/marketing/measure-results/[channel]-[YYYY-MM-DD]-[slug].md`. **Lifecycle:** `evaluation`.
- **Frontmatter (12):** `skill`, `version`, `date`, `stack`, `type`, `id`, `review_surface`, `status`, `channel`, `pack_verified`, `applied_tactics`, `keywords`.
- **Body:** Results table (metric · value · vs-expected) · What worked (tactic + number) · What failed · Keep/Drop/Test · Hypothesis verdicts · Pack write-back block · **Legibility** (`**Legibility — applied expertise**` — pack measured-against + its §3/§5 signals the read used; convention: `references/_shared/legibility-convention.md`) · Critic verdict. Legibility only — measure-results produces a measurement, not a marketing artifact, so **no** `## Why this works` block.
- **Side effects (on critic PASS):** append a dated entry to the channel pack changelog (`references/format-conventions.md` § Pack write-back); append a row to `.forsvn/performance/[channel].tsv`; if a hosted key is present, mirror the result to the cross-session metrics feed (`bun scripts/forsvn-hosted.ts metrics [channel] --worked "..." --failed "..."` — POSTs `/v1/metrics`, best-effort, inert without a key, never blocks). Full contract: [`references/format-conventions.md`](references/format-conventions.md).

## Routing + Dispatch

Sequential graph (metric-ingest → diagnosis → pack-feedback → critic). Dispatch + revision cycle: [`references/procedures/dispatch-mechanics.md`](references/procedures/dispatch-mechanics.md).

## Chain Position

**Prev:** the launch chain (`plan-campaign` / `publish-social`) OR a raw results paste. **Next:** the next launch on this channel reads the updated pack (loop closed). **Re-run:** new results, corrected numbers, a second channel.

**Deference:** single organic post in a loop → `evaluate-content`; paid ad → `evaluate-ad`; short-form video → `evaluate-shortform`; landing page → `evaluate-landing-page`.

## Anti-Patterns

[`references/anti-patterns.md`](references/anti-patterns.md) — 8 patterns (vanity-metric-only, sycophantic read, unattributed win, no write-back, multi-channel-in-one-run, faked attribution without a pack, hosted-post-blocks-run, overwriting pack tactics instead of appending). Re-read before write-back.

## Durable Rules (protected)

## Completion Status

- **DONE** — read produced, critic ≥35, pack + performance write-back done.
- **DONE_WITH_CONCERNS** — delivered; critic 25-34 OR a stale/absent pack (read shipped, attribution caveated).
- **BLOCKED** — critic FAIL twice; no usable numbers; channel pack write would overwrite (needs operator).
- **NEEDS_CONTEXT** — no results provided; recommend re-running after the launch has data.

## Worked Example

Product Hunt launch read (rank 3, 412 upvotes → which §5 tactics earned it → keep/drop/test → pack changelog entry + hosted feed): [`references/examples/measure-walkthrough.md`](references/examples/measure-walkthrough.md).

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [hungv47](https://github.com/hungv47)
- **Source:** [hungv47/meta-skills](https://github.com/hungv47/meta-skills)
- **License:** MIT
- **Homepage:** https://skills.forsvn.com/

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-hungv47-meta-skills-measure-results
- Seller: https://agentstack.voostack.com/s/hungv47
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
