Commit Graph

5 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
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
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