feat: improve sinch-fax-api skill score (82% → 93%)#5
Open
yogesh-tessl wants to merge 10 commits into
Open
Conversation
- Change `owner` from string to object form (`{name, email}`) so it passes
`OwnerSchema` validation. The prior string value caused the entire
marketplace manifest to fail parsing, which is why no components were
surfaced by the Cursor marketplace.
- Drop the leading `plugins/` segment from the plugin `source`. With
`metadata.pluginRoot: "plugins"` the parser prepends that prefix, so the
previous `source: "./plugins/sinch-cursor-plugin"` resolved to
`plugins/plugins/sinch-cursor-plugin` (a nonexistent directory).
The plugin now correctly resolves to `plugins/sinch-cursor-plugin`.
- Move display-only metadata (`displayName`, `homepage`, `repository`,
`license`, `keywords`) onto the plugin entry, which is where the
marketplace schema accepts and surfaces those fields. The
`MarketplaceMetadataSchema` only supports `description`, `version`,
and `pluginRoot`, so keeping them at the root was a no-op.
…hema make Cursor plugin discoverable
Made plugin description a bit more descriptive
Fix/description fixed in plugin.json as well
Hey @dtan157 👋 I ran your skills through `tessl skill review` at work and found some targeted improvements. Here's the full before/after: | Skill | Before | After | Change | |-------|--------|-------|--------| | sinch-fax-api | 82% | 93% | **+11%** | | sinch-10dlc | 87% | 87% | — | | sinch-conversation-api | 87% | 87% | — | | sinch-mailgun | 87% | 87% | — | | sinch-provisioning-api | 87% | 87% | — | | sinch-voice-api | 87% | 87% | — | | sinch-elastic-sip-trunking | 92% | 92% | — | | sinch-in-app-calling | 92% | 92% | — | | sinch-mailgun-inspect | 92% | 92% | — | | sinch-numbers-api | 92% | 92% | — | | sinch-mailgun-validate | 93% | 93% | — | | sinch-verification-api | 93% | 93% | — | | sinch-authentication | 94% | 94% | — | | sinch-mailgun-optimize | 98% | 98% | — | | sinch-number-lookup-api | 99% | 99% | — | I focused on `sinch-fax-api` because it had the most room for improvement across your skill set. <details> <summary>Changes made to sinch-fax-api</summary> - Added a Fax Lifecycle Workflow section — explicit 5-step send → verify → callback → error-handling → cleanup sequence with validation checkpoints at each step and error-type-specific recovery paths - Added an inline Node.js webhook handler example — complete Express.js receiver for both inbound and outbound fax callbacks, making the skill copy-paste actionable beyond just the curl example - Trimmed Key Concepts — removed explanations of concepts Claude already knows (what webhooks are, what fax numbers are) and focused on Sinch-specific details like callback content types, retry limits, and retention policy - Consolidated Troubleshooting into a table — replaced verbose subsections with a scannable symptom/check table - Tightened Gotchas — removed info duplicated from Key Concepts (retention), merged the SSL certificate note from Common Patterns, and condensed the security warning - Streamlined Common Patterns — removed redundant descriptions and duplicate links All changes synced across the sinch-claude-plugin, sinch-cursor-plugin, and sinch-gemini-extension folders. </details> I also stress-tested your `sinch-fax-api` skill against a few real-world task evals and it held up really well on multi-document PDF faxing with callback status tracking. Kudos for that. Honest disclosure — I work at @tesslio where we build tooling around skills like these. Not a pitch — just saw room for improvement and wanted to contribute. Want to self-improve your skills? Just point your agent (Claude Code, Codex, etc.) at this Tessl guide (https://docs.tessl.io/evaluate/optimize-a-skill-using-best-practices) and ask it to optimize your skill. Ping me — @yogesh-tessl (https://github.com/yogesh-tessl) — if you hit any snags. Thanks in advance 🙏
ed6dd2a to
e88ce60
Compare
Author
|
hey @dtan157 👋, just a friendly follow-up in case this got buried, happy to help move it forward! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hey @dtan157 👋
this is a solid piece of work. Supporting Claude, Cursor, and Gemini in a single repo, with a clean separation under the
pluginsdirectory makes the whole setup feel well-organized and easy to extend. TheCONTRIBUTING.mdand Apache license are great signals too; it’s clear you’re inviting others to build on top of this. Overall, it feels like a strong, practical foundation for Sinch messaging integration.ran your skills through
tessl skill reviewat work and found some targeted improvements. Here's the before/after:I focused on
sinch-fax-apibecause it had the most room for improvement across your skill set.Changes made to sinch-fax-api
All changes synced across the sinch-claude-plugin, sinch-cursor-plugin, and sinch-gemini-extension folders.
quick honest disclosure. I work at https://github.com/tesslio where we build tooling around skills like these. Not a pitch, just saw room for improvement and wanted to contribute.
if you want to self-improve your skills, or define your own scenarios to pressure test, just ask your agent (Claude Code, Codex, etc.) to evaluate and optimize your skill with Tessl. Ping me @yogesh-tessl, if you hit any snags.