

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# Agentforce ADLC — Agent Development Life Cycle23Generate Agentforce Agent Script `.agent` files **directly** via Claude Code skills. No intermediate markdown conversion step.45## Project Structure67```8agentforce-adlc/9├── .claude-plugin/ # Claude Code plugin manifest10│ ├── plugin.json # Plugin definition (name: "agentforce-adlc")11│ └── marketplace.json # Self-hosted marketplace12├── agents/ # Claude Code agent definitions (.md)13├── skills/ # Claude Code skills (SKILL.md-driven)14│ ├── agentforce-generate/ # Author + discover + scaffold + deploy + optimize + safety + feedback + MCP server management15│ ├── agentforce-test/ # Preview testing + batch testing + action execution16│ ├── agentforce-observe/ # STDM trace analysis + fix loop17│ └── agentforce-secure/ # OWASP LLM Top 10 security assessment18├── hooks/ # Plugin hook definitions19│ └── hooks.json # PreToolUse/PostToolUse hook config20├── shared/ # Cross-skill shared code21│ ├── hooks/scripts/ # Hook scripts (guardrails.py, agent-validator.py)22│ └── sf-cli/ # SF CLI subprocess wrapper23├── scripts/ # Python helper scripts (standalone)24│ └── generators/ # Flow XML, Apex, PermSet generators25├── tools/ # Installer (file-copy for Cursor)26├── settings.json # Plugin default settings (agent)27├── tests/ # pytest test suite28└── force-app/ # Example Salesforce DX output29```3031## Skills3233| Skill | Trigger | Description |34|---|---|---|35| `/agentforce-generate` | "build agent", "create agent", "write .agent", "new agent", "agentforce agent", "service agent", "employee agent", "voice agent", "phone agent", "build me an agent", "FAQ agent", "discover", "check org", "scaffold", "generate stubs", "deploy", "publish", "activate", "safety review", "security check", "feedback", "optimize agent", "improve agent", "clean up agent", "refactor agent", "register MCP", "create MCP server", "whitelist tools", "approve tools", "list MCP servers", "update MCP server", "delete MCP server", "fetch MCP assets", "MCP authentication" | **Primary skill** — author .agent files (text + voice), discover targets, scaffold stubs, deploy, optimize, safety review, feedback, manage MCP servers |36| `/agentforce-test` | "test agent", "preview", "smoke test", "batch test", "run action", "execute", "test action", "security test", "OWASP", "red team", "pen test", "security scan", "security grade", "vulnerability assessment", "prompt injection test" | Agent preview + batch testing + individual action execution + OWASP LLM Top 10 security testing (Mode C) |37| `/agentforce-observe` | "optimize", "analyze sessions", "STDM", "session traces" | Session trace analysis + improvement loop (trace/data-driven optimization; static `.agent` file optimization → `/agentforce-generate`) |3839### Backward Compatibility Aliases4041| Old Command | New Command |42|---|---|43| `/developing-agentforce` | `/agentforce-generate` |44| `/testing-agentforce` | `/agentforce-test` |45| `/observing-agentforce` | `/agentforce-observe` |46| `/securing-agentforce` | `/agentforce-test` (Mode C) |47| `/agentforce-secure` | `/agentforce-test` (Mode C) |48| `/adlc-author` | `/agentforce-generate` |49| `/adlc-discover` | `/agentforce-generate` (Section 16) |50| `/adlc-scaffold` | `/agentforce-generate` (Section 17) |51| `/adlc-deploy` | `/agentforce-generate` (Section 18) |52| `/adlc-safety` | `/agentforce-generate` (Section 15) |53| `/adlc-feedback` | `/agentforce-generate` (Section 19) |54| `/adlc-test` | `/agentforce-test` |55| `/adlc-run` | `/agentforce-test` (Action Execution section) |56| `/adlc-optimize` | `/agentforce-observe` |57| `/agentforce-development` | `/agentforce-generate` |58| `/agentforce-testing` | `/agentforce-test` |59| `/agentforce-observability` | `/agentforce-observe` |60| `/adlc-security` | `/agentforce-test` (Mode C) |61| `/agentforce-security` | `/agentforce-test` (Mode C) |62| `/owasp-scan` | `/agentforce-test` (Mode C) |6364## Important: Agent Creation Routing6566When a user wants to **create, build, or write an Agentforce agent**, ALWAYS use `/agentforce-generate`. This skill generates `.agent` files directly using the Agent Script DSL — the correct approach for this project. This includes phrases like "build me a service agent", "create an employee agent", "build a FAQ bot", or any request involving Agentforce agents.6768**Detection heuristic:** If the project has `sfdx-project.json`, `aiAuthoringBundles/`, or `.agent` files, treat ALL agent-related requests as ADLC requests — even if the user doesn't explicitly say "Agentforce."6970Do NOT use `sf agent generate` CLI commands or the `sf-ai-agentforce` skill for agent creation. Those tools work with Setup UI metadata XML, not Agent Script. The `/agentforce-generate` skill is the primary tool for all agent authoring in this project.7172## Key Conventions7374- **Indentation**: Generate with 4 spaces per level. Do not mix structural tabs and spaces; tabs are non-portable across AgentScript implementations.75- **Booleans**: `True` / `False` (capitalized — Python-style)76- **Variables**: `mutable` (read-write) or `linked` (bound to external source)77- **Actions**: Two-level system — `definitions` (in topic) and `invocations` (in reasoning)78- **Naming**: `developer_name` must match the folder name under `aiAuthoringBundles/`7980## Running Commands8182```bash83# Discover missing targets84python3 scripts/discover.py --agent-file path/to/Agent.agent -o OrgAlias8586# Scaffold stubs for missing targets87python3 scripts/scaffold.py --agent-file path/to/Agent.agent -o OrgAlias --output-dir force-app/main/default8889# Describe SObject fields (for smart scaffold)90python3 scripts/org_describe.py --sobject Account -o OrgAlias91```9293## Development9495```bash96# Install Python dev dependencies97pip install -e ".[dev]"9899# Run the default test suite100pytest tests/ -v101102# Validate shipped assets with the supported public AgentScript SDK103npx --yes --package=@sf-agentscript/agentforce@2.9.27 -- \104 node tests/validate_agent_assets.mjs \105 skills/agentforce-generate/assets106107# If the package is unavailable or stale, build the pinned source and validate108node tests/validate_agent_assets_from_source.mjs \109 skills/agentforce-generate/assets110```111112The SDK-backed validator rejects versions older than the minimum declared in113`tests/agentscript-toolchain.json`. It uses the public114`@sf-agentscript/agentforce` package without adding it to the repository or the115installed skills. When that package is unavailable or stale, use the source116command to clone and build the pinned117[`salesforce/agentscript`](https://github.com/salesforce/agentscript) revision.118Update the pin and declared minimum together as AgentScript advances. CI uses119the pin for pull requests and checks `main` separately on a schedule.120121## Installation122123### As a Claude Code plugin (recommended)124125```bash126# Load directly from the repo (development)127claude --plugin-dir /path/to/agentforce-adlc128129# Or install via marketplace130claude plugin marketplace add /path/to/agentforce-adlc131claude plugin install agentforce-adlc@agentforce-adlc132```133134When installed as a plugin, skills are namespaced: `/agentforce-adlc:agentforce-generate`, `/agentforce-adlc:agentforce-test`, `/agentforce-adlc:agentforce-observe`.135136### File-copy install (Cursor or legacy)137138```bash139# Install skills, agents, and hooks to ~/.claude/ or ~/.cursor/140python3 tools/install.py141```142143## Versioning & Changelog144145This plugin follows [Semantic Versioning](https://semver.org/) (`MAJOR.MINOR.PATCH`) and records changes in [`CHANGELOG.md`](CHANGELOG.md) using the [Keep a Changelog](https://keepachangelog.com/) format.146147### Version source of truth148149The version lives in **two** files and they must stay in sync:150151- `.claude-plugin/plugin.json` — `version`152- `.claude-plugin/marketplace.json` — `plugins[0].version`153154### When to bump155156| Change | Bump |157| ----------------------------------------------------------------- | ---------------------- |158| Breaking change to plugin slug, skill namespace, or hook contract | MAJOR (pre-1.0: MINOR) |159| New skill, agent, hook, or user-visible capability | MINOR |160| Bug fix, doc-only change, internal refactor | PATCH |161162Pre-1.0 convention: treat breaking changes as MINOR bumps (e.g., `0.5.0` → `0.6.0` for the slug rename).163164### Changelog workflow1651661. **Every user-visible PR** adds an entry under `## [Unreleased]` in `CHANGELOG.md` using the Keep a Changelog sections: `Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, `Security`. Include a PR link.1672. **When cutting a release**:168 - Rename `## [Unreleased]` to `## [X.Y.Z] — YYYY-MM-DD` and start a fresh empty `## [Unreleased]` block above it.169 - Bump `version` in both `plugin.json` and `marketplace.json`.170 - Update the link references at the bottom of `CHANGELOG.md`.171 - Tag the release commit: `git tag vX.Y.Z && git push --tags`.1723. **Breaking changes** get a `### Migration` subsection with the exact commands users must run.173174## Safety & Guardrails175176ADLC enforces safety across the full lifecycle via two layers:1771781. **LLM-driven safety** (Section 15 of `/agentforce-generate`) — 7-category review (Identity, User Safety, Data Handling, Content Safety, Fairness, Deception, Scope). Integrated into authoring (Phase 0 + Phase 5), deploy (pre-publish check), test (safety probes + verdict), and optimize (post-fix verification).1791802. **Operational hooks** — `agent-validator.py` (PostToolUse) runs lightweight local preflight checks and warns on common authoring mistakes. It is not a parser or compiler; use the AgentScript SDK or Salesforce CLI for language validity. `guardrails.py` (PreToolUse) warns on production org deployments and destructive operations.181182Key safety behaviors:183184- `/agentforce-generate` blocks unsafe requests at Phase 0 and adds AI disclosure, scope boundaries, and escalation paths to all agents185- `/agentforce-test` runs adversarial safety probes and produces a SAFE/UNSAFE/NEEDS_REVIEW verdict186- `/agentforce-test` (Mode C — OWASP LLM Top 10 security testing) is part of the test flow, not a separate skill: it generates deployable Testing Center security test cases (C1) and/or runs live adversarial probing with an A–F grade (C2). Generating security test cases requires **explicit user confirmation**. Cases are authored **by the agent from the customer's own `.agent` script** — its actions, `available when` gates, injection sinks, and business domain — following `skills/agentforce-test/references/security-test-design.md`; there is no generator script. Always locate and read the `.agent` file first; a run based only on the neutral technique catalog covers materially less and must say so in the report.187- `/agentforce-test` (Action Execution) checks org type (sandbox vs production) and validates inputs before execution188- `/agentforce-generate` (Section 18 — Deploy) requires explicit user acknowledgment for warnings before proceeding189190## Windows Compatibility191192ADLC works on Windows with these considerations:193194- **Python command**: Use `python` instead of `python3` on Windows195- **Temp files**: Skill examples use `/tmp/` — substitute `%TEMP%\` (cmd) or `$env:TEMP\` (PowerShell)196- **Shell examples**: SKILL.md bash examples work in Git Bash or WSL; PowerShell equivalents are noted where applicable197- **Path resolution**: All Python scripts use `pathlib.Path` and are cross-platform198- **Installer**: `python tools/install.py` works on all platforms (the bash `install.sh` wrapper is macOS/Linux only)199- **Hook scripts**: Already handle `sys.platform == "win32"` for stdin reading200
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| Adit-Jain-srm/NightmareNetCLAUDE.md · 46 | CLAUDE.md | buildtestlint-formatstyle+6 | 100/100 | 14 days ago | |
| stacklok/toolhiveCLAUDE.md · 2.0k | CLAUDE.md | buildteststylearch+4 | 100/100 | 14 days ago | |
| nimbalyst/nimbalystpackages/android/CLAUDE.md · 1.5k | CLAUDE.md | setupbuildstylearch+2 | 100/100 | 14 days ago | |
| microsoft/playwrightCLAUDE.md · 95k | CLAUDE.md | buildtestlint-formatstyle+7 | 100/100 | 7 days ago | |
| dotCMS/corecore-web/CLAUDE.md · 949 | CLAUDE.md | teststylearchtesting-strategy+3 | 100/100 | 14 days ago | |
| tphakala/birdnet-goCLAUDE.md · 1.6k | CLAUDE.md | buildtestlint-formatstyle+8 | 100/100 | today | |
| tyrchen/geektime-bootcamp-aiw7/genslides/backend/CLAUDE.md · 230 | CLAUDE.md | testlint-formatstylearch+6 | 100/100 | 9 days ago | |
| bagisto/bagistoCLAUDE.md · 28k | CLAUDE.md | setupbuildteststyle+5 | 100/100 | 7 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/salesforceairesearch-agentforce-adlc-claude)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.