Not in the top 1,000 by GitHub stars

tns-research/slopcheck-fr

Repère les tics d'écriture IA dans vos textes en français et propose une correction. Déterministe, hors ligne, skill pour Claude Code, Codex, Cursor, Gemini, Grok.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 74c6b9685694

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 74c6b9685694cedcbc15b7a3e8f17b1de515d360

11GitHub stars
Not availablestars in 7 days
1skill in this repository
1commit in 30 days

Heat

Insufficient history

Not enough history yet to measure heat. It appears after a few days of data.

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Nov 3, 2026Nov 3, 202611

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

slopcheck-fr

When your agent uses it

Vérifie un texte français avant livraison et corrige les tics d'écriture IA (faux contrastes « ce n'est pas X, c'est Y » ou « X, pas Y », puces en gras, émojis en tête de ligne, hashtags, mots gonflés, tirets cadratins, plan scolaire, fausses révélations, typographie anglaise). À lancer sur tout texte en français destiné à être lu (post, email, article, README, page, fiche produit, newsletter) avant de le rendre. Déterministe, sans appel réseau.

What it loads into context

Frontmatter

162 tokens

Always available to the agent

SKILL.md

570 tokens

When the skill is activated

Reference documents

139,629 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Boucle de livraison
  2. Règles de correction
  3. Apprendre de l'utilisateur

Scripts executed separately

  • src/slopcheck/__init__.py
  • src/slopcheck/__main__.py
  • src/slopcheck/apprendre.py
  • src/slopcheck/cli.py
  • src/slopcheck/corpus.py
  • src/slopcheck/moteur.py
  • src/slopcheck/regles.py
  • src/slopcheck/segment.py
  • src/slopcheck/verifs.py
  • tests/test_slopcheck.py

Files

  • .github/ISSUE_TEMPLATE/config.ymlasset27 bytes
  • .github/ISSUE_TEMPLATE/faux-positif.ymlasset590 bytes
  • .github/ISSUE_TEMPLATE/nouveau-tic.ymlasset789 bytes
  • .github/pull_request_template.mddoc224 bytes
  • .github/workflows/ci.ymlasset530 bytes
  • .gitignoreasset74 bytes
  • .pre-commit-hooks.yamlasset142 bytes
  • CHANGELOG.mddoc1,767 bytes
  • CONTRIBUTING.mddoc2,356 bytes
  • LICENSEasset1,065 bytes
  • README.mddoc14,093 bytes
  • SECURITY.mddoc623 bytes
  • SKILL.mdcore2,232 bytes
  • SKILL.mdcore2,232 bytes
  • SKILL.mdcore2,232 bytes
  • bench/genere-2026-10/gpt-avis-v2.mddoc152 bytes
  • bench/genere-2026-10/gpt-avis-v3.mddoc169 bytes
  • bench/genere-2026-10/gpt-avis-v4.mddoc317 bytes
  • bench/genere-2026-10/gpt-avis.mddoc199 bytes
  • bench/genere-2026-10/gpt-blog-tech-v2.mddoc3,369 bytes
  • bench/genere-2026-10/gpt-blog-tech-v3.mddoc3,547 bytes
  • bench/genere-2026-10/gpt-blog-tech-v4.mddoc4,105 bytes
  • bench/genere-2026-10/gpt-blog-tech.mddoc4,130 bytes
  • bench/genere-2026-10/gpt-discours-v2.mddoc1,595 bytes
  • bench/genere-2026-10/gpt-discours-v3.mddoc1,966 bytes
  • bench/genere-2026-10/gpt-discours-v4.mddoc1,462 bytes
  • bench/genere-2026-10/gpt-discours.mddoc1,608 bytes
  • bench/genere-2026-10/gpt-dissertation-v2.mddoc2,766 bytes
  • bench/genere-2026-10/gpt-dissertation-v3.mddoc2,610 bytes
  • bench/genere-2026-10/gpt-dissertation-v4.mddoc2,754 bytes
  • bench/genere-2026-10/gpt-dissertation.mddoc2,945 bytes
  • bench/genere-2026-10/gpt-doc-api-v2.mddoc4,634 bytes
  • bench/genere-2026-10/gpt-doc-api-v3.mddoc3,705 bytes
  • bench/genere-2026-10/gpt-doc-api-v4.mddoc3,422 bytes
  • bench/genere-2026-10/gpt-doc-api.mddoc4,218 bytes
  • bench/genere-2026-10/gpt-email-client-v2.mddoc902 bytes
  • bench/genere-2026-10/gpt-email-client-v3.mddoc523 bytes
  • bench/genere-2026-10/gpt-email-client-v4.mddoc451 bytes
  • bench/genere-2026-10/gpt-email-client.mddoc671 bytes
  • bench/genere-2026-10/gpt-fiche-airbnb-v2.mddoc530 bytes
  • bench/genere-2026-10/gpt-fiche-airbnb-v3.mddoc410 bytes
  • bench/genere-2026-10/gpt-fiche-airbnb-v4.mddoc438 bytes
  • bench/genere-2026-10/gpt-fiche-airbnb.mddoc398 bytes
  • bench/genere-2026-10/gpt-lettre-motiv-v2.mddoc1,606 bytes
  • bench/genere-2026-10/gpt-lettre-motiv-v3.mddoc1,464 bytes
  • bench/genere-2026-10/gpt-lettre-motiv-v4.mddoc1,862 bytes
  • bench/genere-2026-10/gpt-lettre-motiv.mddoc1,369 bytes
  • bench/genere-2026-10/gpt-linkedin-dev-v2.mddoc786 bytes
  • bench/genere-2026-10/gpt-linkedin-dev-v3.mddoc486 bytes
  • bench/genere-2026-10/gpt-linkedin-dev-v4.mddoc829 bytes
  • bench/genere-2026-10/gpt-linkedin-dev.mddoc528 bytes
  • bench/genere-2026-10/gpt-newsletter-v2.mddoc1,018 bytes
  • bench/genere-2026-10/gpt-newsletter-v3.mddoc688 bytes
  • bench/genere-2026-10/gpt-newsletter-v4.mddoc726 bytes
  • bench/genere-2026-10/gpt-newsletter.mddoc1,110 bytes
  • bench/genere-2026-10/gpt-post-x-v2.mddoc1,196 bytes
  • bench/genere-2026-10/gpt-post-x-v3.mddoc888 bytes
  • bench/genere-2026-10/gpt-post-x-v4.mddoc1,081 bytes
  • bench/genere-2026-10/gpt-post-x.mddoc1,174 bytes
  • bench/genere-2026-10/gpt-pr-v2.mddoc371 bytes
  • bench/genere-2026-10/gpt-pr-v3.mddoc1,381 bytes
  • bench/genere-2026-10/gpt-pr-v4.mddoc960 bytes
  • bench/genere-2026-10/gpt-pr.mddoc885 bytes
  • bench/genere-2026-10/gpt-readme-v2.mddoc2,711 bytes
  • bench/genere-2026-10/gpt-readme-v3.mddoc6,092 bytes
  • bench/genere-2026-10/gpt-readme-v4.mddoc4,015 bytes
  • bench/genere-2026-10/gpt-readme.mddoc2,326 bytes
  • bench/genere-2026-10/gpt-release-v2.mddoc1,047 bytes
  • bench/genere-2026-10/gpt-release-v3.mddoc305 bytes
  • bench/genere-2026-10/gpt-release-v4.mddoc1,881 bytes
  • bench/genere-2026-10/gpt-release.mddoc776 bytes
  • bench/genere-2026-10/haiku-avis-v2.mddoc480 bytes
  • bench/genere-2026-10/haiku-avis-v3.mddoc308 bytes
  • bench/genere-2026-10/haiku-avis-v4.mddoc368 bytes
  • bench/genere-2026-10/haiku-avis.mddoc271 bytes
  • bench/genere-2026-10/haiku-blog-tech-v2.mddoc2,964 bytes
  • bench/genere-2026-10/haiku-blog-tech-v3.mddoc3,097 bytes
  • bench/genere-2026-10/haiku-blog-tech-v4.mddoc3,207 bytes
  • bench/genere-2026-10/haiku-blog-tech.mddoc3,815 bytes
  • bench/genere-2026-10/haiku-discours-v2.mddoc1,310 bytes
  • bench/genere-2026-10/haiku-discours-v3.mddoc2,509 bytes
  • bench/genere-2026-10/haiku-discours-v4.mddoc1,607 bytes
  • bench/genere-2026-10/haiku-discours.mddoc1,797 bytes
  • bench/genere-2026-10/haiku-dissertation-v2.mddoc2,415 bytes
  • bench/genere-2026-10/haiku-dissertation-v3.mddoc2,384 bytes
  • bench/genere-2026-10/haiku-dissertation-v4.mddoc2,594 bytes
  • bench/genere-2026-10/haiku-dissertation.mddoc2,875 bytes
  • bench/genere-2026-10/haiku-doc-api-v2.mddoc8,469 bytes
  • bench/genere-2026-10/haiku-doc-api-v3.mddoc3,253 bytes
  • bench/genere-2026-10/haiku-doc-api-v4.mddoc4,584 bytes
  • bench/genere-2026-10/haiku-doc-api.mddoc6,821 bytes
  • bench/genere-2026-10/haiku-email-client-v2.mddoc1,220 bytes
  • bench/genere-2026-10/haiku-email-client-v3.mddoc1,126 bytes
  • bench/genere-2026-10/haiku-email-client-v4.mddoc1,001 bytes
  • bench/genere-2026-10/haiku-email-client.mddoc1,025 bytes
  • bench/genere-2026-10/haiku-fiche-airbnb-v2.mddoc1,504 bytes
  • bench/genere-2026-10/haiku-fiche-airbnb-v3.mddoc956 bytes
  • bench/genere-2026-10/haiku-fiche-airbnb-v4.mddoc700 bytes
  • bench/genere-2026-10/haiku-fiche-airbnb.mddoc866 bytes
  • bench/genere-2026-10/haiku-lettre-motiv-v2.mddoc1,807 bytes
  • bench/genere-2026-10/haiku-lettre-motiv-v3.mddoc1,742 bytes
  • bench/genere-2026-10/haiku-lettre-motiv-v4.mddoc2,221 bytes
  • bench/genere-2026-10/haiku-lettre-motiv.mddoc1,672 bytes
  • bench/genere-2026-10/haiku-linkedin-dev-v2.mddoc876 bytes
  • bench/genere-2026-10/haiku-linkedin-dev-v3.mddoc1,002 bytes
  • bench/genere-2026-10/haiku-linkedin-dev-v4.mddoc466 bytes
  • bench/genere-2026-10/haiku-linkedin-dev.mddoc851 bytes
  • bench/genere-2026-10/haiku-newsletter-v2.mddoc1,969 bytes
  • bench/genere-2026-10/haiku-newsletter-v3.mddoc1,503 bytes
  • bench/genere-2026-10/haiku-newsletter-v4.mddoc1,897 bytes
  • bench/genere-2026-10/haiku-newsletter.mddoc2,781 bytes
  • bench/genere-2026-10/haiku-post-x-v2.mddoc1,026 bytes
  • bench/genere-2026-10/haiku-post-x-v3.mddoc872 bytes
  • bench/genere-2026-10/haiku-post-x-v4.mddoc1,010 bytes
  • bench/genere-2026-10/haiku-post-x.mddoc947 bytes
  • bench/genere-2026-10/haiku-pr-v2.mddoc1,112 bytes
  • bench/genere-2026-10/haiku-pr-v3.mddoc1,718 bytes
  • bench/genere-2026-10/haiku-pr-v4.mddoc1,690 bytes
  • bench/genere-2026-10/haiku-pr.mddoc1,777 bytes
  • bench/genere-2026-10/haiku-readme-v2.mddoc4,534 bytes
  • bench/genere-2026-10/haiku-readme-v3.mddoc5,258 bytes
  • bench/genere-2026-10/haiku-readme-v4.mddoc5,299 bytes
  • bench/genere-2026-10/haiku-readme.mddoc2,837 bytes
  • bench/genere-2026-10/haiku-release-v2.mddoc1,821 bytes
  • bench/genere-2026-10/haiku-release-v3.mddoc873 bytes
  • bench/genere-2026-10/haiku-release-v4.mddoc2,131 bytes
  • bench/genere-2026-10/haiku-release.mddoc2,105 bytes
  • bench/genere-2026-10/opus-avis-v2.mddoc632 bytes
  • bench/genere-2026-10/opus-avis-v3.mddoc787 bytes
  • bench/genere-2026-10/opus-avis-v4.mddoc995 bytes
  • bench/genere-2026-10/opus-avis.mddoc793 bytes
  • bench/genere-2026-10/opus-blog-tech-v2.mddoc3,868 bytes
  • bench/genere-2026-10/opus-blog-tech-v3.mddoc3,811 bytes
  • bench/genere-2026-10/opus-blog-tech-v4.mddoc3,707 bytes
  • bench/genere-2026-10/opus-blog-tech.mddoc3,577 bytes
  • bench/genere-2026-10/opus-discours-v2.mddoc1,921 bytes
  • bench/genere-2026-10/opus-discours-v3.mddoc1,930 bytes
  • bench/genere-2026-10/opus-discours-v4.mddoc1,754 bytes
  • bench/genere-2026-10/opus-discours.mddoc1,950 bytes
  • bench/genere-2026-10/opus-dissertation-v2.mddoc2,562 bytes
  • bench/genere-2026-10/opus-dissertation-v3.mddoc2,495 bytes
  • bench/genere-2026-10/opus-dissertation-v4.mddoc2,646 bytes
  • bench/genere-2026-10/opus-dissertation.mddoc2,746 bytes
  • bench/genere-2026-10/opus-doc-api-v2.mddoc8,790 bytes
  • bench/genere-2026-10/opus-doc-api-v3.mddoc6,499 bytes
  • bench/genere-2026-10/opus-doc-api-v4.mddoc4,894 bytes
  • bench/genere-2026-10/opus-doc-api.mddoc9,275 bytes
  • bench/genere-2026-10/opus-email-client-v2.mddoc1,863 bytes
  • bench/genere-2026-10/opus-email-client-v3.mddoc1,433 bytes
  • bench/genere-2026-10/opus-email-client-v4.mddoc890 bytes
  • bench/genere-2026-10/opus-email-client.mddoc1,519 bytes
  • bench/genere-2026-10/opus-fiche-airbnb-v2.mddoc2,130 bytes
  • bench/genere-2026-10/opus-fiche-airbnb-v3.mddoc1,740 bytes
  • bench/genere-2026-10/opus-fiche-airbnb-v4.mddoc1,832 bytes
  • bench/genere-2026-10/opus-fiche-airbnb.mddoc1,707 bytes
  • bench/genere-2026-10/opus-lettre-motiv-v2.mddoc2,259 bytes
  • bench/genere-2026-10/opus-lettre-motiv-v3.mddoc1,863 bytes
  • bench/genere-2026-10/opus-lettre-motiv-v4.mddoc2,700 bytes
  • bench/genere-2026-10/opus-lettre-motiv.mddoc2,249 bytes
  • bench/genere-2026-10/opus-linkedin-dev-v2.mddoc1,764 bytes
  • bench/genere-2026-10/opus-linkedin-dev-v3.mddoc1,318 bytes
  • bench/genere-2026-10/opus-linkedin-dev-v4.mddoc1,802 bytes
  • bench/genere-2026-10/opus-linkedin-dev.mddoc1,451 bytes
  • bench/genere-2026-10/opus-newsletter-v2.mddoc3,708 bytes
  • bench/genere-2026-10/opus-newsletter-v3.mddoc2,661 bytes
  • bench/genere-2026-10/opus-newsletter-v4.mddoc2,831 bytes
  • bench/genere-2026-10/opus-newsletter.mddoc2,998 bytes
  • bench/genere-2026-10/opus-post-x-v2.mddoc1,128 bytes
  • bench/genere-2026-10/opus-post-x-v3.mddoc1,232 bytes
  • bench/genere-2026-10/opus-post-x-v4.mddoc1,013 bytes
  • bench/genere-2026-10/opus-post-x.mddoc927 bytes
  • bench/genere-2026-10/opus-pr-v2.mddoc1,717 bytes
  • bench/genere-2026-10/opus-pr-v3.mddoc4,198 bytes
  • bench/genere-2026-10/opus-pr-v4.mddoc2,894 bytes
  • bench/genere-2026-10/opus-pr.mddoc2,364 bytes
  • bench/genere-2026-10/opus-readme-v2.mddoc7,872 bytes
  • bench/genere-2026-10/opus-readme-v3.mddoc7,454 bytes
  • bench/genere-2026-10/opus-readme-v4.mddoc7,520 bytes
  • bench/genere-2026-10/opus-readme.mddoc3,522 bytes
  • bench/genere-2026-10/opus-release-v2.mddoc3,433 bytes
  • bench/genere-2026-10/opus-release-v3.mddoc1,171 bytes
  • bench/genere-2026-10/opus-release-v4.mddoc3,707 bytes
  • bench/genere-2026-10/opus-release.mddoc2,112 bytes
  • bench/genere-2026-10/sonnet-avis-v2.mddoc334 bytes
  • bench/genere-2026-10/sonnet-avis-v3.mddoc555 bytes
  • bench/genere-2026-10/sonnet-avis-v4.mddoc878 bytes
  • bench/genere-2026-10/sonnet-avis.mddoc413 bytes
  • bench/genere-2026-10/sonnet-blog-tech-v2.mddoc3,822 bytes
  • bench/genere-2026-10/sonnet-blog-tech-v3.mddoc3,513 bytes
  • bench/genere-2026-10/sonnet-blog-tech-v4.mddoc3,333 bytes
  • bench/genere-2026-10/sonnet-blog-tech.mddoc3,809 bytes
  • bench/genere-2026-10/sonnet-discours-v2.mddoc1,592 bytes
  • bench/genere-2026-10/sonnet-discours-v3.mddoc2,049 bytes
  • bench/genere-2026-10/sonnet-discours-v4.mddoc2,214 bytes
  • bench/genere-2026-10/sonnet-discours.mddoc2,310 bytes
  • bench/genere-2026-10/sonnet-dissertation-v2.mddoc2,770 bytes
  • bench/genere-2026-10/sonnet-dissertation-v3.mddoc2,728 bytes
  • bench/genere-2026-10/sonnet-dissertation-v4.mddoc2,756 bytes
  • bench/genere-2026-10/sonnet-dissertation.mddoc2,951 bytes
  • bench/genere-2026-10/sonnet-doc-api-v2.mddoc8,098 bytes
  • bench/genere-2026-10/sonnet-doc-api-v3.mddoc4,417 bytes
  • bench/genere-2026-10/sonnet-doc-api-v4.mddoc5,206 bytes
  • bench/genere-2026-10/sonnet-doc-api.mddoc5,660 bytes
  • bench/genere-2026-10/sonnet-email-client-v2.mddoc1,406 bytes
  • bench/genere-2026-10/sonnet-email-client-v3.mddoc1,325 bytes
  • bench/genere-2026-10/sonnet-email-client-v4.mddoc861 bytes
  • bench/genere-2026-10/sonnet-email-client.mddoc1,356 bytes
  • bench/genere-2026-10/sonnet-fiche-airbnb-v2.mddoc1,610 bytes
  • bench/genere-2026-10/sonnet-fiche-airbnb-v3.mddoc1,551 bytes
  • bench/genere-2026-10/sonnet-fiche-airbnb-v4.mddoc1,857 bytes
  • bench/genere-2026-10/sonnet-fiche-airbnb.mddoc1,425 bytes
  • bench/genere-2026-10/sonnet-lettre-motiv-v2.mddoc2,336 bytes
  • bench/genere-2026-10/sonnet-lettre-motiv-v3.mddoc2,235 bytes
  • bench/genere-2026-10/sonnet-lettre-motiv-v4.mddoc2,436 bytes
  • bench/genere-2026-10/sonnet-lettre-motiv.mddoc1,954 bytes
  • bench/genere-2026-10/sonnet-linkedin-dev-v2.mddoc1,268 bytes
  • bench/genere-2026-10/sonnet-linkedin-dev-v3.mddoc1,033 bytes
  • bench/genere-2026-10/sonnet-linkedin-dev-v4.mddoc1,485 bytes
  • bench/genere-2026-10/sonnet-linkedin-dev.mddoc1,201 bytes
  • bench/genere-2026-10/sonnet-newsletter-v2.mddoc2,989 bytes
  • bench/genere-2026-10/sonnet-newsletter-v3.mddoc1,812 bytes
  • bench/genere-2026-10/sonnet-newsletter-v4.mddoc3,298 bytes
  • bench/genere-2026-10/sonnet-newsletter.mddoc3,110 bytes
  • bench/genere-2026-10/sonnet-post-x-v2.mddoc1,126 bytes
  • bench/genere-2026-10/sonnet-post-x-v3.mddoc1,177 bytes
  • bench/genere-2026-10/sonnet-post-x-v4.mddoc1,082 bytes
  • bench/genere-2026-10/sonnet-post-x.mddoc1,058 bytes
  • bench/genere-2026-10/sonnet-pr-v2.mddoc1,605 bytes
  • bench/genere-2026-10/sonnet-pr-v3.mddoc3,860 bytes
  • bench/genere-2026-10/sonnet-pr-v4.mddoc2,219 bytes
  • bench/genere-2026-10/sonnet-pr.mddoc2,801 bytes
  • bench/genere-2026-10/sonnet-readme-v2.mddoc3,528 bytes
  • bench/genere-2026-10/sonnet-readme-v3.mddoc4,791 bytes
  • bench/genere-2026-10/sonnet-readme-v4.mddoc5,955 bytes
  • bench/genere-2026-10/sonnet-readme.mddoc3,406 bytes
  • bench/genere-2026-10/sonnet-release-v2.mddoc2,626 bytes
  • bench/genere-2026-10/sonnet-release-v3.mddoc1,511 bytes
  • bench/genere-2026-10/sonnet-release-v4.mddoc3,242 bytes
  • bench/genere-2026-10/sonnet-release.mddoc2,236 bytes
  • bench/ia-controle/01-article-seo-crm.mddoc4,198 bytes
  • bench/ia-controle/02-post-linkedin-recrutement.mddoc1,432 bytes
  • bench/ia-controle/03-email-relance-client.mddoc1,487 bytes
  • bench/ia-controle/04-fiche-produit-sneakers.mddoc2,195 bytes
  • bench/ia-controle/05-newsletter-immobilier.mddoc3,348 bytes
  • bench/ia-controle/06-guide-onboarding.mddoc3,240 bytes
  • bench/ia-controle/07-description-atelier.mddoc2,088 bytes
  • bench/ia-controle/08-tribune-semaine-4-jours.mddoc2,943 bytes
  • bench/ia/01-article-blog-bfr.mddoc4,633 bytes
  • bench/ia/02-post-linkedin-levee.mddoc1,101 bytes
  • bench/ia/03-email-prospection.mddoc1,851 bytes
  • bench/ia/04-page-produit-cafe.mddoc2,369 bytes
  • bench/ia/05-newsletter-ia.mddoc3,192 bytes
  • bench/ia/06-guide-teletravail.mddoc3,227 bytes
  • bench/ia/07-description-evenement.mddoc1,380 bytes
  • bench/ia/08-dissertation-courte.mddoc2,904 bytes
  • docs/CALIBRAGE.mddoc4,202 bytes
  • docs/CORPUS-GENERE.mddoc11,137 bytes
  • docs/assets/agents/amp.svgasset672 bytes
  • docs/assets/agents/claude-code.svgasset1,872 bytes
  • docs/assets/agents/codex.svgasset1,934 bytes
  • docs/assets/agents/copilot.svgasset2,188 bytes
  • docs/assets/agents/cursor.svgasset707 bytes
  • docs/assets/agents/gemini-cli.svgasset3,010 bytes
  • docs/assets/agents/grok.svgasset914 bytes
  • docs/assets/agents/mistral-vibe.svgasset832 bytes
  • docs/assets/demo.svgasset4,191 bytes
  • examples/slopcheck-perso.tomlasset834 bytes
  • pyproject.tomlasset1,372 bytes
  • src/slopcheck/__init__.pyruns103 bytes
  • src/slopcheck/__main__.pyruns52 bytes
  • src/slopcheck/apprendre.pyruns3,460 bytes
  • src/slopcheck/cli.pyruns13,455 bytes
  • src/slopcheck/corpus.pyruns3,931 bytes
  • src/slopcheck/moteur.pyruns2,731 bytes
  • src/slopcheck/packs/fr-signatures.tomlasset34,573 bytes
  • src/slopcheck/packs/fr-strict.tomlasset25,456 bytes
  • src/slopcheck/packs/typo-fr.tomlasset2,491 bytes
  • src/slopcheck/regles.pyruns6,785 bytes
  • src/slopcheck/segment.pyruns7,782 bytes
  • src/slopcheck/verifs.pyruns14,203 bytes
  • tests/test_slopcheck.pyruns9,297 bytes
Read SKILL.md

## Boucle de livraison

1. Écrire le texte dans un fichier.
2. Lancer `slopcheck --format json <fichier>` (ajouter `--strict` si l'utilisateur veut une prose sèche et factuelle).
3. Corriger chaque constat `block` en suivant son champ `fix`. Supprimer la tournure vaut souvent mieux que la reformuler.
4. Relire chaque constat `warn` : corriger, ou garder si la tournure est un choix justifiable.
5. Relancer jusqu'à zéro `block`.
6. Relire le fond, que les règles ne voient pas. Un texte sans alerte peut rester plat : chaque paragraphe doit porter au moins un fait précis (chiffre, nom, date, exemple) ou un avis tranché. Signaler à l'utilisateur les paragraphes qui n'en ont pas plutôt que d'inventer le fait.
7. Livrer.

## Règles de correction

- Ne pas ajouter de fait, de chiffre ou de source absents du brief pour combler un trou. Signaler le manque à l'utilisateur.
- Ne pas contourner une règle par un synonyme : remplacer un intensificateur par un autre ne corrige rien. Supprimer le mot, ou écrire le fait mesuré.
View the complete source on GitHub

Skills included

  • slopcheck-fr

Repository facts

License
MIT
Created
Oct 10, 2026
Last pushed
Oct 10, 2026
Forks
0
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 7, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 2 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 381 signals by file

README.md

  • Network accessline 12
    [![CI](https://img.shields.io/github/actions/workflow/status/tns-research/slopcheck-fr/ci.yml?branch=main&label=CI)](https://github.com/tns-research/slopcheck-fr/actions/workflows/ci.yml)
  • Network accessline 13
    [![Licence MIT](https://img.shields.io/badge/licence-MIT-blue)](LICENSE)
  • Network accessline 14
    [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-3776AB?logo=python&logoColor=white)](#essayer-en-30-secondes)
  • Network accessline 40
    pip install git+https://github.com/tns-research/slopcheck-fr
  • Network accessline 44
    Sans rien installer, avec [uv](https://docs.astral.sh/uv/) :
  • Network accessline 47
    uvx --from git+https://github.com/tns-research/slopcheck-fr slopcheck mon-post.md
  • Network accessline 102
    Le dépôt contient un `SKILL.md` au format [Agent Skills](https://agentskills.io), lu par Claude Code, Codex, Cursor, Gemini CLI, Grok Build, GitHub Copilot, Mistral Vibe, OpenCode, Amp et la plupart des agents de code. Une fois le skill ins
  • Network accessline 107
    # Claude Code git clone https://github.com/tns-research/slopcheck-fr ~/.claude/skills/slopcheck-fr
  • Network accessline 108
    git clone https://github.com/tns-research/slopcheck-fr ~/.claude/skills/slopcheck-fr
  • Network accessline 110
    # Codex, Cursor, Gemini CLI, Grok Build, Copilot, Mistral Vibe, Amp… git clone https://github.com/tns-research/slopcheck-fr ~/.agents/skills/slopcheck-fr
  • Network accessline 111
    git clone https://github.com/tns-research/slopcheck-fr ~/.agents/skills/slopcheck-fr
  • Network accessline 139
    **Il ne fait pas passer les détecteurs d'IA.** Nous l'avons mesuré avec un détecteur open source ([oculus-v2.0-multilingual](https://huggingface.co/danibor/oculus-v2.0-multilingual)) sur nos 224 textes : le score IA moyen passe de 0,964 à 0
  • Network accessline 230
    Hook [pre-commit](https://pre-commit.com) :
  • Network accessline 233
    repos:   - repo: https://github.com/tns-research/slopcheck-fr
  • Network accessline 234
    - repo: https://github.com/tns-research/slopcheck-fr
  • Network accessline 243
    - run: pip install git+https://github.com/tns-research/slopcheck-fr
  • Network accessline 253
    MIT. Les premières règles viennent du guide de rédaction de [swanbase](https://swanbase.co), accélérateur growth pour startups early-stage, et des relectures de son blog en 2026.
  • Network accessline 255
    Les logos des agents viennent de [Lobe Icons](https://github.com/lobehub/lobe-icons) (MIT) et restent la propriété de leurs éditeurs.

SKILL.md

  • Network accessline 2
    name: slopcheck-fr description: Vérifie un texte français avant livraison et corrige les tics d'écriture IA (faux contrastes « ce n'est pas X, c'est Y » ou « X, pas Y », puces en gras, émojis en tête de ligne, hashtags, mots gonflés, tirets
  • Network accessline 3
    description: Vérifie un texte français avant livraison et corrige les tics d'écriture IA (faux contrastes « ce n'est pas X, c'est Y » ou « X, pas Y », puces en gras, émojis en tête de ligne, hashtags, mots gonflés, tirets cadratins, plan sc
  • Network accessline 4
    compatibility: Python 3.11+, commande slopcheck installée (pip install git+https://github.com/tns-research/slopcheck-fr)

bench/genere-2026-10/gpt-doc-api-v2.md

  • Network accessline 16
    GET https://api.meteo.example/v1/current?lat=48.8566&lon=2.3522&units=metric&lang=fr
  • Network accessline 24
    curl "https://api.meteo.example/v1/current?lat=48.8566&lon=2.3522&units=metric&lang=fr" \
  • Network accessline 69
    let coordinates = "lat=48.8566&lon=2.3522" let url = URL(     string: "https://api.meteo.example/v1/current?\(coordinates)&units=metric&lang=fr"
  • Network accessline 70
    let url = URL(     string: "https://api.meteo.example/v1/current?\(coordinates)&units=metric&lang=fr" )!
  • Network accessline 71
    string: "https://api.meteo.example/v1/current?\(coordinates)&units=metric&lang=fr"
  • Network accessline 111
    val request = Request.Builder()     .url(         "https://api.meteo.example/v1/current" +
  • Network accessline 112
    .url(         "https://api.meteo.example/v1/current" +         "?lat=48.8566&lon=2.3522&units=metric&lang=fr"
  • Network accessline 113
    "https://api.meteo.example/v1/current" +
  • Network accessline 139
    L’exemple Kotlin utilise [OkHttp](https://square.github.io/okhttp/).

bench/genere-2026-10/gpt-doc-api-v3.md

  • Network accessline 16
    <script src="https://cdn.example.com/novachart.min.js"></script>
  • Network accessline 138
    <script type="module">       import { Chart } from "https://cdn.example.com/novachart.esm.js";
  • Network accessline 139
    import { Chart } from "https://cdn.example.com/novachart.esm.js";

bench/genere-2026-10/gpt-doc-api-v4.md

  • Access to secretsline 10
    [Credential-related source omitted]
  • Network accessline 16
    https://api.exemple.com/v1
  • Network accessline 24
    [Credential-related source omitted]
  • Access to secretsline 24
    [Credential-related source omitted]
  • Network accessline 25
    --url "https://api.exemple.com/v1/rooms/availability?starts_at=2026-10-12T09:00:00Z&ends_at=2026-10-12T10:00:00Z&capacity=6" \
  • Access to secretsline 26
    [Credential-related source omitted]
  • Network accessline 56
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Network accessline 57
    --url "https://api.exemple.com/v1/bookings" \
  • Access to secretsline 58
    [Credential-related source omitted]
  • Network accessline 101
    [Credential-related source omitted]
  • Access to secretsline 101
    [Credential-related source omitted]
  • Network accessline 102
    --url "https://api.exemple.com/v1/bookings/bkg_01J9Y8X7W6" \
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 110
    [Credential-related source omitted]
  • Access to secretsline 110
    [Credential-related source omitted]
  • Network accessline 111
    --url "https://api.exemple.com/v1/bookings/bkg_01J9Y8X7W6" \
  • Access to secretsline 112
    [Credential-related source omitted]

bench/genere-2026-10/gpt-doc-api.md

  • Access to secretsline 14
    [Credential-related source omitted]
  • Network accessline 22
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Network accessline 23
    --url https://api.example.com/v1/payments \
  • Access to secretsline 24
    [Credential-related source omitted]
  • Network accessline 32
    "email": "client@example.com"     },     "return_url": "https://votre-site.fr/paiement/termine"
  • Network accessline 33
    },     "return_url": "https://votre-site.fr/paiement/termine"   }'
  • Network accessline 34
    "return_url": "https://votre-site.fr/paiement/termine"
  • Network accessline 46
    "amount": 2500,   "currency": "EUR",   "checkout_url": "https://checkout.example.com/pay/pay_01J9ABCDEF",
  • Network accessline 47
    "currency": "EUR",   "checkout_url": "https://checkout.example.com/pay/pay_01J9ABCDEF",   "created_at": "2026-10-09T12:00:00Z"
  • Network accessline 48
    "checkout_url": "https://checkout.example.com/pay/pay_01J9ABCDEF",
  • Network accessline 60
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]
  • Network accessline 61
    --url https://api.example.com/v1/payments/pay_01J9ABCDEF \
  • Access to secretsline 62
    [Credential-related source omitted]

bench/genere-2026-10/gpt-readme-v2.md

  • Network accessline 28
    git clone https://github.com/votre-utilisateur/courses-en-coloc.git
  • Access to secretsline 31
    [Credential-related source omitted]
  • Network accessline 35
    L’application est ensuite accessible sur [http://localhost:3000](http://localhost:3000).
  • Network accessline 42
    [Credential-related source omitted]
  • Network accessline 44
    APP_URL=http://localhost:3000

bench/genere-2026-10/gpt-readme-v3.md

  • Dangerous shell operationline 29
    sudo apt update
  • Dangerous shell operationline 30
    sudo apt install adb rsync
  • Dangerous shell operationline 36
    sudo dnf install android-tools rsync
  • Network accessline 67
    git clone https://github.com/votre-utilisateur/android-photo-backup.git

bench/genere-2026-10/gpt-readme-v4.md

  • Network accessline 124
    git clone https://github.com/votre-compte/horaires-boutique.git \
  • Network accessline 159
    Ce projet est distribué sous licence [GPL-2.0-or-later](https://www.gnu.org/licenses/gpl-2.0.html).

bench/genere-2026-10/gpt-readme.md

  • Network accessline 20
    git clone https://github.com/votre-compte/pdf-factures-csv.git

bench/genere-2026-10/haiku-doc-api-v2.md

  • Network accessline 7
    - Un compte développeur (créez-le sur le [tableau de bord](https://dashboard.meteo-api.example.com))
  • Network accessline 21
    curl "https://api.meteo-api.example.com/v1/forecast?lat=48.8566&lon=2.3522&days=3" \
  • Network accessline 88
    func fetchCurrentWeather(lat: Double, lon: Double) async throws -> ForecastResponse {     var components = URLComponents(string: "https://api.meteo-api.example.com/v1/forecast")!
  • Network accessline 89
    var components = URLComponents(string: "https://api.meteo-api.example.com/v1/forecast")!
  • Network accessline 157
    val retrofit = Retrofit.Builder()     .baseUrl("https://api.meteo-api.example.com/")
  • Network accessline 158
    .baseUrl("https://api.meteo-api.example.com/")
  • Network accessline 191
    const response = await fetch(
  • Network accessline 192
    `https://api.meteo-api.example.com/v1/forecast?${params}`,
  • Access to secretsline 193
    [Credential-related source omitted]
  • Network accessline 252
    - [Référence des endpoints](https://docs.meteo-api.example.com/reference) : tous les paramètres disponibles
  • Network accessline 253
    - [Alertes météo](https://docs.meteo-api.example.com/alerts) : recevez des notifications push en cas de vigilance
  • Network accessline 254
    - [Historique](https://docs.meteo-api.example.com/history) : données passées pour vos analyses
  • Network accessline 255
    - [SDK officiels](https://docs.meteo-api.example.com/sdks) : bibliothèques prêtes à l'emploi pour iOS, Android et React Native

bench/genere-2026-10/haiku-doc-api-v3.md

  • Network accessline 21
    <script src="https://cdn.example.com/lumiplot/latest/lumiplot.min.js"></script>

bench/genere-2026-10/haiku-doc-api-v4.md

  • Access to secretsline 20
    [Credential-related source omitted]
  • Network accessline 28
    [Credential-related source omitted]
  • Access to secretsline 28
    [Credential-related source omitted]
  • Access to secretsline 29
    [Credential-related source omitted]
  • Network accessline 48
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]
  • Access to secretsline 49
    [Credential-related source omitted]
  • Network accessline 74
    [Credential-related source omitted]
  • Access to secretsline 74
    [Credential-related source omitted]
  • Access to secretsline 75
    [Credential-related source omitted]
  • Network accessline 89
    [Credential-related source omitted]
  • Access to secretsline 89
    [Credential-related source omitted]
  • Access to secretsline 90
    [Credential-related source omitted]
  • Network accessline 119
    [Credential-related source omitted]
  • Access to secretsline 119
    [Credential-related source omitted]
  • Access to secretsline 120
    [Credential-related source omitted]
  • Network accessline 131
    BASE_URL = "https://api.reservesalles.example/v1"
  • Access to secretsline 132
    [Credential-related source omitted]
  • Network accessline 134
    booking = requests.post(
  • Network accessline 162
    - [Référence complète de l'API](https://docs.reservesalles.example/reference)
  • Network accessline 163
    - [Webhooks](https://docs.reservesalles.example/webhooks) pour être notifié d'une réservation ou d'une annulation
  • Network accessline 164
    - [Gestion des fuseaux horaires](https://docs.reservesalles.example/fuseaux-horaires)
  • Network accessline 165
    - [SDK officiels](https://docs.reservesalles.example/sdk) (Python, Node.js, Go)

bench/genere-2026-10/haiku-doc-api.md

  • Network accessline 5
    **URL de base** : `https://api.paiement.example/v1`
  • Access to secretsline 27
    [Credential-related source omitted]
  • Network accessline 35
    [Credential-related source omitted]
  • Access to secretsline 35
    [Credential-related source omitted]
  • Access to secretsline 36
    [Credential-related source omitted]
  • Network accessline 56
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 57
    [Credential-related source omitted]
  • Network accessline 63
    "description": "Commande n° 1042",     "customer_email": "client@example.com",     "return_url": "https://www.votre-site.fr/commande/1042/retour"
  • Network accessline 64
    "customer_email": "client@example.com",     "return_url": "https://www.votre-site.fr/commande/1042/retour"   }'
  • Network accessline 65
    "return_url": "https://www.votre-site.fr/commande/1042/retour"
  • Network accessline 75
    "amount": 1500,   "currency": "EUR",   "redirect_url": "https://checkout.paiement.example/pay/pay_4Lx9qW2mZr",
  • Network accessline 76
    "currency": "EUR",   "redirect_url": "https://checkout.paiement.example/pay/pay_4Lx9qW2mZr",   "created_at": "2026-10-09T10:24:31Z"
  • Network accessline 77
    "redirect_url": "https://checkout.paiement.example/pay/pay_4Lx9qW2mZr",
  • Network accessline 110
    Dans **Développeurs → Webhooks**, ajoutez l'URL de votre serveur, par exemple `https://www.votre-site.fr/webhooks/paiement`. Chaque changement de statut déclenche une requête `POST` signée.
  • Network accessline 178
    - [Référence complète de l'API](https://docs.paiement.example/api)
  • Network accessline 179
    - [Paiements récurrents et abonnements](https://docs.paiement.example/abonnements)
  • Network accessline 180
    - [Remboursements et litiges](https://docs.paiement.example/remboursements)
  • Network accessline 181
    - [Bibliothèques officielles](https://docs.paiement.example/sdk) (Node.js, Python, PHP, Java)

bench/genere-2026-10/haiku-pr-v2.md

  • Network accessline 19
    🤖 Generated with [Claude Code](https://claude.com/claude-code)

bench/genere-2026-10/haiku-pr-v3.md

  • Network accessline 23
    🤖 Generated with [Claude Code](https://claude.com/claude-code)

bench/genere-2026-10/haiku-pr-v4.md

  • Network accessline 26
    🤖 Generated with [Claude Code](https://claude.com/claude-code)

bench/genere-2026-10/haiku-pr.md

  • Network accessline 22
    🤖 Generated with [Claude Code](https://claude.com/claude-code)

bench/genere-2026-10/haiku-readme-v2.md

  • Network accessline 36
    # Cloner le dépôt git clone https://github.com/<votre-compte>/colocourses.git
  • Network accessline 37
    git clone https://github.com/<votre-compte>/colocourses.git
  • Access to secretsline 44
    [Credential-related source omitted]
  • Network accessline 50
    L'application est ensuite accessible sur [http://localhost:3000](http://localhost:3000).
  • Network accessline 115
    Pour signaler un bug ou proposer une idée, ouvrez une [issue](https://github.com/<votre-compte>/colocourses/issues).

bench/genere-2026-10/haiku-readme-v3.md

  • Network accessline 16
    - Python 3.9 ou supérieur - [Android Debug Bridge (ADB)](https://developer.android.com/tools/adb) installé et accessible dans le `PATH`
  • Network accessline 17
    - [Android Debug Bridge (ADB)](https://developer.android.com/tools/adb) installé et accessible dans le `PATH`
  • Network accessline 27
    git clone https://github.com/votre-compte/photosync-android.git
  • Dangerous shell operationline 87
    sudo cp contrib/99-photosync.rules /etc/udev/rules.d/
  • Dangerous shell operationline 88
    sudo udevadm control --reload-rules

bench/genere-2026-10/haiku-readme-v4.md

  • Network accessline 22
    1. Téléchargez l'archive `horaires-ouverture-boutique.zip` depuis la [page des versions](https://github.com/votre-compte/horaires-ouverture-boutique/releases).
  • Network accessline 112
    Merci de respecter les [standards de codage WordPress](https://developer.wordpress.org/coding-standards/) et de tester sur la dernière version stable de WordPress.
  • Network accessline 122
    Ce plugin est distribué sous licence [GPL v2 ou ultérieure](https://www.gnu.org/licenses/gpl-2.0.html), comme WordPress.

bench/genere-2026-10/haiku-readme.md

  • Network accessline 28
    git clone https://github.com/votre-compte/pdf2csv.git

bench/genere-2026-10/opus-doc-api-v2.md

  • Network accessline 7
    - Un compte développeur sur le [tableau de bord](https://console.nimbus-meteo.example). - iOS 15 ou version ultérieure (Swift 5.5 et plus), ou Android API 24 ou version ultérieure (Kotlin 1.8 et plus). - Un outil pour tester des requêtes HT
  • Network accessline 26
    https://api.nimbus-meteo.example/v1
  • Network accessline 32
    curl "https://api.nimbus-meteo.example/v1/current?lat=45.764&lon=4.8357&units=metric&lang=fr" \
  • Network accessline 62
    "code": "partly_cloudy",       "description": "Partiellement nuageux",       "icon": "https://cdn.nimbus-meteo.example/icons/partly_cloudy.png"
  • Network accessline 63
    "description": "Partiellement nuageux",       "icon": "https://cdn.nimbus-meteo.example/icons/partly_cloudy.png"     }
  • Network accessline 64
    "icon": "https://cdn.nimbus-meteo.example/icons/partly_cloudy.png"
  • Network accessline 95
    func fetchCurrentWeather(lat: Double, lon: Double) async throws -> WeatherResponse {     var components = URLComponents(string: "https://api.nimbus-meteo.example/v1/current")!
  • Network accessline 96
    var components = URLComponents(string: "https://api.nimbus-meteo.example/v1/current")!
  • Network accessline 164
    suspend fun fetchCurrentWeather(lat: Double, lon: Double): WeatherResponse =     withContext(Dispatchers.IO) {         val url = "https://api.nimbus-meteo.example/v1/current".toHttpUrl().newBuilder()
  • Network accessline 165
    withContext(Dispatchers.IO) {         val url = "https://api.nimbus-meteo.example/v1/current".toHttpUrl().newBuilder()             .addQueryParameter("lat", lat.toString())
  • Network accessline 166
    val url = "https://api.nimbus-meteo.example/v1/current".toHttpUrl().newBuilder()
  • Access to secretsline 175
    [Credential-related source omitted]
  • Network accessline 199
    curl "https://api.nimbus-meteo.example/v1/forecast?lat=45.764&lon=4.8357&days=5&lang=fr" \

bench/genere-2026-10/opus-doc-api-v3.md

  • Network accessline 38
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/lumio-charts@3/dist/lumio.css">
  • Network accessline 39
    <script src="https://cdn.jsdelivr.net/npm/lumio-charts@3/dist/lumio.umd.js"></script>
  • Network accessline 180
    setInterval(async () => {   const reponse = await fetch('/api/ventes/derniere');
  • Network accessline 181
    const reponse = await fetch('/api/ventes/derniere');
  • Network accessline 241
    - [Accessibilité](./accessibilite.md) : navigation au clavier et lecteurs d'écran - [Performances](./performances.md) : afficher plusieurs centaines de milliers de points - [Exemples](https://lumio-charts.dev/exemples) : galerie de démonstr
  • Network accessline 243
    - [Exemples](https://lumio-charts.dev/exemples) : galerie de démonstrations interactives

bench/genere-2026-10/opus-doc-api-v4.md

  • Network accessline 22
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Network accessline 23
    export API_URL="https://api.exemple.com/v1"
  • Network accessline 31
    [Credential-related source omitted]
  • Access to secretsline 31
    [Credential-related source omitted]
  • Access to secretsline 32
    [Credential-related source omitted]
  • Network accessline 52
    [Credential-related source omitted]
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Network accessline 81
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 82
    [Credential-related source omitted]
  • Network accessline 124
    [Credential-related source omitted]
  • Access to secretsline 124
    [Credential-related source omitted]
  • Access to secretsline 125
    [Credential-related source omitted]
  • Network accessline 131
    [Credential-related source omitted]
  • Access to secretsline 131
    [Credential-related source omitted]
  • Access to secretsline 132
    [Credential-related source omitted]

bench/genere-2026-10/opus-doc-api.md

  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 33
    https://api.exemple.com/v1
  • Network accessline 39
    [Credential-related source omitted]
  • Access to secretsline 39
    [Credential-related source omitted]
  • Access to secretsline 40
    [Credential-related source omitted]
  • Network accessline 61
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]
  • Network accessline 98
    const response = await fetch("https://api.exemple.com/v1/payments", {
  • Access to secretsline 101
    [Credential-related source omitted]
  • Network accessline 123
    response = requests.post(
  • Network accessline 124
    "https://api.exemple.com/v1/payments",
  • Access to secretsline 126
    [Credential-related source omitted]
  • Network accessline 164
    "type": "redirect_to_url",     "redirect_to_url": {       "url": "https://auth.exemple.com/3ds/pay_1QxR9cK2eZvKYlo3",
  • Network accessline 165
    "redirect_to_url": {       "url": "https://auth.exemple.com/3ds/pay_1QxR9cK2eZvKYlo3",       "return_url": "https://votre-site.fr/paiement/retour"
  • Network accessline 166
    "url": "https://auth.exemple.com/3ds/pay_1QxR9cK2eZvKYlo3",
  • Network accessline 167
    "return_url": "https://votre-site.fr/paiement/retour"
  • Network accessline 179
    1. Dans **Développeurs › Webhooks**, ajoutez l'URL de votre point de terminaison, par exemple `https://votre-site.fr/webhooks/paiement`.
  • Access to secretsline 205
    [Credential-related source omitted]

bench/genere-2026-10/opus-pr-v3.md

  • Network accessline 58
    🤖 Generated with [Claude Code](https://claude.com/claude-code)

bench/genere-2026-10/opus-pr-v4.md

  • Network accessline 34
    🤖 Generated with [Claude Code](https://claude.com/claude-code)

bench/genere-2026-10/opus-readme-v2.md

  • Network accessline 5
    [![Licence : AGPL-3.0](https://img.shields.io/badge/licence-AGPL--3.0-blue.svg)](LICENSE)
  • Network accessline 6
    [![CI](https://github.com/votre-organisation/panier-commun/actions/workflows/ci.yml/badge.svg)](https://github.com/votre-organisation/panier-commun/actions)
  • Network accessline 7
    [![Contributions bienvenues](https://img.shields.io/badge/contributions-bienvenues-brightgreen.svg)](CONTRIBUTING.md)
  • Network accessline 60
    Prérequis : [Docker](https://docs.docker.com/get-docker/) et Docker Compose.
  • Network accessline 63
    git clone https://github.com/votre-organisation/panier-commun.git
  • Access to secretsline 65
    [Credential-related source omitted]
  • Network accessline 69
    L'application est ensuite accessible sur [http://localhost:8080](http://localhost:8080).
  • Network accessline 82
    # Cloner le dépôt git clone https://github.com/votre-organisation/panier-commun.git
  • Network accessline 83
    git clone https://github.com/votre-organisation/panier-commun.git
  • Access to secretsline 90
    [Credential-related source omitted]
  • Network accessline 100
    - Front-end : [http://localhost:5173](http://localhost:5173)
  • Network accessline 101
    - API : [http://localhost:3000](http://localhost:3000)
  • Network accessline 111
    | `DATABASE_URL` | URL de connexion PostgreSQL | `postgresql://panier:panier@localhost:5432/panier` | | `JWT_SECRET` | Clé de signature des jetons d'authentification | *(obligatoire)* | | `APP_URL` | URL publique de l'application, utilisée 
  • Network accessline 112
    | `JWT_SECRET` | Clé de signature des jetons d'authentification | *(obligatoire)* | | `APP_URL` | URL publique de l'application, utilisée dans les liens d'invitation | `http://localhost:8080` | | `PORT` | Port de l'API | `3000` |
  • Network accessline 113
    | `APP_URL` | URL publique de l'application, utilisée dans les liens d'invitation | `http://localhost:8080` |
  • Network accessline 170
    Les idées et demandes de fonctionnalités se discutent dans les [issues](https://github.com/votre-organisation/panier-commun/issues).
  • Network accessline 176
    1. Forkez le dépôt. 2. Créez une branche : `git checkout -b feature/ma-fonctionnalite`. 3. Commitez vos modifications en suivant les [Conventional Commits](https://www.conventionalcommits.org/fr/).
  • Network accessline 177
    2. Créez une branche : `git checkout -b feature/ma-fonctionnalite`. 3. Commitez vos modifications en suivant les [Conventional Commits](https://www.conventionalcommits.org/fr/). 4. Vérifiez que les tests passent : `pnpm test && pnpm lint`.
  • Network accessline 178
    3. Commitez vos modifications en suivant les [Conventional Commits](https://www.conventionalcommits.org/fr/).

bench/genere-2026-10/opus-readme-v3.md

  • Network accessline 21
    - Linux (testé sous Debian 12, Ubuntu 24.04 et Fedora 40) ou macOS 13 et versions suivantes - `bash` 4 ou version supérieure - [`adb`](https://developer.android.com/tools/adb) (Android Platform Tools)
  • Network accessline 22
    - `bash` 4 ou version supérieure - [`adb`](https://developer.android.com/tools/adb) (Android Platform Tools) - `exiftool` (optionnel, recommandé pour un classement par date de prise de vue fiable)
  • Network accessline 23
    - [`adb`](https://developer.android.com/tools/adb) (Android Platform Tools)
  • Dangerous shell operationline 31
    sudo apt install adb libimage-exiftool-perl
  • Dangerous shell operationline 34
    sudo dnf install android-tools perl-Image-ExifTool
  • Network accessline 43
    git clone https://github.com/exemple/photosauve.git
  • Dangerous shell operationline 45
    sudo make install
  • Network accessline 192
    1. Forkez le dépôt. 2. Créez une branche : `git checkout -b ma-fonctionnalite`. 3. Lancez les tests : `make test` (nécessite [bats](https://github.com/bats-core/bats-core)).
  • Network accessline 193
    2. Créez une branche : `git checkout -b ma-fonctionnalite`. 3. Lancez les tests : `make test` (nécessite [bats](https://github.com/bats-core/bats-core)). 4. Ouvrez une pull request en décrivant votre modification.
  • Network accessline 194
    3. Lancez les tests : `make test` (nécessite [bats](https://github.com/bats-core/bats-core)).

bench/genere-2026-10/opus-readme-v4.md

  • Network accessline 5
    ![Licence GPL v2](https://img.shields.io/badge/licence-GPLv2%2B-blue.svg)
  • Network accessline 6
    ![WordPress 6.0+](https://img.shields.io/badge/WordPress-6.0%2B-21759b.svg)
  • Network accessline 7
    ![PHP 7.4+](https://img.shields.io/badge/PHP-7.4%2B-777bb4.svg)
  • Network accessline 29
    1. Téléchargez la dernière version (`horaires-boutique.zip`) depuis la page [Releases](https://github.com/votre-compte/horaires-boutique/releases).
  • Network accessline 36
    cd wp-content/plugins git clone https://github.com/votre-compte/horaires-boutique.git
  • Network accessline 37
    git clone https://github.com/votre-compte/horaires-boutique.git
  • Network accessline 143
    Le domaine de traduction est `horaires-boutique`. Le fichier modèle se trouve dans `languages/horaires-boutique.pot`. Vous pouvez le traduire avec [Poedit](https://poedit.net/) ou passer par [translate.wordpress.org](https://translate.wordp
  • Network accessline 174
    Pour un bug, ouvrez une [issue](https://github.com/votre-compte/horaires-boutique/issues) en précisant vos versions de WordPress et de PHP ainsi que le thème utilisé.
  • Network accessline 182
    Ce plugin est distribué sous licence [GPL v2 ou ultérieure](https://www.gnu.org/licenses/gpl-2.0.html), comme WordPress.

bench/genere-2026-10/opus-readme.md

  • Network accessline 27
    git clone https://github.com/exemple/facture2csv.git

bench/genere-2026-10/sonnet-doc-api-v2.md

  • Network accessline 26
    https://api.meteo-exemple.com/v1
  • Network accessline 32
    curl "https://api.meteo-exemple.com/v1/current?lat=48.8566&lon=2.3522&units=metric&lang=fr" \
  • Network accessline 56
    "code": "partly_cloudy",       "label": "Partiellement nuageux",       "icon_url": "https://cdn.meteo-exemple.com/icons/partly_cloudy.png"
  • Network accessline 57
    "label": "Partiellement nuageux",       "icon_url": "https://cdn.meteo-exemple.com/icons/partly_cloudy.png"     }
  • Network accessline 58
    "icon_url": "https://cdn.meteo-exemple.com/icons/partly_cloudy.png"
  • Network accessline 93
    func fetchWeather(lat: Double, lon: Double) async throws -> WeatherResponse {     var components = URLComponents(string: "https://api.meteo-exemple.com/v1/current")!
  • Network accessline 94
    var components = URLComponents(string: "https://api.meteo-exemple.com/v1/current")!
  • Network accessline 136
    val retrofit = Retrofit.Builder()     .baseUrl("https://api.meteo-exemple.com/v1/")
  • Network accessline 137
    .baseUrl("https://api.meteo-exemple.com/v1/")
  • Access to secretsline 143
    [Credential-related source omitted]
  • Network accessline 158
    export async function fetchWeather(lat: number, lon: number) {   const url = `https://api.meteo-exemple.com/v1/current?lat=${lat}&lon=${lon}&lang=fr`;
  • Network accessline 159
    const url = `https://api.meteo-exemple.com/v1/current?lat=${lat}&lon=${lon}&lang=fr`;
  • Network accessline 161
    const res = await fetch(url, {
  • Access to secretsline 162
    [Credential-related source omitted]
  • Access to secretsline 218
    [Credential-related source omitted]

bench/genere-2026-10/sonnet-doc-api-v3.md

  • Network accessline 21
    <script src="https://cdn.jsdelivr.net/npm/chartflow/dist/chartflow.min.js"></script>

bench/genere-2026-10/sonnet-doc-api-v4.md

  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 27
    https://api.example.com/v1
  • Network accessline 31
    [Credential-related source omitted]
  • Access to secretsline 31
    [Credential-related source omitted]
  • Access to secretsline 32
    [Credential-related source omitted]
  • Network accessline 40
    [Credential-related source omitted]
  • Access to secretsline 40
    [Credential-related source omitted]
  • Access to secretsline 41
    [Credential-related source omitted]
  • Network accessline 64
    [Credential-related source omitted]
  • Access to secretsline 64
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Network accessline 83
    [Credential-related source omitted]
  • Access to secretsline 83
    [Credential-related source omitted]
  • Access to secretsline 84
    [Credential-related source omitted]
  • Network accessline 114
    # Déplacer la réunion d'une heure curl -X PATCH https://api.example.com/v1/bookings/bk_41d7e0 \
  • Network accessline 115
    [Credential-related source omitted]
  • Access to secretsline 115
    [Credential-related source omitted]
  • Access to secretsline 116
    [Credential-related source omitted]
  • Network accessline 120
    # Annuler curl -X DELETE https://api.example.com/v1/bookings/bk_41d7e0 \
  • Network accessline 121
    [Credential-related source omitted]
  • Access to secretsline 121
    [Credential-related source omitted]
  • Access to secretsline 122
    [Credential-related source omitted]
  • Network accessline 128
    const res = await fetch("https://api.example.com/v1/bookings", {
  • Access to secretsline 131
    [Credential-related source omitted]

bench/genere-2026-10/sonnet-doc-api.md

  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 33
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]
  • Network accessline 37
    URL de base : `https://api.example.com/v1`
  • Network accessline 44
    [Credential-related source omitted]
  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Network accessline 70
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 147
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Access to secretsline 148
    [Credential-related source omitted]

bench/genere-2026-10/sonnet-pr.md

  • Network accessline 44
    🤖 Generated with [Claude Code](https://claude.com/claude-code)

bench/genere-2026-10/sonnet-readme-v2.md

  • Network accessline 5
    ![Licence MIT](https://img.shields.io/badge/licence-MIT-green)
  • Network accessline 6
    ![Statut](https://img.shields.io/badge/statut-en%20développement-orange)
  • Network accessline 24
    - [Node.js](https://nodejs.org/) 20 ou supérieur
  • Network accessline 25
    - [PostgreSQL](https://www.postgresql.org/) 15 ou supérieur (ou Docker)
  • Network accessline 30
    git clone https://github.com/<votre-compte>/panier-commun.git
  • Access to secretsline 32
    [Credential-related source omitted]
  • Network accessline 36
    L'application est accessible sur <http://localhost:3000>.
  • Network accessline 41
    git clone https://github.com/<votre-compte>/panier-commun.git
  • Access to secretsline 43
    [Credential-related source omitted]
  • Network accessline 56
    | `DATABASE_URL` | Chaîne de connexion PostgreSQL | `postgres://user:mdp@localhost:5432/panier` | | `SECRET_KEY` | Clé secrète pour les sessions (à générer) | `openssl rand -hex 32` | | `BASE_URL` | URL publique de l'application | `https://
  • Network accessline 57
    | `SECRET_KEY` | Clé secrète pour les sessions (à générer) | `openssl rand -hex 32` | | `BASE_URL` | URL publique de l'application | `https://courses.exemple.fr` | | `PORT` | Port d'écoute | `3000` |
  • Network accessline 58
    | `BASE_URL` | URL publique de l'application | `https://courses.exemple.fr` |

bench/genere-2026-10/sonnet-readme-v3.md

  • Network accessline 5
    ![Licence MIT](https://img.shields.io/badge/licence-MIT-green)
  • Network accessline 6
    ![Plateformes](https://img.shields.io/badge/plateformes-Linux%20%7C%20macOS-blue)
  • Network accessline 20
    - Linux ou macOS - [Android Platform Tools](https://developer.android.com/tools/releases/platform-tools) (`adb`)
  • Network accessline 21
    - [Android Platform Tools](https://developer.android.com/tools/releases/platform-tools) (`adb`)
  • Network accessline 28
    git clone https://github.com/votre-compte/android-photo-backup.git
  • Dangerous shell operationline 31
    sudo ln -s "$PWD/photo-backup.sh" /usr/local/bin/photo-backup
  • Dangerous shell operationline 106
    sudo udevadm control --reload-rules

bench/genere-2026-10/sonnet-readme-v4.md

  • Network accessline 6
    ![Licence GPL v2+](https://img.shields.io/badge/licence-GPL--2.0%2B-blue)
  • Network accessline 7
    ![WordPress 6.0+](https://img.shields.io/badge/WordPress-6.0%2B-21759b)
  • Network accessline 8
    ![PHP 7.4+](https://img.shields.io/badge/PHP-7.4%2B-777bb4)
  • Network accessline 36
    1. Téléchargez la dernière version depuis la page [Releases](https://github.com/votre-organisation/horaires-boutique/releases).
  • Network accessline 43
    cd wp-content/plugins git clone https://github.com/votre-organisation/horaires-boutique.git
  • Network accessline 44
    git clone https://github.com/votre-organisation/horaires-boutique.git
  • Network accessline 164
    Pour signaler un bug ou proposer une idée, ouvrez une [issue](https://github.com/votre-organisation/horaires-boutique/issues). Merci d'indiquer vos versions de WordPress et de PHP, ainsi que votre thème.
  • Network accessline 168
    Les traductions se font sur [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/horaires-boutique/). Le fichier `.pot` se trouve dans `languages/`.

bench/genere-2026-10/sonnet-readme.md

  • Network accessline 18
    git clone https://github.com/exemple/factucsv.git
  • Network accessline 23
    Pour traiter les PDF scannés, installez aussi [Tesseract](https://github.com/tesseract-ocr/tesseract) et son pack de langue française (`tesseract-ocr-fra` sous Debian/Ubuntu).

docs/assets/agents/amp.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" role="img" aria-label="Amp"><title>Amp</title><rect x="1" y="1" width="62" height="62" rx="14" fill="#ffffff" stroke="#e5e7eb" stroke-width="2"/><svg x="16" 

docs/assets/agents/claude-code.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" role="img" aria-label="Claude Code"><title>Claude Code</title><rect x="1" y="1" width="62" height="62" rx="14" fill="#ffffff" stroke="#e5e7eb" stroke-width="

docs/assets/agents/codex.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" role="img" aria-label="Codex"><title>Codex</title><rect x="1" y="1" width="62" height="62" rx="14" fill="#ffffff" stroke="#e5e7eb" stroke-width="2"/><svg x="

docs/assets/agents/copilot.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" role="img" aria-label="GitHub Copilot"><title>GitHub Copilot</title><rect x="1" y="1" width="62" height="62" rx="14" fill="#ffffff" stroke="#e5e7eb" stroke-w

docs/assets/agents/cursor.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" role="img" aria-label="Cursor"><title>Cursor</title><rect x="1" y="1" width="62" height="62" rx="14" fill="#ffffff" stroke="#e5e7eb" stroke-width="2"/><svg x

docs/assets/agents/gemini-cli.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" role="img" aria-label="Gemini CLI"><title>Gemini CLI</title><rect x="1" y="1" width="62" height="62" rx="14" fill="#ffffff" stroke="#e5e7eb" stroke-width="2"

docs/assets/agents/grok.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" role="img" aria-label="Grok"><title>Grok</title><rect x="1" y="1" width="62" height="62" rx="14" fill="#ffffff" stroke="#e5e7eb" stroke-width="2"/><svg x="16

docs/assets/agents/mistral-vibe.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" role="img" aria-label="Mistral Vibe"><title>Mistral Vibe</title><rect x="1" y="1" width="62" height="62" rx="14" fill="#ffffff" stroke="#e5e7eb" stroke-width

docs/assets/demo.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="980" height="648" viewBox="0 0 980 648" role="img" aria-label="slopcheck relève trois faux contrastes et un tiret cadratin dans un fil X écrit par GPT">

pyproject.toml

  • Network accessline 29
    [project.urls] Homepage = "https://github.com/tns-research/slopcheck-fr"
  • Network accessline 30
    Homepage = "https://github.com/tns-research/slopcheck-fr"
  • Network accessline 31
    Issues = "https://github.com/tns-research/slopcheck-fr/issues"
  • Network accessline 32
    Changelog = "https://github.com/tns-research/slopcheck-fr/blob/main/CHANGELOG.md"

src/slopcheck/__init__.py

  • Executable scriptline 1
    Executable file

src/slopcheck/__main__.py

  • Executable scriptline 1
    Executable file

src/slopcheck/apprendre.py

  • Executable scriptline 1
    Executable file

src/slopcheck/cli.py

  • Executable scriptline 1
    Executable file
  • Network accessline 234
    print(corpus.default_dir())         return 0     dest = corpus.fetch(Path(args.dest) if args.dest else None)
  • Network accessline 235
    return 0     dest = corpus.fetch(Path(args.dest) if args.dest else None)     print(f"\nCorpus dans {dest}")
  • Network accessline 236
    dest = corpus.fetch(Path(args.dest) if args.dest else None)

src/slopcheck/corpus.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 35
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Network accessline 43
    for i in range(essais):         try:             req = urllib.request.Request(url, headers=UA)
  • Network accessline 44
    try:             req = urllib.request.Request(url, headers=UA)             with urllib.request.urlopen(req, timeout=60) as r:
  • Network accessline 45
    req = urllib.request.Request(url, headers=UA)
  • Network accessline 46
    with urllib.request.urlopen(req, timeout=60) as r:
  • Network accessline 60
    def fetch(dest: Path | None = None, log=print) -> Path:
  • Network accessline 67
    continue         try:             t = _get(f"https://www.gutenberg.org/cache/epub/{gid}/pg{gid}.txt")
  • Network accessline 68
    try:             t = _get(f"https://www.gutenberg.org/cache/epub/{gid}/pg{gid}.txt")             f.write_text(_gutenberg_corps(t), encoding="utf-8")
  • Network accessline 69
    t = _get(f"https://www.gutenberg.org/cache/epub/{gid}/pg{gid}.txt")
  • Network accessline 76
    if f.exists():             continue         url = ("https://fr.wikipedia.org/w/api.php?action=query&prop=extracts&explaintext=1&format=json&titles="
  • Network accessline 77
    continue         url = ("https://fr.wikipedia.org/w/api.php?action=query&prop=extracts&explaintext=1&format=json&titles="                + urllib.parse.quote(titre))
  • Network accessline 78
    url = ("https://fr.wikipedia.org/w/api.php?action=query&prop=extracts&explaintext=1&format=json&titles="                + urllib.parse.quote(titre))         try:

src/slopcheck/moteur.py

  • Executable scriptline 1
    Executable file

src/slopcheck/packs/fr-signatures.toml

  • Network accessline 155
    message = "Artefact technique copié depuis une interface de chatbot." fix = "Supprimer la balise ou le paramètre d'URL." bad = ["Voir [le rapport](https://insee.fr/x?utm_source=chatgpt.com).", "Selon l'Insee :contentReference[oaicite:0]{ind
  • Network accessline 156
    fix = "Supprimer la balise ou le paramètre d'URL." bad = ["Voir [le rapport](https://insee.fr/x?utm_source=chatgpt.com).", "Selon l'Insee :contentReference[oaicite:0]{index=0}."] good = ["Voir [le rapport](https://insee.fr/x)."]
  • Network accessline 157
    bad = ["Voir [le rapport](https://insee.fr/x?utm_source=chatgpt.com).", "Selon l'Insee :contentReference[oaicite:0]{index=0}."]
  • Network accessline 158
    good = ["Voir [le rapport](https://insee.fr/x)."]
  • Network accessline 167
    fix = "Remplacer par la valeur réelle." bad = ["Bonjour, je suis [Votre nom], de [Entreprise]."] good = ["Bonjour, je suis Léa, de Fermes d'Avenir.", "Voir [votre espace](https://exemple.fr/compte)."]
  • Network accessline 169
    good = ["Bonjour, je suis Léa, de Fermes d'Avenir.", "Voir [votre espace](https://exemple.fr/compte)."]

src/slopcheck/regles.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 182
    [Credential-related source omitted]

src/slopcheck/segment.py

  • Executable scriptline 1
    Executable file

src/slopcheck/verifs.py

  • Executable scriptline 1
    Executable file

tests/test_slopcheck.py

  • Executable scriptline 1
    Executable file
  • Network accessline 53
    def test_code_en_ligne_et_url_masques(self):         self.assertNotIn("qui-change-tout", codes("Voir `ce qui change tout` et https://x.fr/qui-change-tout ici."))
  • Network accessline 54
    self.assertNotIn("qui-change-tout", codes("Voir `ce qui change tout` et https://x.fr/qui-change-tout ici."))

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 2 facts
  • Contacts www.gutenberg.org, which SKILL.md, the README and the plugin manifest do not mentionsrc/slopcheck/corpus.py:69High confidence
  • Contacts fr.wikipedia.org, which SKILL.md, the README and the plugin manifest do not mentionsrc/slopcheck/corpus.py:78High confidence
Signal confidence: 362 facts

and 312 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.