AI Usage Report
AI spend, costs and adoption on this platform - what we spent this week, top users by cost, which skills and models are used most, failed or denied requests, and trends against the previous period.
Astound Digital · Internal AI Platform
The complete catalogue of what the platform can do: consultancy, brand, and governance skills, with more suites arriving in later stages.
AI spend, costs and adoption on this platform - what we spent this week, top users by cost, which skills and models are used most, failed or denied requests, and trends against the previous period.
Report which projects are in trouble and why — recorded RAG against unresolved critical issues, missed milestones and stale status reports, across accessible Jira projects and Confluence.
The morning read on the portfolio — a traffic light per project from live Jira evidence, the Confluence record behind it, and this platform's AI usage for the period.
What a person or team has been working on and how much they use the platform, from their conversations, skills, Jira issues and Confluence pages.
Operate and inspect the Astound Digital platform through the admin systemprompt MCP server and CLI - is the instance healthy, services status, which MCP servers are configured or running, recent errors, list skills, plugins or users, who is using AI, or run any CLI command
Switches the kit's debug log on or off and reads it: what the kit's scripts and the Claude Code session did, in .ai-mate/logs/, at a level and for a time window. Use when the user asks to run /ai-mate-debug, to trace what the agent or a kit script did, to collect logs for a bug report, or to switch logging off. Not for debugging the project's own code (development-root-cause-analysis).
Sets up or repairs the AI Mate workspace for a project: project config and project-info, the client repo clone, kit rules and permissions, the bundled browser. Use when the user asks to run /ai-mate-init, set up AI Mate on a project, join a project a teammate already set up, or fix a broken workspace.
Onboards newcomers to AI Mate and explains how it works: what the assistant can do for each role, the astound-sdd delivery method, project setup and initialization, and where to start. Use when someone is new to AI Mate or this workspace, asks "what can you do?", "how does astound-sdd work?", "how do I set up the project?", "where do I start?", or wants to be shown around.
Identify growth and reactivation opportunities and build the account plan and client roadmap from the client's estate, purchased services and comparable clients; CPM approves (G-UC-16).
Entry point for account management at Astound Digital. Routes CPMs and sellers through the loop from demand hypothesis to outreach, QBR pack, account plan and campaigns, and explains the unattended demand-scan workflow.
Generate targeting campaigns, partner-channel targeting and per-persona content from the ICP and message libraries, with target lists from Salesforce; Marketing approves and nothing is sent (G-UC-17).
Detect demand before formal procurement: turn dated account, market and ecosystem signals into an evidenced hypothesis of the client's business problem and the relevant Astound response, accepted by the account owner (G-UC-2).
Generate a personalised multi-step outreach sequence (emails, LinkedIn messages, call script, talking points) per persona from an accepted hypothesis, in the right market tone; the seller sends, never the AI (G-UC-4).
Prepare the QBR, steering committee or renewal pack from delivery, commercial and client-satisfaction history, with delivered value, status, issues, risks and next steps for the CPM to present (G-UC-15).
Analyse scope changes, assess impact, and log structured change request tickets.
Search, create, and update Confluence pages and spaces.
Validate stories against Definition of Ready (DoR) or Definition of Done (DoD) criteria.
Draft epics with persona, KPIs, scope, and story breakdown.
Analyze scope and story impact of a proposed change.
Transition issues, update fields, bulk-manage Jira operations.
Prepare unsent Slack and email drafts for BA events and updates.
Draft and publish release notes and release summary documents.
Trace requirements to Jira tickets and maintain the RTM.
Prepare on-demand BA reports and schedule proposals; jobs are not installed.
Manage conversation sessions and record agent corrections for learning.
Run sprint planning sessions — prioritise backlog, size stories, suggest sprint goals.
Draft FE/BE user stories per org writing standards.
Maintain CSV trackers: RTM, Risk Register, Q&A log, to-do list.
Store and retrieve discovery/interview transcripts as local workspace Markdown.
Report who the signed-in user is on this instance, which workspaces, skills and connectors their access actually grants, and where to see their own usage.
Searches the project's own memory (meeting notes, Confluence, Jira, ADRs, living specs, archived changes) and returns cited excerpts with their source type and date. Use whenever an answer or plan depends on what was decided, required, or discussed: requirements, acceptance criteria, workshop outcomes, why something was built, what a ticket or page says. Not for live ticket state or writing to Jira or Confluence (integration-atlassian).
Refreshes the project memory: pulls teammates' meeting notes and ADRs, mirrors Confluence and Jira into the inbox, and re-indexes what changed. Use when the user asks to run /project-context-sync, to sync or rebuild the project context, or after new meeting notes were dropped into the inbox.
Detect requests outside the scope baseline in transcripts, Jira comments and client messages, and draft change requests with a calculated schedule, cost, risk and dependency impact for PjM decision.
Entry point for project delivery — routes a project manager to the weekly health and status rhythm, change-request detection, risk registers, UAT readiness and the unattended agent-farm delivery workflows.
Weekly delivery health from Jira, the schedule and time logs — blocked and ageing work, scope churn, burn-up, SPI, CPI and EAC — with a suggested RAG the PjM confirms.
Propose a project's risk and dependency registers from lessons learned, comparable projects' registers, SOW assumptions and the stakeholder roster; the PjM approves each entry before it is filed in Confluence.
Draft the weekly client status report and monthly steering pack (agile or fixed scope) from the project registers, Jira, forecast and CR log; the PjM approves before anything is sent.
Daily UAT progress and go-live readiness — defect trend by severity, go-live checklist status and draft release notes — for the PjM and QA Lead go/no-go decision.
Internal engine of the astound-sdd phase commands; they run its CLI themselves. Not for direct use: start a phase with its /astound-sdd-* command.
Reviews code changes before merge against the Jira ticket and the astound-sdd specs, with a security review for the project's platform alongside, findings by severity, and a merge verdict. Use when asked to review changes, a branch, a PR, or a diff, to check code quality or security before merge, or when an implementation phase needs a review gate.
Decides whether a code or configuration change to the project is complete: the checks it needs, what is missing, the evidence for each. Use after implementing a feature, fix, or configuration change and before the final answer reports it, before sending it for review, or when the user asks whether it is done. Not a pre-merge review (development-code-review).
Carries a code or configuration change to the project asked for in chat from the first edit to a done report backed by evidence. Use when the user asks to implement, build, fix, add, or change a feature, a bug, or a configuration. Not for an astound-sdd phase (astound-sdd-apply), asking whether work is done (development-definition-of-done), or a review (development-code-review).
House conventions for git branches, commit messages, pushes, and pull requests on this project. Use before creating a branch, staging, writing a commit message, pushing, or opening a PR, and whenever the user says commit, push, branch, or PR.
Gets several independent opinions on one question (a decision, a claim, a design, a document, a diagnosis) from fresh subagents that see neither the conversation nor its conclusions, and compares where they agree and differ. Use when the user asks for independent opinions or audits, a blind second look, or several agents to check something without our conclusions. Not for a pre-merge code review (development-code-review).
Finds and proves the root cause of a bug, a failing or flaky test, or a slow page before any fix, ending in a fix proven by a test or a measured before/after verdict. Use whenever something is broken, an error or regression appears, a page is slow or its Core Web Vitals or Lighthouse score dropped, a Jira bug ticket is picked up, or repeated fixes keep failing. Not for proving a new feature works (development-verification) or researching external behaviour (astound-sdd-research).
Decides what counts as verified for a task or phase and produces the evidence on the running app: new tests, a browser walk with screenshots, SSR and CMS checks. Use at an astound-sdd phase's Verify step, when a task says verify, test, or check that it works, or when the Definition of Done needs evidence. Not a code review or formal QA.
Start workflow runs, follow, read and cancel the agent runs they queue, answer the workflow decisions addressed to you, and read your own and your projects' run facts and usage through the agent-farm MCP server.
Produce the sales-to-delivery handover pack for a closed-won opportunity and file its artefacts with the reuse metadata tag set.
Find comparable past Astound deals, proposals and SOWs by industry, platform, size band and region, ranked by scope similarity with artefacts and how each landed.
Assemble the deal pack from approved evidence and produce the proposal document and deck in Astound format, every claim sourced.
Turn discovery notes and transcripts into a requirements list, readout deck, RAID log and BPM process models in Astound templates, with open questions.
Build a project estimate workbook and RPM draft from structured requirements and comparable estimates, with the missed-items checklist and spreadsheet arithmetic.
Entry point for Astound Digital presale growth skills. Routes an RFP, brief or opportunity to the right skill and journey step, and explains the unattended agent-farm workflows.
Read Astound's Certinia PSA from the Salesforce org with SOQL — projects and RAG, status reports, timesheets, estimate vs actuals, billing, milestones, staffing, skills, rate cards and RPM pricing models — using the proven query catalogue.
Assess a new RFP, RFI, brief or scope change against comparable Astound work and produce an opportunity brief with structured requirements, gaps, client questions and a draft first response.
Draft SOW scope, assumptions, exclusions and RACI from the approved solution and estimate, reusing only approved clause text found in Drive.
Find the closest past solution designs, architectures and accelerators for a BRD by platform, component and constraints, and show where the new need differs.
Translate client goals into an Astound value proposition linking each goal to an outcome, differentiator and sourced proof.
Reads and updates Jira issues and Confluence pages through bundled scripts. Use when the user mentions a Jira ticket or key, asks to search, create, update, comment on, or transition issues, view a ticket's attachments or screenshots, or find, create, edit, publish, export, or delete Confluence pages.
Internal runtime of the astound-sdd phase commands: the pipeline definition and the review-gate references they read. Not for direct use: start a phase with its /astound-sdd-* command.
Implements an approved astound-sdd plan (tasks.md) one delivery phase at a time, with a human approval per phase. Use when the user asks to run /astound-sdd-apply or to start or continue implementing a planned change.
Closes a finished change: its FSD/ISD and technical design become the subject's living spec, and the change moves to history. Use when the user asks to run /astound-sdd-archive or to close out a completed change.
Explores a change before any artifact is written: thinks it through, sizes it, grounds it in project context, and routes it into the pipeline. Use when the user asks to run /astound-sdd-explore, brainstorm or size a ticket, or facilitate grooming.
The dev planning phase: technical design, then tasks, each reviewed by a human. Use when the user asks to run /astound-sdd-plan or to plan the implementation once the BA/SA phase is signed off.
The BA/SA phase that turns a groomed idea into signed-off requirements: scoping, design, proposal, grooming, and an FSD or ISD. Use when the user asks to run /astound-sdd-propose or to start specifying a change or ticket.
Creates the Jira stories for an approved proposal from stories.md and links them to the FSD/ISD. Use when the user asks to run /astound-sdd-propose-approved or to create the Jira stories once the proposal is approved.
Submits the approved BA/SA artifacts: commit, optional review PR, and optional Confluence publish of the FSD/ISD. Use when the user asks to run /astound-sdd-propose-submit, submit the proposal for review, or publish the FSD/ISD to Confluence.
Settles a fact no document, spec, or code reading can — live or legacy site behaviour, a vendor API at runtime, instance data, a large code sweep — with a read-only investigation and a citable report in the change folder. Use when an astound-sdd artifact, decision, or task would otherwise say "not verified", or the user asks for research or an investigation. Not for debugging a bug or fetching project documents.
Build a 360-degree brief on a company already in Salesforce: CRM state, open pipeline, key contacts, recent meetings. Use when asked to tell about, catch up on, or give the full picture on an existing account. Not in CRM: research-prospect.
Rank an account list or full book into action tiers from Salesforce ICP fit, engagement, activity, contact, and opportunity data. Use to score accounts, prioritize coverage, decide where to focus, or identify accounts to activate, qualify, or deprioritize.
Create a customer follow-up email and internal recap from a meeting transcript plus Salesforce account and opportunity history. Use after a customer call to capture decisions, commitments, objections, open questions, next steps, and proposed CRM updates.
Build a call brief from Salesforce meeting, account, opportunity, contact, and activity data. Use before a customer meeting to understand attendees, deal history, open threads, and discovery needs; rep one-on-one: rep-context.
Build a customer-facing business case and dated mutual action plan from Salesforce opportunity data, contact roles and Event activity. Use to frame why buy and why now, quantify return, map the path to signature, or test the close date.
Assess customer health from Salesforce account, renewal, case, task, and health data plus Salesforce Event activity. Use to judge risk, explain engagement or value trends, or prepare a business review; prospect meeting prep: call-prep.
Compile attributable customer quotes and themes from Salesforce meeting notes and cases across scoped accounts. Use to understand feedback on a feature, objection, competitor, or emerging issue, compare accounts, or surface recurring themes.
Create today's sales briefing from Salesforce events, near-term and overdue deals, account context, and follow-ups. Use for a morning rundown combining meetings and pipeline; schedule-only requests: calendar-events.
Map an opportunity's path to advance or close from Salesforce stage, stakeholder, activity, qualification, and risk data plus email, documents. Use to diagnose a stuck deal, identify blockers and owners, or test whether its close date is credible.
Build a scored deal-health assessment from Salesforce fields, contacts and activity plus email, documents, with evidence-backed risks. Use to judge whether one deal will close; for stage-exit gaps and a sequenced path, use deal-advance-gap.
Build a deal-risk digest from Salesforce close dates, activity, next steps and forecast fields plus email, documents. Use to find quiet or overdue deals, close-date danger, renewal windows, competitor mentions or other risks needing attention.
Model the impact of a deal slipping, shrinking or being lost from Salesforce pipeline and forecast data plus an available quota, including the gap and substitutes. Use to test downside scenarios, plan a backfill or judge whether the number still holds.
Create a personalized email draft from Salesforce contact, account, opportunity and activity data plus prior email, documents. Use when starting, following up with or re-engaging one prospect or customer. For batch inbox replies, use inbox-sweep.
Identify ranked expansion plays for one customer from Salesforce contacts, owned products and opportunities plus recent Salesforce events. Use to find evidence-backed whitespace, upsell paths or adjacent teams and products ready for outreach.
Find a concise answer with authoritative sources from Salesforce records, prioritizing the newest records. Use when locating a policy, approver, deck, security asset, prior precedent or teammate with relevant experience.
Build a forecast-call brief from Salesforce opportunity aggregates, top-deal samples and field history, covering the number, bucket movement, risks and asks. Use to explain a rep or team's forecast; for a broader pipeline and coaching view, use team-pipeline.
Check the Google Workspace connector end to end: list engines, one search, one conversational search, and report ok/empty/error for each. Use when asked to test or check the Google Workspace, Drive, Gmail or Calendar connection. Not a sales workflow.
Build a grounded response to a customer objection from the current deal, win-loss history and customer evidence in Salesforce. Use when interpreting pricing, timing, trust or competitive pushback and preparing a talk track or written reply.
Produce an inbound-lead priority and routing recommendation from Salesforce Lead, Account and activity data. Use when qualifying a new lead, assessing ICP fit and intent, choosing an owner or deciding the response speed and next step.
Build one rep's current pipeline assessment from Salesforce stage aggregates, deal samples and closed-deal history, covering coverage, hygiene and risks. Use when reviewing pipeline health and stage distribution; for changes over time, use deal-signals.
Build an interaction timeline from closed Salesforce Tasks and Events on one Account, Contact, Lead or Opportunity, with dates, people and notes. Use when inspecting what happened on a record or reviewing its activity. New activity entries require an approval-gated Salesforce write.
Build a renewal risk brief from Salesforce opportunities and accounts, covering timing, activity, uplift and next moves. Use to scan upcoming renewals or prepare one renewal motion; for overall account health or QBR prep, use customer-health.
Catch a manager up on one of their sales reps before a 1:1: the rep's pipeline, recent activity, what they are working on, and where they need help, with suggested questions. Use when the person named is an internal rep, not a customer contact.
Build a prospect brief from Salesforce data only (account, leads, opportunities, contacts, events), covering CRM status, relationship signals, likely priorities, contacts and ICP fit. Use to research a net-new company or person before outreach. Existing accounts: account-context.
Audit open Salesforce opportunities for missing fields, stale dates, weak next steps, stage mismatches and single-threading, producing prioritized fixes. Use to check pipeline data quality, find incomplete deals or plan CRM cleanup without changing records.
Build a stakeholder map from Salesforce contacts, opportunity contact roles and events, showing influence, stance, gaps and access paths. Use to identify decision makers, assess single-threading or plan introductions. Account brief: account-context.
Build a team pipeline brief from Salesforce users and opportunities, showing closed revenue, forecast, swing deals and coaching needs by rep. Use to review a manager's team, prepare a pipeline meeting or find where reps need help. One rep: pipeline-review.
Render assembled Salesforce data as a styled widget using either a hydrated dynamic definition or a registered widget with props. Use when a skill needs a composed visual presentation or guidance on rendering mode, structure and supported tiles.
Build a weekly sales recap from Salesforce opportunity movement and logged Event/Task activity, covering wins, losses, deal activity and next week's priorities. Use to review a rep's or team's week, prepare for Monday or draft an internal update.
Build a win-loss analysis from closed Salesforce opportunities, stage history, loss reasons and logged activity, showing win rates, loss stages, objections and deal patterns. Use to explain wins and losses, compare segments or identify coaching and process changes.
Write, run, and analyze structured test suites for Agentforce agents — functional AND security. TRIGGER when: user writes or modifies test spec YAML (AiEvaluationDefinition); runs sf agent test create, run, run-eval, or results commands; asks about test coverage strategy, metric selection, or custom evaluations; interprets test results or diagnoses test failures; asks about batch testing, regression suites, or CI/CD test integration; requests security testing, OWASP LLM Top 10, red-teaming, penetration testing, prompt-injection tests, a security grade, or a vulnerability assessment of an agent. DO NOT TRIGGER when: user creates, modifies, previews, or debugs .agent files (use agentforce-generate); deploys or publishes agents; writes Agent Script code; uses sf agent preview for development iteration; analyzes production session traces (use agentforce-observe); performs a static safety review of .agent file content (use agentforce-generate Section 15).
Build, modify, audit, repair, optimize, debug, and deploy agents with Agentforce Agent Script. TRIGGER when: user creates, reviews, or changes .agent files or aiAuthoringBundle metadata; asks to fix AgentScript, audit an existing agent, run an AgentScript health check, common-pitfall review, or baseline-versus-candidate repair loop; changes a response, action, subagent, route, state flow, or Agent Spec; migrates or upgrades a legacy GenAiPlannerBundle Agentforce agent (NOT an Einstein Bot) to an aiAuthoringBundle (Agent Script) agent; previews, debugs, deploys, publishes, or tests agents; uses sf agent generate/preview/publish/test; or manages Agentforce MCP servers, tools, assets, or authentication. DO NOT TRIGGER when: Apex, Flow, Prompt Template, Experience Cloud, or general Salesforce CLI work is unrelated to Agent Script; the source is an Einstein Bot (BotDefinition/BotVersion) — use agentforce-bot-upgrade; or the primary input is a production session or trace ID rather than an agent artifact.
DEPRECATED legacy persona for combined Apex + LWC implementation — superseded by apex-architect (backend) and ui-ux-specialist (LWC). Do not use for new work; only kept for backward reference on old tickets that already cite it.
Use when writing or reviewing backend Salesforce logic — Apex triggers and handler classes, batch/queueable/schedulable async processing, SOQL/SOSL design, bulkification, governor limits, sharing/FLS/CRUD security, or invocable methods that bridge Flow and Apex. Implementation-phase worker persona (Phase 3 of the sf-dev-workflow SDLC skills) — not for requirement analysis or architecture discussion.
Use when deciding Apex test scope for a PR vs. a release — impacted-tests vs. RunLocalTests, sandbox test-level quirks (NoTestRun), or keeping test-data factories in sync with validation rules.
Use when reviewing or implementing Lightning Data Service best practices in an LWC (.js, .html, .js-meta.xml) — UIAPI vs Apex, refreshApex / notifyRecordUpdateAvailable, @salesforce/schema imports, LDS record-form data patterns. TRIGGER on "apply LDS best practices to this LWC", "review this LWC for LDS best-practice issues", "review this component for Lightning Data Service issues", "UIAPI or Apex for this data?", "fix stale data after record save", "sync LDS cache", "use @salesforce/schema for field names", "choose between getRecord and Apex". DO NOT TRIGGER when building a new LWC (use experience-lwc-generate), applying SLDS design tokens (use design-systems-slds-apply), picking or wiring a `lightning-*` base component's props/events/slots generically (use experience-lwc-base-components-integrate — this skill covers only the LDS data-layer rationale, even when the fix involves a base record form), or for security / RTL / accessibility reviews (separate passes).
Apply SLDS-compliant UI using the correct blueprints, styling hooks, utility classes, and icons. Use when building any UI that needs SLDS, choosing between Lightning Base Components and SLDS Blueprints, applying styling hooks for theming, using utility classes for layout and spacing, or selecting icons. Triggers include "build a modal", "create a form", "data table", "SLDS styling", "style with hooks", "add an icon".
Astound house standards for Salesforce Apex, triggers, tests, LWC, Flows, validation rules, permissions and deployment. They apply on top of the official Salesforce skills and win wherever the two disagree. Use whenever you design, write, test or review Salesforce code or metadata.
Use when a Salesforce guard/validation needs a clean bypass path — Custom Permission via permission set (preferred), narrow profile-based bypass, re-entrancy/test static flags, or blocking edits after a record reaches a terminal status.
Use for Salesforce CPQ-specific work — CPQ package upgrades, pricing/quoting rule configuration, or CPQ regression testing. Lane-specific implementation persona of the sf-dev-workflow SDLC skills.
Use when implementing or reviewing Apex/backend logic that depends on Salesforce order of execution — trigger vs. flow timing, before/after-save decisions, bulkification, SOQL/SOSL limits, or async (Batch/Queueable/Schedulable/Platform Events) design.
Use when deploying a custom Lightning App with a Utility Bar on Salesforce — the CustomApplication + UtilityBar FlexiPage + profile visibility file trio, tab API names, and the App Launcher post-deploy check.
Use when a Salesforce business rule, mapping, or eligibility check is likely to change without a code deploy, or when the same engine should evaluate many similar conditions — Custom Metadata Type mapping tables and configurable rule engines.
Use this skill when users need to create or configure tab-based Salesforce Custom Applications with navigation, branding, and action overrides. Trigger when users mention custom apps, application metadata, app navigation, or organizing tabs into applications. Use when users want to create app containers for tabs and pages. Do NOT use when the goal is hosting a React UI bundle in the App Launcher — use experience-ui-bundle-custom-app-generate for that case.
Use this skill when users need to create Custom Lightning Types (CLTs) for Einstein Agent actions or structured input/output schemas. Trigger when users mention CLT, Custom Lightning Types, JSON schemas for agents, type definitions, lightning__objectType, or editor/renderer configurations. For widget renditions that combine a CLT with a Widget bundle, use the platform-lightning-type-widget-coordinate orchestrator instead. This is complex - always use this skill for CLT work.
Use this skill when users need to create or configure Salesforce Custom Tabs. Trigger when users mention tabs, navigation tabs, object tabs, web tabs, Visualforce tabs, Lightning component tabs, app page tabs, or tab configuration. Also use when users want to add navigation to custom objects, create tabs for external content, or set up Lightning page tabs. Always use this skill for any custom tab work.
Use for Salesforce Data Cloud work — ingestion configuration, identity resolution, segmentation, or Data Cloud environment prerequisites and post-deploy health checks. Lane-specific implementation persona of the sf-dev-workflow SDLC skills.
Use when building or reviewing Flow (record-triggered or screen), validation rules, Custom Metadata Types, or flow-triggered email notifications. Implementation-phase worker persona (Phase 3 of the sf-dev-workflow SDLC skills) — not for requirement analysis or architecture discussion.
Use when a Salesforce deploy fails, hangs, "looks stuck," rolls back with no clear reason, or reports "unknown user permission" / "app not in App Launcher" / "action not visible" / a BusinessProcess default error.
Use to design an AI agent persona — identity, voice, tone, behavioral style, guardrails — and encode it into Agent Script (.agent files) or Agentforce Builder field values. Runs four sequenced phases (DRAFT, REFINE, SCORE, ENCODE) plus five spokes (NAME, FILL OUT, ADJUST, CHECKLIST, WORKSHOP). Supports greenfield (brand input to a starter .agent file) and brownfield (audit an existing .agent file and re-encode persona fields only), with a 100-point evaluation rubric. Trigger when a user designs a new agent persona, retrofits persona consistency, translates brand guidelines into agent voice, defines tone/register/formality/warmth/humor/personification, encodes a persona for Agent Script or Agentforce Builder, or scores or audits an existing .agent file for persona quality. Do not trigger for building Agentforce actions/metadata, authoring Agent Script flow control without persona work, or testing agent conversations.
Use when working with Salesforce source control, orgs, or CI/CD — SFDX project structure, sf CLI deploy/retrieve/test commands, GitHub Actions pipelines, or environment/JWT auth setup.
Use when keeping Salesforce project documentation current — release notes, runbooks, the environment matrix, or verifying story/ticket documentation is complete before release sign-off. Implementation-phase lead persona of the sf-dev-workflow SDLC skills.
Use when deciding how to show, hide, or make read-only a Salesforce field on a Lightning record page — Dynamic Forms vs. profile/permission-set FLS vs. page layout, Change Record Type button removal, or conditional quick-action visibility filters.
Use when delivering a branded, one-shot Salesforce email notification triggered by a record/owner/queue change (e.g. ownership changing to a specific Queue) without writing Apex — letterhead, email template, and record-triggered flow.
Enable Dev Hub on a Salesforce org and view its scratch org allocation, using the Salesforce CLI (sf). Use when someone wants to turn on or enable Dev Hub, set up an org to create scratch orgs or second-generation (2GP) and unlocked packages, check whether Dev Hub is already enabled, see how many scratch orgs they can create (Active and Daily scratch org limits, remaining allocation), configure Dev Hub preferences such as packaging, org shape export, or scratch org snapshots, or list the active scratch orgs created from a Dev Hub. Enabling deploys the enableScratchOrgManagementPref setting, is irreversible, needs a System Administrator (ModifyAllData or ModifyMetadata), and does not work in sandboxes. DO NOT TRIGGER for creating or deleting individual scratch orgs, for switching the default org (use dx-org-switch), or for trial or org expiration dates (use dx-org-trial-expiration-check).
Use at the start of solution architecture for a Salesforce ticket — converting requirements into implementable work, identifying impacted metadata areas, and proposing delivery lane(s). Solution-architecture-phase lead persona (Phase 2 of the sf-dev-workflow SDLC skills) — auto-loaded at the start of that phase.
DEPRECATED legacy persona for Flow/approval automation — superseded by declarative-lead. Do not use for new work; only kept for backward reference on old tickets that already cite it.
Generate Salesforce Flows using the MCP tool execute_metadata_action. Use when the user asks to create, build, or generate a flow — including Screen, Autolaunched, Record-Triggered (before/after-save), Scheduled. Also trigger for flow-like requests such as "when a record is created", "trigger daily at", "send an email when", "update the field when", "automate", "workflow", or "flow XML/metadata". This is the only skill for Salesforce Flow generation.
Use when planning or troubleshooting Salesforce Flow deployment order, activation state, or environment-specific dependencies — e.g. deploying a flow before the quick action that references it, or a field before a before-save flow that reads it.
Primary Apex authoring skill for class generation, refactoring, and review. ALWAYS ACTIVATE when the user mentions Apex, .cls, triggers, or asks to create/refactor a class (service, selector, domain, batch, queueable, schedulable, invocable, DTO, utility, interface, abstract, exception, REST resource). Use this skill for requests involving SObject CRUD, mapping collections, fetching related records, scheduled jobs, batch jobs, trigger design, @AuraEnabled controllers, @RestResource endpoints, custom REST APIs, or code review of existing Apex.
Use to generate and validate Apex test classes with TestDataFactory patterns, bulk testing (251+ records), mocking, assertions, and disciplined test-fix loops. Use when creating Apex test classes (for triggers, services, controllers, batch jobs, queueables, and callouts), improving coverage, debugging or fixing failing Apex tests, or running test/coverage analysis. Triggers on *Test.cls files, sf apex run test, coverage reports. Do NOT trigger for production Apex (use platform-apex-generate) or Jest/LWC tests.
Use for Salesforce Industries (Vlocity) work — OmniScripts, Integration Procedures, DataRaptors, or DataPack deploys. Lane-specific implementation persona of the sf-dev-workflow SDLC skills.
Use when implementing or reviewing Salesforce integrations — outbound REST/SOAP callouts, Named Credentials, External Services, inbound REST resources or Platform Events, or mocking callouts in tests.
Use when implementing Lead conversion behavior on Salesforce — persisting the Lead Id onto the converted record, mapping custom fields via LeadConvertSettings, setting the converted Opportunity's record type/close date, gating conversion eligibility, or converting Leads automatically from a trigger with the bulk Database.convertLead API.
Use to enable Salesforce Change Data Capture (CDC) on a standard or custom object, configure a custom event channel, set a filter expression, or add enrichment fields. TRIGGER broadly on any of: 'enable CDC', 'enable Change Data Capture', 'turn on CDC', 'subscribe X to change events', 'only emit events for', 'filter change events', 'enrich change events', 'create a custom event channel'; or any mention of CDC, change events, PlatformEventChannel, PlatformEventChannelMember, EnrichedField, ChangeEvents channel, enrichment fields, change event filter; or when the user wants a downstream system to receive Salesforce data changes; or when the user touches .platformEventChannelMember-meta.xml / .platformEventChannel-meta.xml files. SKIP when publishing platform events, Pub/Sub API or REST/SOAP (use integration-connectivity-generate), or ManagedEventSubscription (out of scope for CDC). Always use this skill for CDC channel-membership metadata.
Create, read, update, and delete ManagedEventSubscription metadata in Salesforce. Use this skill for any work involving managed event subscriptions, platform event subscriptions, event channel subscribers, or .managedEventSubscription-meta.xml files. TRIGGER when: user asks to subscribe to a platform event, create a managed subscription, set up event replay, configure an event channel subscriber, update replay preset, activate or deactivate a subscription, delete a subscription, or manage ManagedEventSubscription metadata. SKIP when: user needs to create the platform event channel itself (use platform-custom-object-generate skill) or needs Flow-based event subscriptions (use automation-flow-generate skill).
Use when the user wants to retrieve or update Organization-Wide Default (OWD) sharing settings for Salesforce objects. TRIGGER on org-wide defaults, checking/viewing sharing defaults, changing default access levels (Private, Public Read Only, Public Read/Write, Controlled by Parent), internal/external access for standard or custom objects, making records private, or sharingModel in .object-meta.xml files. DO NOT TRIGGER for sharing rules, criteria-based sharing, role hierarchy, or manual sharing — delegate to platform-sharing-rules-generate.
Use for Salesforce Marketing Cloud work — journeys, emails, data extensions, automations, or business-unit-aware environment configuration and drift. Lane-specific implementation persona of the sf-dev-workflow SDLC skills.
Independent review of a Salesforce change: checks the diff against the Astound house standards and official Salesforce practice (limits, security, tests, coverage, integrations) and returns a verdict with findings. In the Dev Agent workflow it runs at AI_CODE_REVIEW inside a separate subagent, never in the agent that wrote the code.
Use when managing Salesforce profiles, permission sets, permission set groups, or App Launcher visibility from source — especially the "app exists but doesn't appear in App Launcher" pitfall, permission dependency chains (Modify All implies Delete+View All, ManageUsers requires DelegatedTwoFactor), or CustomApplication+UtilityBar FlexiPage deployment.
Use when writing Apex test classes, mocking callouts, Jest tests for LWC, or manual test plans with video-capture requirements for a Salesforce ticket. Testing-phase worker persona (late Phase 3 / PR-review stage of the sf-dev-workflow SDLC skills).
Use when delivering a guided Salesforce record action (Accept/Reject, Approve, Resolve, Submit-with-reason) via a Quick Action that launches a Screen Flow, without writing Apex.
Use when a Salesforce Lead or Case needs its Assignment Rule re-run after an inline edit or API update (which don't trigger assignment rules by default) — the invocable-Apex-plus-after-save-flow pattern.
Use when planning a Salesforce release or environment promotion — package/metadata deployment scope, promotion approvals, test-evidence summaries, rollback plans, or go/no-go decisions. Testing-phase lead persona (late Phase 3 / PR-review stage of the sf-dev-workflow SDLC skills).
Use when users create, generate, or validate Salesforce Custom Field metadata. Trigger on custom fields, field types, Roll-Up Summary, Master-Detail/Lookup relationships, formula fields, picklists, dependent (controlling) picklists, referencing a value set from a field, or scoping picklist values per record type; also field deployment errors, including a record type that won't deploy without a business process. DO NOT TRIGGER for creating/customizing the value set itself — a new GlobalValueSet or a StandardValueSet catalog like Industry — use platform-value-set-generate; this skill covers the field that references a value set, not the value set definition.
Use to create, generate, or validate Salesforce Custom Metadata Type metadata — the __mdt object, fields, and deployable records. Trigger on custom metadata types, CMDT, __mdt objects, .md-meta.xml files, or cross-org reference/config data; also admin-maintained mapping/lookup/crosswalk tables (config that changes without a deploy belongs in a CMDT, never hardcoded in Apex/Flow), and CMDT deploy errors. DO NOT TRIGGER for Custom Settings (use platform-custom-setting-generate), business-record objects (use platform-custom-object-generate), or secrets/API keys (use a Named Credential).
Salesforce data operations with 130-point scoring. Use to create, update, delete, bulk import/export, generate test data, and clean up org records via sf CLI and anonymous Apex. TRIGGER on creating test data, bulk import/export, sf data CLI commands, data-factory patterns for Apex tests, or seeding/cleaning org records. DO NOT TRIGGER for SOQL query writing only (use platform-soql-query), Apex test execution (use platform-apex-test-run), or metadata deployment (use platform-metadata-deploy).
Use at the start of any Salesforce implementation or requirement-analysis task to ground yourself in this project's own custom objects/fields, naming conventions, and existing automations before writing code or metadata — this file is a per-project template to fill in, not generic Salesforce knowledge.
MUST USE this skill for ANY sandbox request — including simply getting a sandbox's details, status, license type, or pending-activation state by name or ID. TRIGGER when the user: types "sandbox -help"/"sandbox help"; mentions a sandbox ID (07E prefix); asks to list or show sandboxes; asks for the details, status, license type, or config of a sandbox by name or ID; activates or discards a completed refresh; deletes a sandbox; verifies activation or deletion; creates or refreshes a sandbox. DO NOT TRIGGER when: the user wants to clone a sandbox.
Use when checking security posture for Salesforce code, metadata, or pipeline practices — secrets handling, dependency hygiene, sharing-model changes, or permission grants like ModifyAllData/ViewAllData/ManageUsers. Testing-phase lead persona (late Phase 3 / PR-review stage of the sf-dev-workflow SDLC skills).
Use when users get, create, edit, delete, or retrieve Salesforce Sharing Rules metadata for record-level access. TRIGGER on sharing rules, record/criteria-based/role-based/guest-user sharing, sharingCriteriaRules/sharingOwnerRules/sharingGuestRules, .sharingRules-meta.xml files, or sharing records with roles or groups, including viewing or modifying existing rules. DO NOT TRIGGER for permission sets/profiles or object-level (not record-level) security (use platform-permission-set-generate).
Use when building or reviewing Lightning UI fundamentals — LWC scaffolding, wire adapters, SLDS, Lightning Messaging Service, Dynamic Forms/FlexiPages, or Quick Actions.
Use when building or reviewing Lightning UI — LWC components and wire services, SLDS styling, Lightning Data Service, Dynamic Forms / FlexiPage field placement, Quick Actions, or utility bars. Implementation-phase worker persona (Phase 3 of the sf-dev-workflow SDLC skills) — not for requirement analysis or architecture discussion.
Pick the right Lightning Base Component (`lightning-*`) for a given UI task, retrieve its full API (props, methods, events, slots) from the bundled per-component reference, and wire it into an LWC (LWC `.html`, `.js`, and `.css` files) without breaking SLDS. Use this skill when users say "I need a Lightning modal / datatable / combobox / record form", ask which `lightning-*` component fits a use case, want a shortlist of LBC candidates, are about to hand-roll a UI that a base component already provides, or are editing an LWC bundle's `.html` / `.js` / `.css` and need to select or wire a base component. Also triggers on "Lightning base component", "LBC", "lightning-combobox", "lightning-datatable", "use `lightning-` tag". DO NOT TRIGGER for applying SLDS design tokens, blueprints, or styling guidance in general — that is `design-systems-slds-apply`; this skill only selects and wires `lightning-*` base components.
Use whenever a Salesforce ticket asks for "must be filled when...", "must follow format...", or "cannot change after..." — reusable validation-rule formulas for required-on-transition, at-least-one-of-N, cross-field logic, email/phone/name format checks, or blocking edits after status change.
Use this skill when users need to create, modify, or validate Salesforce Validation Rules. Trigger when users mention validation rules, field validation, data quality rules, formula validation, error messages, or validation logic. Also use when users encounter validation errors, need to update formulas, or want to enforce business rules at the data layer. Always use this skill for any validation rule work.
Declared architecture snapshot for one Agentforce agent: planner, topics, actions, flows, Apex, prompt templates, and NGA plugins. Renders a human-readable architecture document and Mermaid invocation graph from design-time metadata (not runtime audit rows). TRIGGER when user asks to describe, diagram, inventory, audit, document, or diff (e.g. v3 vs v5) the architecture / action tree / topic structure / tool inventory of a specific agent by agent API name in a specific org. DO NOT TRIGGER for runtime session traces, conversation transcripts, generation timings, or gateway audit chains — this skill reads design-time metadata only (use agentforce-d360-analyze for session traces).
ALWAYS USE THIS SKILL to assign permission sets to org users. Assign one or more permission sets to org users using the sf org assign permset command. TRIGGER when the user asks to assign, grant, give, add, or apply permission sets to users, admins, specific orgs, or specific users. Supports granting permissions, giving access, and adding permission sets to default admin or specific users via --on-behalf-of. DO NOT TRIGGER for listing permission sets or checking user permissions.
Lightning Web Components with PICKLES methodology and 165-point scoring. Use this skill when the user creates or edits LWC components, builds wire service patterns, or writes Jest tests for LWC. TRIGGER when: user creates/edits LWC components, touches lwc/**/*.js, .html, .css, .js-meta.xml files, or asks about wire service, SLDS, or Jest LWC tests. DO NOT TRIGGER when: Apex classes (use platform-apex-generate), Aura components, or Visualforce.
Salesforce Connected Apps and External Client Apps OAuth configuration with 120-point scoring. Use this skill to configure OAuth flows, JWT bearer auth, Connected Apps, and External Client Apps in Salesforce. TRIGGER when: user configures OAuth flows, JWT bearer auth, Connected Apps, ECAs, or touches .connectedApp-meta.xml / .eca-meta.xml files. DO NOT TRIGGER when: configuring Named Credentials for callouts (use integration-connectivity-generate), reviewing permission policies (use platform-metadata-deploy), or writing Apex token-handling code (use platform-apex-generate).
Salesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use integration-connectivity-connected-app-configure), Apex-only logic (use platform-apex-generate), data import/export (use platform-data-manage), or CDC channel-membership metadata such as PlatformEventChannel, PlatformEventChannelMember, or EnrichedField (use integration-eventing-cdc-configure).
Salesforce debug log analysis and troubleshooting with 100-point scoring. TRIGGER when: user analyzes debug logs, hits governor limits, reads stack traces, or touches .log files from Salesforce orgs. DO NOT TRIGGER when: running Apex tests (use platform-apex-test-run), generating or fixing Apex code (use platform-apex-generate), or Agentforce session tracing (use agentforce-observe).
Apex test execution, coverage analysis, and test-fix loops with 120-point scoring. Use when the user runs Apex tests, checks code coverage, fixes failing tests, or touches *Test.cls / *_Test.cls files. DO NOT TRIGGER when writing Apex production code (use platform-apex-generate), Agentforce agent testing (use agentforce-test), or Jest/LWC tests (use experience-lwc-generate).
Salesforce DevOps automation using sf CLI v2. TRIGGER when: user deploys metadata, creates/manages scratch orgs or sandboxes, sets up CI/CD pipelines, or troubleshoots deployment errors with sf project deploy. DO NOT TRIGGER when: writing Apex code (use platform-apex-generate), building LWC components (use experience-lwc-generate), creating metadata definitions (use platform-custom-object-generate or platform-custom-field-generate), or querying org data (use platform-data-manage).
ALWAYS USE THIS SKILL to retrieve metadata from an org to your local project with sf project retrieve start. Supports retrieval by all changes, source directory, metadata type (wildcards), manifest (package.xml), or package name, in source or metadata (ZIP) format. Use when the user asks to retrieve, pull, sync, or download metadata, Apex classes, or custom objects. DO NOT TRIGGER for deploying metadata (use platform-metadata-deploy), listing metadata, or generating a package.xml (use platform-manifest-generate). NEVER use MCP tools.
Use when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan/selectivity analysis, and performance or safety improvements. TRIGGER when the user writes, optimizes, or debugs SOQL/SOSL, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER for bulk data operations (use platform-data-manage), Apex DML logic (use platform-apex-generate), or report/dashboard queries.
Use to EXECUTE Salesforce org operations immediately via the sf CLI (this skill runs them, it does NOT generate scripts): create scratch orgs (from edition, definition file, snapshot, or org shape), list/display/resume/delete scratch orgs, open orgs in browser. Trigger: 'create scratch org', 'create org from snapshot', 'delete scratch org', 'open my org'. Do NOT use for switching the default org (use dx-org-switch), deploying metadata (use platform-metadata-deploy), or creating/checking/listing/deleting org snapshots (use dx-org-snapshot-manage).
Switches the active Salesforce org (default target-org) using the Salesforce CLI. Use whenever someone wants to change which org CLI commands run against — whether they say "switch org", "change default org", "set my org to", "use alias", "point to", or describe wanting to work against a specific org, scratch org, sandbox, or production.
Use when users create, generate, or validate Salesforce Custom Object metadata. Trigger on custom objects, .object files, sharing models, name fields, or validation rules — e.g. "create a custom object" — and deployment errors around sharing models and Master-Detail relationships. Also keep the object's <description> current when its fields or validation rules change. Do NOT use for non-Custom-Object metadata (Apex, Flows, LWC, Permission Sets, Custom Metadata Types) or standard objects.
Generates correct, deployable Salesforce permission set metadata (PermissionSet XML) with object, field, user, and app permissions. Use this skill when creating or editing permission set metadata, object permissions, field-level security (FLS), tab visibility, or deploying permission sets.
Use to create, generate, or validate a Salesforce GlobalValueSet (reusable picklist shared across fields) or customize a StandardValueSet (built-in picklists like Industry, Lead Source, Opportunity Stage). Trigger on global/standard value set, reusable picklist, .globalValueSet-meta.xml or .standardValueSet-meta.xml, or deploy errors adding values to a standard picklist. DO NOT TRIGGER for a one-off inline picklist on a single field with no reuse — use platform-custom-field-generate.
Drives a real browser from the terminal with Playwright: open a page, click through a flow, fill forms, take screenshots, read console errors and network requests, record traces. Use when asked to open, check, or test a page in the browser, take a screenshot, or debug what a page loads. Not for deciding whether a change is verified (development-verification).
Draws sequence, flow, and activity diagrams as committable .drawio and .png files from a small YAML spec, offline. Use when the user wants a diagram for a doc, a Confluence page, or markdown, asks to draw the calls between systems, or mentions .drawio or draw.io.
Install the desktop bridge, sign in with Astound SSO, and every skill on this page syncs straight into Claude Code, Cowork, and Codex. There is no account to create — your corporate login is your account.