本文へ移動
cccskills
無料GitHub で公開

socratic-provocateur

Challenge the user's code, architecture, or debugging reasoning using the Socratic method: pointed, open-ended questions that expose unexamined assumptions instead of handing over fixes or verdicts. Use only when the user explicitly invokes it (e.g. "be a socratic provocateur about this", "poke holes in this", "play devil's advocate on this design", "challenge my thinking before I merge/ship this", "grill me on this approach").

日本語の概要は準備中です。原文の説明を表示しています。

mikemai2awesome/agent-skillsスター 16(GitHub 16 + cccskills 0)

実行スコア 未検証

インストール方法を見る

含まれるファイル(2)

  • SKILL.md5.1 KB
  • evals/evals.json2.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Socratic Provocateur

A reasoning stance for code review, architecture decisions, debugging, and pre-commit self-review. The goal is not to correct the user or to prove them wrong — it's to make them re-derive and stress-test their own reasoning by surfacing assumptions they haven't examined. Insight the user reaches themselves sticks; a fix you hand them does not.

The core move

When this skill is active, resist the pull to diagnose or fix. Instead:

  1. Read the code/design/plan closely enough to find the load-bearing assumptions — the things that would need to be true for this to be correct, but that nobody stated out loud.
  2. Turn each one into an open-ended question (never yes/no) aimed at that specific assumption, not at generic best practices.
  3. Ask 3-5 questions per round, ordered from most consequential to least. Don't dump every question you can think of — that reads as a checklist, not a dialogue.
  4. Wait for the user's answers before going further. If an answer reveals a new unexamined assumption, follow it with another question rather than moving to your next prepared item.
  5. Only state a conclusion, verdict, or fix when: the user explicitly asks for one, they've hit a genuine dead end and are stuck, or they've clearly already reasoned their way to the answer and just want confirmation. Otherwise let the questioning itself be the deliverable.

If you're unsure whether you're "just fixing it," check yourself: did you ask something whose answer you don't already know the implications of? If you already know exactly what's wrong and your "question" is just a fix in disguise ("have you considered using a Set instead of nested loops?"), rewrite it to target the assumption instead ("what's this function's contract if the input list already has duplicates that aren't adjacent?").

Where to aim the questions (coding contexts)

Pick the categories that fit what's in front of you — don't force all of them into one review.

  • Code review: What happens on empty input, a duplicate call, a timeout, or concurrent access? What does this function's name promise, and does the body keep that promise? What's the second caller of this abstraction, and if there isn't one yet, why does the abstraction exist?
  • Architecture / design decisions: What's the simplest version that would work, and what is this version buying over that? What breaks first under 10x load, and does that matter for this system? If this dependency disappeared tomorrow, how much of the codebase would notice?
  • Debugging: What evidence would prove your current theory wrong? What did you rule out, and how? If you "fix" this, what's the smallest test that would tell you the fix addressed the cause and not a symptom?
  • Pre-commit self-review: What are you assuming about the caller of this code? What test, if it failed, would prove this is wrong — does it exist? What would you have to explain to a reviewer that isn't obvious from reading the diff alone?

Tone

Challenging, not adversarial. The target is the reasoning, never the person. Curious rather than skeptical-sounding — you're genuinely trying to find out whether the assumption holds, not scoring a point. Short, direct questions land better than elaborate ones; a paragraph of setup before the question buries it.

Example

Treat the phrasing below as one illustration of the stance, not a template to reuse verbatim. Vary how you open each round — a fixed opening line across different reviews reads as scripted rather than genuinely curious.

Input: "Reviewed my own PR before requesting review — a function that dedupes a list of user records by email before sending a batch notification. Looks fine to me."

Weak response (fixing, not provoking): "This looks good, but you should also trim/lowercase emails before comparing, in case of case differences."

Good response (Socratic provocateur): "A few things worth sitting with before you request review:

  • What happens to two records with the same email but different casing, or trailing whitespace — does your dedupe treat those as the same user?
  • If the batch notification partially fails halfway through, does the caller know which deduped records went out and which didn't?
  • Whose email do you keep when two records collide — does that choice matter to whoever reads the notification?"

Knowing when to stop

Stop provoking and just answer directly once the user has: explicitly asked for your take, reached a clear conclusion through the questions and is asking you to confirm it, or is visibly stuck after a couple of rounds and restating the same uncertainty. Provocation that continues past the point of usefulness reads as withholding, not Socratic.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Style and fully customize the Brightcove video player UI — control bar, play button, progress bar, volume, captions, playlists, responsive sizing, and skins. Use this skill whenever the user mentions Brightcove, video-js player styling, customizing a Brightcove player, changing player colors/layout/controls, embedding a Brightcove player, making it responsive, player skins or themes, Brightcove Studio styling, or working with Brightcove playlists or captions. Also use it when the user is working with `.video-js`, `vjs-*` CSS classes, or `bc()` / `videojs.getPlayer()` / `videojs()` JavaScript APIs.

日本語の概要は準備中です。原文の説明を表示しています。

mikemai2awesome/agent-skills162026年7月31日 更新

Structure and organize Storybook files for scalability using battle-tested patterns. Based on "A Storybook format that scales with you" by Cassondra Roberts. Always use this skill when creating or editing any Storybook story file, writing template files, organizing a component library, setting up visual regression tests with Chromatic, or when the user asks anything about Storybook — even casual questions about file structure, controls, args, or how to document a component.

日本語の概要は準備中です。原文の説明を表示しています。

mikemai2awesome/agent-skills162026年7月31日 更新

Write minimal, accessible web UI without over-engineering, adapting to whatever stack the project uses — React, Vue, Svelte, Angular, web components, or plain HTML. Use this skill on every project and every task that writes or reviews markup or components, builds forms, adds interactive elements like buttons, dialogs, accordions, or tabs, or audits code for accessibility — even when the user never mentions accessibility, and even inside a framework, CMS, or design system. It's non-negotiable regardless of project type, stack, or deadline. About to reach for ARIA attributes, a dialog library, a focus-trap package, or a headless UI component? Use this skill first.

日本語の概要は準備中です。原文の説明を表示しています。

mikemai2awesome/agent-skills162026年7月31日 更新

Define and enforce consistent coding standards across HTML, CSS, and JavaScript. Always use this skill when naming a new class, variable, component, or file; setting up a new project's conventions; choosing a class prefix for a new CSS category; deciding on modifier API names (sizes, shades, hierarchy, breakpoints); or reviewing code for formatting and naming consistency. If you're about to invent a prefix, abbreviation, or modifier name without checking the conventions first, use this skill.

日本語の概要は準備中です。原文の説明を表示しています。

mikemai2awesome/agent-skills162026年7月31日 更新

Create web interfaces with an authentic early-2010s aesthetic. Use this skill when the user wants a 2010s-era, Web 2.0, or retro corporate web look — gradient headers, glossy buttons, skeuomorphic icons, horizontal band layouts, and drop shadows from circa 2010–2014.

日本語の概要は準備中です。原文の説明を表示しています。

mikemai2awesome/agent-skills162026年7月31日 更新

ios-a11y

無料

Implement accessibility in iOS apps using Swift, UIKit, and SwiftUI. Use this skill whenever working on any iOS development task that involves: making UI elements accessible to VoiceOver or other assistive technologies, adding or reviewing accessibility labels/hints/traits/actions/values, supporting Dynamic Type or text scaling, respecting Reduce Motion or reduced transparency preferences, adapting to Dark Mode or increased contrast, building accessible forms and inputs, announcing dynamic content changes, managing focus programmatically, customizing accessibility focus order, supporting external keyboard navigation, or auditing iOS code for accessibility issues. Trigger even when the user only says "SwiftUI" or "UIKit" without mentioning "accessibility" explicitly — if they're building custom controls, modals, forms, lists, or animated views, this skill applies.

日本語の概要は準備中です。原文の説明を表示しています。

mikemai2awesome/agent-skills162026年7月31日 更新

mikemai2awesome のスキルをすべて見る

このスキルの問題を報告する