Source profileQuality 92/100

WYRE-AI/msp-claude-plugins/msp-claude-plugins/inforcer/inforcer/skills/assessments/SKILL.md

Inforcer Assessments

Inforcer assessments: listing a tenant's assessments (read-only) and triggering an assessment run — the one mutating action in the entire Inforcer surface. Covers what a run refreshes (the data behind alignment, secure score, and drift), its tenant-scoping, and the confirmation discipline it requires.

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

Decision brief

What it does: where it fits

An Inforcer assessment is the evaluation that produces a tenant's alignment, secure score, and drift data. This skill covers two things: listing assessments (read-only) and running one — which is the single mutating action in the entire Inforcer plugin. Everything else Inforcer…

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/WYRE-AI/msp-claude-plugins --skill "msp-claude-plugins/inforcer/inforcer/skills/assessments"
    Safe inspection promptEditorial

    Inspect the Agent Skill "Inforcer Assessments" from https://github.com/WYRE-AI/msp-claude-plugins/blob/5005f73ba2f52cd299f58aa6bb79f4e70ae87103/msp-claude-plugins/inforcer/inforcer/skills/assessments/SKILL.md at commit 5005f73ba2f52cd299f58aa6bb79f4e70ae87103. 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 patterns

      ctid = resolve("Acme") integer Client Tenant ID prior = inforcerassessmentslist(clientTenantId=ctid) is a recent run enough?

      ctid = resolve("Acme") integer Client Tenant ID prior = inforcerassessmentslist(clientTenantId=ctid) is a recent run enough?
    2. 02

      Anti-triggers

      "Run a compliance check on this tenant" — if the intent is CIPP's

      "Run a compliance check on this tenant" — if the intent is CIPP'sReading the results — a run only refreshes data. Scores and driftChanging the tenant — a run re-measures; it never deploys policy,
    3. 03

      Tools

      List the assessments for a tenant — past runs and their status/results metadata.

      List the assessments for a tenant — past runs and their status/results metadata.Use this to see when a tenant was last assessed and whether prior runs completed. Check this before running a new assessment — if a recent run already covers what you need, you don't need to trigger another. Page contin…Trigger a new assessment run for a tenant. This is the one action in the Inforcer surface that changes state: it kicks off an evaluation that refreshes the data feeding alignment scores, secure score, and drift detail.
    4. 04

      inforcerassessmentslist (read-only)

      List the assessments for a tenant — past runs and their status/results metadata.

      List the assessments for a tenant — past runs and their status/results metadata.Use this to see when a tenant was last assessed and whether prior runs completed. Check this before running a new assessment — if a recent run already covers what you need, you don't need to trigger another. Page contin…
    5. 05

      inforcerassessmentsrun (WRITE — requires confirmation)

      Trigger a new assessment run for a tenant. This is the one action in the Inforcer surface that changes state: it kicks off an evaluation that refreshes the data feeding alignment scores, secure score, and drift detail.

      Trigger a new assessment run for a tenant. This is the one action in the Inforcer surface that changes state: it kicks off an evaluation that refreshes the data feeding alignment scores, secure score, and drift detail.HIGH-IMPACT ACTION — confirm first. Unlike every other Inforcer tool, this one does something. Before invoking it you MUST: 1. Confirm the exact tenant — state the resolved display name and the integer Client Tenant ID…

    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 score92/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars42SourceRepository 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
    WYRE-AI/msp-claude-plugins
    Skill path
    msp-claude-plugins/inforcer/inforcer/skills/assessments/SKILL.md
    Commit
    5005f73ba2f52cd299f58aa6bb79f4e70ae87103
    License
    Apache-2.0
    Collected
    2026-08-28
    Default branch
    main
    View the original SKILL.md

    Inforcer Assessments

    An Inforcer assessment is the evaluation that produces a tenant's alignment, secure score, and drift data. This skill covers two things: listing assessments (read-only) and running one — which is the single mutating action in the entire Inforcer plugin. Everything else Inforcer exposes is read-only; inforcer_assessments_run is the one exception, so it carries a confirmation discipline that the read tools do not.

    Read api-patterns first for the gateway headers, the region requirement, the envelope, and pagination, and tenant-management for resolving a tenant to its integer Client Tenant ID. Assessment calls are tenant-scoped by that integer id.

    Anti-triggers

    • "Run a compliance check on this tenant" — if the intent is CIPP's standards evaluation, that is cipp_run_standards_check in cipp-standards. The two are different products with different baselines; running the wrong one produces a report against a template nobody asked about.
    • Reading the results — a run only refreshes data. Scores and drift are read in inforcer-compliance-reporting and inforcer-baseline-alignment.
    • Changing the tenant — a run re-measures; it never deploys policy, remediates drift, or restores configuration. Those M365 changes are cipp-standards, cipp-security, or the Inforcer UI.

    Tools

    inforcer_assessments_list (read-only)

    List the assessments for a tenant — past runs and their status/results metadata.

    inforcer_assessments_list(clientTenantId=1423)
    

    Use this to see when a tenant was last assessed and whether prior runs completed. Check this before running a new assessment — if a recent run already covers what you need, you don't need to trigger another. Page continuationToken to completion.

    inforcer_assessments_run (WRITE — requires confirmation)

    Trigger a new assessment run for a tenant. This is the one action in the Inforcer surface that changes state: it kicks off an evaluation that refreshes the data feeding alignment scores, secure score, and drift detail.

    inforcer_assessments_run(clientTenantId=1423)   # only after explicit confirmation
    

    HIGH-IMPACT ACTION — confirm first. Unlike every other Inforcer tool, this one does something. Before invoking it you MUST:

    1. Confirm the exact tenant — state the resolved display name and the integer Client Tenant ID you are about to run against. A run against the wrong tenant is a real, unintended side effect.
    2. Get explicit user confirmation — do not trigger a run as a convenience step, in a loop, or to "refresh data" without the user asking. Wait for an explicit yes.
    3. Check inforcer_assessments_list first — avoid kicking off a redundant run when a recent assessment already exists.

    Treat it like any change action: announce intent, name the target, pause for confirmation, then execute. Never batch-run assessments across the portfolio without per-tenant (or explicitly-scoped) confirmation.

    When a run is warranted

    SituationRun?
    Alignment/secure-score data looks stale before a reportYes — after confirming the tenant and checking the last run
    Just deployed/changed policy in the Inforcer UI and want fresh driftYes — to re-measure against the baseline
    A recent completed run already covers the windowNo — read the existing results instead
    "Refresh everything" across many tenants, unpromptedNo — that's a batch of side effects; confirm scope explicitly first

    Workflow patterns

    Safe single-tenant refresh

    ctid = resolve("Acme")                          # integer Client Tenant ID
    prior = inforcer_assessments_list(clientTenantId=ctid)   # is a recent run enough?
    # If a fresh run is genuinely needed AND the user confirmed for THIS tenant:
    inforcer_assessments_run(clientTenantId=ctid)
    

    State the tenant name + integer id, confirm, then run. After the run, read results via inforcer_assessments_list and the compliance-reporting / baseline-alignment tools — the run produces the data; those skills interpret it.

    Caveats

    • inforcer_assessments_run is the only write in the Inforcer surface. Running an assessment refreshes evaluation data — it does not deploy policy, remediate drift, back up, or restore configuration. Do not imply that triggering an assessment changes the tenant's actual M365 configuration; it only re-measures it.
    • The API is community-sourced (no official public docs); the assessment object shape, status values, and the run parameters are illustrative and credited to royklo/InforcerCommunity. Verify on first use.
    • Assessment calls are tenant-scoped by the integer Client Tenant ID — resolve the tenant first, and double-check the id specifically before a run, since this is the one place a wrong id has a side effect rather than just an empty read.

    Related Skills

    Frequently asked questions

    What to verify before installation and use

    What does the Inforcer Assessments source document cover?

    An Inforcer assessment is the evaluation that produces a tenant's alignment, secure score, and drift data. This skill covers two things: listing assessments (read-only) and running one — which is the single mutating action in the entire Inforcer plugin. Everything else Inforcer…

    How do I install Inforcer Assessments?

    The source record exposes this install command: npx skills add https://github.com/WYRE-AI/msp-claude-plugins --skill "msp-claude-plugins/inforcer/inforcer/skills/assessments". 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