For general artifacts (code, documents, architecture, proposals, URLs):
Provide a file path, directory path, URL, or paste content directly.
For skill audits (SKILL.md or skill directory):
Provide the skill directory path (e.g. ./my-skill/ or ~/.claude/skills/my-skill/)
or the skill name (e.g. expert-opinion). The unified pipeline detects skill-audit
mode automatically and runs structural pre-validation, specialized expert panel,
maturity scorecard (1-5 across 6 dimensions including Platform Dependencies), and a
phased remediation plan.
Pre-routing check (optional, for skill-audit hints):
If the input is a directory path OR a bare word that looks like a skill name, intake.md
Phase 2 will check for SKILL.md presence (in ./, ~/.claude/skills/, ~/.agents/skills/)
and set mode accordingly. No need to branch here.
Route (always):
→ workflows/intake.md (Phase 1 detects input type; Phase 1.5 checks knowledge freshness;
Phase 1.6 detects environment; Phase 1.7 dialogic disclosure; Phase 2 determines mode)
Special routes (user-initiated):
- User says "refresh knowledge" / "refresh the knowledge repo" → workflows/refresh-knowledge.md
- User says "show past audits" / "audit history" → reads .expert-opinion/audits/index.json
- User says "diff against last audit" → triggers diff-aware mode in intake.md Phase 1
Ambiguity: If a path could be a skill directory or a general codebase, intake.md
Phase 2 asks: "Is this a skill directory or a general codebase?" Then sets mode based
on the answer.
1---2name: expert-opinion3description: Use when you want multi-expert parallel review of any artifact — code, documents, architecture plans, business proposals, agentic skills, or any URL. Detects your environment, discloses what it found, asks what to add, then proposes expert perspectives specific to the submitted artifact. Gates on confirmation. Runs each expert in a parallel subagent with streaming progress markers. Synthesizes findings into a prioritized audit document. Runs adversarial verification on critical/major findings. Supports follow-up conversation and remembers past audits for diff-aware re-audits. For skill artifacts (directories containing SKILL.md), uses a specialized skill-audit mode with structural pre-validation, maturity scorecard, and phased remediation plan.4---56<essential_principles>7 <parallel_architecture>8 Expert research runs in parallel subagents — one subagent per confirmed role. Never9 run expert reviews sequentially. Parallel execution is the core performance guarantee10 of this skill. Do not collapse experts into a single pass.11 </parallel_architecture>1213 <depth_bar>14 Every finding must be grounded in evidence — a direct quote, a file:line reference,15 or a concrete observation from the artifact. Surface-level observations without16 evidence are not acceptable. The depth bar is: would a senior practitioner in this17 domain consider this finding actionable and specific?18 </depth_bar>1920 <evidence_enforcement>21 The orchestrator MUST reject expert reports where findings lack verifiable artifact22 references. A finding's evidence field must contain at least one of: an exact quote23 from the artifact, a file:line reference, or a specific structural observation.24 Paraphrased descriptions do not qualify. Reports with empty or paraphrase-only25 evidence are recorded in missing_sections with the annotation "<findings:evidence>"26 and the synthesis must flag them as lower-confidence in per_role_highlights.27 </evidence_enforcement>2829 <security_first>30 Input sanitization and output redaction run before any subagent dispatch.31 Credential patterns in artifact content are replaced with [REDACTED: {type}]32 placeholders before the content reaches subagent task strings. Text-type inputs33 use only the first ~500 tokens for research query generation to prevent34 pre-boundary injection. The skill/platform boundary is respected: this skill does35 not reimplement RBAC, telemetry, MCP hosting, or session persistence that the host36 platform provides.37 </security_first>3839 <confirmation_gate>40 The user MUST confirm the expert role list AND the adaptive plan before any research41 begins. This is not optional. Present the proposal, collect confirmation via42 ask_user_questions, and proceed only on "Confirm all". Do not skip the gate even if43 the roles seem obvious.44 </confirmation_gate>4546 <no_web_search_in_intake>47 Role identification is pure in-context LLM inference from the artifact content.48 No web searches during intake role proposal. fetch_page is permitted only to read49 a submitted URL (the artifact itself) — never for supplementary research or role50 selection. Web research happens during the research phase, using pre-approved51 queries generated at intake.52 </no_web_search_in_intake>5354 <environment_adaptive>55 The skill operates multi-platform (Claude Code, Cursor, Gemini CLI, OpenAI Codex,56 local). At intake, it DETECTS what models / API keys / MCPs are available using57 static checks (no API pings), DISCLOSES findings to the user dialogically, and ASKS58 what the user wants to add or change BEFORE proposing any plan. Capability gaps59 (e.g., no web search) are SURFACED with options (enable / proceed-without / abort),60 never silently degraded. The skill NEVER assumes a specific model family.61 </environment_adaptive>6263 <knowledge_repo_freshness>64 The skill maintains a refreshable knowledge repo at references/knowledge-repo/65 (current model pricing, MCP catalog, OWASP baselines, skill spec, platform patterns).66 On every invocation, it checks meta.json for staleness. Files older than the67 threshold (default 14 days) trigger a freshness warning at intake. The user can68 refresh, proceed with stale data (flagged in output), or abort. The skill NEVER69 relies on training data for facts that change monthly.70 </knowledge_repo_freshness>7172 <unified_pipeline_with_modes>73 One intake → one research → one synthesis → one verify → optional conversation.74 The pipeline is unified across all artifact types. A `mode` field (default "general",75 alternative "skill-audit") drives conditional behavior: role taxonomy source,76 pre-validation checks, output sections. Mode-specific logic lives ONLY in77 references/modes.md and named conditional blocks in workflow files. Never create78 parallel pipelines for new artifact types — add a mode instead.79 </unified_pipeline_with_modes>8081 <skill_audit_specialization>82 When the artifact is a skill directory (contains SKILL.md), the unified pipeline83 runs in mode=skill-audit. This adds: structural pre-validation (6 checks per84 references/modes.md), specialized role taxonomy (references/skill-audit-roles.md),85 and output sections (<structural_health>, <maturity_scorecard>,86 <platform_dependencies>). Role selection uses the heuristics in87 references/skill-audit-roles.md, not general domain inference.88 </skill_audit_specialization>8990 <streaming_ux>91 During parallel research, emit a per-expert completion marker as each subagent92 returns. Maintain a visible <per_role_highlights_preview> that grows as experts93 complete. Offer cancellation windows at each expert boundary. The user must never94 wait in a silent hole for 2-5 minutes wondering if the skill is working.95 </streaming_ux>9697 <adversarial_verification>98 After synthesis template fill, run workflows/verify.md. For each critical + major99 finding (+ 10-20% sample of minor), a grounded verifier re-checks the finding100 against the artifact. Verifiers are NOT intrinsic self-critics — they must quote101 specific evidence or cite file:line. Verifier model is COMPOSED at runtime from102 environment + severity, with mandatory HITL gate showing the proposed mapping.103 Disputed findings are down-ranked one tier and tagged [DISPUTED]. Cost cap: 30%104 of research cost. If verification is disabled or unavailable, disclose in synthesis.105 </adversarial_verification>106107 <conversation_and_memory>108 After synthesis delivery, enter conversation mode (workflows/conversation.md).109 User can ask follow-ups, draft fixes, challenge recommendations, compare findings.110 Conversation is bounded to 6 turns; older summarized. On exit, write a MemoryEntry111 to .expert-opinion/audits/{fingerprint}.json. Future audits of the same artifact112 offer diff comparison. Memory contains METADATA only — never artifact content.113 </conversation_and_memory>114115 <synthesis_is_not_concatenation>116 The synthesis phase MUST perform a full pre-synthesis analysis pass (convergence scan,117 contradiction scan, severity aggregation with knowledge-repo calibration, open118 questions merge) before filling any template section. Filling template sections while119 simultaneously scanning produces incoherent output. Complete analysis first, hold120 results in working state, then do a single-pass template fill.121 </synthesis_is_not_concatenation>122123 <platform_boundary>124 The skill distinguishes between skill-level gaps (the skill's own code/docs) and125 platform-level capabilities (provided by the host platform like Claude Code or GSD).126 Enterprise readiness assessments that penalize the skill for missing platform127 features must include a platform-adjustment note. Audit templates and scorecards128 include a "Platform Dependencies" dimension where appropriate.129 </platform_boundary>130131 <methodological_disclosure>132 When the skill is run in self-audit mode (auditing itself), the synthesis document133 MUST include a disclosure note: "This audit was produced by the skill running in134 self-audit mode — the same patterns being evaluated were used to produce the135 evaluation." This transparency strengthens credibility and acknowledges the136 epistemic loop.137 </methodological_disclosure>138</essential_principles>139140<intake>141 What would you like expert review of?142143 **For general artifacts** (code, documents, architecture, proposals, URLs):144 Provide a file path, directory path, URL, or paste content directly.145146 **For skill audits** (SKILL.md or skill directory):147 Provide the skill directory path (e.g. `./my-skill/` or `~/.claude/skills/my-skill/`)148 or the skill name (e.g. `expert-opinion`). The unified pipeline detects skill-audit149 mode automatically and runs structural pre-validation, specialized expert panel,150 maturity scorecard (1-5 across 6 dimensions including Platform Dependencies), and a151 phased remediation plan.152</intake>153154<routing_decision>155 v2.0 uses a UNIFIED PIPELINE with mode flags. All inputs route to workflows/intake.md.156 Mode (general | skill-audit) is determined INSIDE intake.md Phase 2, not here.157158 **Pre-routing check (optional, for skill-audit hints):**159 If the input is a directory path OR a bare word that looks like a skill name, intake.md160 Phase 2 will check for SKILL.md presence (in `./`, `~/.claude/skills/`, `~/.agents/skills/`)161 and set mode accordingly. No need to branch here.162163 **Route (always):**164 → workflows/intake.md (Phase 1 detects input type; Phase 1.5 checks knowledge freshness;165 Phase 1.6 detects environment; Phase 1.7 dialogic disclosure; Phase 2 determines mode)166167 **Special routes (user-initiated):**168 - User says "refresh knowledge" / "refresh the knowledge repo" → workflows/refresh-knowledge.md169 - User says "show past audits" / "audit history" → reads .expert-opinion/audits/index.json170 - User says "diff against last audit" → triggers diff-aware mode in intake.md Phase 1171172 **Ambiguity:** If a path could be a skill directory or a general codebase, intake.md173 Phase 2 asks: "Is this a skill directory or a general codebase?" Then sets mode based174 on the answer.175</routing_decision>