vault-interview-prep/skills/cheatsheet/SKILL.md
This skill should be used when the user asks to "make a cheatsheet", "generate a cheat sheet", "compress my notes", "create a study sheet", "make a printable reference", or asks for a cheatsheet for a topic from vault notes or PDFs.
npx skillsauth add shenron0101/opencode-skill-shenron cheatsheetInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You generate information-dense, exam-ready LaTeX cheatsheets from raw vault
notes. The output is a compilable .tex file plus an attempted PDF compilation.
If the user did not provide all of the following, ask for them in a single message before proceeding:
| Parameter | Default | Notes |
|-----------|---------|-------|
| topic | (required) | e.g. "QF604 Econometrics", "LeetCode Patterns" |
| subtopics | all | Comma-separated focus areas, or "all" to use everything |
| columns | 3 | 2 or 3 |
| font_size | 8 | 7, 8, 9, or 10 (pt) |
| raw_dir | raw/ | Path to the folder containing source files |
| output_dir | cheatsheets/ | Where to save .tex and .pdf |
| paper | a4paper,landscape | or letterpaper,landscape |
Run the reader script to pull all .md and .pdf files from raw_dir:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/read_vault.py" "<raw_dir>"
The script outputs JSON: {"files": [{"name":..., "type":..., "content":...}], "count": N}.
count is 0: stop and tell the user no source files were found in raw_dir.subtopics is not "all": mentally filter content to sections that match the
requested subtopics. You may include tangential content if it aids understanding.Before writing LaTeX, briefly outline (in your thinking) the sections you will include, ordered by density of useful information. Prioritise:
Do NOT include: prose explanations longer than 2 lines, redundant examples, anything that doesn't add information density.
Write the complete, compilable .tex file. Use the template below as a
skeleton - fill in everything between \begin{multicols} and
\end{multicols}.
\documentclass[FONT_SIZEpt]{extarticle}
\usepackage[margin=0.4cm,PAPER]{geometry}
\usepackage{multicol}
\usepackage{amsmath,amssymb,mathtools}
\usepackage[dvipsnames,table]{xcolor}
\usepackage{titlesec}
\usepackage{enumitem}
\usepackage{microtype}
\usepackage{booktabs}
\usepackage{array}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{mdframed}
\usepackage{tikz} % only if graphs needed
\usepackage{pgfplots} % only if plots needed
\pgfplotsset{compat=1.18}
%%% Typography & spacing %%%
\titleformat{\section}{\small\bfseries\color{NavyBlue}}{}{0em}{}[\vspace{-2pt}\rule{\columnwidth}{0.4pt}]
\titlespacing{\section}{0pt}{3pt}{1pt}
\titleformat{\subsection}{\footnotesize\bfseries\color{BrickRed}}{}{0em}{}
\titlespacing{\subsection}{0pt}{2pt}{0pt}
\setlist[itemize]{noitemsep,topsep=0pt,leftmargin=8pt,label=\textbullet}
\setlist[enumerate]{noitemsep,topsep=0pt,leftmargin=10pt}
\setlength{\parindent}{0pt}
\setlength{\parskip}{1pt}
\setlength{\columnsep}{4pt}
\setlength{\columnseprule}{0.3pt}
\setlength{\abovedisplayskip}{1pt}
\setlength{\belowdisplayskip}{1pt}
%%% Convenience macros %%%
\newcommand{\kw}[1]{\textbf{#1}} % keyword
\newcommand{\code}[1]{\texttt{\small #1}} % inline code
\newcommand{\warn}[1]{\colorbox{yellow!40}{\footnotesize #1}} % warning box
\newmdenv[linecolor=NavyBlue,linewidth=0.5pt,innerleftmargin=3pt,
innerrightmargin=3pt,innertopmargin=2pt,innerbottommargin=2pt,
skipabove=2pt,skipbelow=2pt]{notebox}
\begin{document}
\begin{center}
{\small\bfseries TOPIC - SUBTOPICS} \hfill {\tiny \today}
\end{center}
\vspace{-4pt}
\begin{multicols}{COLUMNS}
%%% ---- YOUR CONTENT HERE ---- %%%
\end{multicols}
\end{document}
Replace FONT_SIZE, PAPER, COLUMNS, TOPIC, SUBTOPICS with actual values.
Every line earns its place. Follow these strictly:
\section{Title} - one per major concept cluster\subsection{Title} - use sparingly\[ ... \] or inline $ ... $\begin{enumerate} \item ... \end{enumerate}\begin{itemize} \item ... \end{itemize}\begin{notebox} ... \end{notebox}\begin{tabular}{@{}ll@{}}
\toprule A & B \\ \midrule ... \\ \bottomrule
\end{tabular}
\warn{text}\code{snippet} or \begin{verbatim}...\end{verbatim}TikZ graphs: include ONLY if the concept is fundamentally visual (e.g. a decision tree, a state machine, a distribution shape). Keep them under 4cm tall and 1 column wide.
Math: write all formulas in LaTeX math mode. Never use Unicode math symbols
in body text - use $\beta$ not beta or Unicode variants.
Density targets:
.tex fileDetermine the output filename:
<output_dir>/<topic-slug>_cheatsheet_<YYYY-MM-DD>.tex
where topic-slug = topic in lowercase-kebab-case, e.g. qf604-econometrics.
Create <output_dir> if it doesn't exist, then write the file.
Tell the user: "LaTeX saved to <path>."
Run the compiler script:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/compile_latex.sh" "<tex_path>" "<output_dir>"
On SUCCESS (exit 0): tell the user the PDF path and offer to open it.
On ERROR (exit 2 - pdflatex missing):
pdflatexnot found. Install it and rerun, or compile manually:
- macOS:
brew install --cask mactex-no-gui- Ubuntu:
sudo apt install texlive-full- Then:
pdflatex <tex_path>Your.texfile is ready at<path>.
On ERROR (exit 3 - compile failure): show the last 20 lines of the .log
file and offer to fix the LaTeX.
Print a compact summary:
Cheatsheet generated
Topic: <topic>
Sources: <N> files read (<list of names>)
Sections: <list of section names>
Output: <tex_path>
PDF: <pdf_path | "compile manually - see above">
\usepackage errors (all packages are standard TeX Live)?? references (no \ref{} without \label{})TODO, ..., INSERT HERE)\begin{...} matched by \end{...}tools
This skill should be used when the user asks to "generate interview questions", "make interview prep", "quiz me on" a topic, "practice questions for" a topic, "create Q&A" from vault notes, or asks for flashcards or Obsidian interview-prep output.
testing
# PDF Study QA Skill Study and ask questions about PDF documents using AI-powered analysis. ## Description This skill enables you to upload PDF documents and ask questions about their content. It extracts text from PDFs and uses AI to provide answers based on the document's content. ## Usage ```bash # Load the skill /skill pdf-study-qa # Ask questions about a PDF /study-pdf <path-to-pdf> "What is the main topic of this document?" ``` ## Features - **Text Extraction**: Automatically extra
development
Builds a fully 3D interactive goal-graph visualization as a self-contained HTML file using Three.js. Use this skill whenever the user wants to visualize a goal, system, workflow, or project as an animated directed graph — with a 3D space background, glowing floating nodes, an animated pulse traveling the loop, and a collapsible constraints sidebar. Trigger when the user says things like "create a graph for my goal", "visualize my system as a graph", "build a 3D graph app", "show my workflow as a graph", or "make an interactive graph visualization". Parses natural language description of nodes, edges, weights, and constraints, and produces THREE distinct production-grade Three.js HTML files with different aesthetics.
tools
# Claude2OpenCode Skill Convert Claude Code project configurations to OpenCode format. ## Description This skill provides a migration toolkit for converting Claude Code project configurations (.claude directory, CLAUDE.md, MCP settings) to OpenCode format. ## Usage ```bash # Load the skill /skill claude2opencode # Run the migration python3 ~/.claude/tools/migrate_claude_project.py --target opencode --project-root . ``` ## What It Migrates - **CLAUDE.md / .claude/CLAUDE.md** → AGENTS.md (