# Infographic

> |

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

## Install

```sh
agentstack add skill-lourscreatif-ours-stack-infographic
```

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

## About

# Infographic (alias `/visual-proof`)

Transforme **un extrait d'étude** en **un visuel mémorable** — poster, slide, thread hook. **Aucune recherche, aucun WebSearch.**

Also invoked as **`/visual-proof`** — same skill, same outputs.

## When to use (vs other skills)

| Skill | Responsibility | Does NOT |
|-------|----------------|----------|
| `/layout-html` | Article HTML + 5–10 SVG inline | Raster poster, external prompts |
| `/infographic` | **This skill** — one memorable visual from *existing* text | New sources, multi-page layout |
| `/deep-research` | Discovery + synthesis | Visuals |
| `/bear-hours` | Topic framing | Visuals |

**Optional pipeline (never auto-chained):**

```
/bear-hours → notes/dense-read → /infographic (optional shareable visual)
/deep-research → /infographic (hook) OU /layout-html (rapport complet)
```

## Hard rules

1. **No research** — never `WebSearch` / `WebFetch`. Work only from provided text/files.
2. **One visual** — single PNG or single prompt export per run (iterations → `visual-proof.v2.png`).
3. **Faithful to source** — never invent sources, numbers, quotes, or claims absent from input.
4. **Spec always** — write `visual-proof.spec.md` before generate or prompt export.
5. **Privacy strip** — apply `references/privacy-strip.md` before spec finalization.
6. **Language** — on-image text matches source (`lang` in spec).
7. **≤7 labels** on canvas — image models garble text; if more needed → suggest `/layout-html`.
8. **Style first** — ask style via `AskUserQuestion` before reading content (unless smart-skip).
9. **No silent brief edits** — mention output paths in chat; do not append to `brief.md` without consent.
10. **Metaphor + hero** — every spec names one concrete visual metaphor (a drawable scene, never "boxes and lines") and one hero element that dominates the canvas. See Step 2.

## Step 0: Style — AskUserQuestion (always first)

Use **`AskUserQuestion`** — one call, wait for answer before continuing.

**Title:** `Infographic — Style`

**Hard rules:**
- **Never** list style options as plain chat bullets — always `AskUserQuestion`
- **STOP** after the call; wait for answer
- **Smart-skip** — if user already named a preset or described custom style (≥5 words), skip (see `references/palettes.md`)

**Question:** "Quel style visuel pour cette infographie ?"

**Options (exactly 4 — AskUserQuestion max; custom style goes through the automatic "Other" option):**

| id | label |
|----|-------|
| `warm` | Warm Bear — earthy, amber & vert, School of the Bear *(défaut)* |
| `academic` | Academic Blue — rapport recherche, bleu pro |
| `minimal` | Minimal Mono — technique, neutre, épuré |
| `creative` | Creative Spicy — coloré, original, un peu WTF |

**If user answers via "Other":** treat the free text as a custom style. Map to palette per `references/palettes.md`. One short follow-up only if too vague.

**If preset selected:** load palette from `layout-html/references/presets/{{PRESET_ID}}.md` via `references/palettes.md`.

Default when skipped: **`warm`**.

## Step 1: Intake — detect input mode

Resolve input in this priority order:

| Mode | Trigger | Source (first with substance) | Default output dir |
|------|---------|-------------------------------|-------------------|
| **A — Research slug** | slug or `research//` | `report.md` (exec summary if long) | `research//` |
| **B — Study slug** | `studies//` | `notes.md` → `research.md` → `brief.md` | `studies//` |
| **C — File path** | path to `.md`, `.txt` | that file | same directory |
| **D — Pasted text** | user pastes in chat | message body | `output/layout//` |
| **E — Notes** | `notes.md` present | `studies//notes.md` | `studies//` |

**Slug derivation (mode D):** lowercase-hyphen from title or first heading; ask once if ambiguous.

**Guards:**
- No resolvable text → ask for slug, path, or paste
- Multiple substantive files in study → `AskUserQuestion` "Which file is the source of truth?"
- Source 7 precise labels or exact numeric data on canvas → warn user; suggest `/layout-html` for SVG reliability. Proceed with simplified visual or PROMPT only if user confirms.

## Step 4: Build spec — always write

Write `{output_dir}/visual-proof.spec.md` per `references/spec-schema.md`.

This file is the audit trail and source for both IMAGE and PROMPT modes.

## Step 5: Generate or export

Load `references/tool-detection.md`. Determine MODE before acting.

### Step 5a: IMAGE mode

**When:** `image_gen` or `GenerateImage` available in this session (unless user asked prompt-only).

**Before generate:** Apply the labeled-infographic verification loop from `references/tool-detection.md`.

1. Compose prompt from spec + `references/prompt-template.md` § IMAGE mode
2. If using a `prompt`-style image tool: pass the composed prompt and aspect ratio (`16:9` default; `1:1` if square/Instagram; `9:16` if story)
3. If using a `description` + `filename` image tool: write `visual-proof.png` in the output dir
4. Verify (fidelity loop, see `references/tool-detection.md`): read generated image back — check text legible **and** label count/palette/hero match the spec; one targeted retry, then fallback PROMPT
5. Write `{output_dir}/visual-proof.png`
6. Write `{output_dir}/visual-proof.alt.md` — 2–3 sentence alt text + caption for posts

**Iterate:** `image_edit` on existing PNG → `visual-proof.v2.png`

```bash
open "{output_dir}/visual-proof.png"   # macOS, IMAGE mode
```

### Step 5b: PROMPT mode

**When:** No image tool, user requested prompt-only, or IMAGE failed.

1. Fill `references/prompt-template.md` → write `{output_dir}/infographic-prompt.md`
2. Include blocks: Universal, Midjourney, DALL·E, Flux/SD
3. Print **Universal** block in chat for immediate copy-paste

## Step 6: Deliver

Tell the user:

1. **Mode** used (IMAGE | PROMPT)
2. **Visual type** + preset
3. **Output paths** (spec always; png or prompt)
4. **Source file** + wedge (if any)
5. Reminder: spec = source of truth; image = illustrative proof, not new research
6. Suggest pairing: `/layout-html` for full article — do not create `proof.md` unless user asks

Do **not** silently edit `brief.md`. Optional on consent: add `## Visual proof` section with paths and date.

## Escape hatches

| User says | Action |
|-----------|--------|
| slug only | Try `research//` then `studies//` |
| file path | Mode C — outputs alongside source |
| pasted text | Mode D — `output/layout//` |
| `overwrite` | Replace PNG/prompt without confirmation |
| `warm` / `academic` / etc. in message | Smart-skip style question |
| `prompt only` / `pas d'image` | Force PROMPT mode |
| `square` / `Instagram` | aspect `1:1` |
| `story` / `vertical` | aspect `9:16` |
| wants multi-diagram article | Suggest `/layout-html` |
| attaches generated image + `iterate` | `image_edit` path |
| wants research but no notes | Suggest `/deep-research` or `/bear-hours` first |

## Self-check before delivery

- [ ] No WebSearch / WebFetch
- [ ] All labels/numbers traceable to input
- [ ] `visual-proof.spec.md` written with `type_rationale`
- [ ] Spec has a concrete `metaphor` (drawable scene) + `hero` element
- [ ] Privacy strip applied
- [ ] ≤7 on-image labels, 1–2 words each (or user warned + confirmed)
- [ ] IMAGE: PNG + alt.md OR PROMPT: `infographic-prompt.md` with 4 blocks
- [ ] Universal block printed in chat (PROMPT mode)
- [ ] Clear differentiation from `/layout-html` in delivery message
- [ ] IMAGE mode: browser opened (`open` on macOS)

## Source & license

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

- **Author:** [loursCreatif](https://github.com/loursCreatif)
- **Source:** [loursCreatif/ours-stack](https://github.com/loursCreatif/ours-stack)
- **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-lourscreatif-ours-stack-infographic
- Seller: https://agentstack.voostack.com/s/lourscreatif
- 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%.
