Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
61c623e
Update
gpsaggese Feb 26, 2026
414cdc3
Update
gpsaggese Feb 27, 2026
c5f0103
Update
gpsaggese Feb 28, 2026
d25483a
Update
gpsaggese Feb 28, 2026
1340ca8
Update
gpsaggese Feb 28, 2026
4ec9fa9
Update
gpsaggese Feb 28, 2026
2792f7c
Update
gpsaggese Feb 28, 2026
4135a85
Update
gpsaggese Feb 28, 2026
4dbbfd8
Update
gpsaggese Feb 28, 2026
a701c91
Update
gpsaggese Feb 28, 2026
8f01295
Update
gpsaggese Feb 28, 2026
9aae73c
Update
gpsaggese Feb 28, 2026
f105e9b
Update
gpsaggese Feb 28, 2026
fac6b60
Update
gpsaggese Feb 28, 2026
a194912
Update
gpsaggese Mar 1, 2026
04a1ca3
Update
gpsaggese Mar 1, 2026
361eada
gp_scratch_3 (#1157)
gpsaggese Feb 28, 2026
227a26d
Merge
gpsaggese Mar 2, 2026
73a69e4
Update
gpsaggese Mar 2, 2026
5d6960a
Update
gpsaggese Mar 4, 2026
a832825
Update
gpsaggese Mar 6, 2026
bfc1331
Update
gpsaggese Mar 6, 2026
9b8289e
Update
gpsaggese Mar 6, 2026
b6b8f54
Update
gpsaggese Mar 6, 2026
b2f85e2
Update
gpsaggese Mar 7, 2026
057a1eb
Lint
gpsaggese Mar 7, 2026
f16e833
Update
gpsaggese Mar 7, 2026
e3b9cd1
Update
gpsaggese Mar 7, 2026
ec64388
Update
gpsaggese Mar 7, 2026
c5e8e82
Update
gpsaggese Mar 7, 2026
0e7cc2b
Merge
gpsaggese Mar 7, 2026
e4d7053
Merge branch 'master' into gp_scratch
gpsaggese Mar 7, 2026
c07dbf4
Update
gpsaggese Mar 7, 2026
da3ffab
Update
gpsaggese Mar 7, 2026
c48cf11
Update
gpsaggese Mar 8, 2026
25275c2
Update
gpsaggese Mar 8, 2026
ce7a06a
Update
gpsaggese Mar 8, 2026
3d179ae
Update
gpsaggese Mar 8, 2026
9c6e14d
Update
gpsaggese Mar 8, 2026
29728ee
Update
gpsaggese Mar 8, 2026
65c665e
Update
gpsaggese Mar 8, 2026
bc2be31
Update
gpsaggese Mar 8, 2026
0cb8988
Fix md.py: Use absolute paths and add missing imports
gpsaggese Mar 8, 2026
907f3dc
Update
gpsaggese Mar 8, 2026
1e73a1f
Update
gpsaggese Mar 8, 2026
a9d1dee
Update
gpsaggese Mar 9, 2026
19765ff
Update
gpsaggese Mar 10, 2026
00def71
Update
gpsaggese Mar 10, 2026
0b5912f
Update
gpsaggese Mar 10, 2026
28f86f1
Update
gpsaggese Mar 10, 2026
c502cd6
Update
gpsaggese Mar 10, 2026
5ff0355
Update
gpsaggese Mar 11, 2026
05cc212
Update
gpsaggese Mar 11, 2026
426765e
Update
gpsaggese Mar 12, 2026
cb2a805
Update
gpsaggese Mar 12, 2026
fd6c85f
Update
gpsaggese Mar 12, 2026
131f154
Update
gpsaggese Mar 12, 2026
92149e5
Update
gpsaggese Mar 12, 2026
a9ab0d0
Update
gpsaggese Mar 13, 2026
e6b8241
Update
gpsaggese Mar 13, 2026
9f60e46
Update
gpsaggese Mar 13, 2026
628b40f
Update
gpsaggese Mar 13, 2026
4fbe455
Update
gpsaggese Mar 13, 2026
112f125
Update
gpsaggese Mar 16, 2026
7772af0
Update
gpsaggese Mar 16, 2026
f545858
Update
gpsaggese Mar 16, 2026
f55d4ab
Update
gpsaggese Mar 16, 2026
69a10dc
Update
gpsaggese Mar 17, 2026
df90d22
Update
gpsaggese Mar 17, 2026
360d604
Update
gpsaggese Mar 17, 2026
18a8d76
Update
gpsaggese Mar 18, 2026
29a4150
Merge
gpsaggese Mar 18, 2026
d41304b
Update
gpsaggese Mar 18, 2026
ce42640
Update
gpsaggese Mar 19, 2026
302c5b4
Update
gpsaggese Mar 19, 2026
d6ea516
Update
gpsaggese Mar 19, 2026
3656c12
Update
gpsaggese Mar 19, 2026
37c9030
Update
gpsaggese Mar 19, 2026
0a0e22a
Update
gpsaggese Mar 20, 2026
0a9cb5c
Update
gpsaggese Mar 20, 2026
7afacce
Merge branch 'master' into gp_scratch
gpsaggese Mar 20, 2026
d2ce3f9
Merge branch 'master' into gp_scratch
gpsaggese Mar 20, 2026
0411d38
Update
gpsaggese Mar 20, 2026
24588e7
Update
gpsaggese Mar 20, 2026
583d69d
Merge branch 'master' into gp_scratch
gpsaggese Mar 20, 2026
16be8e8
Update
gpsaggese Mar 20, 2026
6b618ad
Update
gpsaggese Mar 20, 2026
cce7f74
Update
gpsaggese Mar 20, 2026
94037ac
Update
gpsaggese Mar 20, 2026
3f29918
Update
gpsaggese Mar 20, 2026
66822ab
Update
gpsaggese Mar 21, 2026
d9cd80c
Update
gpsaggese Mar 21, 2026
2243f55
Merge branch 'master' into gp_scratch
gpsaggese Mar 21, 2026
2191471
Update
gpsaggese Mar 21, 2026
ce40956
Update
gpsaggese Mar 21, 2026
ff91bc6
Merge branch 'master' into gp_scratch
gpsaggese Mar 21, 2026
e64d4fb
Update
gpsaggese Mar 22, 2026
c63d96a
Update
gpsaggese Mar 22, 2026
06efdd4
Update
gpsaggese Mar 22, 2026
35a99fe
Update
gpsaggese Mar 23, 2026
6834a26
Update
gpsaggese Mar 23, 2026
ad1e701
Update
gpsaggese Mar 23, 2026
cdef5eb
Update
gpsaggese Mar 23, 2026
b5947aa
Update
gpsaggese Mar 24, 2026
6885caa
Update
gpsaggese Mar 24, 2026
5269553
Update
gpsaggese Mar 24, 2026
cc56ce6
Update
gpsaggese Mar 24, 2026
f3a3516
Update
gpsaggese Mar 24, 2026
779b1d7
Merge branch 'master' into gp_scratch
gpsaggese Mar 25, 2026
e86bea1
Update
gpsaggese Mar 25, 2026
b53db14
Merge
gpsaggese Mar 26, 2026
5b81eaf
Update
gpsaggese Mar 26, 2026
5db780d
Update
gpsaggese Mar 26, 2026
a198f8a
Update
gpsaggese Mar 26, 2026
93de92e
Update
gpsaggese Mar 26, 2026
7591684
Update
gpsaggese Mar 27, 2026
c017979
Update
gpsaggese Mar 27, 2026
d993ad9
Update
gpsaggese Mar 27, 2026
efe11f1
Update
gpsaggese Mar 27, 2026
026e06f
Update
gpsaggese Mar 27, 2026
d70866b
Update
gpsaggese Mar 29, 2026
d0c2ac2
Update
gpsaggese Mar 29, 2026
2bed670
Update
gpsaggese Mar 29, 2026
d55736e
Update
gpsaggese Mar 29, 2026
fffa945
Lint
gpsaggese Mar 29, 2026
c1d499a
Lint
gpsaggese Mar 29, 2026
42dbe26
Merge branch 'master' into gp_scratch
gpsaggese Mar 29, 2026
bc87ead
Update
gpsaggese Apr 10, 2026
4dfa031
Update
gpsaggese Apr 10, 2026
59b17cb
Remove convert_pdf_to_md.py and convert_pdf_to_md.sh
gpsaggese Apr 9, 2026
58f6031
Update
gpsaggese Apr 10, 2026
8dbc314
Update
gpsaggese Apr 12, 2026
89cd4cb
Update
gpsaggese Apr 12, 2026
b5895c2
Update
gpsaggese Apr 12, 2026
6932c08
Update
gpsaggese Apr 12, 2026
5c9db37
Update
gpsaggese Apr 13, 2026
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
Original file line number Diff line number Diff line change
Expand Up @@ -49,20 +49,18 @@ the book markdown file.

Return the content to the user for context.

## Step 4: Summarize Content
## Step 4: Print Content Structure

- Write a summary using the same structure of the chapter and subchapter in
markdown headers
- Write a structure of the chapter and subchapter in markdown headers
- Use numbers of chapter (e.g., 1.) and subchapters (e.g., 1.1)
- Use the chapter numbers that come from the book

- For each chunk of text, summarize the text using rules from
@.claude/skills/text.summarize_in_bullet_points/SKILL.md

## Step 5: Answer Follow-up Questions

Answer any questions the user asks about the content just read, referencing
specific sections or concepts from the chapter summary.
- Do not do anything else (e.g., summarize the content), but wait for the user
to ask questions
- Answer any questions the user asks about the content just read, referencing
specific sections or concepts from the chapter summary.

# Example

Expand All @@ -77,14 +75,4 @@ specific sections or concepts from the chapter summary.
- Chapter 3: Graphical Models
- 3.1 Directed Acyclic Graphs (DAGs)
- 3.2 d-separation and Conditional Independence

# Summary:

- **Chapter 3: Graphical Models**: DAGs represent causal relationships through
nodes and directed edges; d-separation criterion determines conditional
independence from graph structure
- **3.1 DAGs**: Nodes represent variables, edges represent direct causal
effects, acyclicity prevents circular reasoning
- **3.2 d-separation**: Variables are d-separated if no open path exists;
d-separation implies conditional independence under causal model assumptions
```
9 changes: 4 additions & 5 deletions .claude/skills/graphviz.causal_kg_style/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ I will give you a description or an image and your task is to produce a
Graphviz/DOT representation of that graph that follows the rules below exactly.

The resulting graph should allow a knowledgeable reader to
- distinguish causation from correlation at a glance
- identify exogenous vs endogenous variables
- identify latent vs observable variables
- recognize interventions and counterfactuals
- Distinguish causation from correlation at a glance
- Identify exogenous vs endogenous variables
- Identify latent vs observable variables
- Recognize interventions and counterfactuals

Use color to distinguish variable types consistently.

Expand All @@ -22,7 +22,6 @@ Use color to distinguish variable types consistently.
- Use Graphviz DOT syntax
- Use a directed graph (`digraph`)
- Set `rankdir=LR` for left-to-right causal flow
- Prefer readability over compactness
- Use both `color` (border) and `fillcolor` + `style=filled` to encode variable
type (do not rely on color alone; keep shape conventions too)

Expand Down
66 changes: 58 additions & 8 deletions .claude/skills/markdown.fix_bullet_points/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,84 @@ description: Reorganize a markdown file to use bullet points and ensure all fenc

- Given a markdown file passed from the user

# Step 1
- Make sure the text is organized in bullet points
# Organize text in bullet points
- Make sure all the text is organized in bullet points
```
**What it does**:
- Extracts each page of a PDF file as a separate PNG image
- Numbers output files sequentially (slides001.png, slides002.png, etc.)
- Supports customizable DPI for image quality control
- Creates output directory automatically with optional from-scratch mode
```

# Step 2
# Handle fenced div
- Make sure that all fenced div have a syntax description (e.g., python,
markdown, verbatim)
- Bad
````markdown
The simplest ripgrep command searches for a pattern in the current directory:

```bash
> rg "pattern"
> rig "pattern"
```
````
- Good
````markdown
- The simplest ripgrep command searches for a pattern in the current
directory:
```bash
> rg "pattern"
> rig "pattern"
```
````

# Step 3
# Format commands
- Make sure Linux / MacOS shell commands are prepended with:
- `>` when they are bash commands
- `docker>` when they are commands run inside Docker
- `claude>` when they are commands run inside Claude

# Step 4
- Run `lint_txt.py -i <FILE>` to reformat the text
# Do not abuse level 3 headers
- Do not use header level 3, but use bold when there are too many of them with
too small of content
- E.g., convert
```
### What It Does
...

### Examples
...
```
to
```
**What it does**
...

**Examples**
...
```

# Do not abuse bold
- Do not abuse bold in the explanation of commands
- Bad
```
- **Extract with higher DPI** for better image quality:
```
- Good
```
- Extract with higher DPI for better image quality:
```

# Add table

- If the file contains a description of commands add a table at the beginning
with a summary of all the commands
- E.g.,
```
| Script | Location | Description |
| :------------------------- | :------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------- |
| `concatenate_pdfs.py` | `helpers_root/dev_scripts_helpers/documentation/` | Combines multiple PDF files into a single PDF (used for creating full book from chapters) |
| `count_book_pages.py` | `class_scripts/` | Counts pages in all PDF files in `{DIR}/book/` directory using macOS `mdls` command |
```

# Lint
- At the end of the process, run `lint_txt.py -i <FILE>` to reformat the text
4 changes: 0 additions & 4 deletions .claude/skills/markdown.format_rules/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@ description: Format markdown files according to conventions for clarity, structu
model: haiku
---

# Summary

- This file contains conventions for writing markdown files

# Goals and Philosophy

- Make the text easy to consume for both humans and AI
Expand Down
26 changes: 26 additions & 0 deletions .claude/skills/slides.add_visuals/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
description: Propose visuals for each slides
---

- Given a markdown file with slides for a college class, where each slide title
is prepended with `*`

# Leave structure unchanged
- Maintain the structure of the text and keep the content of the existing text

# For each slide
- If a slide doesn't contain a picture or a diagram (e.g., graphviz), consider
what can be used to illustrate the concepts visually, e.g.,
- Propose a graphviz diagram
- Find an image on the Internet (download and save it in a dir
`proposed_images`)
- Propose the description of an image in the format
```
<image>
Description of the image
</image>
```

# Ask user to confirm and decide
- Make numbered list of proposed changes for the user
- Once user confirms changes, perform the changes
44 changes: 44 additions & 0 deletions .claude/skills/slides.criticize_structure/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
description: Criticize and suggest improvements for class slides
---

- Given a Markdown file storing slides for a class (where each slide title is
prepended with `*`)

# Propose improvements
- Read the content and make suggestions on how to improve the class, numbering
each suggestion so that it's easy to refer to
- Do not make changes but only make proposals

## Change order of slides
- Propose how to organize the slides in a different flow, separating cohesive
chunks with level 1 and 2 headers
- E.g.,
```
# Topic 1

## Topic 1.1

* Slide 1

* Slide 2
```

## Slides to remove
- Remove slides whose content is redundant or unclear

## Slides to merge
- Merge slides to remove redundant content

## Fix content of slides
- If a slide content is incorrect, propose how to fix it

## Ignore TODOs and comments
- Leave the TODOs or comments in the format
```
// ...
```
untouched

# Ask the user which improvement needs to be done
- After the user approves a subset of changes, perform the changes in place
13 changes: 13 additions & 0 deletions .claude/skills/slides.fix_errors/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
description: Fix slides without changing their structure
---

- Given a markdown file with slides for a college class, where each slide title
is prepended with `*`

# Leave structure unchanged
- Maintain the structure of the text and keep the content of the existing text

# Fix mistakes
- Fix English grammar
- Fix any mistake only if you are sure about the correction
15 changes: 0 additions & 15 deletions .claude/skills/slides.fix_slides/SKILL.md

This file was deleted.

34 changes: 12 additions & 22 deletions .claude/skills/slides.format_rules/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,26 @@
description: Format slides for technical audiences following structured presentation conventions
---

You are an expert writer of slides and presentation.

# Audience

- Your target is college graduate in computer science
You are an expert writer of slides and presentation for college students
- Your target audience is college graduate in computer science
- You need to be clear and precise

# Formatting

- Don't use emoji
- Don't use page separators
- Make examples for concepts whenever possible
- Don't use unicode characters but use Latex symbols if needed
- Instead of → use $\to$

# When I Ask You to Create a Slide

- Each slide should start with <* Slide title>
- Each slide contains at most 8 bullet point arranged in a hierarchical
structure
# Slide format
- Each slide should start with:
```
* Slide title
```
- Each slide contains bullet point arranged in a hierarchical structure
- Every line starts with a bullet point
- Do not use period at the end of a phrase

# Suggest Images When Possible

- When an image might help with clarity, add a description of it like:
- Use italic and add quotes for questions
```
<image>
Description of the image
</image>
- E.g., _"If we lower prices by 10%, will revenue increase?"_
```

# Output Is Markdown

- Write the output in a markdown format in the form of code
6 changes: 6 additions & 0 deletions .claude/skills/slides.read_chapter_and_write_slides/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Read a chapter of a book and write lecture slides
---

/book.read_chapter /Users/saggese/src/notes1/books/facure2.md "Neutral Controls"
/slides.write_slides create one slide for the "Neutral controls"
Loading
Loading