Commit Graph

10 Commits

Author SHA1 Message Date
Jasmine Kaur
a95d0d3f82
fix: allow nested YAML lists in metadata sub-keys (sync with internal) @W-23173617@ (#298)
fix: allow nested YAML lists in metadata sub-keys (sync with internal)

The validator incorrectly rejected skills with list-type fields (e.g.
cliTools) nested under metadata sub-keys. This syncs the
parseMetadataBlock() fix from sf-skills-internal that distinguishes
direct-child lists from nested ones.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 20:33:56 +05:30
Jasmine Kaur
4f105dc17b
feat: sync-validate-skill-main-branch-changes-from-internal-to-public @W-22488862@ (#266)
* sync-validate-skill-main-branch-changes-from-internal-to-public @W-22488862@

* minor change @W-22488862@
2026-05-14 18:46:38 +05:30
Hemant Singh Bisht
e986484963
chore: @W-22268829@ rename afv-library to sf-skills across all references (#264)
chore: rename afv-library to sf-skills across all references

Update all in-repo references from afv-library to sf-skills in
README, CONTRIBUTING, scripts, and skill files to reflect the
upcoming GitHub repo rename from forcedotcom/afv-library to
forcedotcom/sf-skills.
2026-05-13 21:03:58 +05:30
k-j-kim
574d8dcca2
chore: sync React B2E & B2X (1.120.6) with uiBundle lockfiles and gitignore @W-21940169@ (#179)
chore: sync React B2E (1.120.6) & B2X (1.120.6) samples with lockfiles and gitignore

Add package-lock.json generation for uiBundle directories and .gitignore
writing to the sync scripts so they persist across syncs.

Co-authored-by: gbockus-sf <76090802+gbockus-sf@users.noreply.github.com>
2026-04-08 12:00:47 -05:00
k-j-kim
92cae58d5f
Rename webapp-template npm packages to ui-bundle-template @W-21338965@ (#135)
* chore: rename webapp-template packages to ui-bundle-template

* chore: sync React b2e and b2x samples from npm @1.117.3

* chore: rename sample folders to match ui-bundle-template package names

* chore: sync React b2e and b2x samples from npm @1.117.5

* chore: remove accidental trace.md from b2e sample

* chore: keep old webapp-template sample directories alongside new ui-bundle-template ones

* chore: revert component.md change from skills/generating-webapplication-ui

* chore: update ui-bundle-template sample versions to 1.117.5
2026-03-30 15:50:18 -05:00
k-j-kim
37ab25279e
feat(validate-skills): require js-yaml-parsable SKILL frontmatter @W-21338965@ (#91)
* 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
2026-03-23 17:34:29 -07:00
k-j-kim
9ba064174a
feat: syncing webapp skills sync to afv @W-21338965@ (#57)
* feat: removing old webapp skills

* feat: adding sync of skills from webapps to afv

* feat: adding the first iteration of skills

* feat: pin template deps to latest npm versions and flatten skill folders

- Add pin-template-deps.js to resolve "*" deps to exact npm versions
- Integrate pinning into sync-template-skills npm script
- Remove check-template-skills-versions.js (no longer needed)
- Simplify workflow to single sync step
- Flatten skill output: one folder per skill with cleaned names

Made-with: Cursor

* fix: resolve skill validation errors

- Move .template-versions.json from skills/ to root
- Shorten skill names to meet 64-char limit:
  - salesforce-webapp-feature-micro-frontend-generating-micro-frontend-lwc → salesforce-webapp-micro-frontend-lwc
  - salesforce-webapp-feature-react-agentforce-conversation-client-integrating-agentforce-conversation-client → salesforce-webapp-agentforce-conversation-client
  - salesforce-webapp-feature-react-file-upload-implementing-file-upload → salesforce-webapp-react-file-upload
- Expand descriptions to meet 20-word minimum with trigger context

* Add webapp skills from template, sync script updates

- Rename skill folders from salesforce-webapp-* to *-webapp-* convention
- Update sync-template-skills.js: set SKILL.md front matter name to dest folder
- Remove sync-template-skills workflow and pin-template-deps script
- Add .synced-template-skills.json manifest, deploying-webapp-to-salesforce skill
- Replace salesforce-webapp-designing-webapp-ui-ux with designing-webapp-ui-ux

Made-with: Cursor

* Align SKILL.md front matter name with folder for all webapp skills

Made-with: Cursor

* Fix skill validation: description length and trigger context for configuring-webapp-metadata, creating-webapp

Made-with: Cursor

* Rename sync script to sync-webapp-skills, drop manifest file

- Rename sync-template-skills.js to sync-webapp-skills.js
- Update package.json script to sync-webapp-skills
- Remove .synced-template-skills.json creation and add to .gitignore

Made-with: Cursor

* Revert sync-react-b2e-sample and sync-react-b2x-sample to upstream version

Made-with: Cursor

* Sync script: pin b2e and b2x to latest, sync skills from template

- Pin both template packages to latest in sync-webapp-skills.js
- Update package.json / package-lock.json (b2x 1.109.0)
- Sync skills: managing-webapp-agentforce-conversation-client, bar-line-chart,
  remove building-webapp-analytics-charts and integrating-webapp-agentforce-conversation-client
- Minor skill content updates

Made-with: Cursor

* Remove interactive map, weather widget, and Unsplash skills (no longer in template)

Made-with: Cursor

---------

Co-authored-by: Hemant Singh Bisht <hsinghbisht@salesforce.com>
2026-03-19 22:46:27 +05:30
Mohan Raj Rajamanickam
2320c50264
ci: publish skills as @salesforce/afv-skills npm package @W-21534193@ (#30)
* 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
2026-03-12 13:41:52 -07:00
Gordon Bockus
6bcf823901
chore: add b2e to GHA flow 2026-03-02 14:05:26 -06:00
Gordon Bockus
ce615bf036
feat: add first pass at b2e sample 2026-02-27 14:56:57 -06:00