Source profileQuality 91/100

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

Inforcer Baseline Alignment

Inforcer's core drift-detection surface: baseline templates, tenant alignment scores, alignment details (the per-policy breakdown of a tenant against its assigned baseline), and reading deployed tenant policy state. Read-only.

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

Inforcer's central idea: each managed tenant is measured against an assigned security baseline (a template of policy settings). The gap between the tenant's deployed state and that baseline is drift. This skill covers listing baselines, reading alignment scores, and — most impor…

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/baseline-alignment"
    Safe inspection promptEditorial

    Inspect the Agent Skill "Inforcer Baseline Alignment" from https://github.com/WYRE-AI/msp-claude-plugins/blob/5005f73ba2f52cd299f58aa6bb79f4e70ae87103/msp-claude-plugins/inforcer/inforcer/skills/baseline-alignment/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

      What to look for in an alignment review

      Review the “What to look for in an alignment review” section in the pinned source before continuing.

      Review and apply the “What to look for in an alignment review” source section.
    2. 02

      Workflow patterns

      Start from the score for the headline, then read alignmentdetails to list the drifted policies. Cross-reference inforcerpolicieslist when you need the tenant's actual deployed value for a policy.

      Start from the score for the headline, then read alignmentdetails to list the drifted policies. Cross-reference inforcerpolicieslist when you need the tenant's actual deployed value for a policy.For each tenant from inforcertenantslist, pull inforceralignmentscores, then drill into inforceralignmentdetails only for tenants below an alignment threshold. This keeps the sweep cheap while still surfacing the per-po…
    3. 03

      Anti-triggers

      Fixing the drift — Inforcer's API cannot deploy a policy,

      Fixing the drift — Inforcer's API cannot deploy a policy,CIPP's version of "baseline" and "drift" — CIPP standards andThe threshold that turns a score into aligned / semi-aligned /
    4. 04

      Tools

      List the security baseline templates defined in Inforcer. Returns baseline objects (id, name, and the policy settings each baseline prescribes). Baselines are the "golden" definition a tenant is compared against.

      List the security baseline templates defined in Inforcer. Returns baseline objects (id, name, and the policy settings each baseline prescribes). Baselines are the "golden" definition a tenant is compared against.Read the alignment score for a tenant — the headline measure of how closely the tenant matches its assigned baseline.Use this for the at-a-glance "how aligned is this tenant?" answer. Score classification (aligned / semi-aligned / drifted) is threshold-driven — see compliance-reporting.
    5. 05

      inforcerbaselineslist

      List the security baseline templates defined in Inforcer. Returns baseline objects (id, name, and the policy settings each baseline prescribes). Baselines are the "golden" definition a tenant is compared against.

      List the security baseline templates defined in Inforcer. Returns baseline objects (id, name, and the policy settings each baseline prescribes). Baselines are the "golden" definition a tenant is compared against.

    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 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/baseline-alignment/SKILL.md
    Commit
    5005f73ba2f52cd299f58aa6bb79f4e70ae87103
    License
    Apache-2.0
    Collected
    2026-08-28
    Default branch
    main
    View the original SKILL.md

    Inforcer Baseline Alignment & Drift

    Inforcer's central idea: each managed tenant is measured against an assigned security baseline (a template of policy settings). The gap between the tenant's deployed state and that baseline is drift. This skill covers listing baselines, reading alignment scores, and — most importantly — pulling the per-policy alignment details that show exactly where a tenant has drifted.

    Read api-patterns for headers, region, the envelope, and pagination, and tenant-management for resolving a tenant to its integer Client Tenant ID. Every alignment/policy call is tenant-scoped by that integer id.

    Anti-triggers

    • Fixing the drift — Inforcer's API cannot deploy a policy, remediate, or restore configuration; those exist only in the Inforcer UI. The M365 changes themselves are cipp-users, cipp-security, or cipp-standards, and CIPP's Remediate-mode standards are the auto-fix mechanism Inforcer lacks.
    • CIPP's version of "baseline" and "drift" — CIPP standards and BPA measure a different template with different findings; the two scores are not comparable. Use cipp-standards.
    • The threshold that turns a score into aligned / semi-aligned / drifted — that classification lives in inforcer-compliance-reporting.
    • What change caused a drift — the alignment surface shows state, not history; use inforcer-audit-events.

    Tools

    inforcer_baselines_list

    List the security baseline templates defined in Inforcer. Returns baseline objects (id, name, and the policy settings each baseline prescribes). Baselines are the "golden" definition a tenant is compared against.

    inforcer_baselines_list()
    

    inforcer_alignment_scores

    Read the alignment score for a tenant — the headline measure of how closely the tenant matches its assigned baseline.

    inforcer_alignment_scores(clientTenantId=1423)
    

    Use this for the at-a-glance "how aligned is this tenant?" answer. Score classification (aligned / semi-aligned / drifted) is threshold-driven — see compliance-reporting.

    inforcer_alignment_details

    Pull the per-policy drift breakdown — the detailed list of how each policy in the tenant compares to the baseline. This is where you see which policies are aligned and which have drifted, not just the aggregate score.

    inforcer_alignment_details(clientTenantId=1423)
    

    Returns, per policy, the baseline-expected state and the tenant's actual state so you can pinpoint exactly what diverged. This is the primary input to any drift report.

    inforcer_policies_list

    List the deployed policy state for a tenant (read-only). Shows what policies are actually in place on the tenant, independent of the baseline comparison.

    inforcer_policies_list(tenant="Acme")
    

    The tenant argument accepts a friendly name, a DNS name, an Azure AD tenant GUID, or the numeric Client Tenant ID; the server resolves the first three to the numeric id before calling Inforcer.

    Use this to inspect the tenant's real configuration when an alignment detail is ambiguous, or to confirm what is actually deployed.

    What to look for in an alignment review

    FindingWhy it matters
    Low alignment scoreThe tenant has drifted materially from its baseline; investigate inforcer_alignment_details
    Policy present in baseline but absent on tenantA required control was never deployed or was removed
    Policy deployed but with weaker settings than baselineSilent weakening — looks "configured" but doesn't meet baseline
    Many small drifts vs one critical driftTriage by control impact, not count — one missing MFA/identity control outweighs many cosmetic diffs
    Tenant with no assigned baselineNothing to measure against; alignment is meaningless until a baseline is assigned

    Workflow patterns

    Single-tenant drift deep-dive

    ctid    = resolve("Acme")                 # integer Client Tenant ID
    score   = inforcer_alignment_scores(clientTenantId=ctid)
    details = inforcer_alignment_details(clientTenantId=ctid)
    drifted = [p for p in details if p['aligned'] is False]
    

    Start from the score for the headline, then read alignment_details to list the drifted policies. Cross-reference inforcer_policies_list when you need the tenant's actual deployed value for a policy.

    Portfolio drift sweep

    For each tenant from inforcer_tenants_list, pull inforcer_alignment_scores, then drill into inforcer_alignment_details only for tenants below an alignment threshold. This keeps the sweep cheap while still surfacing the per-policy detail where it matters. Page continuationToken to completion on every list.

    Caveats

    • Inforcer's API is read-only for alignment. You can see drift in full detail, but you cannot deploy a policy, remediate the drift, or restore configuration through the API. Those actions exist only in the Inforcer UI — surface them as recommendations, never as something this plugin performs.
    • The API is community-sourced (no official public docs); field names such as aligned and the exact alignment_details shape are illustrative and credited to royklo/InforcerCommunity.
    • Alignment is only meaningful relative to an assigned baseline; a tenant with no baseline assigned cannot be scored.

    Related Skills

    • tenant-management - resolve a tenant to the integer Client Tenant ID before scoping
    • compliance-reporting - how alignedThreshold / semiAlignedThreshold classify aligned / semi-aligned / drifted
    • assessments - run an assessment to refresh the data that feeds alignment
    • api-patterns - envelope, pagination, and the integer-id gotcha

    Frequently asked questions

    What to verify before installation and use

    What does the Inforcer Baseline Alignment source document cover?

    Inforcer's central idea: each managed tenant is measured against an assigned security baseline (a template of policy settings). The gap between the tenant's deployed state and that baseline is drift. This skill covers listing baselines, reading alignment scores, and — most impor…

    How do I install Inforcer Baseline Alignment?

    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/baseline-alignment". 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