vault-interview-prep/skills/interview-questions/SKILL.md
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.
npx skillsauth add shenron0101/opencode-skill-shenron interview-questionsInstall 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 structured interview questions from vault notes, saved as Obsidian-compatible markdown with collapsible callout blocks.
Ask for missing parameters in a single message:
| Parameter | Default | Notes |
|-----------|---------|-------|
| topic | (required) | e.g. "OLS regression", "Dynamic Programming", "Options pricing" |
| raw_dir | raw/ | Source folder |
| count | 15 | Number of questions |
| difficulty | Mixed | Easy / Medium / Hard / Mixed |
| types | Mixed | See type table below |
| role | General | Quant Researcher / SWE / ML Engineer / Trading |
| output_dir | outputs/interview-questions/ | Where to save the .md |
Question types (comma-separated, or "Mixed"):
| Code | Type | Best for |
|------|------|----------|
| concept | Definition + intuition | All roles |
| scenario | "What would you do if..." | Trading / Quant |
| gotcha | Common misconception traps | All roles |
| explain | "Explain to a non-expert" | All roles |
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/read_vault.py" "<raw_dir>"
Before writing, plan the spread:
difficulty = Mixed: roughly 30% Easy, 50% Medium, 20% Hardtypes = Mixed: spread across concept, derive/code, scenario, gotcharoleFor Quant / Trading roles, prioritise:
For ML Engineer, prioritise:
Every question uses Obsidian's collapsible callout syntax:
> [!question]- Q{n} [{difficulty}] [{type}]: {Question text}
>
> **Answer:**
> {Core answer - clear and complete. Use $LaTeX$ for math.}
>
> **Key Points:**
> - {Point 1}
> - {Point 2}
> - {Point 3}
>
> **Common Mistake:**
> {One specific wrong answer / confusion to avoid}
>
> **Follow-up:** {One harder follow-up question}
The - after [!question] makes it collapsed by default in Obsidian.
Use these exactly:
[Easy] - can be answered in < 60 seconds[Medium] - requires 1-3 minutes of reasoning[Hard] - derivation or deep systems thinking requiredUse: [Concept], [Derive], [Code], [Scenario], [Gotcha], [Explain]
Math: Use $...$ for inline and $$...$$ for display math.
Example: $\hat{\beta} = (X'X)^{-1}X'Y$
Code blocks: Use fenced code blocks with language tag:
> ```python
> def binary_search(arr, target):
> lo, hi = 0, len(arr) - 1
> ...
> ```
Note: inside a callout, indent code blocks with > prefix.
Tables: Use markdown tables inside the callout:
> | Model | ACF | PACF |
> |-------|-----|------|
> | AR(p) | Decay | Cuts off |
Derivation questions: Structure the answer as numbered steps, each <= 2 lines. Show the key algebra, don't skip steps that would trip up an interviewer.
The complete output file:
---
topic: {topic}
date: {YYYY-MM-DD}
role: {role}
difficulty: {difficulty}
count: {count}
sources: [{list of source filenames}]
tags: [interview-prep, {topic-slug}]
---
# Interview Questions: {topic}
> **Role:** {role} | **Difficulty:** {difficulty} | **Generated:** {date}
---
{Q1 callout}
{Q2 callout}
...
{QN callout}
---
*Sources: {comma-separated filenames} | vault-skills v1.0*
Filename: <output_dir>/<topic-slug>_interviews_<YYYY-MM-DD>.md
Create <output_dir> if it doesn't exist. Write the file.
Tell the user: "Saved {count} questions to <path>."
Interview questions generated
Topic: {topic}
Role: {role}
Count: {count} questions
Difficulty: {difficulty distribution, e.g. "5 Easy / 8 Medium / 2 Hard"}
Types: {type distribution}
Sources: {N} files
Output: {path}
Tip: In Obsidian, click the arrow on each callout to expand.
Use Ctrl+Click to open in a new pane for side-by-side review.
> [!question]- (with dash for collapsed)content-media
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.
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 (