writeDocumentation
Handles documentation writing and maintenance for duplojs-utils in both French and English.
Install
mkdir -p .claude/skills/writedocumentation && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12530" && unzip -o skill.zip -d .claude/skills/writedocumentation && rm skill.zipInstalls to .claude/skills/writedocumentation
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Write or update duplojs-utils documentation pages (FR/EN) including API function pages, namespace index pages, and guides, following the repo's structure, MonacoTSEditor examples, required sections, and prev/next metadata.Key capabilities
- →Maintain documentation in French and English
- →Ensure sections are synchronized across languages
- →Respect rules for code examples
- →Write API function pages
- →Update namespace index pages
- →Adjust prev/next links for new pages
How it works
The skill identifies the page type, maintains documentation in both French and English, and ensures sections are synchronized. It applies specific rules for code examples and content structure.
Inputs & outputs
When to use writeDocumentation
- →Updating API documentation
- →Writing new user guides
- →Synchronizing docs across languages
About this skill
Documentation du projet
Identifier le type de page
- Utiliser ces chemins comme source de verite.
- Choisir le format de page avant de rediger.
- Toujours maintenir la doc dans les deux langues (FR et EN) et garder les sections synchronisees.
Chemins:
docs/{fr,en}/index.md: pages home.docs/{fr,en}/v1/guide/*.md: guides.docs/{fr,en}/v1/api/{namespace}/index.md: sommaire + presentation du namespace.docs/{fr,en}/v1/api/{namespace}/{function}.md: documentation d'une fonction.docs/{fr,en}/v1/api/{namespace}/{concept + function}.md: cas specifiques (rare).docs/examples/v1/api/{namespace}/{function}/tryout.doc.ts: exemple simple.docs/examples/v1/api/{namespace}/{function}/otherExample.doc.ts: cas specifiques.
Respecter les regles des exemples
- Ecrire les commentaires en anglais.
- Utiliser des noms de variables de plus de 2 caracteres.
- Wrapper les structures avec plus d'un element (retours a la ligne, un element par ligne).
- Utiliser
foldLinesdansMonacoTSEditorpour replier du code long si besoin. - Le
heightdepend du nombre de lignes visibles dans le fichier d'exemple. - Compter le nombre total de lignes du fichier
*.doc.ts(ne pas compter la ligne vide finale). - Si
foldLinesest present, chaque pli compte comme 1 ligne visible et toutes les lignes cachees du bloc plie (toutes les lignes du bloc sauf la premiere) doivent etre soustraites. - Calcul final:
height = (lignes_visibles * 21) + 40, en pixels. - Les index
foldLinescommencent a 0 (index de ligne). - Importer uniquement depuis
@duplojs/utils(jamais de chemin relatif).
Exemple:
<MonacoTSEditor
src="/examples/v1/api/<namespace>/<function>/tryout.doc.ts"
majorVersion="v1"
height="300px"
:foldLines="[3, 7]"
/>
Contenu des exemples (*.doc.ts)
- Les exemples doivent etre simples et didactiques.
- Eviter de montrer plusieurs fonctions dans un meme exemple sauf si le contexte l'exige.
- Pour les fonctions avec predicate (filter, find, when, equal, etc.), garder un contexte minimal et ajouter un
ExpectTypepour rendre le type explicite (utile en mobile). - Pour les fonctions predicate/type-guard, utiliser un
if+ExpectTypecomme ici:docs/examples/v1/api/array/is/tryout.doc.ts. - Si un exemple necessite des types declares en amont (ex: pattern match), les replier via
foldLineset les compter comme une seule ligne visible:docs/examples/v1/api/pattern/match/builder.doc.ts. - Les
ExpectTypene doivent jamais etre plies: afficher le type complet. - Pour les exemples Clean avec contexte DDD, replier un namespace complet si besoin (ex:
User):docs/examples/v1/api/clean/repository/tryout.doc.ts.
Templates d'exemples disponibles (a adapter):
assets/example-predicate-template.md(base type-guard)assets/example-transformer-template.md(transformer simple)assets/example-combinator-template.md(combiner simple)assets/example-context-predicate-template.md(predicate avec contexte minimal)assets/example-types-folded-template.md(types declares en amont + foldLines)assets/example-clean-folded-namespace-template.md(namespace Clean replie)
Rediger une page API (fonction)
- Partir du template
assets/api-function-template.md. - Copier/coller la description courte dans
descriptiondu frontmatter. - Inclure la version currifiee si elle existe.
- Ajouter "Voir aussi" avec des liens voisins ou proches.
- Ajouter "Sources" seulement si une reference externe est utile.
- Pour les cas specifiques, utiliser
docs/{fr,en}/v1/api/{namespace}/{concept + function}.mdet des exemples dedies dansdocs/examples/v1/api/{namespace}/{function}/. - Quand une page est ajoutee, mettre a jour le sommaire du namespace (
docs/{fr,en}/v1/api/{namespace}/index.md) et reajuster les liensprev/nextdes pages voisines pour inserer la page correctement.
Format obligatoire:
- Frontmatter YAML:
outline,prev,next,description. - Contenu:
# NomDeLaFonction, description courte, exemple interactif, syntaxe, parametres, valeur de retour, voir aussi.
Cas speciaux a garder en tete
- Pages avec comparatifs ou multi-exemples (ex: DataParser object): regrouper par sous-sections claires, utiliser plusieurs MonacoTSEditor et des grilles si besoin.
- Pages d'index riches (ex: Clean primitives): structurer en sections (intro, exemples, liste d'API, operateurs) et garder une progression narrative.
Templates de namespaces speciaux
- Utiliser
assets/api-namespace-dataparser-template.mdpourdocs/{fr,en}/v1/api/dataParser/index.md. - Utiliser
assets/api-namespace-clean-template.mdpourdocs/{fr,en}/v1/api/clean/index.md.
When not to use it
- →When documentation is not for duplojs-utils
- →When not adhering to the specified repo structure
- →When not using MonacoTSEditor examples
Limitations
- →Requires documentation to follow the repo's structure
- →Requires adherence to MonacoTSEditor examples
- →Requires specific sections and prev/next metadata
How it compares
This workflow enforces strict formatting, language synchronization, and specific content requirements for documentation, unlike a generic approach that might lack these constraints.
Compared to similar skills
writeDocumentation side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| writeDocumentation (this skill) | 0 | 7mo | No flags | Intermediate |
| writing-docs | 1 | 29d | Review | Beginner |
| update-api-docs | 1 | 3mo | Review | Beginner |
| Outline Open Source Team Knowledge Base and Wiki Platform | 0 | 2mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
writing-docs
remotion-dev
Guides for writing and editing Remotion documentation. Use when adding docs pages, editing MDX files in packages/docs, or writing documentation content.
update-api-docs
Agenta-AI
Update the API reference documentation by downloading the latest OpenAPI spec from production and regenerating the Docusaurus API docs
Outline Open Source Team Knowledge Base and Wiki Platform
agentskillexchange
Outline is a fast, collaborative knowledge base for teams built with React and Node.js. It provides real-time editing, Markdown support, and a rich API for integration with Slack, authentication providers, and custom workflows.
api-documenter
ovachiever
Auto-generate API documentation from code and comments. Use when API endpoints change, or user mentions API docs. Creates OpenAPI/Swagger specs from code. Triggers on API file changes, documentation requests, endpoint additions.
API Documentation
daithang-organization
Swagger/OpenAPI setup and documentation patterns for SE104_VLEAGUE
update-docs
openvinotoolkit
Update OpenVINO GenAI site documentation for API or feature changes. Use when: new pipelines, models, or use-cases are introduced; site docs need to reflect new capabilities.