Databases
π₯ Claude Code plugin that teaches programming while you vibecode β contextual explanations, micro-quizzes, and belt progression. Free & open source by Dojo Coding.
npx -y skills add DojoCodingLabs/code-sensei --skill databasesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
SQL, databases, ORMs, and data modeling. Activated when Claude works with database code, .sql files, Prisma schemas, or database-related npm packages.
SKILL.md
2.8 KB, as published. Nobody here has run it
Databases β CodeSensei Teaching Module
What is a Database?
- Analogy: A super-powered spreadsheet that your app can read and write to automatically. Each "table" is like a sheet, each "row" is an entry, each "column" is a field.
- Key insight: Without a database, your app forgets everything when it restarts. Databases make data PERMANENT.
SQL (Structured Query Language)
- Analogy: SQL is the language you use to talk to the database. Like asking a librarian: "Find me all books by this author, sorted by year."
- Essential operations:
SELECTβ "Show me data" βSELECT * FROM users(show all users)INSERTβ "Add new data" βINSERT INTO users (name, email) VALUES ('Juan', '[email protected]')UPDATEβ "Change existing data" βUPDATE users SET name = 'Juan C' WHERE id = 1DELETEβ "Remove data" βDELETE FROM users WHERE id = 1WHEREβ "But only the ones that match this condition"
- Quiz: "Which SQL word would you use to find all users who signed up today?"
Types of Databases
- PostgreSQL β the reliable all-rounder. Most vibecoded apps use this. Think of it as Excel but 1000x more powerful.
- SQLite β a lightweight database stored in a single file. Good for small projects. Like a notepad vs a full filing system.
- MongoDB β stores data as flexible documents (JSON-like) instead of rigid tables. Like storing folders of papers vs a spreadsheet.
ORMs (Object-Relational Mappers)
- Analogy: An ORM is a translator between your code and the database. Instead of writing SQL directly, you write code in your programming language and the ORM converts it to SQL.
- Prisma (most common in vibecoded projects):
prisma.user.findMany()β becomesSELECT * FROM usersprisma.user.create({ data: { name: "Juan" } })β becomesINSERT INTO users...
- Key insight: ORMs make databases easier to work with, but the SQL is still happening underneath.
Schemas & Migrations
- Schema β the blueprint of your database. Defines what tables exist and what columns each has.
- Migration β a change to the blueprint. Like remodeling a room β you write instructions for the change, then apply them.
- Analogy: The schema is your building's floor plan. A migration is the renovation permit that says "add a new room here."
Relationships
- One-to-Many: One user has many posts. Like one author writing many books.
- Many-to-Many: Users can have many tags, and tags can belong to many users. Like students and classes.
- Foreign Key: The link that connects tables. Like a reference number that says "this post belongs to user #5."