Install
$ agentstack add skill-lourscreatif-ours-stack-dense-read ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Dense Read
Guided reading against the wedge — slice by slice, plain French, your answers in notes.md. Not a solo summary, not a chapter recap.
Default: interactive session (3–6 tranches). Stop when wedge is covered. Escape: lis tout seul → [solo mode](#mode-solo--lis-tout-seul) (no questions).
Pipeline: /bear-hours → /source-scout → /dense-read → /mind-map | /layout-html | /infographic — do not auto-chain.
| Skill | Role | |-------|------| | /dense-read | This skill — guided tranches → notes.md (session trace) | | /source-scout | Find sources — does not read | | /deep-research | Wide funnel — not wedge extraction | | /bear-hours | Frame wedge + brief |
Hard rules
- Wedge lock — only sections/pages on
## Narrow wedge; skip the rest. - No summary theater — start with what the source says, not « ce papier traite de… ».
- Plain French — 2–4 sentences per tranche, zero jargon (define once inline if unavoidable).
- One question per tranche — wait for user reply before the next tranche.
- Traceable claims — location per tranche: section, page, paragraph, or timestamp.
- No invented synthesis — gaps go under « Ce que l'auteur ne dit pas » (end of session).
- One anchor per run unless user requests a second source.
- AskUserQuestion — confirmations only (anchor, existing notes, handoff); title
Dense Read — {label}. - User words in notes —
Ta réponse= verbatim or quasi-verbatim; agent analysis lives inCe que dit la source/Explication.
Input modes
| Mode | Trigger | Output | |------|---------|--------| | A — Study (default) | slug / studies// | studies//notes.md | | B — Source direct | URL/PDF/path, no brief | propose /bear-hours first | | C — Ad-hoc | refuses brief | output/dense-read//notes.md |
Mode B: no brief.md → AskUserQuestion title Dense Read — No brief, ask « Pas de brief trouvé. Que veux-tu faire ? », options: /bear-hours (recommandé) | Ad-hoc | other. Ad-hoc slug: lowercase-hyphen from title/URL; ask once if ambiguous.
Step 0: Resolve study and source
Slug given → Read studies//brief.md. Else → Glob studies/*/brief.md, AskUserQuestion title Dense Read — Which study?, up to 3 slugs + other.
From brief: ## Narrow wedge (scope) · ## Current beliefs (belief questions) · ## Success criteria (check when met) · ## Source material (first unchecked [ ] anchor) · ## Open questions (track status in notes).
TBD/empty ## Source material → stop: run /source-scout first. Direct URL/path → use as anchor; load brief if slug known. lis tout seul → solo mode after Steps 0–2.
Step 1: Confirm anchor
AskUserQuestion title Dense Read — Anchor — anchor title + wedge one-liner: « On lit cette source tranche par tranche contre le wedge ? » Options: Oui (séance guidée) | Source différente | Wedge plus étroit | Lis tout seul. Smart-skip: /dense-read + one obvious unchecked anchor.
Step 2: Fetch and scope
WebFetchorReadanchor. 2. Scan TOC/headings — no body yet. 3. Plan 3–6 tranches (wedge slices only). 4. Paywall → offer paste, scout alternate, or abstract-only hatch.
Book/long paper → 3–6 slices for wedge, not whole doc. Note planned skips.
Step 3: Séance guidée — boucle par tranche
Default mode. Repeat until wedge covered or 6 tranches done.
Per tranche (in chat)
- Lire une seule tranche (wedge only).
- Expliquer en 2–4 phrases, français simple, zéro jargon — ce que cette partie dit pour le wedge.
- Poser UNE question — varier le type :
- « Redis-le dans tes mots : qu'est-ce que ça dit, pour toi ? »
- « Ça colle avec ce que tu croyais ? » (citer une croyance de
## Current beliefssi dispo) - « Qu'est-ce qui te surprend ici ? »
- « Ça répond à quelle de tes questions ouvertes ? » (si pertinent)
- Attendre la réponse dans le chat — ne pas enchaîner sans réponse. Réponse à côté → reformuler une fois, puis avancer.
- Noter la tranche (Step 4 — incrementally or batch at end).
Stop rule: wedge covered → stop, even if tranches remain. Never read « to finish the document ».
After last tranche: bilan chat (1–2 lignes) — wedge oui/partiel, plus grosse surprise → Steps 4–7.
Step 4: Write notes.md — trace de séance
Paths: studies//notes.md or output/dense-read//notes.md. Existing file → AskUserQuestion title Dense Read — Existing notes: Append (## Séance — ) | Replace (archive notes--archived.md) | Cancel.
File structure (mode guidé)
# Notes —
**Study:**
**Source:**
**Wedge:**
**Séance:** — lecture guidée ( tranches)
**Sections lues:** · **Ignoré:**
---
## Tranche 1 —
**Ce que dit la source:**
**Localisation:** § p. |
**Explication:**
**Question:**
**Ta réponse:**
## Tranche 2 — …
(repeat per tranche)
---
## Synthèse de séance
**Wedge couvert:** oui | partiel | non
**Ce qu'on a compris ensemble:**
-
**Surprises vs croyances:**
- —
**Questions ouvertes:**
- —
**Ce que l'auteur ne dit pas:**
-
**Critères de réussite** (depuis brief):
- [x] ou [ ] —
Step 5: Update brief.md (study mode)
- Anchor
[x]in## Source material+ `` - Met
[x]on met## Success criteriawith one-line evidence in chat. - Do not rewrite
## Open questions— status lives in notes only.
Step 6: Append learning
One line to ~/.ours-stack/learnings.jsonl:
{"ts":"","skill":"dense-read","slug":"","source":"","insight":""}
Step 7: Handoff — passation et enchaînement
Tone like bear-hours Step 4 / source-scout handoff — personalized, direct, no ceremony.
Anti-slop: cite wedge + anchor + one user phrase; no « Félicitations ! », no filler. GOOD: « Sur [wedge], [N] tranches de [anchor]. Tu as dit : « … ». » BAD: template alone.
Beat 1 — Ce qui vient d'être fait
Short paragraph — lecture guidée, trace in notes.md with tes réponses, verdict wedge (oui/partiel). If partial/need sources/beliefs shaken → mention /dense-read (next source), /source-scout, or /dialogue in passing (not default handoff).
Beat 2 — Carte du parcours
✅ /bear-hours — cadrage (fait)
✅ /source-scout — sources trouvées (fait)
✅ /dense-read — lecture guidée de l'anchor (fait)
→ /mind-map — carte mentale depuis brief + notes
/layout-html · /infographic · /dialogue — selon besoin
/study-status — à tout moment
Adjust checkmarks if bear-hours or source-scout skipped (ad-hoc).
Beat 3 — Enchaînement direct
Next skill: /mind-map (default). AskUserQuestion title Dense Read — On enchaîne ? — e.g. « On enchaîne sur /mind-map pour ? » Options: Oui — lance /mind-map maintenant | Plus tard — je m'arrête ici. If Oui: Read + follow mind-map/SKILL.md same session. If Plus tard: one line — Quand tu veux : /mind-map .
Escape hatches
| User says | Action | |-----------|--------| | lis tout seul / en solo | [Mode solo](#mode-solo--lis-tout-seul) | | vas-y / go | Smart-skip Step 1; first unchecked anchor | | abstract only | One tranche; thin notes; partial wedge | | strict wedge | Drop tranches off wedge | | one claim only | One tranche + one question | | overwrite | Replace notes without confirmation |
Mode solo — « lis tout seul »
Agent reads alone, writes notes.md without question loop. Trigger: lis tout seul, en solo, or Step 1 option.
Extract in order (do not merge): Pass A Claims (wedge, location + confidence) → Pass B Feynman (plain language) → Pass C Surprises vs ## Current beliefs (Confirmed/Shaken/New/Unresolved) → Pass D Open questions → Pass E What the author does not say. Stop when wedge covered.
notes.md: same header fields as Step 4; **Read:** — mode solo instead of Séance; body = ## Claims · ## Feynman · ## Surprises · ## Open questions · ## What the author does not say · ## Verdict (wedge + success criteria) — field meanings match Synthèse de séance in Step 4.
After write: débrief chat — 3 idées clés. Step 7 identical; Beat 1 says « extraction solo ».
Self-check before delivery
- [ ] Guided: 3–6 tranches (or fewer if wedge covered); each has explain + one question + user reply in notes
- [ ] Claims located; wedge verdict honest; no summary-theater; anchor
[x](study mode) - [ ]
learnings.jsonlappended; Handoff 3 beats + On enchaîne ? (unless cancelled) - [ ] Stopped when wedge covered — not full document
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: loursCreatif
- Source: loursCreatif/ours-stack
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.