| name | styling |
| description | Apply Kabat One Markdown styling to a file by platform. Usage: /styling <hedgedoc|gitlab|github> [mit|gpl] <file> |
Styling
Usage
/styling <platform> [license] <file>
- platform (required):
hedgedoc, gitlab or github
- license (optional):
mit or gpl — only for README.md on GitLab/GitHub. Omit to skip license block.
- file (required): path to the Markdown file to apply styling to. Always the last argument.
Examples:
/styling hedgedoc doc.md — HedgeDoc, no license
/styling gitlab mit README.md — GitLab with MIT license
/styling github gpl README.md — GitHub with GPLv3
To detect arguments: mit and gpl are the only valid license values — if the second argument is neither, it is the file.
Templates
Use as starting point:
~/rules/templates/hedgedoc.md — generic HedgeDoc document
~/rules/templates/gitlab-readme.md — GitLab README.md with license and badges
~/rules/templates/github-readme.md — GitHub README.md with license and badges
Instructions
- Read the full CoT: Load and follow
~/rules/cot/styling.md from line 1 to end
- Parse arguments: first arg is platform, last arg is the file. If 3 args are given, middle arg is license (
mit|gpl). If only 2 args, there is no license. If any required argument is missing, ask the user before proceeding.
- Insert standard header (varies by platform):
- HedgeDoc only: YAML frontmatter with descriptive
tags + dual Kabat One logos for light/dark mode:
<img src="https://hedgedoc.promad.com.mx:31418/uploads/9217e5d8-2a84-4e41-9634-ea3b5a6bd45a.png" class="logo-light" alt="Kabat One logo">
<img src="https://hedgedoc.promad.com.mx:31418/uploads/e0f5ef2b-4519-48ee-bd2d-16013c7f44c4.png" class="logo-dark" alt="Kabat One logo">
- GitLab/GitHub README.md only: YAML frontmatter with
title and description (rendered as table on GitHub, code block on GitLab):
---
title: "Nombre del proyecto"
description: "Breve descripción del proyecto"
---
⚠️ Always quote values with double quotes — values containing : cause YAML parse errors if unquoted.
- GitLab/GitHub other docs: no frontmatter
- H1 title
- Single-date cleanup (MANDATORY): before inserting/updating the timestamp, detect and remove any existing reported date field (for example
Última modificación:, Fecha:, Fecha de reporte:, [time=...]) so only one date remains.
- Timestamp:
LC_TIME=es_MX.UTF-8 TZ=America/Mexico_City date '+%d de %B de %Y, %H:%M (%Z)'
- HedgeDoc:
<div style="text-align: right;"><em>Última modificación: [timestamp] (CST)</em></div><br>
- GitLab/GitHub:
*Última modificación: [timestamp] (CST)* — plain Markdown italic, no HTML (GL/GH strip inline styles)
- Apply content rules: hierarchy H1→H2→H3→H4, no skipped levels, sentence case titles
- GitLab/GitHub only: strip or adapt HedgeDoc-exclusive syntax:
- Remove
[TOC], [name=...], [time=...], [color=...]
- Convert
:::info/:::warning admonition blocks to plain blockquotes (> **Nota:**)
- Remove frontmatter YAML block (GitLab/GitHub ignore it)
- Remove
<style> blocks (ignored by both platforms)
- Remove ALL stray
--- separators (CRITICAL — AI-generated documents tend to abuse these):
- Run:
grep -n "^---$" <last_argument> to locate every occurrence
- The YAML frontmatter
--- (lines 1 and 3) are allowed
- The ONE
--- immediately before the footer signature is allowed
- Delete every other
--- without exception — sections, tables, code blocks, and paragraphs must NOT be separated with ---
- Insert standard footer based on platform:
HedgeDoc footer (no license)
---

[//]: # (CSS Corporativo)
<style>
:root {
--midday: #00A1FF;
--midnight: #24326A;
--ice: #C3D8F3;
--connect: #31D8FF;
--code: #007EB5;
--deep: #060E40;
--video: #7252D8;
}
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
a { color: var(--midday); }
a:visited { color: var(--video); }
a:hover { color: var(--connect); text-decoration: none; }
.markdown-body { font-family: 'Space Grotesk', sans-serif; }
.markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4 { font-family: 'Montserrat', sans-serif; }
.markdown-body h1 { border-bottom: 1px solid var(--midday); }
.markdown-body p { text-align: justify; }
.markdown-body hr { height: 1px; background-color: var(--midday); }
.logo-dark { display: none; }
.night .logo-light { display: none; }
.night .logo-dark { display: block; }
</style>
Badges in README.md (when mit or gpl is specified)
Insert after the timestamp and before the first paragraph. If badges already exist, verify they are correct.
MIT:
[](https://opensource.org/licenses/MIT)
GPLv3:
[](https://www.gnu.org/licenses/gpl-3.0)
Additional badges (only if the project has them configured):
- GitLab: pipeline status, coverage
- GitHub: Actions CI workflow
GitLab / GitHub footer — README.md with license ([mit|gpl] provided)
---
*Este proyecto fue elaborado por Rodrigo Álvarez (@incognia) y se distribuye bajo la licencia GPLv3. Para más detalles, consulta el archivo LICENSE.*
*Copyright © AAAA, Rodrigo Ernesto Álvarez Aguilera. Este es software libre bajo los términos de la GNU General Public License v3.*
For MIT:
---
*Este proyecto fue elaborado por Rodrigo Álvarez para Promad Business Solutions y se distribuye bajo la licencia MIT. Para más detalles, consulta el archivo LICENSE.*
*Copyright © AAAA, Rodrigo Ernesto Álvarez Aguilera (@incogniadev).*
No signature. No CSS.
GitLab / GitHub footer — other documents (without third parameter)
No footer. Do not add anything.
Rules
- Timestamps ALWAYS in CST (Ciudad de México, UTC-6) — never UTC
- HedgeDoc: signature image + CSS in footer. Never license.
- GitLab/GitHub README.md (with
mit/gpl): copyright text only. No signature. No CSS.
- GitLab/GitHub other docs: no footer at all.
- Single-date policy: final document must keep exactly one visible reported date field (
Última modificación), with all previous/duplicate date fields removed.
edit_files anchors: When using search_start_line_number, the search string MUST start at the very first character of that line. A mid-line anchor fails unconditionally, regardless of encoding or line number. Always include content from the start of the target line outward until the fragment is uniquely identified.
References
- Detailed CoT:
~/rules/cot/styling.md
- Rules:
~/rules/rulesets/STYLING.md
- Linguistics:
~/rules/rulesets/LINGUISTICS.md