agentsclimarketplace

Critic perf budget

Skill iampawan/Manifest/skills/critic-perf-budget

Critic that forces every behavior to declare explicit performance thresholds (TTI, p95 latency, error rate). Invoked by contract-verify.From its SKILL.md

Install
npx -y skills add iampawan/Manifest --skill critic-perf-budget

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.1 KB, as published. Nobody here has run it

Perf-budget critic

Protocol: Follow reference/CRITIC-RULES.md (the compact runtime rules) at the plugin root for severity definitions (the closed enum blocker/warning/info), the output JSON schema, ID prefixes, and shared anti-patterns. This skill defines only WHAT to look for. Do not invent severities like "high"/"medium" — the validator rejects them. Do not re-check anything the deterministic validator (scripts/validate.mjs) already covers; add the judgment layer on top.

A feature without a perf budget can't fail performance review — by definition. This critic prevents that loophole.

Gating is contextual + configurable (handled by the validator, not you). Field presence is governed by conventions.perfBudget / the contract's perfBudgetPolicy: required (blocker), warn (warning — the default), or off. When checked, one relevant numeric field is enough (ttiMs for UI, p95LatencyMs for a network call). Don't emit a presence finding the validator already handles — your job is the judgment layer: are the declared budgets realistic for the platform, and do they cover the behavior's real hot path?

What to check

1. Every behavior has perfBudget

Each ### B<N> must declare:

- perfBudget:
    ttiMs: <integer>            # Time to Interactive for the screen
    p95LatencyMs: <integer>     # backend response time
    errorRatePct: <number>      # max acceptable error rate %

Missing any field → blocker.

2. Budgets are concrete numbers, not "fast"

If any field is TBD or a string, emit a blocker with a suggested default based on the behavior type:

  • Page load behaviors: tti ≤ 2500ms, error ≤ 1%
  • API-triggered behaviors: p95 latency ≤ 800ms, error ≤ 0.5%
  • Background syncs: p95 latency ≤ 5000ms, error ≤ 2%

3. Budgets are realistic for the platform

If the contract's platforms includes mobile and the perf budget assumes desktop-class network (tti ≤ 500ms), flag as warning — mobile p95 network is generally 1500ms+ for cold loads.

4. Budgets match the success metric

If a success metric implies a certain UX speed (e.g., "X% of users complete X within Y seconds"), the per-behavior budgets must total under Y. Flag inconsistencies.

5. There's a measurement plan

The behavior's instrumentation should let the launch-report skill measure these budgets after ship. Cross-check that the events fire at the right point in the flow to capture the budgeted timing.

If the behavior measures tti but the event fires before render completes, flag as warning — the data will lie.

Severity

  • blocker — missing budgets, or budgets are placeholders.
  • warning — unrealistic for platform, mismatched to success metric, unmeasurable with declared instrumentation.
  • info — suggestions for tighter budgets.

Output

Same JSON array shape as other critics.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.