Skip to content
Agentmart
Submit a tool

org-health-assessment

Assess the health of a Salesforce org across security, automation, permissions, data model, schema limits, license utilization, and large data volumes —…

Skill by jterratsdev

IndexedBSD-3-Clause
Write a review

Chalk Labs

Need help deploying org-health-assessment?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/jterratsdev-org-health-assessment

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Assess the health of a Salesforce org across security, automation, permissions, data model, schema limits, license utilization, and large data volumes — grounded in a full metadata retrieve plus live-org queries, never in grep alone. USE FOR: org assessment, org health check, org audit, org review, brownfield onboarding, pre-go-live audit, implementation diagnostic, technical debt review, automation conflict, permission architecture, license utilization, LDV, data volume. Reusable by Security, Technical Architect, and Admin profiles.

Use cases: data, security, sales

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/org-health-assessment

What's inside

Skill name
org-health-assessment
Description
Assess the health of a Salesforce org across security, automation, permissions, data model, schema limits, license utilization, and large data volumes — grounded in a full metadata retrieve plus live-org queries, never in grep alone. USE FOR: org assessment, org health check, org audit, org review, brownfield onboarding, pre-go-live audit, implementation diagnostic, technical debt review, automation conflict, permission architecture, license utilization, LDV, data volume. Reusable by Security, Technical Architect, and Admin profiles.
License
BSD-3-Clause
Instructions
224 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Salesforce Org Health Assessment

This skill carries the per-domain **criteria** for an org assessment. The method
**discipline** (grounding, grep-is-a-locator, declare-gaps, root-cause) lives in the
behavioral contract — this skill does not re-define it; it applies it per domain.

---

## 0. Declare the assessment PURPOSE first

State the purpose up front. It changes the OUTPUT framing only — the grounding
discipline is identical in every mode. **Default to neutral baseline reporting:** state
configuration as fact; flag a control as a risk only when the evidence shows it. A robust
password policy is "robust", not a finding. Do not hunt for fault, and do not presuppose
health either — a count is a locator, not a verdict.

| `purpose` | Output framing |
|-----------|----------------|
| `failed-diagnostic` | findings + severity + remediation; root-cause of degradation |
| `brownfield-onboarding` | baseline/orientation: what exists, current conventions, the automation/permission/data-model "lay of the land", and the constraints a new feature must respect (existing OWD, automation order on objects you will touch, headroom the feature consumes) |
| `pre-go-live` | release-readiness gate against the criteria below |

The domains and criteria stay the same across purposes; only the framing (findings vs
baseline vs readiness) changes.

---

## 1. Grounding precondition — TWO-PRONGED (do this before any domain analysis)

You cannot assess what you did not retrieve, and configuration alone cannot answer
runtime questions. Both prongs are mandatory; whatever a prong could not capture is a
**declared gap**, never an inference.

### Preflight — verify the connected user can actually read everything (BEFORE the retrieve)

A retrieve runs with the connected user's effective permissions and **silently omits any
metadata type that user cannot read** — the retrieve still "succeeds", so the gap is
invisible unless you check first. **System Administrator profile alone is NOT sufficient:**
several assessment-critical reads come from permission sets / permission-set groups, not the
profile. Verify access up front; if it is missing, STOP and request elevation rather than
producing an assessment over partial metadata.

Identify the connected user and check the permissions a full retrieve depends on:

```bash
# Who am I, and is this even the right org?
sf org display --json

# Effective permissions of the connected user (profile + all assigned permission sets)
sf data query --use-tooling-api --json --query "SELECT PermissionsModifyAllData, PermissionsViewAllData, PermissionsViewSetup, PermissionsAuthorApex, PermissionsViewAllProfiles, PermissionsManageRoles FROM PermissionSet WHERE Id IN (SELECT PermissionSetId FROM PermissionSetAssignment WHERE AssigneeId = '<connected-user-id>')"
```

Minimum permissions a complete assessment retrieve depends on (held by the profile OR an
assigned permission set / PSG — the effective union is what matters):
- **View Setup and Configuration** (`PermissionsViewSetup`) — read org-wide setup metadata.
- **Modify Metadata Through Metadata API Functions** (or **Modify All Data**) — Metadata API access.
- **View All Data** (`PermissionsViewAllData`) — read records across objects for the runtime queries.
- **Author Apex** (`PermissionsAuthorApex`) — retrieve Apex classes/triggers in full.
- **View All Profiles / Manage Roles** — read the permission-architecture domain.
- Feature-gated reads (e.g. Flows, Reports, Connected Apps) that require the corresponding
  permission set — a user without them yields a retrieve missing those types.

Rule: **record the preflight result as evidence.** If the connected user is a System
Administrator but lacks a required permission set / PSG, that is a declared gap on every
domain that depends on the missing read — do not infer the missing metadata, and do not
present the assessment as complete.

### Prong A — Full metadata retrieve (configuration domains)

Generate the manifest FROM the org, then retrieve against it. **Default = full retrieve**
(all supported types) so every domain analyzes complete metadata.

```bash
sf project generate manifest --output-dir ./manifest --from-org <org-username-or-alias>
sf project retrieve start --manifest ./manifest/package.xml
```

Rules:
1. **Default is full**, never scoped. A scoped retrieve pre-decides what is irrelevant
   before the analysis exists — the same grounding failure, upstream.
2. **Any exclusion is explicit and declared** in the output (what was skipped and why).
   Reports/ListViews/EmailTemplates/Translations are assessment SIGNALS (report sprawl,
   non-selective filters, dead metadata, localization), not "noise" to filter out.
3. **Capture retrieve fidelity as evidence**: which types and counts came back, and any
   that FAILED (e.g. Flows not downloaded due to a missing permission — a finding in
   itself, and a silent gap if unrecorded).
4. **Volume runs on the durable background lane.** A full retrieve of a large org (a real
   manifest can be ~21k components) is long-running and must survive the chat turn. Do
   NOT narrow scope just to finish inside one turn.

### Prong B — Live-org queries (runtime domains)

Licenses and data volumes do NOT live in metadata. The retrieve brings *configuration*,
not *runtime state*. Use the read-only org queries for the runtime domains. **Every
number links to the exact query that produced it, persisted as evidence — the query is
the evidence, not the assertion.** Report as *used vs allocated (headroom)*, never a
bare number.

```bash
# Org allocations / headroom (storage, API, async, etc.)
sf org list limits --json

# User licenses — assigned vs available per type
sf data query --query "SELECT Name, TotalLicenses, UsedLicenses FROM UserLicense" --json

# Permission-set licenses
sf data query --query "SELECT PermissionSetLicense.MasterLabel, AssigneeId FROM PermissionSetLicenseAssign" --json

# Managed-package licenses
sf data query --query "SELECT AllowedLicenses, UsedLicenses, NamespacePrefix FROM PackageLicense" --json

# Row counts per object (the LDV locator)
sf data query --query "SELECT COUNT() FROM <Object>" --json

# Ownership/lookup skew (a few owners holding >10k records)
sf data query --query "SELECT OwnerId, COUNT(Id) FROM <Object> GROUP BY OwnerId" --json
```

A domain that needs runtime data but had no org connection is a **declared gap**, not an

From jterratsdev/smart-deployment, BSD-3-Clause.

More from jterratsdev/smart-deployment

Signals

Stars
0
Forks
0
Open issues
14
Last commit (this folder)
Aug 5, 2026 (2 months ago)
Last release
Sep 29, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
BSD-3-Clause
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from jterratsdev

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get org-health-assessment running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying org-health-assessment?

CallGet help
Cite this page

org-health-assessment skill. Agent Mart. https://agentmart.dev/skills/jterratsdev-org-health-assessment (last updated 2026-10-24)