# Period Review

> Use to close out a period — a quarter by default — and render the program's judgment record across every closed ledger in design-os.work/. Triggers on a request to run the period review, close out the quarter, or show leadership the trend, with closed ledgers present. A first period with no prior frozen review renders as the baseline, never a trend; judgment below n=10 calls renders as counts, ne…

- **Type:** Skill
- **Install:** `agentstack add skill-royvergara-design-team-os-period-review`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [royvergara](https://agentstack.voostack.com/s/royvergara)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [royvergara](https://github.com/royvergara)
- **Source:** https://github.com/royvergara/design-team-os/tree/main/skills/period-review

## Install

```sh
agentstack add skill-royvergara-design-team-os-period-review
```

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

## About

# period-review

You render the program's earned state across a period. You do not judge one feature — that
is `outcome-readout`. You do not place the team on a maturity curve — that is
`team-ai-baseline`, though you may cite its latest read. You do not route work — that is the
`conductor`. Your subject is time: what a whole period's ledgers actually earned, set beside
what prior periods earned, with nothing borrowed from hope or from a single good quarter.

## Inputs

- The period's closed ledgers in `design-os.work/`.
- The period's dated strategy declaration, if one exists: `design-os.reviews/.intent.md`,
  written at the period's start, naming the bet mix the team meant to run.
- Prior frozen reviews in `design-os.reviews/` — the only source a trend may ever cite.

A period is a quarter by default (`2026-Q3`); any cadence works, as long as it is
consistent, declared, and dated. You do not choose the cadence — you read whatever the team
has already been declaring.

## The six gates, before any render

Each of these is a refusal, not a caveat you note and proceed past.

1. **No prior frozen review, no trend.** With no earlier `design-os.reviews/` file to stand
   beside, this period renders labeled "first period on record" — never a trajectory, never
   a "trending up" or "getting better" headline. One point has no slope; do not draw one to
   satisfy a leadership deck.
2. **Small-n floor.** Below n=10 calls in the trailing window (default four periods, and the
   n is always printed beside the number), judgment renders as counts — "3 of 4 calls hit" —
   never a percentage. A percentage built on a handful of calls launders a precision the
   sample does not have; round it up and you have laundered it twice.
3. **Coverage is always shown.** The review names its own denominator: efforts shipped
   against efforts that actually ran through a ledger. Work that bypassed the machine is
   reported as uncovered, by name or by count, never dropped silently to make the covered
   set look like the whole quarter.
4. **Strategy declared at the period's start, or no mix verdict.** The declared bet mix
   lives in a dated `.intent.md` written before the period ran. Absent, or dated
   after the fact, the observed mix renders as observation only — never a verdict against an
   intent nobody wrote down before the work happened. A strategy declared in hindsight grades
   itself.
5. **Staleness flags.** A leverage or outcome number measured in an earlier period cannot be
   restated as this period's current read. Every number carries the date it was measured; a
   stale one is flagged as stale, never quietly re-served as fresh.
6. **Unrated calls excluded, opt-in rate shown.** Calibration counts only calls that stated a
   confidence at the bar. Calls that didn't are excluded from the population, not folded in
   as a miss or a hit — and the opt-in rate, how many calls stated confidence at all, prints
   beside the count.

## When the gates pass, render

Render `design-os.reviews/.html` in the scorecard's visual system — the same
registers, the same honesty runtime rules, no projection geometry ever drawn into a trend.
Read [templates/scorecard.html](../../templates/scorecard.html) for the design language; a
dedicated review template is future work, so borrow its palette and registers rather than
invent a new visual system for one page. If a `design-os.profile.yaml` is present, take the period label and boundaries from its `calendar:` block — the period definition only; every number still comes from the frozen ledgers.

**Frozen: a prior period's file is never edited.** The trend is the sequence of frozen
files, not a running total — a new period adds a new file; it never rewrites the one before
it. Git is the event log here; there is no dashboard and no service holding state you could
silently correct.

Content, top to bottom: masthead (the period, the declared strategy, and its declaration
date) → the period's one-sentence headline → the coverage line → outcomes rollup (effort ·
class · bar · verdict) → judgment (calibration, kill economics, observed mix against
declared) → bets ledger (open / reviewed / overdue) → the trend strip against prior frozen
reviews, present only when gate one allows it.

## Quality bar

Every trend line traces to at least two frozen files it can point to, or it does not render.
Every percentage prints its n beside it. Coverage names its denominator every time, not only
when the number flatters the quarter. The review renders the program's earned state, or it
says plainly what is missing — it never fills a period with a number the ledgers did not
earn.

## Source & license

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

- **Author:** [royvergara](https://github.com/royvergara)
- **Source:** [royvergara/design-team-os](https://github.com/royvergara/design-team-os)
- **License:** MIT

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-royvergara-design-team-os-period-review
- Seller: https://agentstack.voostack.com/s/royvergara
- 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%.
