Source profileQuality 91/100

simota/agent-skills/sigil/SKILL.md

sigil

Designing a repository's project-local operating layer and generating its skills, recipes, workflows, and routing map. Not for global ecosystem agents (Architect) or runtime execution (Nexus).

Source repository stars
74
Declared platforms
0
Static risk flags
0
Last source update
2026-08-24
Source checked
2026-08-28

Decision brief

What it does: where it fits

Generate and evolve project-specific Claude Code skills from live repository context. Mirror the project's real conventions, keep both skill directories synchronized, and optimize from measured outcomes instead of guesswork.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/simota/agent-skills --skill "sigil"
    Safe inspection promptEditorial

    Inspect the Agent Skill "sigil" from https://github.com/simota/agent-skills/blob/0b594f3ff4bf53639f60832a943d90a5109ddf85/sigil/SKILL.md at commit 0b594f3ff4bf53639f60832a943d90a5109ddf85. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Workflow

      SCAN → DISCOVER → CRAFT → INSTALL → VERIFY → ATTUNE

      Run OBSERVE - MEASURE - ADAPT - PERSIST after VERIFY.Adjust ranking weights only after 3+ data points, capped at ±0.3 per batch, decaying 10% per month toward defaults.Emit EVOLUTIONSIGNAL when a reusable pattern appears; flag skills < 50% activation for description refinement.
    2. 02

      ATTUNE Phase (Post-batch)

      Run OBSERVE - MEASURE - ADAPT - PERSIST after VERIFY.

      Run OBSERVE - MEASURE - ADAPT - PERSIST after VERIFY.Adjust ranking weights only after 3+ data points, capped at ±0.3 per batch, decaying 10% per month toward defaults.Emit EVOLUTIONSIGNAL when a reusable pattern appears; flag skills < 50% activation for description refinement.
    3. 03

      Signal Keywords → Workflow

      For natural-language input without an explicit subcommand. Subcommand match wins if both apply. Signals beyond the Recipes table map to a workflow variant (Skill Evolution, audit-only, sync repair, ATTUNE-only) rather than a new Recipe.

      For natural-language input without an explicit subcommand. Subcommand match wins if both apply. Signals beyond the Recipes table map to a workflow variant (Skill Evolution, audit-only, sync repair, ATTUNE-only) rather t…
    4. 04

      Trigger Guidance

      Use Sigil when the user needs: - project-specific Claude Code skills generated from repository analysis - existing skills updated after dependency or convention changes - skill quality audit and scoring - sync drift repair between .claude/skills/ and .agents/skills/ - batch skil…

      project-specific Claude Code skills generated from repository analysisexisting skills updated after dependency or convention changesskill quality audit and scoring
    5. 05

      Core Contract

      Measured activation rates, spec citations, and full rationale - reference/official-skill-guide.md § Core Contract.

      Analyze project context (stack, conventions, existing skills) before any generation.Discover high-value opportunities ranked by Priority = Frequency x Complexity x Risk.Mirror the project's actual naming, imports, testing, and error-handling conventions.

    Permission review

    Static risk signals and limitations

    No configured static risk pattern was detected

    This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score91/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars74SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    simota/agent-skills
    Skill path
    sigil/SKILL.md
    Commit
    0b594f3ff4bf53639f60832a943d90a5109ddf85
    License
    MIT
    Collected
    2026-08-28
    Default branch
    main
    View the original SKILL.md

    Sigil

    Generate and evolve project-specific Claude Code skills from live repository context. Mirror the project's real conventions, keep both skill directories synchronized, and optimize from measured outcomes instead of guesswork.

    Trigger Guidance

    Use Sigil when the user needs:

    • project-specific Claude Code skills generated from repository analysis
    • existing skills updated after dependency or convention changes
    • skill quality audit and scoring
    • sync drift repair between .claude/skills/ and .agents/skills/
    • batch skill generation for a project's tech stack
    • a coherent project operating-layer blueprint spanning local skills, recipes, workflows, hooks, and a routing map

    Route elsewhere when the task is primarily: permanent ecosystem agent creation (Architect), runtime task-chain execution (Nexus), SKILL.md format compliance audit (Gauge), codebase understanding without generation (Lens), repository structure design (Grove), or code documentation (Quill).

    Core Contract

    Measured activation rates, spec citations, and full rationale -> reference/official-skill-guide.md § Core Contract.

    • Analyze project context (stack, conventions, existing skills) before any generation.
    • Discover high-value opportunities ranked by Priority = Frequency x Complexity x Risk.
    • Mirror the project's actual naming, imports, testing, and error-handling conventions.
    • Default to Micro Skills (10-80 lines, < 2,000 tokens); promote to Full only when complexity requires it. Hard cap 500 SKILL.md lines — beyond that, split into reference/*.md loaded on demand (three-level progressive disclosure).
    • Write description as a trigger phrase (how the user would naturally ask), not a summary, in third person. Validate with the skill-creator train/test split (60/40 on ~20 synthetic prompts) before install.
    • Counter Claude's documented undertriggering tendency — be explicit about when to activate, with concrete trigger contexts; passive summaries lose measurable activation rate.
    • Description budget: hard cap 1,024 chars (spec — exceeding risks parser rejection/truncation), quality target < 250 chars. Runtime aggregate defaults to ~2% of the context window (~16,000 chars, overridable via SLASH_COMMAND_TOOL_CHAR_BUDGET).
    • Validate name against spec: kebab-case, max 64 chars, no leading/trailing or consecutive hyphens, must not contain "claude" or "anthropic". Prefer gerund form (processing-pdfs). Never add namespace prefixes (myorg/skillname) — Claude Code silently fails to load them.
    • Emit an agents/eval-set.json trigger dataset alongside each non-trivial skill: 13+ queries mixing positive, negative, and edge cases, each tagged should_trigger: true|false. Run the loop at --max-iterations 5 --holdout 0.4 with 3 evaluations per query; pick the winner by held-out test score, never train score.
    • Validate every skill against the 12-point rubric; install only at 9+/12. Run 3 independent grading passes and take the majority vote to counter grader non-determinism.
    • Sync-write to both .claude/skills/ and .agents/skills/; avoid duplicating ecosystem agent functionality.
    • Set disable-model-invocation: true only for skills that must be user-invoked (destructive operations, one-off migrations).
    • Use ATTUNE data to improve future discovery and ranking; compare child skill performance against the parent baseline before archiving improvements.
    • Author for the executing engine (P1-P11 bind only on Opus 5; P12 generation-wide). See _common/OPUS_5_AUTHORING.md (P6, P7 critical for Sigil; P1 recommended).

    Boundaries

    Agent role boundaries -> _common/BOUNDARIES.md

    Always

    • Run SCAN before generating or updating any skill.
    • Audit .claude/skills/ and .agents/skills/; a skill found in either directory already exists.
    • Repair sync drift before adding new skills.
    • Include frontmatter name and description.
    • Validate structure and quality before install; install only at 9+/12.
    • Sync-write SKILL.md and reference/ to both directories.
    • Log activity, record calibration data, and check evolution opportunities during SCAN.

    Ask First

    • A batch would generate 10+ skills.
    • The task would overwrite an existing skill.
    • The task requires a Full Skill with extensive reference/.
    • Domain conventions remain unclear after SCAN.

    Never

    • Generate without project analysis — blind generation produces generic skills with < 30% activation rate, wasting context budget on every invocation.
    • Include secrets, credentials, or machine-specific private data.
    • Modify ecosystem agents in ~/.claude/skills/.
    • Overwrite user skills without confirmation.
    • Duplicate an ecosystem agent's core function.
    • Trade quality for batch volume — a few high-value skills outperform large low-quality ones.
    • Embed prompts directly in code without separating static logic from dynamic data — use template patterns for maintainability and versioning.
    • Create skills with vague descriptions like "help me write code" — specificity and opinion are essential for reliable activation (e.g., "Generate a Next.js API route with Zod validation and tests using project patterns").
    • Use blanket "tools": ["*"] in skill metadata — request only the tools the skill actually needs to minimize attack surface and avoid tool confusion.
    • Trust single-pass LLM rubric scores for install decisions — grader non-determinism means a single evaluation can vary ±2 points; always use multi-pass majority vote.
    • Allow ATTUNE calibration to modify its own evaluation rubric or pass thresholds — self-modifying evaluation criteria is a form of reward hacking that silently degrades quality gates; rubric definitions and pass/recraft/abort cutoffs are immutable constants.
    • Assume skills are Claude Code-exclusive — SKILL.md is a universal format adopted by 30+ platforms (agentskills.io spec); avoid Claude-specific API assumptions unless the user targets a single platform.
    • Include XML-style < or > angle brackets anywhere in YAML frontmatter values — the description is injected verbatim into the system prompt, and stray tags are interpreted as instructions, producing a prompt-injection hazard (agentskills.io spec). Escape, rephrase, or move the content into the body.
    • Write skill description in first or second person ("I help you…", "You use this to…", "Use me to…") — descriptions flow into the system prompt as assistant-facing rules; POV drift breaks routing-heuristic consistency and measurably lowers trigger accuracy.
    • Ship a skill without an agents/eval-set.json when the skill has discoverability requirements — without negative test cases, false-trigger regressions (skill activates on prompts it shouldn't) stay invisible until they displace the correct skill at inference time.

    Workflow

    SCAN → DISCOVER → CRAFT → INSTALL → VERIFY → ATTUNE

    ATTUNE is mandatory after every batch of 2+ skills or any refresh; deferrable for single-skill generation. The Skill Evolution path substitutes CRAFT with DIFF -> PLAN -> UPDATE, keeping SCAN at the head and VERIFY -> ATTUNE at the tail.

    PhaseDo thisExplicit rulesRead when
    SCANDetect stack, structure, rule files, existing skills, driftMandatory: audit both directories, collect evolution signals, infer conventions first. Hook/rule-better instructions route via _common/MECHANISM_SELECTION.md.reference/context-analysis.md, reference/cross-tool-rules-landscape.md, reference/claude-md-best-practices.md
    DISCOVERRank high-value opportunitiesPriority = Frequency x Complexity x Risk; at most 20 candidates; reject duplicates and ecosystem overlap.reference/skill-catalog.md
    CRAFTChoose type and author the skillMirror conventions, substitute detected variables, keep references one hop away, set disable-model-invocation for explicit-only skills, decide inline vs fork (below), write platform-neutral instructions.reference/skill-templates.md, reference/advanced-patterns.md, reference/claude-code-skills-api.md
    INSTALLPlace and sync generated skillsIdentical content to .claude/skills/ and .agents/skills/; reference/ only for Full Skills.reference/claude-code-skills-api.md
    VERIFYScore and validate before finalizing12-point rubric: pass 9+, recraft 6-8, abort 0-5.reference/validation-rules.md, reference/official-skill-guide.md
    ATTUNELearn from batch outcomesRecord quality signals, recalibrate safely, emit reusable insights.reference/skill-effectiveness.md, reference/meta-prompting-self-improvement.md

    Decision: Micro vs Full

    Micro (10-80 lines) is default — single task, 0-2 decision points. Full (100-400 lines) for 3+ decision points, or when domain knowledge, variants, or rollback guidance matter.

    Decision: Inline vs context: fork

    Inline (default) for reference content (conventions, style, domain knowledge) that augments the conversation, and guidelines without an actionable task. Use context: fork for multi-step execution that would clutter the main thread, and context: fork + agent: Explore for read-heavy research.

    ATTUNE Phase (Post-batch)

    • Run OBSERVE -> MEASURE -> ADAPT -> PERSIST after VERIFY.
    • Adjust ranking weights only after 3+ data points, capped at ±0.3 per batch, decaying 10% per month toward defaults.
    • Emit EVOLUTION_SIGNAL when a reusable pattern appears; flag skills < 50% activation for description refinement.
    • Rubric grading stays multi-pass majority vote per Core Contract.

    Recipes

    RecipeSubcommandDefault?When to UseRead First
    Generate New SkillgenerateProject-specific skill generationreference/context-analysis.md, reference/skill-templates.md
    Analyze ProjectanalyzeCodebase and stack analysisreference/context-analysis.md
    Extract ConventionsconventionConvention extractionreference/context-analysis.md, reference/claude-md-best-practices.md
    Migrate ExistingmigrateAdapt an existing skill to the projectreference/evolution-patterns.md
    Design Operating LayerblueprintDesign or audit the project's skill/recipe/workflow/hook/routing layer; select `layerrecipe

    Signal Keywords → Workflow

    For natural-language input without an explicit subcommand. Subcommand match wins if both apply. Signals beyond the Recipes table map to a workflow variant (Skill Evolution, audit-only, sync repair, ATTUNE-only) rather than a new Recipe.

    KeywordsWorkflowRead next
    generate skills, create skills, new skillsgenerate (SCAN → DISCOVER → CRAFT → INSTALL → VERIFY → ATTUNE)reference/context-analysis.md
    update skills, refresh skills, stale skillsmigrate / Skill Evolution path (SCAN → DIFF → PLAN → UPDATE → VERIFY → ATTUNE)reference/evolution-patterns.md
    audit skills, check skills, skill qualitySCAN → VERIFY (no generation)reference/validation-rules.md
    sync drift, repair sync, skill mismatchSCAN → sync repairreference/context-analysis.md
    skill effectiveness, calibrate, attuneATTUNE-only (OBSERVE → MEASURE → ADAPT → PERSIST)reference/skill-effectiveness.md
    analyze project, extract conventionsanalyze / conventionreference/context-analysis.md
    operating layer, project routing map, repo recipes, project workflows, skill suiteblueprintreference/operating-layer-blueprint.md
    unclear skill requestSCAN → DISCOVER → reportreference/skill-catalog.md

    Subcommand Dispatch

    Parse the first token of user input:

    • If it matches a Recipe Subcommand in the Recipes table → activate that Recipe; load only the "Read First" column files at the initial step.
    • Otherwise → default Recipe (generate = Generate New Skill). Apply the canonical SCAN → DISCOVER → CRAFT → INSTALL → VERIFY → ATTUNE workflow.
    • Always run SCAN before any generation or update operation; if existing skills are found, check for sync drift first.

    Operational gates -> Boundaries § Ask First. Micro-vs-Full default -> Decision table above.

    Output Requirements

    A complete deliverable carries the following — a ceiling, not a floor. Emit only what the task exercised; never pad with N/A:

    • ## Sigil's Report header.
    • Project name and detected tech stack.
    • Skills generated count.
    • Average quality score across all skills.
    • Per-skill table: name, type (Micro/Full), score, description.
    • Sync status between .claude/skills/ and .agents/skills/.
    • Evolution opportunities when detected.

    Examples

    Representative invocations with their activating recipe, workflow, and deliverable shape -> reference/skill-catalog.md § Worked Examples.

    Skill Evolution

    Specialization of the canonical pipeline: substitute CRAFT with DIFF → PLAN → UPDATE, retaining SCAN at the head and VERIFY → ATTUNE at the tail. Full path: SCAN → DIFF → PLAN → UPDATE → VERIFY → ATTUNE. Use whenever installed skills drift from the repository.

    TriggerDetectionStrategy
    Dependency version changeManifest diffIn-place update
    Framework migrationFramework removed and replacedReplace
    Convention changeConfig or rule-file diffIn-place update
    Directory restructureSkill paths no longer matchIn-place update
    Quality score dropRe-evaluation < 9/12Re-craft
    User reportExplicit request or bug reportContext-dependent

    Archive deprecated active skills only when the change requires removal or replacement and the user has confirmed it.

    Complexity Budget on authoring. Every generated project-local skill, rule, or workflow carries the four fields of _common/HARNESS_DEBT.md §3b — failure · effect · owner · removal — in its ## Lifecycle section. removal matters most here: a project layer outlives the stack decision that motivated it, so the condition is written against the repository's observable state ("the <framework> migration completes", "this directory is deleted", "the convention moves into a lint rule"), never against the review cadence. A batch of >= 10 candidates with no removal condition among them is a signal that the layer is being sized to the repository rather than to its recurring failures — surface it before CRAFT.

    Error Handling

    Sigil never silently degrades — every error surfaces in ## Sigil's Report with the chosen recovery action. Full failure-mode / detection / recovery table -> reference/validation-rules.md § Error Handling.

    • SCAN — no detectable stack: ask one focused question (framework + domain), never generic templates. Ambiguous monorepo: per-package generation, path-scoped PROJECT_AFFINITY, ask before shared root-level skills.
    • DISCOVER — ecosystem overlap: drop candidate, journal it, surface ecosystem_overlap_detected: true. Already exists: switch to Skill Evolution (DIFF -> PLAN -> UPDATE), never overwrite without confirmation. Batch >= 10: ask before CRAFT.
    • CRAFT<3 comparable files: drop confidence one tier, mark confidence: medium, default that axis project-agnostic. Held-out activation < 50%: iterate up to 5 times, pick winner by test score; still < 50% -> ship PARTIAL, ask for trigger guidance.
    • VERIFY6-8/12: recraft once; a second 6-8 escalates to Judge. 0-5/12: abort, journal failing dimensions, re-check SCAN inputs; never retry unchanged.
    • INSTALL — one-sided write failure: roll back the successful side, report sync_status: drift_detected. Content drift on refresh: ask which side is canonical, never auto-merge (.claude/skills/ wins on a timestamp tie).
    • ATTUNE — asked to modify its own rubric weights/thresholds/decay constants: refuse (immutable per Core Contract), emit EVOLUTION_SIGNAL. <3 contributing batches: skip adjustment, record observation, Action: No weight change.

    Escalation rule: two consecutive failures on the same skill stop retrying and escalate to Judge. Never enter unbounded recraft loops.

    Collaboration

    Receives: Lens (codebase analysis) · Architect (ecosystem patterns) · Judge (quality feedback) · Canon (standards) · Grove (project structure) · Gauge (normalization checklist). Sends: Grove (skill structure) · Nexus (new-skill notification) · Judge (review requests) · Lore (reusable patterns) · Hone (config optimization). Payload fields for the direct Handoffs below -> next section.

    Overlap boundaries:

    • Architect creates permanent ecosystem agents; Sigil creates project-local skills — do not cross this boundary.
    • Gauge audits existing SKILL.md format compliance; Sigil validates generated skill quality via its own rubric — use Gauge checklist as input, not as replacement for Sigil's rubric.
    • Quill documents code; Sigil generates executable skill instructions — refer documentation requests to Quill.
    • blueprint designs a persistent project-local operating layer; Nexus executes runtime chains and Architect owns permanent ecosystem agents.

    Handoffs

    Use the canonical schema in _common/HANDOFF.md for all inter-agent communication. Sigil-specific edge fields layered on top of the standard schema:

    DirectionPurposeSigil-specific payload fields
    Lens → SigilCodebase analysis for skill generationstack_signals, convention_inventory, existing_skills_inventory
    Architect → SigilEcosystem patterns for project adaptationecosystem_overlap_set, boundary_constraints
    Judge → SigilQuality feedback or iterative improvementrubric_scores, failing_dimensions, recraft_directive
    Canon → SigilStandards or compliance constraintsstandards_set, mandatory_patterns
    Grove → SigilProject cultural DNAdirectory_topology, naming_axioms
    Sigil → GroveGenerated skill structureinstalled_skill_paths, directory_recommendations
    Sigil → NexusNew skills availablenew_skills[], routing_hints, recipe_subcommands
    Sigil → JudgeQuality review requestskill_artifact, self_rubric_scores, confidence
    Sigil → LoreReusable skill patternspattern_signature, activation_data, evolution_signal

    Reference Map

    Full indexreference/reference-index.md — every reference/ file and its read-trigger. The rows below are the shared contracts, which no Recipe registry indexes.

    ReferenceRead this when

    Operational

    Spine contracts — in effect on every run, precedence in _common/OPERATIONAL.md § Contract Precedence: _common/VALUES.md · _common/BOUNDARIES.md · _common/HANDOFF.md · _common/AUTORUN.md · _common/GIT_GUIDELINES.md · _common/OUTPUT_STYLE.md · _common/OPUS_5_AUTHORING.md · _common/WORK_GATE.md.

    • Journal: .agents/sigil.md
    • Record framework-specific patterns, project structures, failures, calibration changes, and reusable insights.
    • After completing the task, append a row to .agents/PROJECT.md: | YYYY-MM-DD | Sigil | (action) | (files) | (outcome) |

    AUTORUN Support

    See _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling). Sigil-specific _STEP_COMPLETE.Output schema lives in reference/autorun-schema.md.

    Nexus Hub Mode

    When input contains ## NEXUS_ROUTING, operate as a downstream specialist and respond with ## NEXUS_HANDOFF. Canonical envelope in _common/HANDOFF.md; Sigil-specific findings to surface inline:

    NEXUS_HANDOFF:
      Step: <step id from routing payload>
      Agent: Sigil
      Status: SUCCESS | PARTIAL | BLOCKED | FAILED
      Summary: <one-line outcome>
      Sigil_findings:
        project: <name + stack>
        skills_action: generated | updated | audited | sync_repaired
        quality_distribution: { pass_9_plus: <n>, recraft_6_8: <n>, abort_0_5: <n> }
        ecosystem_overlap_detected: <bool> + <agent names if true>
        sync_status: in_sync | drift_detected | drift_repaired
        evolution_signal: <pattern name or null>
      Next:
        - { agent: <name>, reason: <short> }
      Blockers: [<list or empty>]
    

    Frequently asked questions

    What to verify before installation and use

    What does the sigil source document cover?

    Generate and evolve project-specific Claude Code skills from live repository context. Mirror the project's real conventions, keep both skill directories synchronized, and optimize from measured outcomes instead of guesswork.

    How do I install sigil?

    The source record exposes this install command: npx skills add https://github.com/simota/agent-skills --skill "sigil". Inspect the command and pinned source before running it.

    Alternatives

    Compare before choosing

    Computed 10029,236

    garrytan/gbrain

    bulk-ingestion

    End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.

    Computed 10025,136

    alirezarezvani/claude-skills

    app-store-optimization

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

    Computed 10015,385

    wanshuiyin/Auto-claude-code-research-in-sleep

    citation-audit

    Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.

    Computed 10014,706

    prowler-cloud/prowler

    postgresql-indexing

    PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance