Skir
Ranked 3 of 4 API description languages by recommenders
Protobuf-style schema language with stricter types and safer compatibility defaults. Critics say migrating persisted data is hard and it still uses numeric field tags.
Protobuf-style schema language with stricter types and safer compatibility defaults. Critics say migrating persisted data is hard and it still uses numeric field tags.
16 people gave an opinion
- recommend it
- 7
- criticize it
- 9
- approval share
- 44%
Recommended in 1 of 13 months
- November 2025: not recommended
- December 2025: not recommended
- January 2026: not recommended
- February 2026: not recommended
- March 2026: recommended
- April 2026: not recommended
- May 2026: not recommended
- June 2026: not recommended
- July 2026: not recommended
- August 2026: not recommended
- September 2026: not recommended
- October 2026: not recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 7 people recommend itNeeds 10 or more, not met.
- 0.7 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 1 of 13 monthsNeeds 4 or more, not met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Safe compatibility defaults
“it offers a good tradeoff between efficiency (only a bit less compact than binary), backward compatibility”
Comment from 8 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction” “the idea is that it is often a good "default" choice because it offers a good tradeoff across 3 properties”
Comment from 8 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction” “+100 there's not reason to allow breaking changes by default”
Comment from 8 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction” Better type safety than Protobuf
“I did it a bit better than protobuf because it generally has better type safety”
Comment from 10 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction” “seems to be a nice improvement over Protobuf”
Comment from 10 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction”
What people warn about
Each mark is one comment
Numeric field tags remain required
“I don't see how the serialization this proposes fixes it without the numerical tagging equivalent.”
Comment from 9 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction” “Obligatory dense field numbers seems like a massive downside”
Comment from 8 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction” Not enough gain to switch
“Moving me off protobuf requires something at least 10x better--that's a very high bar.”
Comment from 8 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction” “If Skir wants to be more than prettier syntax it needs concrete wins”
Comment from 9 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction”
Other API description languages people recommend
The three most recommended other API description languages, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| OpenAPI Specification | 30 | 22 | 58% | 10 | — | — |
| TypeSpec | 11 | 0 | 100% | 5 | — | Approved |
| SkirThis page | 7 | 9 | 44% | 1 | — | — |
| Swagger | 6 | 5 | 55% | 4 | — | — |
What people said
All 22 comments that mention it, newest first. Each links to the original comment.
“A bit different kind of introspection.”
“The implicit version is brittle design for backwards compatibility.”
“I did it a bit better than protobuf because it generally has better type safety”
“I cannot recommend people migrating from protobuf to Skir if they have some persisted data to migrate”
“seems to be a nice improvement over Protobuf”
“This is a big one I wish proto had in the first place.”
“With Skir, that's not the case.”
“If Skir wants to be more than prettier syntax it needs concrete wins”
“I don't see how the serialization this proposes fixes it without the numerical tagging equivalent.”
“If you remove or are unaware of a `int32?` field, old consumers will suddenly think the value is present as a "default" value rather than absent”
“I mostly added this feature for unit tests, where you want to easily create some objects”
“Moving me off protobuf requires something at least 10x better--that's a very high bar.”
“+100 there's not reason to allow breaking changes by default”
“Impressive. Some interop with established standards such as OpenAPI or gRPC would make it an easier sell for non-greenfield projects”
“Built-in compatibility checks, the fact that you can import dependencies from other projects”
“the idea is that it is often a good "default" choice because it offers a good tradeoff across 3 properties”
“If the docs can't even get the syntax right, that's a hard no from me.”
“it offers a good tradeoff between efficiency (only a bit less compact than binary), backward compatibility”
“The best thing Skir does is strict generated constructors.”
“Obligatory dense field numbers seems like a massive downside”
“that's exactly what buf does for Protobuf already, with the advantage that you can just keep Protobuf”
“Notably missing both Go and Rust”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.