Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ The 16 skills in `skills/` are each defined by a `SKILL.md` with YAML frontmatte
- **survey** — Parallel literature search via 7 strategies; the user picks directions, then `how-to-build-kb` populates `<project>/.knowledge/`. It also owns the report mode that produces a grounded technology/field assessment from a populated KB; `how-to-download-ref` fetches and renders full text between discovery and writing.
- **write-paper** — Use when drafting or revising an actual scientific manuscript. Encodes the von Delft / Martinis workflow: figures first → telegram outline → body → polish abstract+intro+conclusions last. Distinct from the upstream ideas report in `brainstorm-ideas` — this skill requires real results.
- **review-paper** — The *review/enhance an existing manuscript* counterpart to `write-paper`'s *drafting*. Reads the whole paper, emits location-anchored comments against seven writing guidelines (one-concept sentences, define-before-use, one-job paragraphs, DRY, display-math discipline, figure integration) plus reference & fact verification (CrossRef → Semantic Scholar → MCP → web fetch, repairs via `how-to-download-ref`) and a journal-fit pass (target venue decided or recommended, official author guidelines fetched, limits and required statements measured, writing reviewed against the journal's own guidance). Comment-first and non-destructive: applies only approved edits, then re-runs the compile-check. Distinct from `survey` report mode, which assesses a field rather than a manuscript.
- **write-slides** — Builds PDF decks for scientific talks, lectures, and briefings using [GiggleLiu/sci-brain-slides](https://github.com/GiggleLiu/sci-brain-slides), pinned to v0.1.0. The upstream repository owns templates, layouts, themes, and style documentation; this skill guides outline approval, package setup, composition, compilation, and figure review. It uses Typst's native package mechanism with an explicit local package directory until that version is available in the public registry.
- **write-slides** — Builds PDF decks for scientific talks, lectures, and briefings using [GiggleLiu/sci-brain-slides](https://github.com/GiggleLiu/sci-brain-slides), pinned to v0.1.0. The upstream repository owns templates, layouts, themes, and style documentation; this skill guides outline approval, package setup, composition, compilation, and figure review. It uses the published Typst package `@preview/sci-brain-slides:0.1.0` directly, without a local template checkout.
- **autoresearch** — The autoresearch pipeline, one skill with four stage files under `references/stages/`. Reads `research/STATE.md`, verifies stage gate artifacts, and follows the current stage: **topics** (brainstorms topics scored on Checkable/Cheap/Headroom/Publishable; user picks; primary/guard score metrics with gaming risks; red-teamed, user-confirmed acceptance gate per topic → `topics.md`), **db** (insight-coverage-driven reference downloads via `how-to-download-ref`, distillation into user-selected `research/INSIGHTS.md`, domain database, pinned reference implementations, `research/CATALOG.md`; owns the survey gate), **validator** (publishable bar in `GOAL.md`, user-confirmed validation method, sealed gitignored holdout, Docker-canonical `validate` CLI with rich JSON errors, negative-control strictness self-test; owns the validator gate), and **run** (the loop: attempts in worktrees with `LOG.md`, validator-scored under a hard time limit; the user chooses a recommended cycle size during initial setup, while the agent may adjust each actual cycle by need within the authorized attempt budget; every draft hypothesis must state a *mechanism* against the gap to the bar and its *prior art*, ranked on expected gap closure with cost as a constraint, filtered for novelty and triviality; when stuck it refreshes insights via `survey` into `## Candidate`; each cycle report plots every scored attempt's raw primary score with no cumulative headline KPIs, the index and campaign retain cross-cycle summaries, and each reflection thinks through 4–6 candidates before ranking the best 2–4 evidence-grounded next directions with explicit reasons and a top recommendation; the first plan of each authorization is user-confirmed; each soft gate asks which direction and how many attempts to authorize). Each attempt commits code + `LOG.md` + `report.json` on its `attempt-NNN` branch; a cycle-end sync pushes those branches plus main.
- **know-me-better** — Lets the agent learn the user's research style so it speaks their language; the mechanism is indexing a paper collection (Zotero / PDF folder / Google Scholar) into the active KB. Default target is `<project>/.knowledge/`; when invoked from `/create-advisor` targets `advisors/<slug>/.knowledge/`. Writes `.raw/` JSON, delegates `references.bib` writes via `how-to-download-ref` helpers.
- **create-advisor** — Creates or updates a named advisor from JSONL histories or imported Markdown dialogs. It classifies conversations, extracts recurring trigger→reaction patterns, confirms logic jumps with the user, and synthesizes `advisors/<slug>/profile.md`; it can also stop after analysis-only artifacts. The advisor's literature cache lives at `advisors/<slug>/.knowledge/`.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ to play a generated chime or run a notification command after each cycle.
Set `cycle_end_hook: sound` in `research/STATE.md` to use an installed system player;
notifications are disabled by default.

Slide templates are maintained in [GiggleLiu/sci-brain-slides](https://github.com/GiggleLiu/sci-brain-slides). The `write-slides` skill uses its v0.1.0 release and documents the local Typst package setup.
Slide templates are maintained in [GiggleLiu/sci-brain-slides](https://github.com/GiggleLiu/sci-brain-slides). The `write-slides` skill uses the published Typst package `@preview/sci-brain-slides:0.1.0`; no template checkout is needed.

> **One-time setup** for PDF rendering: `python3 -m pip install --user pymupdf4llm`.

Expand Down
45 changes: 18 additions & 27 deletions skills/write-slides/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,36 +37,25 @@ deck; an already approved outline can be reused.

## 2. Initialize the upstream template

The v0.1.0 GitHub release is available, but its public Typst registry package was
not available when this workflow was verified. Install the tagged repository in
an explicit local package directory. This uses Typst's native package mechanism:
Initialize from the published Typst package. Typst downloads v0.1.0 and its
pinned dependencies automatically:

```sh
SLIDE_PACKAGES="${XDG_CACHE_HOME:-$HOME/.cache}/sci-brain/typst-packages"
SLIDE_TEMPLATE="$SLIDE_PACKAGES/preview/sci-brain-slides/0.1.0"
git clone --branch v0.1.0 --depth 1 \
https://github.com/GiggleLiu/sci-brain-slides.git "$SLIDE_TEMPLATE"
mkdir -p slides
typst init @preview/sci-brain-slides:0.1.0 slides/my-talk \
--package-path "$SLIDE_PACKAGES"
typst init @preview/sci-brain-slides:0.1.0 slides/my-talk
```

Set `SLIDE_PACKAGES` again in each new shell that compiles the deck. If the
checkout already exists, verify its origin and revision before reusing it;
v0.1.0 was verified at `ba4085986c422249a4f0a550656c8f9e26de2565`. Use a new deck
directory rather than overwriting an existing talk. Record the package version
and compile command alongside the deck so collaborators can repeat the setup.
Once the same version is published in Typst's registry, the local checkout and
`--package-path` are optional.
Use a new deck directory rather than overwriting an existing talk. Record the
package version and compile command alongside the deck so collaborators can
repeat the setup. The first build needs network access; later builds can reuse
Typst's package cache.

Read `$SLIDE_TEMPLATE/docs/layout-patterns.md` and
`$SLIDE_TEMPLATE/docs/style-tokens.md` for the API and design examples matching
this release. Browse `$SLIDE_TEMPLATE/docs/gallery.pdf`, or compile the gallery:

```sh
typst compile "$SLIDE_TEMPLATE/gallery.typ" /tmp/sci-brain-slides-gallery.pdf \
--package-path "$SLIDE_PACKAGES" --input theme=academic
```
Read the v0.1.0 [layout guide](https://github.com/GiggleLiu/sci-brain-slides/blob/v0.1.0/docs/layout-patterns.md)
and [style tokens](https://github.com/GiggleLiu/sci-brain-slides/blob/v0.1.0/docs/style-tokens.md)
for the API and design examples matching this release. Browse the
[gallery PDF](https://github.com/GiggleLiu/sci-brain-slides/blob/v0.1.0/docs/gallery.pdf)
for component examples; the gallery is maintained upstream and is not included
in the registry package.

## 3. Choose the theme and compose slides

Expand Down Expand Up @@ -120,8 +109,7 @@ remain accessible to the deck:

```sh
typst compile slides/my-talk/main.typ slides/my-talk/main.pdf \
--root . --package-path "$SLIDE_PACKAGES" \
--input theme=academic --input text-size=22
--root . --input theme=academic --input text-size=22
```

Inspect the rendered pages, including all reveals. Check that each title states
Expand All @@ -140,5 +128,8 @@ and any verification that could not be completed.
Report template defects and propose component changes in
[the upstream repository](https://github.com/GiggleLiu/sci-brain-slides).
Keep template source and API documentation there rather than copying them into
this skill. Existing talks with their own `zoo/` copy can still compile; migrate
this skill. Talks already using `@preview/sci-brain-slides:0.1.0` can use the
registry package without source changes: remove the old `--package-path`
argument from their build command and any `TYPST_PACKAGE_PATH` override pointing
to that checkout. Existing talks with their own `zoo/` copy can still compile; migrate
those talks individually to the package import and `setup()` API when requested.
Loading