tutor-setup
bevibing/tutor-skills
Transform PDFs, code, or web sources into an interactive Obsidian StudyVault with practice questions and architecture guides.
What is tutor-setup?
Tutor Setup auto-detects whether you're learning from documents (PDFs, text, web) or onboarding to a codebase, then generates a structured Obsidian vault with concept notes, practice questions, and interlinking. Use it to convert any knowledge source into a self-study system with active recall and spaced repetition.
- Auto-detect Document Mode (PDFs/text/web → study notes) or Codebase Mode (source code → developer onboarding vault)
- Extract and map multi-source content with verified topic hierarchies and page-range tracking
- Generate concept notes with YAML metadata, wiki-links, callouts, and ASCII diagrams
- Create 8+ practice questions per topic with active-recall fold callouts and diverse question types
- Build interactive dashboards (MOC, Quick Reference, Exam Traps, Onboarding Paths)
- Cross-link all notes, exercises, and architecture diagrams for seamless navigation
How to install tutor-setup
npx skills add https://github.com/bevibing/tutor-skills --skill tutor-setup- Node.js and npm installed
- pdftotext CLI (install via `brew install poppler` on macOS or `apt-get install poppler-utils` on Linux) for PDF extraction
- Obsidian installed locally to view and interact with generated vaults
- Source files or URLs to convert (PDFs, code repos, web pages, or markdown)
How to use tutor-setup
- 1.Run `npx skills add https://github.com/bevibing/tutor-skills --skill tutor-setup` to install
- 2.Navigate to a directory containing your source files (PDFs, code, markdown) or a git repository
- 3.Invoke the skill with `tutor-setup [source-path-or-url]` or just `tutor-setup` to auto-detect mode
- 4.Confirm the detected mode (Document or Codebase) or override if needed
- 5.Review the auto-generated source mapping and topic checklist, then approve to proceed
- 6.Open the generated `StudyVault/` folder in Obsidian to explore notes, practice questions, and dashboards
Use cases
- Convert a textbook or research paper into study notes with practice questions for exam prep
- Onboard a new developer to a codebase by generating architecture notes and code-reading exercises
- Transform course materials (PDFs, lecture notes, web articles) into a personal knowledge base
- Create a structured learning vault from scattered documentation or technical specs
- Generate debugging and extension exercises for team training on internal systems
- Students preparing for exams or certifications
- New developers joining a team or learning a codebase
- Educators creating structured study materials from source documents
- Technical writers building onboarding documentation
- Self-learners organizing scattered knowledge sources
tutor-setup FAQ
Document Mode converts PDFs, text, web pages, and markdown into study notes with practice questions—ideal for learning subjects. Codebase Mode scans a source code project and generates architecture notes, module guides, and onboarding exercises—ideal for developer training.
Yes, you can pass URLs to WebFetch or external file paths. However, the skill respects CWD boundaries: external files must be copied into your current working directory first, and all vault output stays within CWD.
It uses the `pdftotext` CLI tool (via Bash) to convert PDFs to plain text first, then reads the text file. This is much more token-efficient than reading raw PDF images. If pdftotext is not installed, the skill will prompt you to install it.
Yes. In Document Mode, every topic folder gets 8+ practice questions with active-recall fold callouts, diverse question types (recall, application, analysis), and related-concept links. In Codebase Mode, exercises focus on code reading, configuration, debugging, and extension tasks.
Absolutely. The skill generates a starting vault following best practices, but you can edit notes, reorganize folders, add custom tags, and adjust the MOC to match your learning style. All notes use standard Obsidian markdown and wiki-links.
Full instructions (SKILL.md)
Source of truth, from bevibing/tutor-skills.
name: tutor-setup description: > Transforms knowledge sources into an Obsidian StudyVault. Two modes: (1) Document Mode — PDF/text/web sources → study notes with practice questions. (2) Codebase Mode — source code project → onboarding vault for new developers. Mode is auto-detected based on project markers in CWD. argument-hint: "[source-path-or-url]" allowed-tools: Read, Write, Edit, Glob, Grep, Bash, WebFetch
Tutor Setup — Knowledge to Obsidian StudyVault
CWD Boundary Rule (ALL MODES)
NEVER access files outside the current working directory (CWD). All source scanning, reading, and vault output MUST stay within CWD and its subdirectories. If the user provides an external path, ask them to copy the files into CWD first.
Mode Detection
On invocation, detect mode automatically:
- Check for project markers in CWD:
package.json,pom.xml,build.gradle,Cargo.toml,go.mod,Makefile,*.sln,pyproject.toml,setup.py,Gemfile
- If any marker found → Codebase Mode
- If no marker found → Document Mode
- Tie-break: If
.git/is the sole indicator and no source code files (*.ts,*.py,*.java,*.go,*.rs, etc.) exist, default to Document Mode. - Announce detected mode and ask user to confirm or override.
Document Mode
Transforms knowledge sources (PDF, text, web, epub) into study notes. Templates: templates.md
Phase D1: Source Discovery & Extraction
- Auto-scan CWD for
**/*.pdf,**/*.txt,**/*.md,**/*.html,**/*.epub(excludenode_modules/,.git/,dist/,build/,StudyVault/). Present for user confirmation. - Extract text (MANDATORY tools):
- PDF →
pdftotextCLI ONLY (run via Bash tool). NEVER use the Read tool directly on PDF files — it renders pages as images and wastes 10-50x more tokens. Convert to.txtfirst, then Read the.txtfile.pdftotext "source.pdf" "/tmp/source.txt" - If
pdftotextis not installed, install it first:brew install poppler(macOS) orapt-get install poppler-utils(Linux). - URL → WebFetch
- Other formats (
.md,.txt,.html) → Read directly.
- PDF →
- Read extracted
.txtfiles — understand scope, structure, depth. Work exclusively from the converted text, never from the raw PDF. - Source Content Mapping (MANDATORY for multi-file sources):
- Read cover page + TOC + 3+ sample pages from middle/end for EVERY source file
- NEVER assume content from filename — file numbering often ≠ chapter numbering
- Build verified mapping:
{ source_file → actual_topics → page_ranges } - Flag non-academic files and missing sources
- Present mapping to user for verification before proceeding
Phase D2: Content Analysis
- Identify topic hierarchy — sections, chapters, domain divisions.
- Separate concept content vs practice questions.
- Map dependencies between topics.
- Identify key patterns — comparisons, decision trees, formulas.
- Full topic checklist (MANDATORY) — every topic/subtopic listed. Drives all subsequent phases.
Equal Depth Rule: Even a briefly mentioned subtopic MUST get a full dedicated note supplemented with textbook-level knowledge.
- Classification completeness: When source enumerates categories ("3 types of X"), every member gets a dedicated note. Scan for: "types of", "N가지", "categories", "there are N".
- Source-to-note cross-verification (MANDATORY): Record which source file(s) and page range(s) cover each topic. Flag untraceable topics as "source not available".
Phase D3: Tag Standard
Define tag vocabulary before creating notes:
- Format: English, lowercase, kebab-case (e.g.,
#data-hazard) - Hierarchy: top-level → domain → detail → technique → note-type
- Registry: Only registered tags allowed. Detail tags co-attach parent domain tag.
Phase D4: Vault Structure
Create StudyVault/ with numbered folders per templates.md. Group 3-5 related concepts per file.
Phase D5: Dashboard Creation
Create 00-Dashboard/: MOC, Quick Reference, Exam Traps. See templates.md.
- MOC: Topic Map + Practice Notes + Study Tools + Tag Index (with rules) + Weak Areas (with links) + Non-core Topic Policy
- Quick Reference: every heading includes
→ [[Concept Note]]link; all key formulas - Exam Traps: per-topic trap points in fold callouts, linked to concept notes
Phase D6: Concept Notes
Per templates.md. Key rules:
- YAML frontmatter:
source_pdf,part,keywords(MANDATORY) - source_pdf MUST match verified Phase D1 mapping — never guess from filename
- If unavailable:
source_pdf: 원문 미보유 [[wiki-links]], callouts ([!tip],[!important],[!warning]), comparison tables > prose- ASCII diagrams for processes/flows/sequences
- Simplification-with-exceptions: general statements must note edge cases
Phase D7: Practice Questions
Per templates.md. Key rules:
- Every topic folder MUST have a practice file (8+ questions)
- Active recall: answers use
> [!answer]- 정답 보기fold callout - Patterns use
> [!hint]-/> [!summary]-fold callouts - Question type diversity: ≥60% recall, ≥20% application, ≥2 analysis per file
## Related Conceptswith[[wiki-links]]
Phase D8: Interlinking
## Related Noteson every concept note- MOC links to every concept + practice note
- Cross-link concept ↔ practice; siblings reference each other
- Quick Reference sections →
[[Concept Note]]links - Weak Areas → relevant note + Exam Traps; Exam Traps → concept notes
Phase D9: Self-Review (MANDATORY)
Verify against quality-checklist.md Document Mode section. Fix and re-verify until all checks pass.
Codebase Mode
Generates a new-developer onboarding StudyVault from a source code project. Full workflow: codebase-workflow.md Templates: codebase-templates.md
Phase Summary
| Phase | Name | Key Action |
|---|---|---|
| C1 | Project Exploration | Scan files, detect tech stack, read entry points, map directory layout |
| C2 | Architecture Analysis | Identify patterns, trace request flow, map module boundaries and data flow |
| C3 | Tag Standard | Define #arch-*, #module-*, #pattern-*, #api-* tag registry |
| C4 | Vault Structure | Create StudyVault/ with Dashboard, Architecture, per-module, DevOps, Exercises folders |
| C5 | Dashboard | MOC (Module Map + API Surface + Getting Started + Onboarding Path) + Quick Reference |
| C6 | Module Notes | Per-module notes: Purpose, Key Files, Public Interface, Internal Flow, Dependencies |
| C7 | Onboarding Exercises | Code reading, configuration, debugging, extension exercises (5+ per major module) |
| C8 | Interlinking | Cross-link modules, architecture ↔ implementations, exercises ↔ modules |
| C9 | Self-Review | Verify against quality-checklist.md Codebase Mode section |
See codebase-workflow.md for detailed per-phase instructions.
Language
- Match source material language (Korean → Korean notes, etc.)
- Tags/keywords: ALWAYS English
Related skills
More from bevibing/tutor-skills and the wider catalog.

tutor
Interactive quiz tutor that tracks concept mastery and identifies knowledge gaps.

shadertoy
GLSL fragment shader development for Shadertoy and WebGL procedural graphics.

neodata-financial-search
Query stocks, funds, macro, forex & commodities in natural language—real-time financial data across seven asset classes.

browsing-with-playwright
Browser automation via Playwright MCP—navigate, fill forms, click elements, extract data.

verified-agent-identity
Decentralized identity for agents: link to humans, verify ownership, and generate authentication proofs on Billions Network.

camoufox-cli
Anti-detect browser automation CLI & Skills for AI agents. Use when the user needs to interact with websites with bot detection, CAPTCHAs, or anti-bot blocks, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task that requires bypassing fingerprint checks.