Pipeline Review
gooseworks-ai/goose-skills
Pipeline analysis composite. An agent skill from gooseworks-ai/goose-skills.
Check when Salesforce orgs expire (or already expired) and what to do about it, for one org, the default org, or across all authenticated orgs, using the Salesforce CLI (sf).
$ npx skills add forcedotcom/sf-skills --skill dx-org-trial-expiration-check -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install forcedotcom/sf-skills dx-org-trial-expiration-check --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dx-org-trial-expiration-check .claude/skills/dx-org-trial-expiration-check && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "dx-org-trial-expiration-check" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-org-trial-expiration-check into .claude/skills/dx-org-trial-expiration-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-org-trial-expiration-check", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-org-trial-expiration-checkType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add forcedotcom/sf-skills --skill dx-org-trial-expiration-check -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install forcedotcom/sf-skills dx-org-trial-expiration-check --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/dx-org-trial-expiration-check .agents/skills/dx-org-trial-expiration-check && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dx-org-trial-expiration-check" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-org-trial-expiration-check into .agents/skills/dx-org-trial-expiration-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-org-trial-expiration-check", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add forcedotcom/sf-skills --skill dx-org-trial-expiration-check -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install forcedotcom/sf-skills dx-org-trial-expiration-check --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/dx-org-trial-expiration-check .cursor/skills/dx-org-trial-expiration-check && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "dx-org-trial-expiration-check" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-org-trial-expiration-check into .cursor/skills/dx-org-trial-expiration-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-org-trial-expiration-check", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/forcedotcom/sf-skills.git --path skills/dx-org-trial-expiration-check--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add forcedotcom/sf-skills --skill dx-org-trial-expiration-check -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install forcedotcom/sf-skills dx-org-trial-expiration-check --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/dx-org-trial-expiration-check .gemini/skills/dx-org-trial-expiration-check && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "dx-org-trial-expiration-check" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-org-trial-expiration-check into .gemini/skills/dx-org-trial-expiration-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-org-trial-expiration-check", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install forcedotcom/sf-skills dx-org-trial-expiration-checkInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add forcedotcom/sf-skills --skill dx-org-trial-expiration-check -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/dx-org-trial-expiration-check .github/skills/dx-org-trial-expiration-check && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "dx-org-trial-expiration-check" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-org-trial-expiration-check into .github/skills/dx-org-trial-expiration-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-org-trial-expiration-check", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add forcedotcom/sf-skills --skill dx-org-trial-expiration-check -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install forcedotcom/sf-skills dx-org-trial-expiration-check --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/dx-org-trial-expiration-check .opencode/skills/dx-org-trial-expiration-check && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "dx-org-trial-expiration-check" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-org-trial-expiration-check into .opencode/skills/dx-org-trial-expiration-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-org-trial-expiration-check", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
dx-org-trial-expiration-checkCheck when Salesforce orgs expire (or already expired) and what to do about it, for one org, the default org, or across all authenticated orgs, using the Salesforce CLI (sf).
Dx Org Trial Expiration Check is an agent skill from forcedotcom/sf-skills. Check when Salesforce orgs expire (or already expired) and what to do about it, for one org, the default org, or across all authenticated orgs, using the Salesforce CLI (sf). Use when the user asks about org or trial expiration, "when does my trial expire", "is my trial org still active", "how many days are left", "which orgs are expiring soon", wants to filter orgs expiring within N days, needs machine-readable (JSON/CSV) output for cron or alerting, wants to back up an at-risk org before it lapses, or asks how…
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/check_expiration.sh`).
It sits in Sales & Support, covering CRM management, Scheduled and recurring tasks and CSV and tabular files. It works with Salesforce and Amazon Web Services. The repository describes itself as: Salesforce's curated collection of agent skills for building applications. Optimized for Agentforce Vibes, compatible with all AI tools. The licence is Apache-2.0.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4bbae5c. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadBash(bash)Bash(sf data query)Bash(sf org list)Bash(sf config get)Bash(jq)Bash(date)From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
sfbashFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
test.salesforce.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Dx Org Trial Expiration Check loads about 2.9k tokens when it runs. Until then it costs about 243 tokens; SKILL.md has 1,157 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from forcedotcom/sf-skills at commit 4bbae5c, republished under its Apache-2.0 licence (© forcedotcom). 1,157 words, ~2,884 tokens.
.claude/skills/dx-org-trial-expiration-check/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Determine when a Salesforce org expires, how many days remain, and whether it has already expired — for one org, the default org, or every authenticated org. Results are prioritized (already-expired and soonest-expiring first) with a one-line summary. The skill can also emit machine-readable output for alerting, print backup commands for an at-risk org, and explain how to renew an expiring trial or Developer Edition org.
Trigger on requests like:
--json + --fail-if-expiring).--preserve).--renew).This skill covers trial editions, Developer Edition orgs (anything with a
TrialExpirationDate), and scratch orgs (via the expirationDate from
sf org list).
Do not trigger this skill for:
dx-org-switch.)Organization.TrialExpirationDate field, read via SOQL (sf data query).
This field is null for paid/production orgs, which therefore report no
trial expiration — that is expected, not an error.expirationDate reported by sf org list (no SOQL
query is issued for scratch orgs).CRITICAL: Run the bundled helper script, which handles date math (days
remaining, expired, expiring-soon warnings), prioritized sorting, and
structured output, and works on macOS and Linux. Always invoke it by
absolute path from the skill directory — never ./scripts/, which
resolves against the user's current directory and will either run the wrong
script or fail.
Before executing, verify:
<skill_dir> is an absolute path (starts with /), not a relative pathbash "<skill_dir>/scripts/check_expiration.sh" <alias-or-username> # one org
bash "<skill_dir>/scripts/check_expiration.sh" # default org (target-org config)
bash "<skill_dir>/scripts/check_expiration.sh" --all # every authenticated org
bash "<skill_dir>/scripts/check_expiration.sh" --all --within 30 # only orgs expiring within 30 days<skill_dir> is the absolute path to the directory containing this SKILL.md.
Relay the script output to the user. When an org could not be queried,
surface the sf org login web command the script prints so the user can
authenticate. Pick optional flags based on what the user asked for (see
below): --preserve when they want to save their work, --renew when they
ask how to extend, --json/--csv for automation, --fail-if-expiring
for a cron/CI gate.
| Flag | Purpose |
|---|---|
--all, -a | Check every authenticated org. |
--within <days>, -w | Show only orgs expiring within N days (includes already-expired; omits paid/production). --within=30 also works. |
--json | Emit a JSON array of org records (data only). |
--csv | Emit CSV rows (data only). |
--preserve | Print backup commands for expiring/expired orgs. |
--renew | Print trial/DE extension & reactivation guidance. |
--fail-if-expiring[=N] | Exit 3 if any org expires within N days (default 7). |
--no-scratch | Exclude scratch orgs (trial/DE only). |
--help, -h | Show usage. |
Flag order is flexible and flags combine (e.g. --all --within 30 --json).
Human output is grouped by urgency — Expired first, then Expiring soon
(within 7 days, flagged Warning), then Active, then No trial expiration,
then any orgs that could not be queried — and ends with a one-line summary:
Org expiration status for all authenticated orgs:
Expired:
old-trial trial/DE edition expired 2026-06-20 (EXPIRED 19 day(s) ago)
Expiring soon (within 7 day(s)):
almost-up trial/DE edition expires 2026-07-14 (expires in 5 day(s) Warning)
Active (not expiring soon):
acme-trial trial/DE edition expires 2026-08-15 (expires in 37 day(s))
my-scratch scratch org expires 2026-07-25 (expires in 16 day(s))
No trial expiration (paid/production):
prod no trial expiration (paid/production org)
Summary: 1 expired, 1 expiring within 7 day(s), 2 active, 1 with no expiration.--json / --csv)For dashboards, spreadsheets, or scheduled jobs, use --json or --csv to get
machine-readable records (no prose). Each record has org, kind,
expirationDate, daysRemaining (negative = expired, null = no expiration),
status, and orgId. This is deterministic and needs no LLM in the loop.
# JSON, filtered to orgs expiring within 30 days:
bash "<skill_dir>/scripts/check_expiration.sh" --all --within 30 --jsonCron watchdog — --fail-if-expiring[=N] exits 3 (and prints an ALERT:
line to stderr) if any org expires within N days (default 7), so a scheduled
job can page you before an org lapses:
# crontab: every morning at 9, alert if anything expires within 7 days
0 9 * * * bash "<skill_dir>/scripts/check_expiration.sh" --all --fail-if-expiring 7 \
|| mail -s "Salesforce org expiring soon" me@example.com--preserve)When an org expires you lose access to its metadata and data. --preserve
prints ready-to-run backup commands (metadata manifest + retrieve, and a bulk
data export) for each expiring or already-expired org. It only prints the
commands — review and run them yourself:
bash "<skill_dir>/scripts/check_expiration.sh" my-trial --preserve--renew)--renew prints the current guidance for keeping an org alive, and surfaces the
Org IDs of at-risk orgs so the steps are actionable:
partners.salesforce.com → Ask Agentforce → "I want to extend my Trial
Org", providing the Org ID. Eligible while active or expired < 30 days; not
for LDV orgs. (Salesforce Help article 000387818.)0 success1 an org could not be queried (auth/connection error)2 bad usage or a missing dependency (sf or jq)3 --fail-if-expiring threshold breached (at least one org expiring)When both apply, a --fail-if-expiring breach (3) takes precedence over an
auth error (1): the alerting signal wins so a watchdog still fires. If your
job must also detect unreachable orgs, run --json and inspect the records for
status: "auth_error" in addition to checking the exit code. Note that an org
whose credentials fail cannot be date-checked, so it never counts toward a
--fail-if-expiring breach on its own.
--fail-if-expiring with no explicit number treats a following all-numeric
argument as the day count (e.g. --fail-if-expiring 12345). In the rare case an
org's alias is purely numeric, pass the org first (check_expiration.sh 12345 --fail-if-expiring 7) so it isn't mistaken for the threshold.
If an org isn't authenticated (no saved credentials, or an expired/revoked token), the script does not fail silently — it prints the exact command to log in and then re-run:
my-trial not authenticated — no saved credentials for this org
To authenticate, run one of:
sf org login web --alias "my-trial"
sf org login web --alias <my-alias> --instance-url https://test.salesforce.com
Then re-run this check. List existing logins with: sf org listsf org login web opens a browser to complete the OAuth flow. Use
--instance-url https://test.salesforce.com for sandboxes, or a custom My
Domain URL where applicable.
# Trial/DE expiration for one org (null = not a trial / paid org):
sf data query --query "SELECT Id, TrialExpirationDate FROM Organization" --target-org <org> --json
# Scratch org expiration comes from the org list, not SOQL:
sf org list --jsonsf) and jq on the PATH, plus at least one
authenticated org (sf org login web).sf commands concurrently — the CLI can be slow under
contention. The script queries orgs sequentially for this reason.sf org list exposes a trailExpirationDate (note the typo) field that is
often null; the script does not rely on it for trial/DE orgs — it uses the
SOQL TrialExpirationDate, which is reliable. It does use expirationDate
from the list for scratch orgs.© forcedotcom, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in skills/dx-org-trial-expiration-check of forcedotcom/sf-skills.
Open the folder on GitHubat commit 4bbae5c
Dx Org Trial Expiration Check next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Dx Org Trial Expiration Check this skillforcedotcom/sf-skills | 1.1k | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Pipeline Reviewgooseworks-ai/goose-skills | 1.2k | 1 repos | ~6.9k | Automated safety check: Pass | MIT | |
| Google Maps Exportgmapsscraper/google-maps-agent-skills | 132 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Sf ApexJaganpro/sf-skills | 424 | — | ~2k | Automated safety check: Pass | MIT | |
| Salesforce Automationdavepoon/buildwithclaude | 3.6k | 7 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Sf DebugJaganpro/sf-skills | 424 | — | ~1.3k | Automated safety check: Pass | MIT |
gooseworks-ai/goose-skills
Pipeline analysis composite. An agent skill from gooseworks-ai/goose-skills.
gmapsscraper/google-maps-agent-skills
Export Google Maps business data to CSV, JSON, or CRM format (HubSpot, Pipedrive, Salesforce).
Jaganpro/sf-skills
Generates and reviews Salesforce Apex code with 150-point scoring.
davepoon/buildwithclaude
Automate Salesforce tasks via Rube MCP (Composio): leads, contacts, accounts, opportunities, SOQL queries.
Jaganpro/sf-skills
Salesforce debug log analysis and troubleshooting with 100-point scoring.
butterbase-ai/butterbase-skills
Use BEFORE recommending or installing any third-party SaaS SDK for email (Resend, SendGrid, Postmark, Mailgun), SMS (Twilio), messaging (Slack), calendar (Google Calendar), CRM (HubSpot…
forcedotcom/sf-skills
Declared architecture snapshot for one Agentforce agent: planner, topics, actions, flows, Apex, prompt templates, and NGA plugins.
forcedotcom/sf-skills
Data Cloud 360° view of a single Agentforce session. An agent skill from forcedotcom/sf-skills.
forcedotcom/sf-skills
Apply a Salesforce sandbox post-copy automation JSON config against a target org.
forcedotcom/sf-skills
Apply a Salesforce sandbox post-copy automation JSON config against a target org.
forcedotcom/sf-skills
Apply SLDS-compliant UI using the correct blueprints, styling hooks, utility classes, and icons.
forcedotcom/sf-skills
Lightning Web Components with PICKLES methodology and 165-point scoring.
Works with
Categories
Check when Salesforce orgs expire (or already expired) and what to do about it, for one org, the default org, or across all authenticated orgs, using the Salesforce CLI (sf). Dx Org Trial Expiration Check is an agent skill from forcedotcom/sf-skills. Check when Salesforce orgs expire (or already expired) and what to do about it, for one org, the default org, or across all authenticated orgs, using the Salesforce CLI (sf).
Dx Org Trial Expiration Check fits situations like: the user asks about org; trial expiration; does my trial expire; is my trial org still active.
Run `npx skills add forcedotcom/sf-skills --skill dx-org-trial-expiration-check -a claude-code`. Or copy the skill folder (skills/dx-org-trial-expiration-check in forcedotcom/sf-skills) into .claude/skills/dx-org-trial-expiration-check in your project. Claude Code loads it when a task matches its description.
Run `npx skills add forcedotcom/sf-skills --skill dx-org-trial-expiration-check -a codex`. Or copy the skill folder (skills/dx-org-trial-expiration-check in forcedotcom/sf-skills) into .agents/skills/dx-org-trial-expiration-check in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add forcedotcom/sf-skills --skill dx-org-trial-expiration-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dx-org-trial-expiration-check, .gemini/skills/dx-org-trial-expiration-check, .github/skills/dx-org-trial-expiration-check and .opencode/skills/dx-org-trial-expiration-check in your project.
Going by SKILL.md and its folder, Dx Org Trial Expiration Check needs a shell for the scripts in its folder and the command-line tools its instructions call (sf and bash). Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Read, Bash(bash), Bash(sf data query), Bash(sf org list), Bash(sf config get), Bash(jq), Bash(date).
SKILL.md names 1 domain. In commands or code: test.salesforce.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Dx Org Trial Expiration Check is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Dx Org Trial Expiration Check: Pipeline Review (gooseworks-ai/goose-skills, 1.2k stars), Google Maps Export (gmapsscraper/google-maps-agent-skills, 132 stars), Sf Apex (Jaganpro/sf-skills, 424 stars) and Salesforce Automation (davepoon/buildwithclaude, 3.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
forcedotcom (a GitHub organization) maintains it in forcedotcom/sf-skills, which has 1,067 GitHub stars. The repository holds 252 skills in this directory. The repository was last updated on October 9, 2026.
Source: forcedotcom/sf-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.