# writeJsDoc

> writeJsDoc is an Agent Skill for documents published in the majiayu000/claude-skill-registry repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Write or update duplojs-utils JSDoc documentation files under jsDoc/{namespace}/{function}/, including index.md structure, @example includes, and example.ts usage patterns (classic, curried, and predicate overloads).

- Skill name: `writeJsDoc`
- Category: [Documents](https://www.openparable.com/skill/documents/1)
- Source: https://github.com/majiayu000/claude-skill-registry/blob/HEAD/skills/documents/writejsdoc-duplojs-utils/SKILL.md
- Repository: majiayu000/claude-skill-registry (498 GitHub stars when collected)

## SKILL.md

# JSDoc du projet

## Emplacement des fichiers

- `jsDoc/{namespace}/{function}/index.md`: contenu JSDoc de la fonction.
- `jsDoc/{namespace}/{function}/example.ts`: exemples utilises par les balises `{@include ...}`.

## Structure obligatoire de `index.md`

Respecter l'ordre exact:

1. Description de la fonction:
   - 1.1 Description courte
   - 1.2 Description des styles d'appel supportes (classique et currifie)
   - 1.3 Description du comportement
2. Exemple d'utilisation (utiliser `{@include ...[lineStart,lineEnd]}`)
3. `@remarks` (optionnel)
4. `@see` (au moins un lien vers la doc en ligne)

## Regles pour `example.ts`

- Les exemples doivent etre importes via la balise `{@include namespace/function/example.ts[lineStart,lineEnd]}`.
- `example.ts` doit contenir au moins 3 exemples couvrant les cas courants.
- Eviter d'ajouter du bruit: chaque exemple doit rester simple et didactique.
- Utiliser `@scripts` pour les imports dans les exemples JSDoc (comme dans les exemples du projet).
- Si la doc est deja ecrite, s'inspirer des exemples dans `docs/examples/v1/api/` pour composer les cas JSDoc.
- L'objectif des exemples JSDoc est de montrer un panel d'usage tres simple (pas de cas complexes).

## Overloads predicate

Certaines fonctions ont des overloads predicate (classique + currifie):

- Le mentionner dans la description courte et dans la section des styles d'appel.
- Ajouter un exemple `if` pour la version predicate classique.
- Ajouter un exemple `pipe + when` pour la version predicate currifiee.

## Templates disponibles

- `assets/index-template.md`
- `assets/example-template.md`

---

Source: https://www.openparable.com/skill/documents/writejsdoc (OpenParable). Cite the canonical URL above.
