Skip to content

@W-20113791 Update flexipage skill to reflect best practices#46

Draft
eclapham wants to merge 2 commits intoforcedotcom:mainfrom
eclapham:t/ffs/W-20113791/best-practices
Draft

@W-20113791 Update flexipage skill to reflect best practices#46
eclapham wants to merge 2 commits intoforcedotcom:mainfrom
eclapham:t/ffs/W-20113791/best-practices

Conversation

@eclapham
Copy link
Copy Markdown
Contributor

@eclapham eclapham commented Mar 13, 2026

References: Contributing guide · Skill authoring guide · Agent Skills spec

What changed

@W-20113791@
Updating Flexipage skill to reflect best practices.
Updating Flexipage skill to include specific guidance for dynamicRelatedList component.

Why

The Flexipage skill now adheres to best practices. The Flexipage skill can now reliably configure DRL components when requested.

Notes

Best practices review notes from this PR were used: #25


Skills

Manual checklist

Description quality

  • [ x] Describes what the skill does and the expected output
  • [ x] Includes relevant Salesforce domain keywords (Apex, LWC, SOQL, metadata types, etc.)
  • [ x] Trigger phrases are specific enough for Vibes to select this skill reliably

Instructions

  • [ x] Clear goal statement
  • [ x] Step-by-step workflow
  • [ x] Validation rules for generated output
  • [ x] Defined output / artifact

Context efficiency

  • [ x] Core instructions are concise — supporting material lives in templates/, examples/, or docs/ subdirectories
  • [ x] No unnecessary background explanation in the body

Automated checks

Enforced by CI (npm run validate:skills) per the Agent Skills spec:

  • Directory is one level deep, named in kebab-case (max 64 chars), contains SKILL.md
  • Frontmatter name matches directory name; description is present, ≥ 20 words, ≤ 1024 characters, and includes trigger language
  • Body is non-empty and under 500 lines
  • Name uses gerund form ⚠ (warning — does not block merge)

@@ -0,0 +1,16 @@
# fieldSection
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From this thread I understand that we have different version of flexipaged skills in 260 and 262. Will this impact 260 version for TDX demo?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no differentiation between release versions in skills, yet. So if this PR is merged it will impact 260, as it will impact any user of Vibes leveraging our skills.

Copy link
Copy Markdown
Contributor

@adittyagupta-sfdc adittyagupta-sfdc Mar 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we planning to merge this PR before TDX demo is recorded?
I am asking this question since I believe we do not want to break TDX demo and there is another bug raised by Hemant that needs to be fixed before TDX demo.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

None of these changes are strictly required for TDX. This is why we need some concept of a release version for these skills :) I moved this to draft. I was intending to merge this before TDX, but I don't have a way of predicting what impact it will have on the TDX demos. Since those are sensitive, I'll hold off on this.

```xml
<componentInstanceProperties>
<name>columns</name>
<value>Facet-{uuid}</value>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You know better than me -- is the value for columns just a single facet? It might be helpful to expand this example a little bit, though I do appreciate you keeping it nice and tight. I'm just looking at this as a human and wondering if I have enough context to know how to define a field section just with this.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

</itemInstances>
```

**Identifier Pattern:** `flexipage_richText` or `flexipage_richText_{sequence}`
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is _{sequence}?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This references back to the algo for generating unique ids, so each subsequent richText cmp would get a different identifier. I didn't think about this now being out of context. Honestly, we shouldn't need to have this specific to richText, since this is the same rule for all cmps. Let me see if I can remove this, and ensure it's clear in the main skill since it applies everywhere.

--secondary-fields Phone,Industry,AnnualRevenue
```

CLI generates Facets with field references automatically.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to consider these component docs separate from knowledge about how to use the CLI? one concern is that if the only advice for configuring dynamicHighlights is to use the CLI, it may overwrite a previously generated page. I feel like we should have two sections here:

  1. How to create a new record page with dynamic highlights with the CLI
  2. How to configure/edit an existing record page with dynamic highlights (or how to replace the old highlightsPanel).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We also don't include the full CLI command, so that could be interesting if there ultimately are multiple CLI commands

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great callout. Originally this was in the knowledge, in the context of the other instructions. Now it's not. I agree we should split this up. I think the CLI instructions should remain in the main skill, and then these instructions would be outside that initial bootstrap. I don't know how often users would need to add a highlights cmp (since it should get bootstrapped or already exist), but editing instructions could be useful, and we can focus on those here. Let me take another pass at this.

@eclapham eclapham marked this pull request as draft March 17, 2026 15:21

```bash
sf project deploy start --source-dir force-app/main/default/flexipages
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eclapham Can we replace this with the dry run command?
cc: @vratan-sf @hsinghbisht-sfdc @ayushgupta-sf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants