67
GitHub Stars
5
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill jaganpro/sf-skills --skill sf-ai-agentscript- CREDITS.md3.2 KB
- LICENSE1.0 KB
- README.md4.1 KB
- SKILL.md68.5 KB
- VALIDATION.md9.5 KB
Overview
This skill enables development of deterministic Agentforce agents using the Agent Script DSL in a single .agent file. It covers syntax, debugging, testing, and CLI deployment for FSM-style agents with instruction resolution and hybrid reasoning. The skill highlights compile-time constraints, preview quirks, and production pitfalls so agents behave predictably in orgs running API v65.0+.
How this skill works
The skill inspects Agent Script source for required structure (one start_agent, folder/agent_name match), DSL syntax rules, and reserved names that cause parse errors. It validates lifecycle hooks (before_reasoning/after_reasoning), action definitions (complex_data_type_name mapping), and post-action directives allowed only on @actions.*. It also documents Preview/Canvas corruption bugs and provides patterns to test linked variables and outputs safely.
When to use it
- Authoring new Agentforce agents with deterministic behavior
- Debugging compile errors caused by reserved names or syntax misuse
- Preparing agents for production to meet API, license, and user prerequisites
- Testing agent behavior in both Preview and Live modes before deployment
- Optimizing credit consumption by moving data fetch to lifecycle hooks
Best practices
- Keep all structural edits in Script view; use Canvas only for light visual checks
- Enforce consistent indentation (no mixed tabs/spaces) and capitalize booleans (True/False)
- Use compound conditions or flattened sequential ifs—never use else if or nested if blocks
- Place only one start_agent block and ensure agent_name exactly matches folder name (case-sensitive)
- Use before_reasoning to fetch/cache data and after_reasoning for logging to reduce runtime credits
- Define action complex_data_type_name via the UI to avoid manual mapping errors
Example use cases
- Create an FSM agent that uses before_reasoning to fetch account data once, then reuses variables across topics
- Build a demo helper topic to set state without backend actions for local testing
- Convert prompt-heavy behavior into code-enforced transitions and deterministic post-action logic
- Validate and fix Canvas-related corruption by toggling edits in Script view and rechecking in Preview
- Deploy agent via CLI after verifying default_agent_user exists and required API/license prerequisites
FAQ
Using reserved field names (description, label, is_required, etc.), incorrect complex_data_type_name values, mixed indentation, or multiple start_agent blocks are the top causes.
Why does Preview behave differently from Live?
Preview has known bugs with linked vars and output property access; always test in both Preview and Live and use hardcoded or mutable var workarounds for linked values during testing.