Skip to content

Commit 2e79a8b

Browse files
Add presentation-repair — the apply phase that closes the third journey (#24)
Executes a ratified PRESENTATION_AUDIT.md one finding at a time: re-observe before editing (already-satisfied detection), fact boundary (never invents a license/contact — asks or logs needs-input), target allowlist (presentation files only, never deletes, refuses out-of-scope directives even from a tampered audit), content preservation, per-finding verification logged to PRESENTATION_CHANGES.md. Zero-shell like presentation. Includes scaffolds.md with «ASK-USER» placeholder system. Dogfood: ran against this repo's v0.6.0 audit — 7 of 8 findings correctly detected already-satisfied (zero edits); the 8th added the README ToC (anchors verified against GitHub's live slugger, including the U+FE0F variation-selector cases). Docs ride-along: README (three goals six commands, journey row + table, mermaid leg, FAQs, Just-shipped), OVERVIEW (six skills, full section), CONTRIBUTING/MAINTAINING skill lists. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent cb63da9 commit 2e79a8b

6 files changed

Lines changed: 278 additions & 20 deletions

File tree

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ This repo **is** the plugin marketplace. It ships three plugins — the **core**
1616
```
1717
plugins/lazarus/ # core plugin
1818
├── .claude-plugin/plugin.json # manifest (NO version field — git SHA is the version)
19-
├── skills/ # discover, repair, audit, audit-repair, presentation (SKILL.md each)
19+
├── skills/ # discover, repair, audit, audit-repair, presentation, presentation-repair
2020
├── agents/repo-explorer.md # read-only Haiku exploration subagent
2121
├── hooks/hooks.json # wires the guard as a PreToolUse hook (auto-loaded)
2222
└── scripts/check-destructive.sh # the destructive-command guard

MAINTAINING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ lazarus/ ← this directory IS the GitHub repo root
77
├── .claude-plugin/marketplace.json ← lists ALL plugins; "name" = cognitivecode (the @handle)
88
├── plugins/lazarus/ ← core
99
│ ├── .claude-plugin/plugin.json ← plugin manifest (no version → git SHA is the version)
10-
│ ├── skills/{discover,repair,audit,audit-repair,presentation}/SKILL.md
10+
│ ├── skills/{discover,repair,audit,audit-repair,presentation,presentation-repair}/SKILL.md
1111
│ ├── agents/repo-explorer.md
1212
│ ├── hooks/hooks.json ← auto-loaded; do NOT also list it in plugin.json
1313
│ └── scripts/check-destructive.sh ← the guard (must stay executable / git mode 100755)

README.md

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,27 +23,29 @@ Point Claude at a repository and let Lazarus help make it: Alive again, document
2323

2424
- 🔧 **Make it run** (`discover``repair`) — point it at code that won't start, or that you simply don't know yet. It investigates, proposes a plan with a concrete "done" checklist you approve, then works through the blockers until the app boots — and writes down what actually worked so the next person (or the next you) doesn't start from zero.
2525
- 🧭 **Assess it — and, if you choose, fix it** (`audit``audit-repair`) — get a principal-engineer read: what's risky, what to fix first, and whether to maintain, refactor, or rewrite. A report you act on, hand to a client — or have executed finding-by-finding, each behind your approval.
26-
- 💅 **Make it presentable** (`presentation`) — a DevRel-grade, read-only review of everything a stranger sees *before* the source: README, LICENSE, CONTRIBUTING, security policy, templates, markdown accessibility. Every finding cites a real standard (GitHub's community profile, CommonMark, WCAG) — never taste — and lands in a `PRESENTATION_AUDIT.md` you act on.
26+
- 💅 **Make it presentable — and, if you choose, fix that too** (`presentation``presentation-repair`) — a DevRel-grade, read-only review of everything a stranger sees *before* the source: README, LICENSE, CONTRIBUTING, security policy, templates, markdown accessibility. Every finding cites a real standard (GitHub's community profile, CommonMark, WCAG) — never taste. Then `presentation-repair` executes the findings you ratify, asking for the facts only you own (which license? what security contact?) instead of inventing them.
2727

2828
Everything runs behind a guard that blocks destructive commands before they ever run — and **nothing changes until you approve a plan.** It'll resurrect a dead repo that won't even start (the namesake), but it's just as useful on healthy code you want made runnable, understood, assessed, or ready to show the world.
2929

30-
## 🧭 Three goals, five commands
30+
## 🧭 Three goals, six commands
3131

32-
Lazarus looks like five skills, but you only ever choose a **goal**. Each flows *plan → you approve → execute* — the commands are just the steps:
32+
Lazarus looks like six skills, but you only ever choose a **goal**. Each flows *plan → you approve → execute* — the commands are just the steps:
3333

3434
| You want… | The journey | How it flows |
3535
|---|---|---|
3636
| **It running***"it won't start"* · *"I'm lost in this repo"* · *"I need to change it safely"* | 🔍 **`discover`** → 🧑 *you approve* → 🔧 **`repair`** | `discover` investigates read-only and writes a plan with a runnable "done" checklist; you approve it; `repair` works the blockers until each one passes — recording what actually worked in `CLAUDE.md`. |
3737
| **It assessed — and, if you choose, fixed***"what shape is this in?"* · *"maintain, refactor, or rewrite?"* · *"now go fix what the audit found"* | 🧭 **`audit`** → 🧑 *your call* → 🛠️ **`audit-repair`** | `audit` writes a read-only, 12-section principal-engineer report. Stop there — it's a deliverable you can hand to a client — or ratify its Top 10 and `audit-repair` executes them **one at a time**, verifying each against its acceptance check. |
38-
| **It presentable***"polish my README"* · *"is this repo ready to go public?"* · *"set up CONTRIBUTING / templates"* | 💅 **`presentation`** → 🧑 *you approve*📝 `PRESENTATION_AUDIT.md` | Read-only, project-type-aware audit of your README, community-health files, and markdown accessibility — every finding cites a named standard, with a waiver file so it never nags you about deliberate choices. Its apply phase (`presentation-repair`) is the next tool coming, exactly as `audit-repair` followed `audit`. |
38+
| **It presentable — and, if you choose, fixed***"polish my README"* · *"is this repo ready to go public?"* · *"set up CONTRIBUTING / templates"* | 💅 **`presentation`** → 🧑 *your call*🧰 **`presentation-repair`** | `presentation` writes a read-only, project-type-aware audit — every finding citing a named standard, with a waiver file so it never nags you about deliberate choices. Stop there, or ratify the findings and `presentation-repair` executes them one at a time — re-checking each before editing, asking for facts only you own (license, security contact) instead of inventing them, and running **zero commands** the whole time. |
3939

4040
And the whole time — every journey, every step — the 🛡️ **guard** blocks `rm -rf /`, force-push, `DROP TABLE`, and ~25 more destructive commands before they ever execute.
4141

4242
> [!NOTE]
43-
> **Don't memorize the order — start anywhere.** The skills route you: type `/lazarus:repair` with no plan and it stops and offers to run `discover` first; finish `discover` and it names the next command; `audit-repair` refuses to run until an `audit` is ratified. The journeys stay independent — none requires another, and `audit` or `presentation` are perfectly useful as reports you never act on.
43+
> **Don't memorize the order — start anywhere.** The skills route you: type `/lazarus:repair` with no plan and it stops and offers to run `discover` first; finish `discover` and it names the next command; `audit-repair` refuses to run until an `audit` is ratified, and `presentation-repair` refuses without a ratified `presentation` audit. The journeys stay independent — none requires another, and `audit` or `presentation` are perfectly useful as reports you never act on.
4444
4545
**New here?** The three commands below get you running in under a minute — no config, no keys. **Want the internals?** The collapsible **Deep dive** sections further down open up the guard's design, the anti-hallucination model, and the research behind it. For the whole picture in one read, see the [complete project overview](docs/OVERVIEW.md).
4646

47+
**Contents:** [Three goals, six commands](#-three-goals-six-commands) · [Install (no signup, no SSH keys)](#-install-no-signup-no-ssh-keys) · [Watch it work](#-watch-it-work) · [The journeys](#%EF%B8%8F-the-journeys) · [The part that makes it safe to actually run](#%EF%B8%8F-the-part-that-makes-it-safe-to-actually-run) · [lazarus-github: audit findings as GitHub Issues](#-lazarus-github--file-audit-findings-as-github-issues) · [FAQ](#-faq) · [Star this repo](#-star-this-repo-it-decides-what-comes-next)
48+
4749
## ⚡ Install (no signup, no SSH keys)
4850

4951
In any `claude` session, run these **three commands — one at a time** (press Enter after each; don't paste them together):
@@ -101,14 +103,19 @@ flowchart LR
101103
102104
B -->|make it presentable| M["💅 lazarus:presentation<br/>read-only"]
103105
M --> N["📝 PRESENTATION_AUDIT.md<br/>scorecard · cited findings<br/>· recommended fixes"]
106+
N -.->|"optional"| O(["🧑 you ratify<br/>the findings"])
107+
O --> P["🧰 lazarus:presentation-repair<br/>one finding at a time, zero shell"]
108+
P --> Q["✅ findings fixed +<br/>PRESENTATION_CHANGES.md"]
104109
105110
style A fill:#fee2e2,stroke:#ef4444,color:#111
106111
style G fill:#dcfce7,stroke:#22c55e,color:#111
107112
style I fill:#e0f2fe,stroke:#0ea5e9,color:#111
108113
style N fill:#e0f2fe,stroke:#0ea5e9,color:#111
109114
style E fill:#fef9c3,stroke:#eab308,color:#111
110115
style J fill:#fef9c3,stroke:#eab308,color:#111
116+
style O fill:#fef9c3,stroke:#eab308,color:#111
111117
style L fill:#dcfce7,stroke:#22c55e,color:#111
118+
style Q fill:#dcfce7,stroke:#22c55e,color:#111
112119
```
113120

114121
**Type the command, or just describe what you want** — both work. The fast path is the command itself (start typing `/discover`, `/repair`, `/audit`, or `/presentation` and it autocompletes); plain English triggers the same skill.
@@ -127,11 +134,12 @@ flowchart LR
127134
| **`/lazarus:audit`** | *"review this code"* · *"audit this repo"* · *"what should we fix first?"* · *"refactor or rewrite?"* | Produces a 12-section `CODEBASE_AUDIT.md` — architecture, risks, security, frontend/accessibility, a phased plan. **Read-only**; feeds `audit-repair` if you choose to act on it. |
128135
| **`/lazarus:audit-repair`** | *"execute the audit"* · *"fix the audit findings"* · *"work the Top 10 action items"* · *"apply the modernization plan"* | Executes a ratified `CODEBASE_AUDIT.md` §11 **one finding at a time** — ratify → act → verify against each item's acceptance check — safety-rails first, behind the guard. The strategic apply phase, exactly as `repair` is for `discover`. |
129136

130-
**Standalone — make it presentable**
137+
**Journey 3 — make it presentable, then (optionally) fix it**
131138

132139
| Command | Also triggers on… | What it does |
133140
|---|---|---|
134141
| **`/lazarus:presentation`** | *"polish my README"* · *"is this repo ready to go public?"* · *"DevRel review"* · *"set up CONTRIBUTING / CODE_OF_CONDUCT / issue templates"* | **Read-only**, project-type-aware audit of the repo's public files — README, community-health files, markdown accessibility — every finding citing a named standard (GitHub community profile, CommonMark, WCAG, Diátaxis). Writes `PRESENTATION_AUDIT.md` after you approve; a waiver file keeps your deliberate choices from being re-flagged. GitHub *settings* (topics, social preview) are out of scope — they need `gh`, which this skill structurally cannot run. |
142+
| **`/lazarus:presentation-repair`** | *"apply the presentation audit"* · *"fix the presentation findings"* · *"scaffold the community files"* · *"fix my README per the audit"* | Executes a ratified `PRESENTATION_AUDIT.md` **one finding at a time** — re-observes before every edit (a finding fixed since the audit is logged `already-satisfied`, untouched), asks for facts only you own (license choice, security contact) **instead of inventing them**, refuses fixes that reach outside the presentation file family, and verifies each change against its rubric check in `PRESENTATION_CHANGES.md`. **Zero shell** — like `presentation`, it cannot run a command at all. |
135143

136144
> [!TIP]
137145
> **Pairs with `/code-review`** — a *built-in* Claude Code command (not part of Lazarus). Point it at your current diff for a focused bug-and-cleanup pass once the app runs.
@@ -212,7 +220,7 @@ This repo is a Claude Code **plugin marketplace** with a small, growing family:
212220
lazarus/ ← the marketplace
213221
214222
├── plugins/lazarus/ 🧟 core — /plugin install lazarus@cognitivecode
215-
│ ├── skills/discover · repair · audit · audit-repair · presentation the workflows
223+
│ ├── skills/discover · repair · audit · audit-repair · presentation · presentation-repair
216224
│ ├── agents/repo-explorer read-only Haiku subagent for huge repos
217225
│ └── hooks/ + scripts/check-destructive.sh the deterministic guard
218226
@@ -269,13 +277,13 @@ The skill reads `CODEBASE_AUDIT.md` §11, shows you the proposed issues, lets yo
269277
<details>
270278
<summary><b>I installed it but <code>/lazarus:discover</code> (or the guard) does nothing. Why?</b></summary>
271279
<br/>
272-
You almost certainly skipped <code>/reload-plugins</code>. Installing registers the plugin; its skills, hooks, and guard only go live after you run <code>/reload-plugins</code> (or restart <code>claude</code>) in that session. Run it once and the <code>/lazarus:discover</code>, <code>/lazarus:repair</code>, <code>/lazarus:audit</code>, <code>/lazarus:audit-repair</code>, and <code>/lazarus:presentation</code> commands appear.
280+
You almost certainly skipped <code>/reload-plugins</code>. Installing registers the plugin; its skills, hooks, and guard only go live after you run <code>/reload-plugins</code> (or restart <code>claude</code>) in that session. Run it once and the <code>/lazarus:discover</code>, <code>/lazarus:repair</code>, <code>/lazarus:audit</code>, <code>/lazarus:audit-repair</code>, <code>/lazarus:presentation</code>, and <code>/lazarus:presentation-repair</code> commands appear.
273281
</details>
274282

275283
<details>
276284
<summary><b>Will it actually change my code without asking?</b></summary>
277285
<br/>
278-
Discovery, audit, and presentation are read-only (Plan Mode — and presentation can't even run shell commands; they're removed from its tool pool). Repair and audit-repair change code — but only after you ratify a plan (the "done" checklist, or the audit's Top 10), and the guard blocks destructive shell commands throughout. You stay in the loop at the one decision that matters: ratifying what "done" means.
286+
Discovery, audit, and presentation are read-only (Plan Mode — and presentation can't even run shell commands; they're removed from its tool pool). Repair, audit-repair, and presentation-repair change files — but only after you ratify a plan (the "done" checklist, the audit's Top 10, or the presentation findings), and the guard blocks destructive shell commands throughout (presentation-repair goes further: it runs no commands at all). You stay in the loop at the one decision that matters: ratifying what "done" means.
279287
</details>
280288

281289
<details>
@@ -314,7 +322,7 @@ It's a 1-second click, and it does two things: it helps the next person staring
314322

315323
I have **more Claude Code tools ready to ship** — I'm releasing them based on real signal. Stars and activity here are how I gauge whether people want them. So a star isn't just a thank-you; it's a vote for the next one.
316324

317-
> **Just shipped: `/lazarus:presentation`**a DevRel-grade review of everything a stranger sees before your source code. Every finding cites a real standard (GitHub community profile, CommonMark, WCAG) — never taste. **We pointed it at this very repo before shipping**: it caught a CI pipeline wearing no CI badge, a 300-line README whose project name existed only inside a PNG, and contributor docs one plugin behind reality. All fixed in the same release — receipts in the [v0.6.0 notes](https://github.com/CognitiveCodeAI/lazarus/releases). Next up: **`presentation-repair`**, the apply phase. ⭐ star and [open a discussion](https://github.com/CognitiveCodeAI/lazarus/discussions) to shape what's next.
325+
> **Just shipped: `/lazarus:presentation-repair`**the apply phase that closes the third loop. It executes a ratified presentation audit one finding at a time, **re-checking each before editing** (on our own dogfood run, it correctly detected 7 of 8 findings as already fixed and touched nothing), asking for facts only you own instead of inventing them, and running **zero shell commands** — it can scaffold your SECURITY.md but physically cannot `curl` anything. The table of contents you may have used to navigate this README? *It added that.* Receipts in the [v0.7.0 notes](https://github.com/CognitiveCodeAI/lazarus/releases). ⭐ star and [open a discussion](https://github.com/CognitiveCodeAI/lazarus/discussions) to shape what's next.
318326
319327
> 💬 Got an idea, a bug, or a repo Lazarus choked on? [Open an issue](https://github.com/CognitiveCodeAI/lazarus/issues) or start a [discussion](https://github.com/CognitiveCodeAI/lazarus/discussions) — I read every one.
320328

0 commit comments

Comments
 (0)