# Quality Artefacts

> Turn a finished quality strategy into a shareable, glanceable visual artefact — a bespoke self-contained SVG or HTML file designed for a stated audience and purpose. Describe the view you want ("a tweetable summary of where quality stands", "a story of our quality year, told frame by frame", "a dashboard of just the payment risks for my standup") and it designs and builds that view from quality/s…

- **Type:** Skill
- **Install:** `agentstack add skill-tollens-ai-quality-strategy-skills-quality-artefacts`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [tollens-ai](https://agentstack.voostack.com/s/tollens-ai)
- **Installs:** 0
- **Category:** [Data & Analytics](https://agentstack.voostack.com/c/data-and-analytics)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [tollens-ai](https://github.com/tollens-ai)
- **Source:** https://github.com/tollens-ai/quality-strategy-skills/tree/main/skills/quality-artefacts

## Install

```sh
agentstack add skill-tollens-ai-quality-strategy-skills-quality-artefacts
```

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

## About

# Quality Artefacts

A finished `quality/strategy.md` is honest, but it's several hundred lines of markdown — built to be *used*, not to be *glanced at* or *shared*. This skill turns it into the missing form: a **single self-contained SVG or HTML file** a person can open, grasp in five seconds, screenshot, tweet, or walk into a standup with. The bar it aims at: the owner should *feel seen* — and be keen to share it.

It is a **generator, not a poster maker**. There is no fixed template being filled in. The user describes the view they want — in their own words, for their own audience — and you *design* an artefact for that request and that strategy: the layout, the emphasis, the visual language, all chosen to fit. Two users asking for "a dashboard" of two different strategies should get two visibly different artefacts, because their strategies, audiences, and risks differ. The named presets further down are worked examples of design moves that have worked — start from one when it genuinely fits, but the headline capability is the freeform path.

Like `/strategy-variants`, this is a **post-processing step**: it runs after the strategy is finished and reviewed, never edits `quality/strategy.md`, and produces derived views with the strategy as the single source of truth. Where `/strategy-variants` re-writes the strategy in prose for a named reader, this skill re-renders it *visually* — and every honesty rule that binds the prose variants binds the pictures too.

## Resolving file paths — do this first

This skill is part of the `quality-strategy` plugin. Before anything else, resolve two absolute paths and use them throughout:

- **PLUGIN_ROOT** — the plugin's install directory: `${CLAUDE_PLUGIN_ROOT}` (Claude Code expands this to an absolute path when it loads this file; read it off and note it down). The grounding file this skill reads — `PHILOSOPHY.md` — lives under it, as does the plugin manifest whose version you record per run.
- **PROJECT_DIR** — the absolute path of the project whose strategy you're rendering (normally the current working directory; confirm with the user if it's ambiguous). The strategy docs normally live under `$PROJECT_DIR/quality/`, and the artefact you produce goes to `quality/artefacts/` beside them — but `/quality-strategy` asks at session start where the strategy should be saved, so the `quality/` family may live elsewhere. If `$PROJECT_DIR/quality/` is absent, get the docs home instead of assuming: ask the user where the strategy was saved; if the path you're given ends in `/quality`, its parent is the home. From then on treat `$PROJECT_DIR` as that docs home wherever a path below says `$PROJECT_DIR/quality/...` — one substitution, made once, before you act on any path.

File references below use the `$PLUGIN_ROOT` and `$PROJECT_DIR` placeholders. **Substitute the resolved absolute paths before you act on them.** The Read tool does no variable expansion and resolves relative paths against the current working directory, not this skill's directory — so an unsubstituted placeholder or a bare relative path will fail.

## When to use

- **After `/quality-strategy` (and ideally its review) has finished** — when the user wants the strategy in a glanceable or shareable form: for a tweet, a standup, a stakeholder meeting, a README badge-with-substance, a wall.
- **After a strategy revision** — re-run it and the views update with the strategy. An artefact is a snapshot; the regeneration is what keeps it a *living* view rather than a stale poster.
- **Standalone** — on any existing, reviewed `quality/strategy.md`, whoever wrote it.

If `$PROJECT_DIR/quality/strategy.md` doesn't exist, stop — there is nothing to render; point the user to `/quality-strategy`.

Do **not** run it on an unfinished or unreviewed strategy: a beautiful rendering of a broken strategy is a confident-looking, misleading picture — worse than the document, because pictures are believed faster than prose. If the strategy isn't done, say so and point back to `/quality-strategy` / `/quality-strategy-review`. (If the user knowingly wants a draft visualised anyway, build it, and make the artefact itself say *Draft — strategy not yet reviewed* where no crop can remove it.)

## What you need

- **Grounding.** Read `$PLUGIN_ROOT/PHILOSOPHY.md` — in particular *quality is value to someone who matters* (an artefact is pitched at a specific someone), *make confidence visible*, and *don't use spurious precision*. The artefact is the strategy's public face; if it launders away the uncertainty, it betrays the document it renders.
- **The skill version.** Read the `version` field from `$PLUGIN_ROOT/.claude-plugin/plugin.json` and note it — every run records the version it executed against (see step 5).
- **The strategy.** Read `$PROJECT_DIR/quality/strategy.md` end-to-end — not just the TL;DR. The detail is where the honest qualifiers live ("M for the upload path, L for restore"), and those qualifiers are exactly what a lazy rendering flattens away.
- **The companions, if they exist.** `quality/test-strategy.md`, `quality/tooling-strategy.md`, and any `quality/strategy-one-pager.md` / `quality/strategy-client.md` variants. They are optional enrichment: a request like "show what we're building next" draws on the tooling strategy's build plan; a client-facing artefact should follow the client-safe variant's framing where one exists.
- **The request.** The user's own words for what they want to see or share. This is the design brief — treat it as load-bearing input, not as a routing key to a preset.

## The seven principles

Everything this skill knows about a good artefact reduces to seven principles. They are the design brief during step 2 and the scorecard in step 4 — score each 0 (fails), 1 (partial), or 2 (holds), on the **rendered** output. Three are **HARD GATES**: an artefact is not presented until each gate scores 2; fix and re-render instead. One law stands above all seven: **honesty beats shareability** — when a principle's pursuit would shade the truth, the truth wins.

### 1. Feel seen — the mirror

Could no other project mistake this artefact for theirs? The project's own voice, its own visual identity (a plant app earns botanical warmth; a payments tool, ledger austerity), the strategy's own sharpest sentences quoted back at the owner (*"salt in the wound"*, *"the users we burned"* — mine the doc before writing new lines). Choose a deliberate palette (3–5 colours) and one or two typefaces. Anti-patterns: a template with the nouns swapped; assistant-prose tics; the generic-AI look — evenly-spaced gradient boxes, the same purple-on-white, emoji as decoration — redesign rather than polish it. The banned-tics list — *honest/honestly* as filler, *actually*, *simply*, *crucially*, *essentially*, *delve*, *deep dive*, *journey*, *game-changer*, *it's worth noting*, *let's be clear* — is grepped at scoring time; a hit survives only where it does real work (a legend's *"honest confidence"* names a property of the data; a kicker reading *"MEASURED HONESTLY"* does not).

One boundary the other way: the anti-hyperbole rules (principle 3 and the world-claim check) bound *claims*, never *register* — do not let them flatten the voice. Evidence-backed savagery is a feature: *"The best-tested code doesn't run"*, *"2/2 apparent instruments turned out to be decoys"* land as a roast with receipts, and owners share that register because it signals command of their own codebase. Hyperbole means asserting beyond the evidence; a burn fully covered by the doc is just the truth, well-lit — so sharpen the tone to exactly the limit the evidence allows, and no further.

### 2. The graphic carries it — HARD GATE

Cover every word on the rendered frame: the point must still land from the shape alone. A dramatic void says "we can't see here" better than a sentence; the chart IS the quote. Text tells the story — the *so-what* — and never describes the graphic; every legend term maps to exactly one visual treatment on its frame (instance from review: two hatched elements with different meanings on one frame made the legend meaningless — one void treatment per frame). If the text carries the meaning, the design fails this gate.

### 3. Claims wear their evidence — HARD GATE

Every factual claim carries its evidence at the strength the source doc gives it — measured, surveyed, believed, unknown — and compressing a hedged claim into a bald fact is the honesty law broken. The evidence is usually the better line anyway: *"of the one-star reviews that say anything, dead plants dominate — most-named cause, a reminder that never arrived"* beats *"the #1 reason its users quit"*. Operationally: an Unknown or Gated dimension (unjudgeable until an oracle — something that can judge the output — exists) is never painted on the good-to-bad colour ramp (hatching, holes, `?`, an off-ramp hue — and boldly, not as a timid side note); over-confident actuals render at their evidence, not their vibe; confidence appears in the doc's own coarse vocabulary, never percentages it doesn't contain; nothing is asserted the body doesn't support, and a scoped view's title says its scope. For client- or public-facing artefacts, `/strategy-variants`' omit-never-lie rule applies on top — and where keeping client-affecting honesty and dropping internal candor pull against each other visually, surface the tension to the user rather than quietly choosing.

### 4. Stranger-ready — HARD GATE

One plain sentence says what the project is and what the picture shows, before anything else asks to be understood — in a multi-frame story it opens frame 1's caption, and every other frame carries a short project tag (e.g. in its corner provenance line) so a lone screenshot still names the project. Every visible sentence survives zero project context and zero framework vocabulary: *"nobody can measure this yet"* beats *"no oracle exists"*; plain dimension names, never bare ids or release tags. This binds **every surface a reader can reach** — not just the share surface, but every expanded detail panel, tooltip, drawer, or secondary view a tap or hover opens: **coordinates never travel without their names, anywhere a reader can reach them on a rendered surface.** A bare *(A, B, D, E, G)* or *(LN-6)* in a tapped-open panel fails exactly as it would in the hero — write the name first and the coordinate in tow: *"build delivery telemetry end to end (action A)"* (instance from review — FAIL: an expanded panel reading *"every oracle in the plan (A, B, D, E, G)"*, plus a *"(LN-6)"* test-strategy label the artefact defines nowhere; PASS: the names lead and the letters trail — *"…delivery telemetry, the photo round-trip, the backup-restore drill (actions A, B, C)"* — and the offline run names its drill rather than citing a bare *(LN-6)*). The text budget enforces the rest, and it is hard on any share or hero surface — a card, a story frame, the first viewport of a dashboard: titles ≤8 words; that surface carries its title, its one hero stat, and **at most one caption of ≤2 sentences** — no third sentence and no body paragraph reaches it, however well the prose works (instance from review — FAIL: a 3-sentence body paragraph rode the first viewport of a dashboard because the storytelling was strong; PASS: its lead sentence stayed as the ≤2-sentence caption, the remainder dropped into the expanded panel). Principle 6 buys no exemption: a story that needs three sentences earns them a layer down (a tapped-open panel, a lower section), not on the poster. On every other surface the budget is axis-label length, paragraphs banned.

### 5. Pride, not confession

Gaps are unmissable AND framed as self-knowledge with a first move attached — the owner shares it *because* of the honesty. Fails at both poles: inflation (gap painted fine) and confession (failed-audit vibes). A first-move frame passes the plain test: *what we'll do* + *why a user would notice* (instance from review — FAIL: *"build the delivery ledger"*, an internal artifact name; PASS: *"First: count every reminder we send — so a silent miss shows up in our data, not as your dead fern."*).

### 6. Every frame is a story

Hero lines carry content tied to the user's stated goals or a stakeholder's delight/disappointment story — never contentless drama (instance from review — FAIL: *"The thing that kills us is invisible."*; PASS: *"We back up. We never rehearse."* — the disappointment is *in* the line). The paste-test: a title that would survive on another project's artefact has no content. The model frame ties its fact to a named someone's lived moment — *"a dead fern, a one-star review naming the fern, a quiet uninstall"* is a frame; "reliability: low" is a row. Walk the strategy's three-lens entries (delight / good-enough / dealbreaker) for the lived stories before reaching for abstractions. There should be one synthesized line the owner would quote out loud — the **revelation**. Revelations come in two tiers. Good: the *half-knew* truth — something the doc states but the owner never saw said this starkly. Above it sits the **never-realised-you-cared** truth — something the owner's own goals imply but they never articulated; the find the strategy work delivered back to them as a moment. When the source doc contains one of those, it is hero material: **the title leads with it** — the revelation becomes the hero line itself, with the supporting stat as a band beneath it. A generic framing title sitting above a revelation that's been demoted to a caption or left to be inferred is the **named failure** — the reader's eye lands on a scorecard, not the insight (instance from review — FAIL: a share card titled *"What we've proven, and what we can't see"* (framing) with the real inversion *"our best-tested code isn't what kills the plant"* dropped into the caption and left to be inferred from tile adjacency; PASS: that inversion promoted to the title, the quotable line as its deck, the 2/2/2 tally a supporting band). Don't bury it among the stated facts.

### 7. Screenshot-worthy, three-second hierarchy

The headline frame stands alone as a phone screenshot; one takeaway lands in three seconds, with layers that reward attention without competing — not a wall of equal-weight cards. The poster is the unit of design: one striking graphic, one hero stat (every strategy contains one staggering true number — find it, set it in poster type; jaw-dropping-but-true is the house move), one ≤8-word title. More than one chart's worth of message → more than one frame: each frame a self-contained poster, never sharing its viewport with another frame's message, the sequence telling the arc. Colour is part of craft: a committed palette, summary grids with state-tinted tiles (instance from review: never white cards with coloured words), the radar done *well* — colourful, plain names on the axes, unmeasurable axes as dramatic voids. Weight this principle by declared purpose: a tweet card must nail it; a working dashboard may trade some for depth.

## The self-review is the product's quality gate

Shipping skills instead of code means there is no hosted layer between this skill's output and the user — no server to sanitise output, no release pipeline to catch a bad render. Output quality must hold *however* the user runs the skill, on whatever machine, so the self-review here is not hygiene: it is the product's quality gate. Four checks join the principle scoring, each added after a real shipped bug:

- **Render integrity** *(scores under principle 2's gate)*. Declare the encoding in every form the artefact ships: HTML carries ``; a raw SVG opens with an explicit XML declaration (``) — a browser loading an `.svg` directly cannot be relied on to assume UTF-8. At review, open the artefact every way a user plausibly would — from `file://`, served, the `.svg` loaded directly — and look for mojibake or glyph breakage. *Shipped bug: em-dashes and apostrophes rendered as "â€™ / â€”

…

## Source & license

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

- **Author:** [tollens-ai](https://github.com/tollens-ai)
- **Source:** [tollens-ai/quality-strategy-skills](https://github.com/tollens-ai/quality-strategy-skills)
- **License:** Apache-2.0

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-tollens-ai-quality-strategy-skills-quality-artefacts
- Seller: https://agentstack.voostack.com/s/tollens-ai
- 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%.
