Member Junction
    Preparing search index...

    One skill's involvement in an agent run step, recorded in AIAgentRunStep.Skills (a JSON array of these, or null when no skills are in play). This is the observability contract for skills: every step touched by a skill records WHICH skill, HOW it entered the run, and the PROVENANCE OF AUTHORITY that admitted it.

    Population rules (implemented in BaseAgent):

    • Skill steps record the activation(s) that step performed (with Reason when agent-initiated).
    • Prompt steps record the full set of skills in effect for that turn, so prompt injection is always visible.
    • Actions / Sub-Agent steps record the skill(s) through which the executed tool became available; null/absent means the tool was a native agent grant.

    The canonical JSON-type interface for CodeGen lives at metadata/entities/JSONType-interfaces/AgentSkillInvocation.ts — keep the two in sync.

    type AgentSkillInvocation = {
        ActivationType: "requested" | "auto";
        Provenance: AgentSkillInvocationProvenance;
        Reason?: string;
        SkillID: string;
        SkillName: string;
    }
    Index

    Properties

    ActivationType: "requested" | "auto"

    How the skill entered the run: explicit user request (/skill mention) or agent self-activation

    The gate values that admitted this skill — the provenance of authority

    Reason?: string

    Agent-stated rationale (only for ActivationType='auto', from skillActivations[].reason)

    SkillID: string

    ID of the activated skill (MJ: AI Skills.ID)

    SkillName: string

    Name of the activated skill at activation time