plugins/ocaml-dev/skills/ai-disclosure/SKILL.md
Use when writing or modifying OCaml code to annotate AI involvement. Triggers on any code generation, editing, or autonomous agent output in .ml/.mli files. Also use when creating or updating .opam files for packages containing AI-involved code.
npx skillsauth add avsm/ocaml-claude-marketplace ai-disclosureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Annotate AI disclosure when you:
.opam files for packages with AI-involved codeFour values, identical to the W3C AI Content Disclosure vocabulary:
| Value | When to use |
|-------|-------------|
| none | Positive assertion: no AI was involved |
| ai-assisted | Human-authored, AI edited or refined |
| ai-generated | AI-generated with human prompting/review |
| autonomous | AI-generated without human oversight |
No annotation = unknown. Only use none as an affirmative claim.
Prefer per-module. Use per-item only when individual bindings differ.
Declare the dominant level; tooling infers heterogeneity from overrides.
[@@@ai_disclosure "ai-generated"]
[@@@ai_model "claude-opus-4"]
[@@@ai_provider "Anthropic"]
Raplce the ai_model and ai_provider with your own information. Place these after any copyright header and open statements, before the first definition.
let merge_sort xs =
...
[@@ai_disclosure "ai-assisted"]
Annotate .mli independently of .ml. The interface records AI involvement in API design; the implementation records AI involvement in code.
For each package in the project, create or update a <package>.opam.template
file with the x-ai-* extension fields. Dune merges .opam.template
contents into the generated .opam file, so these fields survive
dune build @install and opam file regeneration.
x-ai-disclosure: "ai-generated"
x-ai-model: "claude-opus-4"
x-ai-provider: "Anthropic"
If the .opam.template file does not yet exist, create it with just
the disclosure fields. If it already exists, append the fields.
Use the dominant disclosure level as the package default. Individual modules override where they differ.
A future dune language version will support these as first-class fields
in the (package) stanza, eliminating the need for .opam.template:
(package
(name foo)
(ai_disclosure
(level ai-generated)
(model "claude-opus-4")
(provider "Anthropic")))
Entire file generated by AI:
[@@@ai_disclosure "ai-generated"]
[@@@ai_model "claude-opus-4"]
[@@@ai_provider "Anthropic"]
let foo = ...
let bar = ...
Human file with one AI-generated function:
[@@@ai_disclosure "ai-assisted"]
let human_written x = ...
let ai_helper y =
...
[@@ai_disclosure "ai-generated"]
Agent-generated code without human review:
[@@@ai_disclosure "autonomous"]
[@@@ai_model "claude-opus-4"]
[@@@ai_provider "Anthropic"]
tools
Working with the OxCaml extensions to OCaml. Use when the oxcaml compiler is available and you need high-performance, unboxing, stack allocation, data-race-free parallelism
development
Creating OCaml library tutorials using .mld documentation format with MDX executable examples. Use when discussing tutorials, documentation, .mld files, MDX, or interactive documentation.
development
Testing strategies for OCaml libraries. Use when discussing tests, alcotest, eio mocks, test structure, or test-driven development in OCaml projects.
development
Security hardening for OCaml libraries through systematic vulnerability research. Use when Claude needs to: (1) Research CVEs in similar implementations (C, Rust, Go, Python) and add regression tests, (2) Add fuzz tests for parsers and encoders, (3) Audit integer handling and buffer operations, (4) Test boundary conditions and malformed input, (5) Review cryptographic usage, (6) Add defensive checks against common vulnerability classes