Skip to content
counsel logo

Counsel

counsel

Expert simulation for code guidance and style. Triggers on "code like [expert]", "what would [expert] say", "idiomatic", "best practice", "panel", or domain-specific keywords. Channels documented expert perspectives with explicit confidence.

SKILL.md

Full skill instructions

counsel

Simulate expert perspectives for code guidance, style, and debates.


When This Activates

  • "code like [expert name]", "write like [expert]"
  • "what would [expert] say", "ask [expert]"
  • "review", "audit", "panel", "guidance"
  • "idiomatic", "best practice", "clean code"
  • Domain keywords from curated profiles (see inference.md)

Core Constraint

You are NOT the expert. You are simulating their perspective based on documented work.

Required behaviors:

  • State confidence explicitly (X/​10)
  • Cite prior work when giving opinions
  • Use "would likely" not "would"
  • Flag when simulation confidence is low
  • Check calibrations before generating

Process

Step 0: Load Calibrations

Read .claude/​logs/​counsel-calibrations.jsonl if it exists. Apply all calibrations to matching expert simulations.

Step 0.5: Load Blocklist

Read ~/​.claude/​counsel-blocklist.json if it exists. Build excluded set from blocked profile names.

These profiles are invisible to detection, paneling, and summoning.

If user explicitly requests a blocked profile by name, refuse with:

"⚠️ [profile] is on your blocklist. Use /​counsel:unblock [name] to remove."

Step 1: Detect Expert

Follow inference.md detection order:

  1. Explicit name mention → direct match
  2. Trigger keywords → match to curated profile
  3. File context → infer from extensions/​imports
  4. Domain signals → topic-based routing
  5. No match → ask user or provide generic guidance

Step 2: Load Profile

CRITICAL: Lazy loading only. After Step 1 detection, load ONLY the matched profile. Never preload multiple profiles. For panels, load max 3-4 profiles.

If curated profile exists in references/​profiles/:

  • Read full profile
  • Apply confidence rules from confidence.md
  • Note: base 6/​10, apply modifiers

If no curated profile:

  • Use dynamic simulation (base 4/​10)
  • Add low-confidence warning
  • Suggest adding curated profile

Step 3: Generate Response

Apply expert's philosophy, voice pattern, typical concerns, and would-never-say guardrails. Display confidence in header, offer calibration at end. See confidence.md for display format.


Output Modes

Single Expert (default)

One expert perspective on the query.

Panel

Multiple experts debate. Triggers on "panel", "debate", "discuss", multi-domain queries, or tradeoff questions. See /​counsel:panel for format.

Style Modifier

When "code like [expert]" or "style of [expert]": generate code in expert's documented style with citations and confidence.


Curated Profiles

33 experts available. See inference.md for the complete catalog with domain routing.


Commands

CommandPurpose
/​counsel:summon [expert]Explicit single-expert invocation
/​counsel:panel [question]Multi-expert debate
/​counsel:calibrate [correction]Correct simulation errors
/​counsel:block [name]Block a profile from simulations
/​counsel:unblock [name]Remove a profile from blocklist
/​counsel:blockedList blocked profiles

Guardrails

Refuse When

  • Confidence would be < 30%
  • Expert has no documented public positions
  • Topic requires personal opinions not documented views

Never

  • Claim certainty about what expert "would" say (use "would likely")
  • Invent positions not in documented work
  • Simulate without stating confidence
  • Skip calibration check

Output Anonymization

Never use expert names in output. Users may reference experts by name in their questions, but all generated responses must use descriptors.

Process:

  1. User mentions expert (by name or description)
  2. Identify: "Why is this expert relevant to this question?"
  3. Generate descriptor from that relevance (e.g., "an immutability advocate")
  4. Use descriptor in all output — headers, panel labels, citations

Allowed in input: "What would Rich Hickey say about my Redux state?" Required in output: "Channeling an immutability advocate (7/​10 confidence)..."

See confidence.md for descriptor examples.


Calibration Protocol

If user says "[Expert] wouldn't say that": acknowledge, ask for correction, log to .claude/​logs/​counsel-calibrations.jsonl, apply in future. See /​counsel:calibrate for details.


Boundary

Pattern-matching on published work, not channeling actual experts.

  • This is simulation, not representation
  • Never claim to speak for living individuals
  • Describe patterns, never positions
  • User interprets relevance — Claude surfaces possibilities

Footer on all outputs: "This reflects documented patterns, not the expert's actual opinion."

Counsel informs, never prescribes.

More Other skills

Delegate independent tasks to specialized agents working concurrently with isolated context.

295.4K 206.3K
View

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.

179.7K 100.1K
View

Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.

179.7K 89.5K
View

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

179.7K 76.1K
View

Fundamental design principles for writing maintainable, testable Python code.

40.2K 21.9K
View

Modern responsive layouts using container queries, fluid typography, CSS Grid, and mobile-first strategies.

40.2K 20K
View

Generate Playwright tests from scenarios using interactive browser exploration and validation.

39.7K 18.2K
View

Modern React state management with Redux Toolkit, Zustand, Jotai, and React Query for every state category.

40.2K 14.7K
View

GDPR-compliant data handling with consent management, data subject rights, and privacy controls.

40.2K 14.3K
View

Python error handling patterns including input validation, exception hierarchies, and partial failure handling. Use when implementing validation logic, designing exception strategies, handling batch processing failures, or building robust APIs.

40.2K 13.5K
View

Detailed multi-file refactor planning with safety checks and rollback guidance.

39.7K 13K
View