From ocaml-dev
Fetches IETF RFCs as plain text, stores in spec/ directory, and generates OCamldoc citations for OCaml modules, functions, and types. Use for implementing standards and protocol compliance docs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ocaml-dev:rfc-integrationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Invoke this skill when:
Invoke this skill when:
Always fetch RFCs in plain text format from:
https://datatracker.ietf.org/doc/html/rfcXXXX.txt
Important: Use .txt extension, not .html.
Save RFC files to spec/ directory in project root:
spec/rfc6265.txt
spec/rfc3492.txt
Create spec/ directory if it doesn't exist.
{{:https://datatracker.ietf.org/doc/html/rfcXXXX}RFC XXXX}
{{:https://datatracker.ietf.org/doc/html/rfcXXXX#section-N.M}RFC XXXX Section N.M}
#section-N - Main numbered section#section-N.M - Subsection#appendix-X - Appendix (A, B, C, etc.)(** RFC 3492 Punycode: A Bootstring encoding of Unicode for IDNA.
This module implements the Punycode algorithm as specified in
{{:https://datatracker.ietf.org/doc/html/rfc3492}RFC 3492}.
{2 References}
{ul
{- {{:https://datatracker.ietf.org/doc/html/rfc3492}RFC 3492} - Punycode}
{- {{:https://datatracker.ietf.org/doc/html/rfc5891}RFC 5891} - IDNA}} *)
val adapt : delta:int -> numpoints:int -> firsttime:bool -> int
(** [adapt ~delta ~numpoints ~firsttime] computes the new bias value.
Implements the bias adaptation algorithm from
{{:https://datatracker.ietf.org/doc/html/rfc3492#section-6.1}RFC 3492 Section 6.1}. *)
type error =
| Overflow of position
(** Arithmetic overflow. See
{{:https://datatracker.ietf.org/doc/html/rfc3492#section-6.4}
RFC 3492 Section 6.4}. *)
| Invalid_digit of position * char
(** Invalid Punycode digit. See
{{:https://datatracker.ietf.org/doc/html/rfc3492#section-5}
RFC 3492 Section 5}. *)
val base : int
(** The base value (36) for Punycode encoding.
See {{:https://datatracker.ietf.org/doc/html/rfc3492#section-5}
RFC 3492 Section 5}. *)
spec/ directoryspec/When an RFC obsoletes another:
(** Implements {{:https://datatracker.ietf.org/doc/html/rfc6265}RFC 6265}
which obsoletes {{:https://datatracker.ietf.org/doc/html/rfc2965}RFC 2965}. *)
(** IDNA-compatible encoding combining
{{:https://datatracker.ietf.org/doc/html/rfc5891}RFC 5891} (IDNA Protocol)
with {{:https://datatracker.ietf.org/doc/html/rfc3492}RFC 3492} (Punycode). *)
npx claudepluginhub avsm/ocaml-claude-marketplace --plugin ocaml-devWrites well-structured RFCs with normative clauses using govctl CLI and RFC 2119 keywords. Useful for creating/editing RFCs or specifying normative requirements.
Walks through an RFC in depth, comparing the proposal against the actual codebase to surface gaps, edge cases, and contradictions the author missed. Stays in chat — never posts to GitHub.