A pattern pack is a self-contained directory under templates/packs/<pack-name>/ that bundles patterns, agent extensions, quality-checklist additions, and optional skills for a specific Salesforce domain (Platform Events, Change Data Capture, Field Service, etc.).
The base plugin ships generic SF-1..20 patterns and agents. Salesforce has many specialized surfaces (Industries, Field Service, Data Cloud, CDC, etc.) that not every project uses. Bundling them all into the base plugin would bloat installation; ignoring them leaves expert teams without scaffolding. Packs are opt-in modules: install only the ones your project uses.
templates/packs/<pack-name>/
├── pack.json ← required; manifest
├── README.md ← user-facing overview, when to use
├── patterns.md ← required; the pack's PEX-N or DOMAIN-N patterns
├── checklist.md ← optional; additions appended to docs/quality-checklist.md
├── agents/ ← optional; new or extending agents
│ └── <agent-name>.md
├── skills/ ← optional; new skills
│ └── <skill-name>/SKILL.md
└── examples/ ← optional; worked example source files
└── ...
{
"name": "platform-events",
"displayName": "Platform Events",
"description": "Patterns for publishing and subscribing to Salesforce Platform Events.",
"version": "1.0.0",
"patternsPrefix": "PE",
"extends": [],
"requires": {
"sfApiVersion": "60.0",
"edition": ["Developer", "Enterprise", "Performance", "Unlimited"]
},
"installs": {
"patternsAppendTo": "patternsSalesforceDoc",
"checklistAppendTo": "quality-checklist.md",
"agents": ["agents/<filename>.md"],
"skills": ["skills/<skill-name>/SKILL.md"]
}
}| Field | Purpose |
|---|---|
name |
The pack id used by /pattern-pack add <name> |
displayName |
Human-readable name |
description |
One-sentence overview |
version |
Semver of the pack |
patternsPrefix |
PE, CDC, BIG, FN, FS, IND, CMS, AI, DC, etc. — patterns inside numbered <prefix>-N |
extends |
Other packs this depends on (rare) |
requires |
Minimum API version, eligible org editions |
installs.patternsAppendTo |
Concatenates patterns.md to the configured patterns doc (default: paths.patternsSalesforceDoc) |
installs.checklistAppendTo |
Appends checklist.md to the project's docs/quality-checklist.md |
installs.agents |
List of agent files copied into the user's project's agents dir (rare; usually plugin-level) |
installs.skills |
List of skill dirs copied into the user's project's skills dir (rare; usually plugin-level) |
- One domain per pack. Don't mix Platform Events with CDC; both are event-driven but the patterns differ
- Patterns numbered with the pack prefix.
PE-1,PE-2for platform-events;CDC-1for change-data-capture - No SF-N collisions. Pack patterns never use the
SF-prefix; that's reserved for the base plugin - Anti-patterns get their own section. Each pattern has Rules; the pack's
patterns.mdends with an "Anti-patterns" section listing common mistakes - Worked example optional but recommended. A small reference implementation in
examples/makes the pack tangible - Checklist additions are short. Don't restate base checklist items; only the pack-specific ones (e.g., "Platform Event subscriber handles replay-id correctly")
/argo:pattern-pack add <pack-name>:
- Reads
${CLAUDE_PLUGIN_ROOT}/templates/packs/<pack-name>/pack.json - Verifies
requires.sfApiVersionagainstplatform.apiVersionfrom sf-project.json - Appends
patterns.mdto the project's patterns doc, with a header comment marking the source pack and version - Appends
checklist.mdto the project's quality-checklist.md if present - Copies any agent / skill files into the user's project under
.claude/agents/and.claude/skills/(project-local; doesn't pollute the plugin) - Records the install in
.claude/argo-packs.jsonso subsequent runs can detect already-installed packs
/argo:pattern-pack remove <pack-name>:
- Walks the pack-installed sections (marked with
<!-- pack:<name> begin -->/<!-- pack:<name> end -->in the appended files) - Removes them
- Deletes the project-local agent/skill files from
.claude/ - Updates
.claude/argo-packs.json