Source profileQuality 93/100

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

Inforcer Audit Events

Inforcer's read-only record of changes and activity: searching and filtering auditEvents by type and date window (the search is account-wide — there is no tenant filter), enumerating the event-type catalog to build valid filters, and the continuationToken paging audit searches require.

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 records an audit trail of activity and changes it observes. This skill covers searching that trail (auditEvents) and enumerating the event-type catalog you filter against. It is a read-only history surface — it tells you what happened and when, which is the evidence lay…

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/audit-events"
    Safe inspection promptEditorial

    Inspect the Agent Skill "Inforcer Audit Events" from https://github.com/WYRE-AI/msp-claude-plugins/blob/5005f73ba2f52cd299f58aa6bb79f4e70ae87103/msp-claude-plugins/inforcer/inforcer/skills/audit-events/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 audit review

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

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

      Workflow patterns

      Discover the event types first so your filter uses real values; an invalid type quietly returns nothing and looks like "no activity." Page continuationtoken to completion before concluding the window is empty — and before filtering to a tenant, since the tenant you want may only…

      Discover the event types first so your filter uses real values; an invalid type quietly returns nothing and looks like "no activity." Page continuationtoken to completion before concluding the window is empty — and befo…When baseline-alignment shows a tenant has drifted, search the audit trail around the drift window and pick out the events belonging to that tenant to find the change(s) that produced it. Audit gives the narrative behin…
    3. 03

      Anti-triggers

      The Microsoft 365 unified audit log — this is Inforcer's own

      The Microsoft 365 unified audit log — this is Inforcer's ownA security detection or alert to triage — an audit event isThe current state that drifted — audit answers when and by
    4. 04

      Tools

      List the event-type catalog — the set of event types Inforcer can record. Returns the type identifiers/labels you use to filter a search.

      List the event-type catalog — the set of event types Inforcer can record. Returns the type identifiers/labels you use to filter a search.Pull this first when you need to filter auditEvents by type: it tells you the valid type values rather than guessing. The catalog is also a useful map of what kinds of activity Inforcer tracks at all.Search the audit event history. Every filter is optional, and they are: eventtypes (an array of values from the catalog), datefrom / dateto, pagesize, and continuationtoken.
    5. 05

      inforcerauditeventtypes

      List the event-type catalog — the set of event types Inforcer can record. Returns the type identifiers/labels you use to filter a search.

      List the event-type catalog — the set of event types Inforcer can record. Returns the type identifiers/labels you use to filter a search.Pull this first when you need to filter auditEvents by type: it tells you the valid type values rather than guessing. The catalog is also a useful map of what kinds of activity Inforcer tracks at all.

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

    Inforcer Audit Events

    Inforcer records an audit trail of activity and changes it observes. This skill covers searching that trail (auditEvents) and enumerating the event-type catalog you filter against. It is a read-only history surface — it tells you what happened and when, which is the evidence layer behind a drift or posture report.

    Read api-patterns first for the gateway headers, the region requirement, the {success, message, errors, data} envelope, and continuationToken pagination. Audit searches commonly span many pages — paging to completion matters more here than almost anywhere else, because a partial page silently drops events from the window you think you searched.

    Anti-triggers

    • The Microsoft 365 unified audit log — this is Inforcer's own record of what it observed, a much narrower feed than M365's. For sign-ins, inbox-rule creation, app consents, or admin operations in the tenant, use cipp-alerts (cipp_list_audit_logs).
    • A security detection or alert to triage — an audit event is history, not a finding. Use blumira-findings, huntress-incidents, or cipp-alerts.
    • The current state that drifted — audit answers when and by whom; the state itself is inforcer-baseline-alignment.

    Tools

    inforcer_audit_event_types

    List the event-type catalog — the set of event types Inforcer can record. Returns the type identifiers/labels you use to filter a search.

    inforcer_audit_event_types()
    

    Pull this first when you need to filter auditEvents by type: it tells you the valid type values rather than guessing. The catalog is also a useful map of what kinds of activity Inforcer tracks at all.

    inforcer_audit_search

    Search the audit event history. Every filter is optional, and they are: event_types (an array of values from the catalog), date_from / date_to, page_size, and continuation_token.

    inforcer_audit_search(
      event_types=["<from the event-type catalog>"],
      date_from="2024-02-01",
      date_to="2024-02-29"
    )
    

    Returns event objects describing what occurred, when, and (where the API exposes it) the actor and target, plus a continuation token for the next page.

    There is no tenant filter. The search is account-wide across every managed tenant — the tool takes no tenant argument, unlike the rest of this plugin's surface. To answer "what changed on this tenant", filter by type and window, then attribute each returned event to a tenant from its own payload and discard the rest. Budget for that: a narrow per-tenant question still pulls the whole portfolio's events for the window, so keep windows tight and page to completion before you filter.

    What to look for in an audit review

    PatternWhy it matters
    Change events that line up with a drift findingConnects "the tenant drifted" to "here is the change that caused it"
    Privileged-role or policy changesHighest blast radius; worth corroborating against identity review
    A burst of activity around an incident windowHelps reconstruct a timeline for post-incident review
    No events where you expected someMay indicate a filter mismatch (wrong type or window) rather than genuine quiet

    Workflow patterns

    Build a valid filter, then search

    types  = inforcer_audit_event_types()              # discover valid types
    events = inforcer_audit_search(
                event_types=[types[...]],              # values from the catalog
                date_from="2024-02-01", date_to="2024-02-29")
    mine   = [e for e in events if tenant_of(e) == "Acme"]   # filter client-side
    

    Discover the event types first so your filter uses real values; an invalid type quietly returns nothing and looks like "no activity." Page continuation_token to completion before concluding the window is empty — and before filtering to a tenant, since the tenant you want may only appear on a later page.

    Drift corroboration

    When baseline-alignment shows a tenant has drifted, search the audit trail around the drift window and pick out the events belonging to that tenant to find the change(s) that produced it. Audit gives the narrative behind the alignment delta — useful in a report and in client conversations.

    Caveats

    • This surface is read-only. You can search and read the audit trail, but you cannot create, edit, or delete audit events, and audit events are history — they don't let you undo or remediate anything.
    • The API is community-sourced (no official public docs); the auditEvents shape, the event-type catalog values, and the exact filter parameter names are illustrative and credited to royklo/InforcerCommunity. Confirm filter field names against the catalog on first use.
    • An empty result is more often a wrong filter (an invalid event type or a too-narrow window) than genuine silence — widen and re-check before reporting "no activity." The same goes for a tenant that vanishes from a client-side filter: confirm you paged the whole window first.
    • Page to completion. An un-paged audit search is the easiest way to under-report a change window.

    Related Skills

    Frequently asked questions

    What to verify before installation and use

    What does the Inforcer Audit Events source document cover?

    Inforcer records an audit trail of activity and changes it observes. This skill covers searching that trail (auditEvents) and enumerating the event-type catalog you filter against. It is a read-only history surface — it tells you what happened and when, which is the evidence lay…

    How do I install Inforcer Audit Events?

    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/audit-events". 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