Thesis Extract

VerifiedSafe

Extract thesis-relevant information (design decisions, numerical stability tricks, JAX/Equinox patterns, privacy accounting math) from codebase and append to thesis notes files.

Sby Skills Guide Bot
DocumentationIntermediate
7/23/2026
Claude CodeCursorCodex
#thesis-notes#code-documentation#codebase-analysis#jax#privacy-accounting

Recommended for

Automated summary

Pulls thesis-relevant material out of a targeted area of the codebase — design rationale, numerical-stability tricks, JAX/Equinox patterns and privacy-accounting math — and appends it, with citations, to a per-topic note file under thesis/notes/.

Strengths

  • Requires a file + function/class citation for every claim and explicitly marks missing rationale instead of inventing it.
  • Asks for the target and then a per-category depth (brief / standard / exhaustive) up front, so output volume stays controlled.
  • Appends to existing topic notes with a dated separator rather than overwriting, preserving earlier work.
  • Omits empty category sections and caps snippets at 8 lines, only for genuinely non-intuitive code.

Limitations

  • The four categories are hardcoded and ML/privacy-research specific (JAX, Equinox, DP accounting), so it fits poorly outside that stack.
  • Output quality depends on comments, commit messages or CLAUDE.md/MEMORY.md being available; otherwise many findings get flagged as rationale not in repo.
  • Append timestamps rely on the environment-provided date rather than any independent verification.
When to use it

Use it while writing a thesis or paper about a research codebase and you need traceable, cited notes on how a specific module works.

When not to use it

Avoid it for public API docs, changelogs or general onboarding, where the JAX and privacy-accounting categories are irrelevant.

Security analysis

Safe
Quality score86/100

The skill is purely a read-and-document workflow: it greps/reads the local codebase, summarizes design rationale, and appends Markdown notes. There is no shell execution, no network egress, no credential or token handling, no obfuscation, and no destructive operation (the only file mutation is an additive append with an explicit never-overwrite rule). The residual concern is ordinary file-write scope creep from an inferred filename, which is a minor hygiene issue rather than an exfiltration or destruction risk.

Findings
  • •No allowed-tools declared, so the host agent's default toolset (read/grep plus file write) is what actually executes — the skill itself requests no bash, network, or package installation.
  • •Step 4 writes/appends to repository files under thesis/notes/<topic>.md derived from a user-supplied topic; filename inference (lowercase, hyphenated) is not path-sanitized, so a topic containing slashes or '..' could route the write outside thesis/notes/. Low impact since content is authored by the agent and the user picks the topic, but worth noting.
  • •Instruction to use "today's date from the environment context" can produce a stale or incorrect date stamp if the environment does not supply it.
How this analysis is made

Examples

Projection algorithm notes
Extract thesis notes on the projection algorithm in src/privacy/ — all four categories at standard depth.
Exhaustive stability pass
Add exhaustive numerical stability notes for `train_with_noise` to my thesis notes, with line-level citations and the non-obvious snippets.
Append to an existing topic
Append brief privacy accounting notes on GDPPrivacyParameters.project_weights to thesis/notes/privacy-accounting.md.

name: thesis-extract description: Extract thesis-relevant information (design decisions, numerical stability tricks, JAX/Equinox patterns, privacy accounting math) from a targeted area of the codebase and append findings to thesis/notes/<topic>.md. Use when the user wants to document codebase internals for their thesis, capture design rationale, record implementation details, or mentions "thesis notes" / "extract for thesis".

Thesis Extract

Pulls thesis-relevant information out of a targeted part of the codebase and writes it to a per-topic notes file under thesis/notes/.

Workflow

1. Identify the target

Ask the user what topic, module, file, function, or class to extract from. Examples: "the projection algorithm", "alternating schedule", "train_with_noise".

Infer the output filename from the topic: lowercase, hyphenated, no extension prompt needed. E.g. "projection algorithm" → thesis/notes/projection-algorithm.md.

2. Ask depth per category

For each of the four categories below, ask the user for depth: brief / standard / exhaustive. Present all four in a single question. If the user says "all standard" or similar, apply uniformly.

| Category | What to extract | |---|---| | Design decisions & rationale | Why this approach was chosen; alternatives implicitly rejected; non-obvious behaviour and gotchas | | Numerical stability tricks | eps clamps, log-space math, bisection/Newton bounds, NaN/Inf guards, eqx.error_if, lax.select safeguards | | JAX/Equinox patterns & performance | shard_map, jax.checkpoint, eqx.filter_jit, partition/combine, pvary, vmap structure, scan + checkpoint memory tradeoffs | | Privacy accounting math | GDP conversions, project_weights constraint derivations, weights→σ→clip mappings, ε/δ↔μ relationships |

Depth guide:

  • brief — 1–3 bullets per category, no snippets
  • standard — full prose paragraphs, snippets only for non-obvious lines
  • exhaustive — every relevant detail, all non-intuitive snippets, full derivation chains

3. Extract

For the chosen target, search the codebase (Grep/Read) and assemble findings. Every claim must carry a file + function/class citation, e.g. src/privacy/gdp_privacy.py :: GDPPrivacyParameters.project_weights. Use line numbers when a specific line is being referenced.

Include short verbatim snippets (≤8 lines) only when the behaviour is non-intuitive or the logic is unique — e.g. a custom bisection invariant, a lax.stop_gradient placement that flips alternating optimization, a non-obvious pvary call. Skip snippets for routine code.

4. Write to file

Target path: thesis/notes/<inferred-topic>.md (relative to repo root).

  • If the file does not exist: create it with a # <Topic> H1 and write the four category sections.
  • If the file exists: append. Insert a horizontal rule and a line stating the append, then the new sections:
    ---
    
    _Appended 2026-05-14: <one-line note on what was added or refined>._
    
    Use today's date from the environment context. Do not rewrite or remove existing content unless the user explicitly asks.

5. Confirm

After writing, report: the path, which categories were populated, and a one-sentence summary of what each category covered. Offer to drill deeper into any category.

Output structure

# <Topic>

**Scope:** <files / functions / classes covered>

## Design decisions & rationale
- <finding> — `path/to/file.py :: ClassName.method` (L123)
  > optional snippet if non-intuitive

## Numerical stability
...

## JAX/Equinox patterns
...

## Privacy accounting math
...

Omit a category section entirely if the target has nothing relevant for it (don't write empty headings).

Rules

  • Never invent rationale. If the "why" is not visible in code, comments, commit messages, or CLAUDE.md/MEMORY.md, mark it as (rationale not in repo — confirm with author).
  • Cite file + function/class for every claim. Add line numbers when pointing at a specific line.
  • Snippets only when non-intuitive or unique. No snippets for boilerplate.
  • Always append to existing topic files with the dated separator above; never silently overwrite.
  • Stay inside the user's chosen target — do not expand scope without asking.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/thesis-extract-mrx3y0ir/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/thesis-extract-mrx3y0ir' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/thesis-extract-mrx3y0ir/download' --output '.skill-downloads/thesis-extract-mrx3y0ir/SKILL.md.part' && mv '.skill-downloads/thesis-extract-mrx3y0ir/SKILL.md.part' '.skill-downloads/thesis-extract-mrx3y0ir/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/thesis-extract-mrx3y0ir/SKILL.md' && test -s '.skill-downloads/thesis-extract-mrx3y0ir/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/thesis-extract' && cp -R '.skill-downloads/thesis-extract-mrx3y0ir' '.claude/skills/thesis-extract'

Cursor
test -f '.skill-downloads/thesis-extract-mrx3y0ir/SKILL.md' && test -s '.skill-downloads/thesis-extract-mrx3y0ir/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/thesis-extract' && cp -R '.skill-downloads/thesis-extract-mrx3y0ir' '.cursor/skills/thesis-extract'

Codex
test -f '.skill-downloads/thesis-extract-mrx3y0ir/SKILL.md' && test -s '.skill-downloads/thesis-extract-mrx3y0ir/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/thesis-extract' && cp -R '.skill-downloads/thesis-extract-mrx3y0ir' '.agents/skills/thesis-extract'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/thesis-extract-mrx3y0ir'

openskills read 'thesis-extract-mrx3y0ir'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/thesis-extract-mrx3y0ir/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills