* @W-21707233 make template instructions more explicit
* convert escaped quotes to single quotes in frontmatter
---------
Co-authored-by: Hemant Singh Bisht <hsinghbisht@salesforce.com>
* feat: layout docs integration
* fix: preview a site not just after deployment
* @w-21612472 Test Skills for branding sets
* Remove mandatory tip
* feat: update wording for loading ref docs
* feat: add brief description on what object pages are
* feat: add instrux to ensure steps are followed correctly
* feat: use stricter wording for initial instruction
* fix: rm useless instruction
* fix: theme layout fixes
* feat: more explicit wording
* feat: add instrux to better handle global skills
* fix: bring back steps wording just in case
* fix: rm old refs
---------
Co-authored-by: KarthikSalesforce <131800461+KarthikSalesforce@users.noreply.github.com>
Co-authored-by: Hemant Singh Bisht <hsinghbisht@salesforce.com>
* @W-21672186@ Update rentalApp metadata to latest version
Replace rentalApp digital experience folder with latest version:
- Rename app from Homestead to RentalApp
- Update login URL to use HTTPS
- Replace home screen with new homeScreen
- Add experience container definition
- Reformat language settings
* @W-21672186@ Fix radiusBorderCircle type from string to number
* @W-21672186@ Sync rentalApp screens with source of truth
- Rename calendar screen to calendarScreen
- Update homeScreen target and id to match source
* feat(validate-skills): require js-yaml-parsable SKILL frontmatter
Validate the raw YAML between --- delimiters with js-yaml so frontmatter
matches strict parsers (e.g. descriptions with unquoted colon+space).
- Add js-yaml devDependency
- Extract parseFrontmatterBlock for shared delimiter parsing
- On YAMLException, report reason, line/column, character index, and snippet
Made-with: Cursor
* refactor(validate-skills): address PR review (YAMLException, JSON_SCHEMA, context)
- Catch only YAMLException; re-throw unexpected errors
- Parse frontmatter with yaml.JSON_SCHEMA
- Add rawFrontmatter to SkillContext; single parseFrontmatterBlock per file
- Type-guard mark fields and reason in formatYamlFrontmatterParseError
- Rename delimiterLen to fullMatchLen
- Collapse error message into one template literal
Made-with: Cursor
fix: resolve release workflow branch protection failure
Push release commit to a temp branch first so the SHA is visible to
the GitHub API, then report the required validate-skills status check
before pushing to main.
Co-authored-by: Hemant Singh Bisht <hsinghbisht@salesforce.com>
* add switch-org skill
Adds a new skill for switching the active Salesforce org via `sf config set target-org`, defaulting to local project scope with optional `--global` support.
* address PR review feedback on switch-org skill
- rename skill and directory to switching-org (gerund convention)
- rewrite description to follow "Use this skill when..." pattern
- add compatibility and metadata frontmatter fields
- rename ## Usage to ## When to Use This Skill
- consolidate Behavior, Steps, and Canonical Examples into single ## Steps section
- remove Purpose section (duplicated description)
- remove .sf/config.json implementation detail
- fix escaped \# in documentation URL
- rephrase --local/--scope note for clarity
* fix: skill best practice improvements for switching-org
- Fix description to use third-person ("This skill should be used when...")
- Remove redundant "When to Use This Skill" body section (duplicated description)
* fix: improve switching-org skill description, steps, and scope guidance
* remove author
* fix: clarify verification step and confirmation format in switching-org skill
* address second round of PR review feedback
- remove redundant h1 and repeated description sentence
- clarify sf config get --json does not return scope info
- move docs link into Notes section
- add SF_TARGET_ORG env var override note
chore: rename screen to screenAPIName in sample app metadata
Align sample app metadata with cama-app-metadata schema change (PR #14).
The screen key in tabs is now screenAPIName, reflecting that screen
metadata is delivered by the Delivery API using unique identifiers.
* initial skill for perm sets
* more edits
* changes after testing
* more changes
* address comments
* standard tabs should have prefix
* remove apache license
---------
Co-authored-by: irisli <irisli@salesforce.com>
* ci: update package details and add GitHub workflows for skills validation and release
* chore: update Node version, change license, and refactor skills validation script to TypeScript
* chore: remove unused deps
* fix: npm package
* fix: flatten skills to pass validation
* chore: add validation script to package.json and update GitHub workflow to use it
* chore: enhance skills validation and update workflows for npm publishing
* refactor: streamline skills validation process in workflow and script
* refactor: improve documentation and structure of skills validation script
* implement checks based on jeff's best practices doc
* chore: add pull request template for skill submissions
* chore: update pull request template with additional references and improve automated checks section
* chore: update pull request template to clarify naming convention with a warning for gerund form
* chore: update pull request template to reference skill authoring guide and enhance checklist structure
* chore: enhance GitHub workflows for skills validation and release process
* refactor: improve parsing logic for SKILL.md files and enhance error collection in validation
* chore: update validation checks to enforce character limits for skill names and descriptions
* fix: remove unnecessary whitespace in footer string in validate-skills.ts