Skip to content
Skills Library
Education · Learning & explanation

codebase-viva-prep

/codebase-viva-prep

Prepare someone to defend or explain a codebase they built or inherited — for a university project viva, thesis defense, technical interview take-home review, demo day, or handover. Builds an architecture walkthrough grounded in the actual code, predicts the questions an examiner or interviewer will ask (with model answers citing file:line), runs a mock viva one question at a time, and assigns small hands-on modification tasks examiners like to ask for live ("add a field", "change this validation"). Use whenever someone says viva, defense, project evaluation, "explain my project", "what will t

Author
Avr8 ↗
Licence
MIT
Last repository change
11.11.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
19
Scripts
6
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 11.11.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What to check before installing
  • 6 scripts in this package. Review them before installing, as Claude may execute them.

Scripts: evals/maps-flask-app-and-predicts-questions/files/app.py, evals/maps-flask-app-and-predicts-questions/files/models.py, evals/maps-flask-app-and-predicts-questions/place-files.sh, evals/mock-viva-one-question-at-a-time/files/app.py, evals/mock-viva-one-question-at-a-time/files/models.py, evals/mock-viva-one-question-at-a-time/place-files.sh

What it does and when to use it

Prepare someone to defend or explain a codebase they built or inherited — for a university project viva, thesis defense, technical interview take-home review, demo day, or handover. Builds an architecture walkthrough grounded in the actual code, predicts the questions an examiner or interviewer will ask (with model answers citing file:line), runs a mock viva one question at a time, and assigns small hands-on modification tasks examiners like to ask for live ("add a field", "change this validation"). Use whenever someone says viva, defense, project evaluation, "explain my project", "what will t

Triggers from the description

add a fieldchange this validationexplain my project
Original author description

Prepare someone to defend or explain a codebase they built or inherited — for a university project viva, thesis defense, technical interview take-home review, demo day, or handover. Builds an architecture walkthrough grounded in the actual code, predicts the questions an examiner or interviewer will ask (with model answers citing file:line), runs a mock viva one question at a time, and assigns small hands-on modification tasks examiners like to ask for live ("add a field", "change this validation"). Use whenever someone says viva, defense, project evaluation, "explain my project", "what will t

How it works

  1. 0. Set the scene (ask briefly, then proceed)
  2. 1. Map the codebase
  3. 2. Deep-dive walkthroughs
  4. 3. Predict the questions
  5. 4. Mock viva
  6. 5. Live-modification practice
  7. 6. Leave behind
Original SKILL.md headings · 49 lines, 720 words
SKILL.md preview
---
name: codebase-viva-prep
description: Prepare someone to defend or explain a codebase they built or inherited — for a university project viva, thesis defense, technical interview take-home review, demo day, or handover. Builds an architecture walkthrough grounded in the actual code, predicts the questions an examiner or interviewer will ask (with model answers citing file:line), runs a mock viva one question at a time, and assigns small hands-on modification tasks examiners like to ask for live ("add a field", "change this validation"). Use whenever someone says viva, defense, project evaluation, "explain my project", "what will they ask me", "help me prepare to present my code", interview walkthrough, or "I don't fully understand the code I wrote with AI".
---

# Codebase viva prep

Examiners don't check whether code runs — they check whether *you* understand it. They ask "why", "what if", and "show me where". This skill builds that understanding from the real code, then rehearses it.

## 0. Set the scene (ask briefly, then proceed)
- What's the occasion (university viva, interview, handover) and how long is it?
- Any rubric, problem statement, or list of required features? Read it if provided — examiners follow it.
- Which parts did they write themselves vs. use AI or templates for? Weak spots get more practice.
- When is it? (Sets how much to cover per session.)

## 1. Map the codebase
Read the code — entry points, config, models/schema, routes/API, core business logic, background jobs, frontend structure, tests. Produce a **one-page map**:
- Tech stack and *why each piece is there* (examiners love "why Redis?" / "why Celery?")
- Directory layout with one line per important folder
- A Mermaid diagram of the main request flow (e.g. browser → API → service → DB → cache → job queue)
- Data model: entities and relationships (ER-style list or Mermaid `erDiagram`)
- The 3–5 features most likely to be demoed, with the files that implement each

## 2. Deep-dive walkthroughs
For each important feature, walk through **one concrete request end-to-end** with `file:line` references: what the user does → which route → validation → business logic → DB queries → response → frontend update. Explain non-obvious lines. Keep each walkthrough short enough to re-read the night before.

## 3. Predict the questions
Write a question bank grouped by type, each with a concise model answer citing code:
- **Design "why"**: Why this framework/DB/auth method? Why is this logic in the backend not the frontend?
- **"What if"**: What if two users book the last slot simultaneously? What if the job queue is down? What if the token expires mid-session?
- **"Show me where"**: Where is the password hashed? Where is role-based access enforced? Where is caching invalidated?
- **Security**: SQL injection, XSS, CSRF, authorization checks on every endpoint, secrets in code.
- **Trade-offs and limits**: What doesn't scale? What would you change with more time?
- **Live modification** (see step 5)

Flag honestly where the code has a weakness an examiner could find (missing authorization check, N+1 query, no input validation) — better to fix it or have an answer ready than be surprised.

## 4. Mock viva
If the user asks straight away to be quizzed, keep step 0 to a single optional line and start. Before the first question, say in one line how it works ("answer in your own words; I'll mark it, say what a strong answer adds, and point you to the line to re-read"). Ask questions **one at a time** and wait. Make the first real question go after something an examiner would actually probe: a genuine flaw or design decision in *this* code, not a warm-up recap. Mix difficulties; follow up on vague answers the way an examiner would ("and where exactly is that enforced?"). After each answer: brief verdict, what a strong answer would add, the `file:line` to revisit. Track weak areas and come back to them later in the session.

## 5. Live-modification practice
Examiners often say "change X right now". Assign 3–5 small tasks graded by difficulty, e.g.:
- Add a new field to a model and show it in the UI
- Change a validation rule and its error message
- Add a filter/sort to a list endpoint
- Add a role check to an endpoint
Let the user attempt each themselves; give hints, not solutions, unless asked. Afterwards, review their diff. If they ask you to make the change, make it — but in a **branch or copy**, and never touch real databases or user data while testing.

## 6. Leave behind
A `VIVA_PREP.md` (if they want a file) with: the map, the walkthroughs, the question bank with answers, and a "weak spots to revise" list from the mock viva. Keep it skimmable.

Respect academic rules: if the user says (in this conversation) that AI help isn't allowed for some parts, don't write that code for them. Explain and quiz instead. Work from the code in front of you, and don't assume which project it is from other context.
Files in this package (19)
  • SKILL.md 5 KB
  • evals/maps-flask-app-and-predicts-questions/case.yaml 1 KB
  • evals/maps-flask-app-and-predicts-questions/place-files.sh 1 KB
  • evals/maps-flask-app-and-predicts-questions/prompt.md 1 KB
  • evals/maps-flask-app-and-predicts-questions/files/app.py 1 KB
  • evals/maps-flask-app-and-predicts-questions/files/models.py 1 KB
  • evals/maps-flask-app-and-predicts-questions/graders/01-the-response-cites-at-least.md 1 KB
  • evals/maps-flask-app-and-predicts-questions/graders/02-every-cited-line-number-matches.md 1 KB
  • evals/maps-flask-app-and-predicts-questions/graders/03-the-response-flags-that-admin.md 1 KB
  • evals/maps-flask-app-and-predicts-questions/graders/04-the-response-flags-redirects-to.md 1 KB
  • evals/maps-flask-app-and-predicts-questions/graders/05-the-response-contains-nothing-drawn.md 1 KB
  • evals/mock-viva-one-question-at-a-time/case.yaml 1 KB
  • evals/mock-viva-one-question-at-a-time/place-files.sh 1 KB
  • evals/mock-viva-one-question-at-a-time/prompt.md 1 KB
  • evals/mock-viva-one-question-at-a-time/files/app.py 1 KB
  • evals/mock-viva-one-question-at-a-time/files/models.py 1 KB
  • evals/mock-viva-one-question-at-a-time/graders/01-the-response-asks-exactly-one.md 1 KB
  • evals/mock-viva-one-question-at-a-time/graders/02-the-question-targets-a-real.md 1 KB
  • evals/mock-viva-one-question-at-a-time/graders/03-the-response-briefly-says-how.md 1 KB

Versions

The database has no other skills named codebase-viva-prep.

Database snapshot: 13.11.2026 · package version 450546485f75 (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100defend-it
    Prepares a student to defend their own project in a viva, project review, or job interview. Reads the actual code, checks whether the idea is really useful (searching the web for similar products and real users), finds flaws an examiner would spot, then runs a mock viva or mock…
  • 90thesis-defense-viva
    Use when preparing for the viva voce / oral thesis defense — building the examiner's question set, rehearsing the presentation, and the pre-defense polish (slides, summary, the 'what if I'm stuck' responses) for a life-science or bioinformatics PhD.
  • 100capstone-viva-prep
    Capstone viva/defense Q&A drill: six question categories with follow-up chains, committee simulation, pressure rounds, scoring loops, honesty scripts. Never answers for you. Use when a student prepares for a viva voce, capstone defense questions, or committee follow-ups.
  • 100alterlab-thesis-supervisor
    Supervises theses and dissertations end to end — structure guidance from proposal through defense, chapter-by-chapter writing support (introduction, literature review, methodology, results, discussion), supervision strategies, committee management, defense and viva voce…
  • 95thesis-supervisor
    Comprehensive thesis and dissertation supervision assistant. Supports dissertation structure guidance (proposal through defense), chapter-by-chapter writing support (introduction, literature review, methodology, results, discussion), supervision strategies, committee management,…
  • 100exam
    Practice exam from the vault — build a mixed set of questions (definitions, calculations from the page's own worked examples, why/when, comparisons) from a source or topic page and its linked concept pages, take the user's answers, grade them with a rubric citing the pages, and…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.