sf-message-grammar-audit — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited sf-message-grammar-audit (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Generate an internal remediation report identifying grammatical issues in user-facing messages across a Salesforce managed package. This skill builds on the same extraction pipeline as sf-message-catalog but adds a grammar analysis pass and produces a different output format focused on actionable fixes.
docx SKILL.md in your available skills. You will generate a .docx using docx-js.sf-message-catalog and the output is available, you can read that file to extract messages instead of re-querying Salesforce. Ask the user.sf-message-catalog (query Tooling API across all five component types). The extraction instructions are identical — refer to that skill for the full Tooling API query patterns and message-detection regex.mcp__salesforce-*__tooling_execute. If multiple orgs are connected, ask the user to pick one.kugo2p).Follow the same five-type extraction as sf-message-catalog:
addError(), ApexPages.addMessage(), throw new ...Exception()ShowToastEvent, setCustomValidity, .catch() handlers, custom error componentsforce:showToast, component.set("v.errorMessage"), ServerActionService, c:Alert/c:Toastapex:pageMessages, apex:pageMessage, JS alert()/confirm(), conditional panelsapex:outputTextParallelize extraction across component types using subagents when possible.
For each message, record: component name, method/context, message text, condition, severity, and source type (Apex/LWC/Aura/VF Page/VF Component).
Analyze every extracted message for the following issue categories. This is the core value of this skill — be thorough and precise.
Check every instance of "a" or "an" followed by a word:
Check that subjects and verbs agree in number:
Check for contradictions between articles and plural markers:
Check for inconsistent mid-sentence capitalization across related messages:
newQuote uses "Contact Roles" but newOrder uses "contact Roles", flag itCompare messages that convey the same meaning across different components:
Assign each issue a priority:
| Priority | Criteria |
|---|---|
| High | Clear grammar error visible to end users (wrong article, misspelling, broken subject-verb agreement). Fix before next release. |
| Medium | Agreement mismatch or cross-component inconsistency. Fix when touching the component. |
| Low | Capitalization or style inconsistency. Fix opportunistically. |
Create a landscape .docx using docx-js (npm install docx if needed).
{Package Name} — Grammatical Issue ReportGenerated {date}Internal — For Development Team Use#C00000) — Fix before next release#BF8F00) — Fix when touching the component#2E75B6) — Fix opportunisticallyAn 8-column landscape table:
| # | Category | Component | Source Ref | Current Message | Suggested Fix | Priority | Issue Description |
|---|
Formatting rules:
Courier New)#548235) showing the corrected message#F2F7FB / #FFFFFF)#1F4E79 with white text)After generating, validate:
python <path-to-docx-skill>/scripts/office/validate.py output.docxSave the file as {PackageName} Grammatical Issue Report.docx and provide the user a link.
This skill is designed to run monthly so the development team can track message quality improvements over time. When scheduling:
0 9 1 * * (1st of each month at 9 AM)sf-message-catalog so the catalog is freshThis skill shares the same Phase 1 extraction pipeline as sf-message-catalog. The difference:
| sf-message-catalog | sf-message-grammar-audit | |
|---|---|---|
| Audience | Customers, end users | Internal development team |
| Focus | Complete inventory of all messages | Only messages with grammatical issues |
| Output | Full catalog organized by component | Prioritized remediation report |
| Action | Reference document | Fix list with suggested corrections |
If both skills are scheduled, run sf-message-catalog first, then this skill can optionally read the catalog instead of re-querying Salesforce.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.