Working with IETF RFCs in OCaml projects. Use when mentioning RFC numbers, implementing internet standards, adding specification documentation, or discussing protocol compliance.
View on GitHubavsm/ocaml-claude-marketplace
ocaml-dev
January 20, 2026
Select agents to install to:
npx add-skill https://github.com/avsm/ocaml-claude-marketplace/blob/main/plugins/ocaml-dev/skills/ocaml-rfc-integration/SKILL.md -a claude-code --skill ocaml-rfc-integrationInstallation paths:
.claude/skills/ocaml-rfc-integration/# RFC Integration for OCaml Projects
## When to Use This Skill
Invoke this skill when:
- User mentions implementing an RFC
- Adding RFC citations to documentation
- Fetching RFC specifications
- Validating code against RFC requirements
- Discussing internet protocol standards
## RFC Fetching and Storage
### Fetching RFCs
Always fetch RFCs in **plain text format** from:
```
https://datatracker.ietf.org/doc/html/rfcXXXX.txt
```
**Important**: Use `.txt` extension, not `.html`.
### Storage Location
Save RFC files to `spec/` directory in project root:
```
spec/rfc6265.txt
spec/rfc3492.txt
```
Create `spec/` directory if it doesn't exist.
## OCamldoc RFC Citation Format
### Basic RFC Link
```ocaml
{{:https://datatracker.ietf.org/doc/html/rfcXXXX}RFC XXXX}
```
### Section-Specific Links
```ocaml
{{:https://datatracker.ietf.org/doc/html/rfcXXXX#section-N.M}RFC XXXX Section N.M}
```
### Common Section References
- `#section-N` - Main numbered section
- `#section-N.M` - Subsection
- `#appendix-X` - Appendix (A, B, C, etc.)
## Documentation Patterns
### Module-Level Documentation
```ocaml
(** 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}} *)
```
### Function-Level Documentation
```ocaml
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-Level Documentation
```ocaml
type error =
| Overflow of position
(** Arithmetic overflow. See
{{:https://datatracker.ietf.org/doc/html/rfc3492#sect