ocaml-coding SKILL.md skillA
ocaml-coding from jeong-sik/masc is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add jeong-sik/masc/ocaml-coding@git:20261022.fddba53Pins git:20261022.fddba53 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- jeong-sik/masc
- Path
.agents/skills/ocaml-coding/SKILL.md- Versions recorded
- 13
- Latest version
- git:20261022.fddba53, committed Oct 22, 2026
- First version recorded
- Sep 15, 2026
- Size
- 12,064 bytes
- Repository stars
- 4
- License
- MIT
masc 저장소에서 OCaml 5.5 + Eio 코드를 쓰기 전에 보는 점검표다. 오류를 Result 와 닫힌 합타입으로 다루는 법, 예외 잡기와 Eio 취소, fiber 예약 순서와 예약 반환·CAS·파일 교체·변경 검증, Mutex·Lazy 선택, 자원 정리(Switch.on_release 와 Fun.protect), 막히는 I/O 와 executor의 실제 worker 정리, .mli 먼저 고치기, 있을 거라고 착각하기 쉬운 표준 라이브러리 호출을 다룬다. lib/·bin/·test/ 의 .ml/.mli 를 새로 쓰거나 고칠 때 쓴다.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# masc OCaml 점검표
이 저장소는 OCaml 5.5 에 고정돼 있다(`dune-project` 의 `(ocaml (= 5.5.1))`).
표준 라이브러리와 Eio 의 사실은 공식 인터페이스로 확인한다.
- OCaml 매뉴얼: https://ocaml.org/manual/5.5/index.html
- API: `https://ocaml.org/manual/5.5/api/<Module>.html`
- Eio: opam 스위치의 `lib/eio/*.mli`, 또는 https://ocaml.org/p/eio/latest/doc/Eio/index.html
규칙의 원본은 `docs/constitution.xml` 이다. 이 문서와 헌법이 다르면 헌법이 맞다.
이 점검표에는 여러 기능에 두루 통하는 OCaml·Eio 규칙만 둔다. 한 기능의 설계와 경계는
그 모듈의 `.mli` 에 적는다. 본문이 `Common.max_tool_result_wire_bytes` 를 넘으면
Skill 카탈로그가 이 Skill 을 통째로 빼서 모든 Keeper 가 읽지 못한다.
## 1. 상태와 오류는 닫힌 합타입
- 서로 배타적인 상태·판정·오류는 variant 로 쓴다. 문자열이나 부분 문자열을 비교해 다음 동작을
고르지 않는다(헌법 `string_matching`). `String.starts_with ~prefix:"..."` 로 분기하고 싶어지면
그 값을 만드는 쪽에 생성자를 하나 더 둔다.
- 파서는 모르는 입력에 `None` 이나 `Error` 를 준다. 편한 기본값으로 눌러 담지 않는다.
- `match` 는 경우를 다 적는다. 새 생성자를 넣었을 때 컴파일러가 빠진 자리를 알려 주게 한다.
상태 전이표에 `| _ -> false` 를 두면 새 상태의 전이가 빠져도 컴파일된다.
- 실패할 수 있는 계산은 `Result` 로 돌려준다.
```ocaml
let ( let* ) = Result.bind
let process input =
let* parsed = parse input in
let* computed = compute parsed in
Ok (render computed)
```
- `failwith "not implemented"` 같은 자리 채움을 두지 않는다. 컴파일은 되고 실행하면 터진다.
…Read the whole file at its exact version.
How to install
mdr add jeong-sik/masc/ocaml-coding@sha256:20673fae2cc09128The line at the top of this page pins the label git:20261022.fddba53, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_ptnsup3jnqswcd62)
3 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 13 versions of this file, between Sep 15, 2026 and Oct 22, 2026, about one every 3 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261022.fddba53 latest | 2026-10-22 | fddba53 | 12,064 B | A | view · diff |
| git:20261021.75b1cd3 | 2026-10-21 | 75b1cd3 | 24,005 B | A | view · diff |
| git:20261021.7de4ae9 | 2026-10-21 | 7de4ae9 | 23,339 B | A | view · diff |
| git:20261021.b50a67d | 2026-10-21 | b50a67d | 22,583 B | A | view · diff |
| git:20261021.2be4ce9 | 2026-10-21 | 2be4ce9 | 21,879 B | A | view · diff |
| git:20261019.4450d70 | 2026-10-19 | 4450d70 | 17,927 B | A | view · diff |
| git:20261019.0d9bc2c | 2026-10-19 | 0d9bc2c | 17,189 B | A | view · diff |
| git:20261019.dccc4ec | 2026-10-19 | dccc4ec | 17,510 B | A | view · diff |
| git:20261019.5d1754a | 2026-10-19 | 5d1754a | 16,391 B | A | view · diff |
| git:20261019.f915925 | 2026-10-19 | f915925 | 16,731 B | A | view · diff |
| git:20261016.2baa257 | 2026-10-16 | 2baa257 | 10,012 B | A | view · diff |
| git:20260930.3e22dc2 | 2026-09-30 | 3e22dc2 | 9,979 B | A | view · diff |
| git:20260915.1aca47d | 2026-09-15 | 1aca47d | 11,428 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (12064 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
jeong-sik/masc · 4 stars · license MIT · pushed 2026-11-04 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_ptnsup3jnqswcd62 GET https://markdownregistry.com/api/v1/resolve?ref=jeong-sik/masc/ocaml-coding GET https://markdownregistry.com/api/v1/blob/20673fae2cc09128004157d41527f5febede7588a7b7e9ca257cbc7d246b1754
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.