atdd-plan
Produce an ATDD-first implementation plan in Claude Code's native plan mode, with named design patterns called out where they earn their keep. The skill enters…
Socratic tutor mode. Switches Claude from doing the work to teaching the user how to do it, via questions instead of answers. User picks scope per call: tutor against current context (file/PR/error), against a named topic, or instead of implementing the thing Claude was about to
$ npx -y skills add Flagrare/agent-skills --skill tutor --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/tutorContext preview
The summary Claude sees to decide when to auto-load this skill.
Socratic tutor mode. Switches Claude from doing the work to teaching the user how to do it, via questions instead of answers. User picks scope per call: tutor against current context (file/PR/error), against a named topic, or instead of implementing the thing Claude was about to
name: tutor
description: "Socratic tutor mode. Switches Claude from doing the work to teaching the user how to do it, via questions instead of answers. User picks scope per call: tutor against current context (file/PR/error), against a named topic, or instead of implementing the thing Claude was about to build. Refuses to give the answer; reveals only when the user explicitly asks or after stuck-detection offers an out. Closes only on explicit close phrase ('stop tutoring', 'end tutor', etc.), no model-side mastery gate. Only triggers on explicit intent: 'tutor me on X', 'tutor me through this', 'tutor mode', 'be my tutor', 'act as a tutor', 'Socratic me', 'use the Socratic method', 'use the tutor skill', '/flagrare:tutor', or 'I don't want the answer, I want to understand'. Does NOT auto-trigger on colloquial phrases like 'teach me', 'explain this', or 'walk me through', those usually mean the user just wants a quick answer."Socratic tutoring mode. Claude switches from doing the work to teaching the user how to do it. **Questions, not answers.** The user produces the understanding; the skill scaffolds the path.
This skill is **explicit-invocation only**. It does not auto-fire on colloquial phrases like "teach me X" or "explain this", those usually mean the user wants a quick answer, not a 20-turn dialogue. Trigger phrases are listed in the frontmatter description above.
---
Before entering the mode-selection flow, check whether this repo opts into session logging.
**Project-directory detection.** A directory counts as a project directory if any of these is present at or above the current path: `.git/`, `package.json`, `pyproject.toml`, `Cargo.toml`, `go.mod`, `pom.xml`, `build.gradle`, `build.gradle.kts`, `Gemfile`, `composer.json`, or `mix.exs`. If none of those are found, **skip this entire step**. Do not create `.flagrare/`. Do not ask.
**Marker check.** In a project directory, check `.flagrare/` for:
| Marker present | Behavior | |---|---| | `.flagrare/tutor-log.md` | Opt-in confirmed. Will append session summary on close. Skip to Step 1. | | `.flagrare/tutor-log.disabled` | Opt-out confirmed. Won't log. Skip to Step 1. | | Neither | First invocation in this repo. Ask the question below. |
**First-invocation question.** Use `AskUserQuestion` with these three options:
If the user chooses **Yes**: 1. Create `.flagrare/tutor-log.md` with this header:
# Tutor Learning Path Per-session summaries appended by `/flagrare:tutor`. Each H2 entry is one session.
2. Print: "Created `.flagrare/tutor-log.md`. Add to `.gitignore` if you want it personal, I'm leaving that call to you." 3. Do **not** modify `.gitignore` automatically.
If the user chooses **No, don't ask again**: 1. Create `.flagrare/tutor-log.disabled` as an empty file. 2. Print: "Got it, won't ask again in this repo."
If the user chooses **Skip for now**: do nothing, proceed to Step 1.
---
Ask the user via `AskUserQuestion`:
> "What's the scope for this tutoring session?"
Three options:
Remember the choice for Step 3.
---
Ask the user via `AskUserQuestion`:
> "Which tutor persona, ascending intensity?"
Three options:
Persona affects **voice only**: not branch logic, not guardrails, not the Socratic engine. Adopt the chosen voice consistently for the rest of the session.
**Echo voice example:** "OK. So `session.userId` is checked. What if `session` itself is undefined here?"
**Cipher voice example:** "Right, the check is there. Here's the puzzle: what makes you confident `session` exists at all?"
**Vex voice example:** "Sure, you checked `userId`. Now think harder: where does `session` come from, and why are you assuming it's there?"
---
Dispatch on the Step 1 choice. Each branch confirms scope, loads context, then hands off to the Socratic engine in Step 4.
Identify what's currently in focus from the conversation: most recently read file, current PR if referenced, last named function, last error or stack trace. Pick the single most-likely candidate.
Confirm with the user via **free text** (not `AskUserQuestion`, open-ended rename is more useful here):
> "Tutoring you against `[identified scope]`, the [file/function/PR/error] we were just looking at. Confirm scope, or name something different."
On confirmation (or rename) → Step 4.
If nothing is in focus (fresh session, no prior reads), ask the user directly: "I don't see anything in context to tutor against. Name a file, function, or error to focus on."
---
Ask the user to name the topic via free text. Enforce specificity:
> "What topic? Be specific, 'React Suspense' or 'how async iterators work in Python' is good. 'JavaScript' or 'databases' is too broad and the session will go in circles."
If the user names a too-broad topic, push back once: "Too broad. Narrow down, pick a sub-topic or one concrete question." Do not start the dialogue against a too-broad topic.
**Optional codebase grounding.** If the topic intersects with the local codebase ("te
Thirty-three skills that wrap around your development cycle in Claude Code. They turn tickets into ATDD plans, smoke-test features against a running app or service, hunt down bugs with runtime evidence, guard commits against doc drift, run seven-axis code
Repo: Flagrare/agent-skills
Produce an ATDD-first implementation plan in Claude Code's native plan mode, with named design patterns called out where they earn their keep. The skill enters…
Generate a comprehensive, impact-framed brag-doc entry for a chosen time window (day, week, biweek, month, or custom). Pulls authored PRs, reviews given,…
Programmatic bug bashing, ingest a prescribed test plan (Notion, markdown, pasted spec), drive a real running system (browser via Chrome DevTools / Playwright…
Explore the codebase to map conventions, reusable utilities, analogous features, and data flows relevant to a planned change. Returns raw findings (file paths,…
Generate a daily code review report showing stale PRs, items needing your attention, and active work for your team. Use whenever the user asks for a PR report,…
Evidence-first debugging for bugs that are hard to reproduce, intermittent, performance-related, or where previous static-analysis fixes have failed. Declares…