Validation Rules
Required checks
- Frontmatter exists and includes only required routing fields:
namedescription
- Required files exist:
SKILL.mdagents/openai.yamlreferences/usage-patterns.mdscripts/validate.sh
- Link-first pattern is explicit:
command -v <link_name>uxc link <link_name> <host>
- Help-first pattern is explicit:
<link_name> -h<link_name> <operation> -h
- Execution input style is explicit:
- at least one
key=valueexample - at least one bare JSON positional example
- at least one
- Link naming convention is explicit:
- use
<provider>-<protocol>-cli - keep the name fixed for the skill
- use
- Discovery workflow is explicit:
- start from user-provided host
- include search +
uxc <endpoint> -hprobe before finalizing protocol/path
- Auth detection workflow is explicit:
- include how auth requirement is determined from probe/first call errors
- include binding verification when OAuth/binding is used
Banned defaults
Reject these in default examples and workflow text:
list/describe/callold command framing- removed input flags or deprecated invocation forms
- raw JSON passed through
--args - dynamic runtime command renaming for link conflicts
- protocol/path/auth assumptions made without verification
OAuth and error handling boundary
For wrapper skills, keep provider-specific notes minimal and reuse skills/uxc for canonical OAuth and error playbooks.