Official Sinch API skills for AI coding agents — SMS, Voice, Verification, Numbers, Mailgun email, and more.
69
87%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
How to create and maintain skills in this repository. For guidance on using the skills to build against Sinch APIs, see AGENTS.md.
skills/
<product>/
SKILL.md # Main skill file (required)
references/
shared-policy.md # Generated copy of the shared policy (do not edit)
<topic>.md # Optional navigational summaries
examples/ # Optional language samples
scripts/ # Optional executable helpers
docs/
SINCH_SHARED_POLICY.md # Canonical policy embedded in every skill
scripts/
sync_sinch_skill_references.py # Regenerates policy gates, digests, and shared-policy.md
validate_sinch_skills.py # Structural and catalog consistency checks
lint-skills.mjs # Strict YAML frontmatter check (runs in CI)One folder per Sinch product. The skill file is always SKILL.md.
skills/<product-name>/SKILL.md with YAML frontmatter (--- delimiters). Use kebab-case for the folder name.name, description, and metadata with author, version, category, tags, and uses (the skills this one depends on, such as sinch-authentication).> **Policy gate. Then run the sync script; it rewrites that line with the current gate, inserts the digest block after it, and generates references/shared-policy.md:python3 scripts/sync_sinch_skill_references.pypython3 scripts/validate_sinch_skills.pyREADME.md.references/ if needed.name: Max 64 characters. Format: sinch-<product-slug> (e.g., sinch-sms, sinch-voice-api).description: Max 1024 characters. Describes when to trigger the skill (e.g., "When the user wants to send SMS messages using the Sinch SMS API"). If the skill covers only one API version, say so and name where the other version is documented, so the skill does not trigger for the wrong one. Wrap the value in double quotes if it contains : or starts with a special character; Tessl parses the frontmatter as strict YAML and rejects the publish otherwise (node scripts/lint-skills.mjs runs this check in CI).< >) anywhere in the frontmatter.metadata.uses: list only skills that exist in skills/. The validator fails on unknown names.docs/SINCH_SHARED_POLICY.md and rerun the sync script; never hand-edit them or references/shared-policy.md.references/*.md are navigational summaries, not schema authority. Open each with a short note saying so and linking to the canonical docs.references/ file already lists a set of documentation URLs, point to the file from Links instead of repeating the URLs. Keep in Links only the links no reference file covers: the OpenAPI spec, the Markdown API reference, the dashboard, SDK references, and LLMs.txt.scripts/ are execution tools. Do not present them as a schema reference.references/.@sinch/sdk-core) for code examples. Exception: Mailgun skills use mailgun.js.SINCH_PROJECT_ID for credentials, never real values.Each skill's Links section should include both:
https://developers.sinch.com/_bundle/docs/<product>/api-reference/<product>.yaml?downloadhttps://developers.sinch.com/docs/<product>/api-reference/<product>.mdMailgun skills use https://documentation.mailgun.com instead of developers.sinch.com. These are machine-readable formats optimized for AI agent consumption.
The shared skills/sinch-authentication/SKILL.md skill covers all auth methods. Product skills reference it rather than duplicating auth setup.
api:key)python3 scripts/sync_sinch_skill_references.py --checkpython3 scripts/validate_sinch_skills.pynpm install --no-save yaml@2.9.0 && node scripts/lint-skills.mjsCI runs all three. The validator also checks that relative links resolve, that metadata.uses names installed skills, and that each skill carries exactly one policy gate and digest.
https://developers.sinch.com/_bundle/docs/<product>/api-reference/<product>.yaml?downloadSINCH_PROJECT_ID).references/shared-policy.md.skills/.scripts
skills
sinch-10dlc
references
sinch-authentication
sinch-cli
sinch-conversation-api
sinch-elastic-sip-trunking
references
sinch-fax-api
sinch-functions
sinch-functions-dotnet
sinch-functions-node
sinch-imported-numbers-hosting-orders
references
sinch-in-app-calling
sinch-mailgun
references
sinch-mailgun-inspect
references
sinch-mailgun-optimize
references
sinch-mailgun-validate
sinch-mms
sinch-number-lookup-api
sinch-number-order-api
sinch-numbers-api
sinch-porting-api
sinch-provisioning-api
sinch-rcs
sinch-sdks
sinch-sms
scripts
sinch-verification-api
sinch-voice-api
sinch-whatsapp