Agent skill

Socratic

by m4vic in m4vic/socratic

This skill should be used when the user asks to "build", "design", "scaffold", "architect", or "plan" any system, feature, service, app, agent, pipeline, connector, or tool — especially when the…

MITAuto-check passedEducation

Install Socratic

skills CLI
$ npx skills add m4vic/socratic --skill socratic -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install m4vic/socratic socratic --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
socratic
GitHub stars
127
Token cost
~3.1k tokens
SKILL.md length
1,612 words
Files
81 (incl. references, assets)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when the user asks to "build", "design", "scaffold", "architect", or "plan" any system, feature, service, app, agent, pipeline, connector, or tool — especially when the…

  • Works in 7 steps: Build the working domain set dynamically → Load the smallest sufficient base… → Add specialized knowledge packs only… → …
  • Plan any system
  • SKILL.md covers Two modes, Mode A — Self-interrogation, Interactive mode and Preset domain combinations, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Socratic is an agent skill from m4vic/socratic. This skill should be used when the user asks to "build", "design", "scaffold", "architect", or "plan" any system, feature, service, app, agent, pipeline, connector, or tool — especially when the request is short, vague, or underspecified. It should also be used when the user asks to "review this architecture", "what am I missing", "ask me the right questions", "poke holes in this", or requests a design review before implementation. The skill interrogates the design silently across the relevant engineering domains…

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 85 other files, including reference files and assets (for example `Contribution.md`, `PROMPT.md` and `PROMPT_LITE.md`).

It sits in Education, covering Tutoring and explanations and Design review and critique. The repository describes itself as: self questioning skill for agents , claude code , codex etc. The licence is MIT.

When your agent uses it

  • Plan any system
  • Tool — especially when the request is short
  • Asks to review this architecture
  • What am I missing

Example prompts

  • “design”
  • “scaffold”
  • “architect”
  • “/socratic”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Build the working domain set dynamically
  2. Load the smallest sufficient base question depth
  3. Add specialized knowledge packs only when they sharpen the task
  4. Self-answer the selected material questions
  5. Run a sufficiency check and stop deliberately
  6. Emit the output contract once
  7. Build and verify

What it can do on your machine

Read from SKILL.md and the folder at commit 3cfaf6e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Socratic loads about 3.1k tokens when it runs, and up to ~3.8k if it reads all its reference files. Until then it costs about 200 tokens; SKILL.md has 1,612 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~200
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from m4vic/socratic at commit 3cfaf6e, republished under its MIT licence (© m4vic). 1,612 words, ~3,121 tokens.

Download SKILL.mdSave it as .claude/skills/socratic/SKILL.md (or your agent's skills folder). This skill also uses 80 other files; get the full folder from GitHub.
name
socratic
description
This skill should be used when the user asks to "build", "design", "scaffold", "architect", or "plan" any system, feature, service, app, agent, pipeline, connector, or tool — especially when the request is short, vague, or underspecified. It should also be used when the user asks to "review this architecture", "what am I missing", "ask me the right questions", "poke holes in this", or requests a design review before implementation. The skill interrogates the design silently across the relevant engineering domains (requirements, frontend, backend, data, API, security, infra, testing, observability, AI/LLM, mobile, product, cost, compliance, maintenance), resolves what the codebase and engineering defaults can answer, and surfaces only the decisions that require the user's authority.

Socratic

Question yourself till you're left with only answers.

A curated bank of 697 questions a senior engineer asks before and during a build, split by domain. The default mode is self-interrogation, not interviewing the user. Read the codebase, apply engineering defaults, reason through the relevant questions, and ask the user only for decisions nobody but they can make.

Two modes

Mode A — Self-interrogation (default). Ask and answer the relevant questions internally, then show the resulting contract once.

Mode B — Interactive interview (opt-in). Ask the user one yes/no question at a time. Enter this mode only when the user asks to be interviewed, walked through the decisions, or questioned one at a time.

If unsure, use Mode A. Silence is not a request to be interviewed.

Mode A — Self-interrogation

1. Build the working domain set dynamically

For every build, include Requirements and Testing. Then inspect both the request and the existing project for domain signals:

Signal in the request or projectDomain file
UI, page, component, dashboard, form, frontend01-frontend.md
service, endpoint, job, queue, backend, business logic02-backend.md
database, schema, storage, persistence, migration, cache03-data.md
API, SDK, webhook, connector, integration, OAuth04-api.md
authentication, accounts, payments, secrets, external input, public exposure05-security.md
deployment, CI/CD, containers, cloud, scaling06-infra.md
production, unattended work, cron, monitoring08-observability.md
AI, LLM, agent, prompt, model, RAG, tool use09-ai-llm.md
mobile, iOS, Android, offline, PWA10-mobile.md
human-facing workflow, onboarding, errors, CLI11-product-ux.md
scale, latency, traffic, token or cloud spend12-cost-performance.md
personal or regulated data, health, finance, minors, licensing13-compliance.md
maintained, long-lived, or team-owned work14-team-maintenance.md

Do not stop at the first match. A connector, for example, normally pulls in API, Security, and Testing. If answering one domain reveals another dependency, add that domain and continue until a complete pass reveals no new domains.

2. Load the smallest sufficient base question depth

Keep the user-facing behavior unchanged while controlling context use:

  • Core (default): For routine, prototype, internal, or moderately scoped work, read the matching files under questions/core/. Always include questions/core/00-requirements.md and questions/core/07-testing.md.
  • Full: For production systems, external users, public APIs, authentication, money, PII, regulated data, autonomous tools, costly or irreversible actions, or an explicit deep/full/audit request, read the matching complete files directly under questions/. Always include the complete Requirements and Testing files.
  • Escalation: If a core answer exposes a serious security, reliability, compliance, scale, or operational risk, replace that core domain with its complete file before building.

Treat $socratic lite or $socratic quick as an explicit Core request. Treat $socratic deep, $socratic full, and $socratic audit as explicit Full requests. Never load all fifteen complete files unless the system genuinely spans all fifteen domains.

Questions consume context even when asked silently. Optimize for material risks resolved, not the number of questions processed.

3. Add specialized knowledge packs only when they sharpen the task

Base domain files stay primary. Packs are optional overlays, not replacements.

  • Use a pack when the task clearly maps to a specialized body of tradeoffs, failure modes, or heuristics that the generic domain files do not capture well enough. First consult packs/registry.md after selecting the base domains.
  • Load packs/<pack>/core.md after the base domain files. A pack may also provide full.md; load it only when the core pack proves insufficient for the decision at hand. Most packs ship core only.
  • Prefer zero to two packs per task. Too many packs recreates the same token problem the Core/Full split was added to solve.
  • Treat pack content as compact decision support: question, default answer pattern, tradeoffs, anti-patterns, escalation triggers, and verification checks.
  • Select a pack by the capability it adds, not by recognising a book title. Its source material is provenance, not the routing rule.
  • For pack structure or naming guidance, read references/knowledge-pack-architecture.md.

Examples:

  • Use packs/software-design/core.md when reviewing complexity, module boundaries, interface design, or accidental generality.
  • Use packs/domain-modeling/core.md when carving a system into boundaries, naming concepts, or deciding what must stay consistent together.
  • Use packs/data-systems/core.md when reviewing durable state, consistency, queues, retries, migrations, or failure recovery.
  • Use packs/operations/core.md when the work must survive production — timeouts, retries, load shedding, rollback, or alerting.
  • Use packs/threat-modeling/core.md when mapping trust boundaries, attacker paths, abuse cases, mitigations, or security verification.
  • Use packs/ai-engineering/core.md when building an LLM product, RAG system, model evaluation, or tool-enabled workflow.
  • Use packs/agent-design/core.md when building an agent or subagent, splitting work across agents, setting tool permissions, or deciding how agent output gets verified.
  • Use packs/legacy-change/core.md when modifying code that already works, has no tests, or is being replaced incrementally.
  • Use packs/testing-design/core.md when deciding what to test, what to mock, or why a suite is brittle or untrusted.
  • Use packs/product-discovery/core.md when the value of the thing itself is unproven — before the engineering packs, not alongside them.

New packs follow the same overlay pattern. Consult packs/registry.md for pairings and for choosing between adjacent packs.

3b. Check whether a target grade is active

A grade is different from a pack: it does not add topic depth, it sets the target the whole run is aiming for and changes what "done" means. Load one when the user names a target explicitly — "make this production ready", "MVP is fine", "get this to production grade", $socratic mvp, $socratic production — or when the request states it ("this needs to survive real traffic", "just a prototype for now").

Consult grades/registry.md, load the matching grade file, and follow the domains and packs it marks mandatory in addition to whatever the dynamic scan already selected. When a grade is active, its gate — not step 5's generic sufficiency check — decides when the run stops. No grade named means no change: proceed as below.

Grades are cumulative: enterprise supersedes production supersedes mvp. Resolve the entire chain down to mvp, not only the items listed in the named grade's own file — each file states what it supersedes and does not repeat those items in different words, so there is exactly one definition of each check to satisfy, not several that could disagree.

Show full SKILL.md (634 more words)Show less
4. Self-answer the selected material questions

Resolve each selected question in this order:

  1. Read first. Use the codebase, configuration, documentation, prior conversation, and repository conventions.
  2. Apply the engineering default. When evidence does not decide an engineering choice, take a defensible default and record consequential assumptions.
  3. Escalate only authority decisions. Ask the user only about business priorities, budget, vendor choice, target market, legal risk tolerance, or irreversible decisions that materially change the result.

Do this silently. The user should see the resulting decisions, not the raw question bank.

5. Run a sufficiency check and stop deliberately

Socratic is not an instruction to exhaust a questionnaire. Its purpose is to reduce material uncertainty until the agent has a solid, evidence-backed basis to act.

If a grade is active, skip this step's five conditions and use the grade's gate instead — stop when every gate item is resolved, mitigated with a stated reason, or marked not applicable, not when this section's conditions happen to be met. The rest of this step applies only when no grade was named.

After each domain or decision cluster, stop expanding the review when all of the following are true:

  1. The requested outcome, scope, and consequential assumptions are clear.
  2. Every material risk has a mitigation, a verification step, an explicit acceptance by the appropriate authority, or a clearly stated escalation.
  3. No unresolved contradiction changes the implementation plan.
  4. The next plausible question would not materially change the design, risk, cost, authority decision, or verification plan.
  5. The plan has a proportionate way to falsify its riskiest assumptions.

If any condition fails, add the smallest relevant domain, deeper question depth, or pack. Do not continue merely to use more questions, and do not stop merely because a token budget is low. Stop because the remaining uncertainty is immaterial to the current task.

6. Emit the output contract once

Before implementation, emit:

text
Domains considered: <each selected domain and why>
Self-answered highlights: <5-10 decisions that shaped the design>
Assumed (flag if wrong): <consequential defaults>
Open questions for you: <ideally 0-3 authority decisions>
Top risks: <material risks from the selected domains>
Plan: <what will be built>

Batch any genuinely blocking open questions. Do not turn the interrogation into the deliverable.

7. Build and verify

Build after blocking decisions are resolved. Apply the Verification guidance from every loaded domain and pack, including anything added during the review. Report what passed, failed, or could not be verified without external access.

Interactive mode

When the user explicitly requests an interview:

  1. Build the same dynamic domain set and choose Core or Full using the same rules.
  2. Ask one material decision at a time with a recommended default.
  3. On a correction, absorb it and continue. If the user says to stop or proceed, self-answer the remainder and build.
  4. Keep the interaction proportional: 0-2 questions for a one-off, 3-6 for a prototype, 8-15 for production, and 15-25 for money, PII, health, or regulated systems.
  5. Emit the same output contract before building.

Preset domain combinations

Use these as a sanity check, not a fixed router:

BuildingExpected domains
CRUD web app00, 01, 02, 03, 05, 07
Public API or SDK00, 02, 04, 05, 08, 12, 07
Connectors or integrations00, 04, 05, 07, plus each connector's dependencies
AI agent or chatbot00, 09, 05, 12, 08, 11, 07
RAG pipeline00, 09, 03, 12, 13, 07
Data pipeline or ETL00, 03, 06, 08, 13, 07
Mobile app00, 10, 01, 05, 11, 07
Infrastructure change00, 06, 08, 12, 14, 07
Payments feature00, 02, 03, 05, 13, 07
One-off script00, 07

Guardrails

  • Do not ask what project inspection can answer.
  • Do not expose the full question bank to the user by default.
  • Do not escalate engineering decisions merely to avoid responsibility.
  • Do not keep interviewing after the user asks to proceed.
  • Do not claim verification without evidence.
  • Do not present legal conclusions; identify matters requiring counsel.
  • Do not depend on vendor-specific planning modes, memory systems, tool names, or subagent APIs.

© m4vic, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 80 other files (references, assets) in the repository root of m4vic/socratic.

  • SKILL.md
  • .gitignore
  • Contribution.md
  • LICENSE
  • PROMPT.md
  • PROMPT_LITE.md
  • README.md
  • agents/openai.yaml
  • assets/logi.png
  • assets/pix.png
  • grades/enterprise.md
  • grades/mvp.md
  • grades/production.md
  • grades/registry.md
  • packs/_template/core.md
  • packs/_template/full.md
  • … and 65 more

Open the folder on GitHubat commit 3cfaf6e

Compare with similar skills

Socratic next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Socratic compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Socratic this skillm4vic/socratic127—~3.1kAutomated safety check: PassMIT
Navigating GitHubjeremylongshore/tons-of-skills-marketplace2.8k—~2.3kAutomated safety check: NotesMIT
DeepTutor CLIHKUDS/DeepTutor41k—~2.8kAutomated safety check: PassApache-2.0
AI Engineering Project Tutorrohitg00/ai-engineering-from-scratch66k—~1.6kAutomated safety check: PassMIT
Hung-Yi Lee Teaching Stylevoidful/hung-yi-lee-skill1.3k—~13kAutomated safety check: PassNone
Claude Certification Tutorrohitg00/ai-engineering-from-scratch66k—~3kAutomated safety check: PassMIT

Similar skills

  • Navigating GitHub

    jeremylongshore/tons-of-skills-marketplace

    First-time GitHub setup and interactive git learning. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~2.3k tokensUpdated today
    EducationAuto-check: notes
  • DeepTutor CLI

    HKUDS/DeepTutor

    Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.

    41k GitHub stars~2.8k tokensUpdated today
    EducationAuto-check passed
  • AI Engineering Project Tutor

    rohitg00/ai-engineering-from-scratch

    Tutors a learner through one stage of a hands-on AI engineering project per session: lesson, prediction, code, grader run and reflection, with hints but never full solutions.

    66k GitHub stars~1.6k tokensUpdated 2 days ago
    EducationAuto-check passed
  • Hung-Yi Lee Teaching Style

    voidful/hung-yi-lee-skill

    Explains machine learning, LLMs, AI agents and speech modeling in a Hung-Yi Lee-inspired teaching style, drawing on a knowledge base built from his lectures and research references.

    1.3k GitHub stars~13k tokensUpdated 1 mo ago
    EducationAuto-check passed
  • Claude Certification Tutor

    rohitg00/ai-engineering-from-scratch

    Guides a learner through one of four independent Claude certification tracks with onboarding, lessons, practice labs, mock exams and remediation.

    66k GitHub stars~3k tokensUpdated 2 days ago
    EducationAuto-check passed
  • StudyVault Quiz Tutor

    bevibing/tutor-skills

    Quizzes you on the notes in an Obsidian StudyVault, tracks proficiency per concept and drills weak areas in four-question rounds.

    1.3k GitHub stars~1.4k tokensUpdated 7 mo ago
    EducationAuto-check passed

Questions about Socratic

What does Socratic do?

This skill should be used when the user asks to "build", "design", "scaffold", "architect", or "plan" any system, feature, service, app, agent, pipeline, connector, or tool — especially when the…. Socratic is an agent skill from m4vic/socratic. This skill should be used when the user asks to "build", "design", "scaffold", "architect", or "plan" any system, feature, service, app, agent, pipeline, connector, or tool — especially when the request is short, vague, or underspecified.

When should I use Socratic?

Socratic fits situations like: plan any system; tool — especially when the request is short; asks to review this architecture; what am I missing.

How do I install Socratic in Claude Code?

Run `npx skills add m4vic/socratic --skill socratic -a claude-code`. Or copy the skill folder (the m4vic/socratic repository) into .claude/skills/socratic in your project. Claude Code loads it when a task matches its description.

How do I install Socratic in Codex?

Run `npx skills add m4vic/socratic --skill socratic -a codex`. Or copy the skill folder (the m4vic/socratic repository) into .agents/skills/socratic in your project. Codex loads it when a task matches its description.

Can I use Socratic in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add m4vic/socratic --skill socratic -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/socratic, .gemini/skills/socratic, .github/skills/socratic and .opencode/skills/socratic in your project.

What does Socratic need to run?

SKILL.md names no scripts, command-line tools or credentials: Socratic is instructions for the agent only.

Does Socratic access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Socratic safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Socratic use?

Socratic is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Socratic use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 713 tokens, read only when the agent opens those files.

What are the alternatives to Socratic?

Skills that share tags, products or a category with Socratic: Navigating GitHub (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), DeepTutor CLI (HKUDS/DeepTutor, 41k stars), AI Engineering Project Tutor (rohitg00/ai-engineering-from-scratch, 66k stars) and Hung-Yi Lee Teaching Style (voidful/hung-yi-lee-skill, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Socratic?

m4vic (a GitHub user) maintains it in m4vic/socratic, which has 127 GitHub stars. The repository was last updated on August 13, 2026.

Source: m4vic/socratic on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.