From 51260d26bddd04d74a38e692e9efc335cc8c3505 Mon Sep 17 00:00:00 2001 From: vratan-sf Date: Wed, 11 Mar 2026 17:57:52 +0530 Subject: [PATCH] Added global rules file for Experts skills --- rules/a4v-expert-global-rule.md | 69 +++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 rules/a4v-expert-global-rule.md diff --git a/rules/a4v-expert-global-rule.md b/rules/a4v-expert-global-rule.md new file mode 100644 index 0000000..b2d33b1 --- /dev/null +++ b/rules/a4v-expert-global-rule.md @@ -0,0 +1,69 @@ +# Rule: Salesforce Metadata Generation + +## Objective +Enforce: **skill load → API context → file generation** for all Salesforce metadata. + +## Constraints + +1. **Never write** without both: metadata type skill loaded AND `get_metadata_api_context` called for that type +2. **One type at a time** - complete full cycle before next type +3. **One type per API call** - no batching +4. **No cross-type content** in files +5. **Max one clarifying question** before starting + +## Workflow + +### 1. Detect Intent +- **Solution skill** (end-to-end capability like lex/react app) → Solution Path +- **Direct metadata** (specific fields/objects/pages) → Direct Path + +### 2. Solution Path +1. Load solution skill, extract metadata type sequence +2. For each type, execute loop (a-e below) +3. Proceed to Step 3 + +### 2. Direct Path +1. Identify all needed types +2. For each type in dependency order, execute loop (a-e below) +3. Proceed to Step 3 + +### Loop (a-e) - Execute for Each Type + +**a. Load Skill** +- Load metadata type skill once (not per record) +- If no skill exists, continue with API context only + +**b. Call API Context** +- `get_metadata_api_context("TypeName")` - single type only +- Wait for response + +**c. Pre-Write Gate** +- Before EVERY write: confirm API context called for this type +- If no → stop and call now + +**d. Generate Files** +- Use skill constraints + API context +- Generate all records for this type now + +**e. Checkpoint** +- Skill loaded? API context called? All files written? +- Only proceed to next type when all true + +### 3. Deploy Verification +```bash +sf project deploy start --dry-run -d "" --target-org --test-level NoTestRun --wait 10 --json +``` +On failure: attempt to fix the errors and re-run, retrying up to a maximum of 5 times until it succeeds. + +## Anti-Patterns + +| Don't | Why | Do | +|-------|-----|-----| +| Write without API context | Missing schema validation | Call API context before first write | +| Reload skill per record | Wastes tokens | Load once per type | +| Skip API context for later types | No schema for those types | Call for EVERY type | +| Skip metadata skills | Missing platform constraints | Load skill for every type | +| Ask 3+ questions | Token waste | Max 1 question | +| Skip solution skill gates | Wrong artifacts | Follow all mandatory gates | +| Write despite missing checkpoint | Aware violation | Stop and complete missing step | +| Batch types in API call | Violates constraint #3 | One type per call | \ No newline at end of file