From 83c956c2b64ba151c7cec6f58eea57dea481cc5c Mon Sep 17 00:00:00 2001 From: Marcos Paulo Date: Sat, 5 Sep 2026 22:36:44 +0000 Subject: [PATCH] fix: give the common-skill buttons their own label and tagline The seven selector buttons were rendering `kind` and `use`, which belong to the detail panel. ponytail's button read "SIMPLIFICATION INSTINCT" and a full paragraph of prose where today's page reads "SIMPLIFY" and "minimum code that holds". English was wrong, not just Portuguese missing, on all seven. Those two lines are not in `interactiveCopy`, which is why task 05b had nothing to migrate them from: the English lives in the `full-guide/index.html` markup and the Portuguese in `translations.pt`. Adds `label` and `tagline` to the `commonSkills` schema and to all seven entries, both taken verbatim from those two sources, and points the buttons at them. The panel keeps reading `kind` and `use`. This closes the last 13 of the 102 `translations.pt` entries. Coverage in `dist/full-guide/index.html` is now 102 of 102. Co-Authored-By: Claude Opus 5 --- src/content/commonSkills/caveman.json | 4 +++- src/content/commonSkills/debug.json | 4 +++- src/content/commonSkills/ponytail.json | 4 +++- src/content/commonSkills/research.json | 4 +++- src/content/commonSkills/review.json | 4 +++- src/content/commonSkills/tokens.json | 4 +++- src/content/commonSkills/unlazy.json | 4 +++- src/content/config.ts | 10 ++++++++++ src/pages/full-guide.astro | 10 ++++++---- 9 files changed, 37 insertions(+), 11 deletions(-) diff --git a/src/content/commonSkills/caveman.json b/src/content/commonSkills/caveman.json index 9b3a64b..484c377 100644 --- a/src/content/commonSkills/caveman.json +++ b/src/content/commonSkills/caveman.json @@ -13,5 +13,7 @@ "en": "Drop the style for security warnings, irreversible actions, and sequences where terse wording can be misread.", "pt": "Abandone o estilo em alertas de segurança, ações irreversíveis e sequências onde concisão pode causar erro." }, - "source": "https://github.com/JuliusBrussee/caveman/blob/3b74643f4d910f496babd4e634b1ba7168816f14/skills/caveman/SKILL.md" + "source": "https://github.com/JuliusBrussee/caveman/blob/3b74643f4d910f496babd4e634b1ba7168816f14/skills/caveman/SKILL.md", + "label": { "en": "COMMUNICATE", "pt": "COMUNICAR" }, + "tagline": { "en": "signal without filler", "pt": "sinal sem excesso" } } diff --git a/src/content/commonSkills/debug.json b/src/content/commonSkills/debug.json index 7ba1232..191e610 100644 --- a/src/content/commonSkills/debug.json +++ b/src/content/commonSkills/debug.json @@ -19,5 +19,7 @@ "en": "Do not jump from error message straight to a patch.", "pt": "Não pule da mensagem de erro direto para um patch." }, - "source": "https://github.com/mattpocock/skills/blob/6654f6b60cd9d5be8b54c6fafe44346dabeb3b76/skills/engineering/diagnosing-bugs/SKILL.md" + "source": "https://github.com/mattpocock/skills/blob/6654f6b60cd9d5be8b54c6fafe44346dabeb3b76/skills/engineering/diagnosing-bugs/SKILL.md", + "label": { "en": "DIAGNOSE", "pt": "DIAGNOSTICAR" }, + "tagline": { "en": "tight feedback loop", "pt": "ciclo curto de feedback" } } diff --git a/src/content/commonSkills/ponytail.json b/src/content/commonSkills/ponytail.json index 6d90fa1..cdf7a31 100644 --- a/src/content/commonSkills/ponytail.json +++ b/src/content/commonSkills/ponytail.json @@ -19,5 +19,7 @@ "en": "Never simplify away security, accessibility, validation, or real edge cases.", "pt": "Nunca simplifique segurança, acessibilidade, validação ou casos extremos reais." }, - "source": "https://github.com/ilindaniel/ponytail-lite/blob/e7b42dc2d384a702240dea4d52a7bf5530b821b6/AGENTS.md" + "source": "https://github.com/ilindaniel/ponytail-lite/blob/e7b42dc2d384a702240dea4d52a7bf5530b821b6/AGENTS.md", + "label": { "en": "SIMPLIFY", "pt": "SIMPLIFICAR" }, + "tagline": { "en": "minimum code that holds", "pt": "código mínimo que funciona" } } diff --git a/src/content/commonSkills/research.json b/src/content/commonSkills/research.json index bf06245..086d0d4 100644 --- a/src/content/commonSkills/research.json +++ b/src/content/commonSkills/research.json @@ -16,5 +16,7 @@ "en": "Practitioner articles add context; they do not override official behavior.", "pt": "Artigos de praticantes dão contexto; não substituem comportamento oficial." }, - "source": "https://github.com/mattpocock/skills/blob/6654f6b60cd9d5be8b54c6fafe44346dabeb3b76/skills/engineering/research/SKILL.md" + "source": "https://github.com/mattpocock/skills/blob/6654f6b60cd9d5be8b54c6fafe44346dabeb3b76/skills/engineering/research/SKILL.md", + "label": { "en": "INVESTIGATE", "pt": "INVESTIGAR" }, + "tagline": { "en": "primary sources first", "pt": "fontes primárias primeiro" } } diff --git a/src/content/commonSkills/review.json b/src/content/commonSkills/review.json index 5f930ae..8c362b9 100644 --- a/src/content/commonSkills/review.json +++ b/src/content/commonSkills/review.json @@ -19,5 +19,7 @@ "en": "Pin the comparison point and source specification before reviewing.", "pt": "Fixe o ponto de comparação e a especificação antes de revisar." }, - "source": "https://github.com/mattpocock/skills/blob/6654f6b60cd9d5be8b54c6fafe44346dabeb3b76/skills/engineering/code-review/SKILL.md" + "source": "https://github.com/mattpocock/skills/blob/6654f6b60cd9d5be8b54c6fafe44346dabeb3b76/skills/engineering/code-review/SKILL.md", + "label": { "en": "REVIEW", "pt": "REVISAR" }, + "tagline": { "en": "standards × spec", "pt": "padrões × especificação" } } diff --git a/src/content/commonSkills/tokens.json b/src/content/commonSkills/tokens.json index b88585b..2fc5878 100644 --- a/src/content/commonSkills/tokens.json +++ b/src/content/commonSkills/tokens.json @@ -19,5 +19,7 @@ "en": "Read raw output when exact wording or full diffs matter.", "pt": "Leia saída bruta quando texto exato ou diffs completos importarem." }, - "source": "https://github.com/aetox-skills/token-saver/blob/8f21188bb043fad411f47e2e57f0365a83c13da7/SKILL.md" + "source": "https://github.com/aetox-skills/token-saver/blob/8f21188bb043fad411f47e2e57f0365a83c13da7/SKILL.md", + "label": { "en": "ECONOMIZE", "pt": "ECONOMIZAR" }, + "tagline": { "en": "compress noisy output", "pt": "comprima saídas ruidosas" } } diff --git a/src/content/commonSkills/unlazy.json b/src/content/commonSkills/unlazy.json index fb3f02d..3a0c275 100644 --- a/src/content/commonSkills/unlazy.json +++ b/src/content/commonSkills/unlazy.json @@ -19,5 +19,7 @@ "en": "Too heavy for trivial edits or factual answers.", "pt": "Pesado demais para edições triviais ou respostas factuais." }, - "source": "https://github.com/Leonxlnx/unlazy/blob/473d4b80421c36d733042434cd4b938f81a19ef1/SKILL.md" + "source": "https://github.com/Leonxlnx/unlazy/blob/473d4b80421c36d733042434cd4b938f81a19ef1/SKILL.md", + "label": { "en": "COMPLETE", "pt": "CONCLUIR" }, + "tagline": { "en": "gates and evidence", "pt": "gates e evidências" } } diff --git a/src/content/config.ts b/src/content/config.ts index 7196603..81d6aba 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -235,12 +235,22 @@ const skillWorkflow = defineCollection({ // render time; here it is embedded to match the GuideSelectorData // contract. If the URL changes, both this entry and the matching // `skillSources/.json` must be updated. +// +// `label` and `tagline` are the selector *button*'s two lines and are +// distinct from `kind` and `use`, which belong to the detail panel: +// ponytail's button reads "SIMPLIFY" / "minimum code that holds" while its +// panel reads "SIMPLIFICATION INSTINCT" and a paragraph of prose. They are +// not in `interactiveCopy` — the English lives in the `full-guide/index.html` +// markup and the Portuguese in `translations.pt` — so task 05b had nothing +// to migrate them from and the page rendered `kind`/`use` on the buttons. const commonSkills = defineCollection({ type: 'data', schema: z.object({ id: z.string(), number: z.string(), kind: localized, + label: localized, + tagline: localized, title: z.string(), rule: localized, use: localized, diff --git a/src/pages/full-guide.astro b/src/pages/full-guide.astro index c559161..e133917 100644 --- a/src/pages/full-guide.astro +++ b/src/pages/full-guide.astro @@ -874,17 +874,19 @@ const base = import.meta.env.BASE_URL; aria-selected={skill.id === 'ponytail'} > <> + {/* The button's two lines are `label` / `tagline`, not the + panel's `kind` / `use`. See src/content/config.ts. */} - {skill.kind.en} + {skill.label.en} {skill.title} - {skill.use.en} + {skill.tagline.en}