Skill
Community

maister:standards-discover

Install
1
Install the plugin
$
npx claudepluginhub skillpanel/maister --plugin maister

Want just this skill?

Then install: npx claudepluginhub u/[userId]/[slug]

Description

Discover coding standards from project configuration files, code patterns, documentation, and external sources (PRs, CI/CD)

Tool Access

This skill uses the workspace's default tool permissions.

Supporting Assets
View in Repository
references/aggregation-strategy.md
references/code-pattern-prompt.md
references/config-analyzer-prompt.md
references/docs-extractor-prompt.md
references/external-analyzer-prompt.md
Skill Content

Standards Discovery Skill

Analyzes multiple project sources in parallel to discover coding standards, conventions, and best practices. Aggregates findings with confidence scoring, presents for user approval, and applies approved standards via docs-manager skill.

Core Principles

  1. Parallel Execution: Launch discovery subagents concurrently for speed (~45-60s vs ~2-4min sequential)
  2. Evidence-Based: Every finding must cite specific files, line counts, or config rules as evidence
  3. Confidence Scoring: Multi-factor confidence based on source count, consistency, and explicitness
  4. Deduplication: Same standard found across sources merges into single finding with combined evidence
  5. Graceful Degradation: Skip unavailable sources (no gh CLI, no docs) without failing entire workflow

Input Parameters

ParameterDefaultDescription
--scopefullDiscovery scope: full, quick, or any category name (baseline: global, frontend, backend, testing; custom categories also supported)
--confidence60Minimum confidence threshold (0-100) for displaying findings
--auto-applyfalseAuto-apply standards with confidence >= 90% without asking
--skip-externalfalseSkip GitHub PR analysis and CI/CD sources
--pr-count20Number of recent merged PRs to analyze

Scope determines which phases run:

ScopeConfig (P1)Code (P2)Docs (P3)External (P4)
fullYesYesYesYes
globalYesYes (limited)YesYes
frontendFE configsFE filesYesYes
backendBE configsBE filesYesYes
testingTest configsTest filesYesYes
quickYesNoNoNo
[custom]Relevant configsFiltered filesYesYes

Custom scope values are matched against existing .maister/docs/standards/*/ directories and filter analysis to relevant files.


Phase Configuration

PhaseSubjectactiveForm
1Plan discovery scopePlanning discovery scope
2Analyze configuration filesAnalyzing configuration files
3Mine code patternsMining code patterns
4Extract documentation standardsExtracting documentation standards
5Analyze external sourcesAnalyzing external sources
6Aggregate & deduplicate findingsAggregating findings
7Review findings with userReviewing findings
8Apply approved standardsApplying standards
9Generate summary reportGenerating summary

Task Tracking: At start of Phase 1, use TaskCreate for all phases above (pending). Set dependencies: Phases 2-5 blocked by Phase 1 (they run in parallel after planning). Phase 6 blocked by Phases 2-5. Phases 7-9 sequential. At each phase start: TaskUpdate to in_progress. At each phase end: TaskUpdate to completed. For phases skipped due to scope (e.g., Phases 3-4 when --scope=quick), mark completed with metadata: {skipped: true, reason: "scope=quick"}.


Execution Workflow

Phase 1: Planning & Initialization

  1. Parse options from command arguments
  2. Check prerequisites: Verify .maister/docs/ exists. If not, offer to run /maister:init first
  3. Read existing standards from .maister/docs/INDEX.md to identify updates vs creates and avoid duplicates
  4. Display discovery plan showing scope, sources, and estimated time
  5. Get user confirmation via AskUserQuestion before proceeding

Phase 2-5: Parallel Discovery

CRITICAL: Launch all applicable subagents in ONE message for parallel execution.

Step 1: Determine which phases to run based on scope and flags.

Step 1.5: Create temp output directory — Run mktemp -d via Bash to create a unique temp directory for this invocation. Store the path (e.g., /tmp/abc123). Each subagent will write its results to a dedicated file in this directory: {tmpdir}/config.yml, {tmpdir}/code.yml, {tmpdir}/docs.yml, {tmpdir}/external.yml.

Step 2: Read prompt templates

STOP — Do NOT skip this step. Do NOT write prompts from memory.

Use the Read tool to load ONLY the reference files for phases you will execute:

PhaseConditionRead This File
2: Config AnalysisAlwaysreferences/config-analyzer-prompt.md
3: Code Patternsscope != quickreferences/code-pattern-prompt.md
4: Documentationscope != quickreferences/docs-extractor-prompt.md
5: External Sources--skip-external not setreferences/external-analyzer-prompt.md

SELF-CHECK: Did you read the template files with the Read tool? If not, go back and read them now.

Step 3: Adapt templates — Replace [scope], [confidence], and other placeholders with actual values. Replace the [output_file] placeholder in each template with the actual temp file path for that phase (e.g., {tmpdir}/config.yml).

Step 4: Launch subagents in parallel — Use the Task tool with subagent_type: general-purpose for each phase.

WRONG — launching one agent per message, waiting for result, then launching the next. ✅ CORRECT — launching ALL applicable agents (2–4 Task calls) in a SINGLE message.

Step 5: Wait for ALL subagents to complete, then read each temp file using the Read tool to collect findings.

Step 6: Display progress — Show count of findings per phase.


Phase 6: Aggregation & Deduplication

Read references/aggregation-strategy.md for confidence scoring methodology.

  1. Combine all findings from Phases 2-5
  2. Deduplicate by grouping on category + standard_name — merge evidence and sources
  3. Calculate final confidence using multi-factor scoring from the reference
  4. Detect conflicts — flag contradictory standards (e.g., ESLint says semicolons, Prettier says no)
  5. Categorize into High (>= 80%), Medium (60-79%), Low (< 60%)
  6. Filter by --confidence threshold

Display aggregation summary: total raw findings, unique standards, conflicts detected.


Phase 7: User Review & Approval

Step 1: Present full summary table — Before any approval prompts, output ALL findings in a table grouped by confidence level. Each group has a header with count:

### High Confidence (>=80%) — 5 standards

| # | Standard | Category | Score | Sources | Description |
|---|----------|----------|-------|---------|-------------|
| 1 | no-semicolons | global | 92 | config, code, docs | Omit semicolons in all JS/TS files |
| 2 | ... | ... | ... | ... | ... |

### Medium Confidence (60-79%) — 3 standards
...

### Low Confidence (<60%) — 2 standards
...

### Conflicts — 1 detected
| # | Standard | Conflict | Sources A | Sources B |

The Sources column lists all contributing sources for each finding (config, code, docs, PRs, CI, pre-commit). This gives users full visibility before making decisions.

Step 2: Approval flow — After the summary table:

  • High confidence (>= 80%): Use AskUserQuestion offering batch approval ("Apply all N high-confidence standards") or individual drill-down review. For drill-down, show full detail per finding: all evidence items with source attribution, examples (preferred/avoid), and confidence score breakdown (which factors contributed how many points).

  • Medium confidence (60-79%): Present each individually with full detail (evidence, examples, confidence breakdown). Use AskUserQuestion with Accept/Modify/Skip options per finding.

  • Low confidence (< threshold): Show the summary table rows only. Offer to expand details or skip all.

  • Conflicts: Present each conflict showing both sides with their evidence and sources. Use AskUserQuestion to resolve (pick side A, pick side B, skip, or custom).

If --auto-apply is set, automatically approve findings with confidence >= 90% and only prompt for the rest.


Phase 8: Application

DELEGATION REQUIRED: Do NOT write standard files directly using Write/Edit tools. ALL file operations MUST go through the docs-operator subagent (Task tool).

SELF-CHECK before each file operation: "Am I about to write a file directly? STOP — invoke docs-operator via Task tool instead."

For each approved standard:

  1. Prepare content — Standard name, description, examples (preferred/avoid), rationale from evidence, source citations. Format each standard as a ### heading with 1-10 lines description (excluding code snippets). Group related standards into the same topic file. Add brief code examples only when they clarify the practice.
  2. Check if file exists — Determine create vs update action
  3. Invoke docs-operator subagent via Task tool (subagent_type: maister:docs-operator) — Pass prepared content. For creates: new file. For updates: merge new findings with existing. Wait for completion, then continue with the next standard.
  4. After all standards applied, invoke docs-operator subagent via Task tool to regenerate INDEX.md. Wait for completion, then continue with step 5.
  5. Invoke docs-operator subagent via Task tool to verify CLAUDE.md integration — ensure standards directory is referenced. Wait for completion, then display the application summary.

Display application summary: created count, updated count, total active.


Phase 9: Summary Report

Display final results:

  • Sources analyzed (config files, code files sampled, docs parsed, PRs reviewed)
  • Standards applied (created/updated counts by category)
  • Standards skipped (low confidence, user declined)
  • Next steps (review, commit, re-run schedule)

Error Handling

SituationStrategy
.maister/docs/ missingOffer /maister:init, abort if declined
gh CLI unavailableSkip PR analysis, continue with other sources
GitHub API rate limitSkip PR analysis, note in report
Config file parse errorSkip that file, log warning, continue
No standards foundSuggest lowering threshold or checking specific scope
docs-manager failsOffer retry/skip/cancel per standard
Subagent returns emptyNote in report, proceed with available findings

Integration

Integrates WithHow
docs-manager skillCreates/updates standard files, regenerates INDEX.md
implementer skillDiscovered standards immediately available via INDEX.md
standards-update commandComplementary: discover = automated bulk, update = manual single

Examples

# Full discovery (default)
/maister:standards-discover

# Quick scan (config files only, ~30-60s)
/maister:standards-discover --scope=quick

# Frontend standards only
/maister:standards-discover --scope=frontend

# High confidence, auto-apply
/maister:standards-discover --confidence=80 --auto-apply

# Skip external analysis (offline/no GitHub)
/maister:standards-discover --skip-external
Stats
Stars46
Forks3
Last CommitFeb 25, 2026

Similar Skills