feat(content): migrate interactiveCopy into six typed collections

Move the six remaining bilingual datasets from app.js:160 into Astro
content collections so GuideSelector has data to drive. Mechanical copy
of 178 strings (160 localized pairs + 18 worker array strings) plus
the non-localized fields (status, path, command, score, icon, title,
number). Source field on commonSkills embedded from skillSources to
match the GuideSelectorData contract; if a URL changes, both this
entry and skillSources/<id>.json must be updated. Status kept on trees
even though GuideSelectorData omits it — index.html renders it.

Did not delete interactiveCopy from app.js: legacy page still consumes
it, and verify.mjs still asserts against it. Did not migrate the
labels (data.labels.*) — those live inside render functions in app.js
and belong to 15d.
This commit is contained in:
Marcos Paulo
2026-09-05 18:48:07 +00:00
parent 99ccc8e249
commit fc063f606a
28 changed files with 507 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
{
"id": "caveman",
"number": "02",
"kind": { "en": "COMMUNICATION STYLE", "pt": "ESTILO DE COMUNICAÇÃO" },
"title": "caveman",
"rule": { "en": "Signal first. Drop filler.", "pt": "Sinal primeiro. Corte o excesso." },
"use": {
"en": "Use for routine status, handoffs, and technical summaries where speed matters. Short fragments make actions and evidence easy to scan.",
"pt": "Use em status, handoffs e resumos técnicos rotineiros onde velocidade importa. Fragmentos curtos facilitam localizar ações e evidências."
},
"example": { "en": "Built. Tests pass. Published.", "pt": "Feito. Testes passaram. Publicado." },
"caution": {
"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"
}
+23
View File
@@ -0,0 +1,23 @@
{
"id": "debug",
"number": "05",
"kind": { "en": "DIAGNOSTIC LOOP", "pt": "CICLO DE DIAGNÓSTICO" },
"title": "diagnosing-bugs",
"rule": {
"en": "No red-capable loop, no theory.",
"pt": "Sem ciclo capaz de falhar, sem teoria."
},
"use": {
"en": "Use for hard bugs, flakes, and regressions. First build a fast deterministic reproduction, then minimize, rank hypotheses, instrument, and fix the root cause.",
"pt": "Use para bugs difíceis, flakes e regressões. Primeiro crie reprodução rápida e determinística; depois minimize, ranqueie hipóteses, instrumente e corrija a causa raiz."
},
"example": {
"en": "One command reproduces the exact symptom before any fix.",
"pt": "Um comando reproduz o sintoma exato antes de qualquer correção."
},
"caution": {
"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"
}
+23
View File
@@ -0,0 +1,23 @@
{
"id": "ponytail",
"number": "01",
"kind": { "en": "SIMPLIFICATION INSTINCT", "pt": "INSTINTO DE SIMPLIFICAÇÃO" },
"title": "ponytail-lite",
"rule": {
"en": "Stop at the first rung that holds.",
"pt": "Pare no primeiro degrau que sustenta."
},
"use": {
"en": "Use when a request invites frameworks, dependencies, abstractions, or speculative scaffolding. It checks reuse, standard library, and native platform features before adding code.",
"pt": "Use quando um pedido convida frameworks, dependências, abstrações ou scaffolding especulativo. Verifica reúso, biblioteca padrão e recursos nativos antes de adicionar código."
},
"example": {
"en": "Date picker? Start with &lt;input type=\"date\"&gt;.",
"pt": "Seletor de data? Comece com &lt;input type=\"date\"&gt;."
},
"caution": {
"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"
}
+20
View File
@@ -0,0 +1,20 @@
{
"id": "research",
"number": "04",
"kind": { "en": "SOURCE DISCIPLINE", "pt": "DISCIPLINA DE FONTES" },
"title": "research",
"rule": { "en": "Trace claims to owners.", "pt": "Leve afirmações até suas fontes." },
"use": {
"en": "Use when APIs, standards, architecture facts, or current behavior must be verified. Capture findings in a cited note, prioritizing primary sources.",
"pt": "Use quando APIs, padrões, fatos de arquitetura ou comportamento atual precisam ser verificados. Registre achados citados, priorizando fontes primárias."
},
"example": {
"en": "Git behavior → git-scm.com docs, not a remembered blog summary.",
"pt": "Comportamento do Git → documentação git-scm.com, não memória de um blog."
},
"caution": {
"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"
}
+23
View File
@@ -0,0 +1,23 @@
{
"id": "review",
"number": "06",
"kind": { "en": "INDEPENDENT REVIEW", "pt": "REVISÃO INDEPENDENTE" },
"title": "code-review",
"rule": {
"en": "Check standards and intent separately.",
"pt": "Verifique padrões e intenção separadamente."
},
"use": {
"en": "Use on a branch or PR. One axis checks repository standards; another checks whether the change actually satisfies its originating specification.",
"pt": "Use em branch ou PR. Um eixo verifica padrões do repositório; outro verifica se a mudança realmente satisfaz a especificação original."
},
"example": {
"en": "Clean code can still solve the wrong problem.",
"pt": "Código limpo ainda pode resolver o problema errado."
},
"caution": {
"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"
}
+23
View File
@@ -0,0 +1,23 @@
{
"id": "tokens",
"number": "07",
"kind": { "en": "CONTEXT ECONOMY", "pt": "ECONOMIA DE CONTEXTO" },
"title": "token-saver",
"rule": {
"en": "Keep signal. Strip command noise.",
"pt": "Mantenha sinal. Corte ruído de comandos."
},
"use": {
"en": "Use around verbose tests, builds, Git output, and logs. Filtering preserves context for reasoning while retaining full failure output for recovery.",
"pt": "Use em testes, builds, saídas Git e logs verbosos. Filtragem preserva contexto para raciocínio e mantém falhas completas para recuperação."
},
"example": {
"en": "200 passing-test lines → one result; failures keep their trace.",
"pt": "200 linhas de testes passando → um resultado; falhas mantêm o trace."
},
"caution": {
"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"
}
+23
View File
@@ -0,0 +1,23 @@
{
"id": "unlazy",
"number": "03",
"kind": { "en": "COMPLETION DISCIPLINE", "pt": "DISCIPLINA DE CONCLUSÃO" },
"title": "unlazy",
"rule": {
"en": "Define observable gates. Finish against evidence.",
"pt": "Defina gates observáveis. Termine com evidências."
},
"use": {
"en": "Use for substantial autonomous builds, audits, and parallel work where quiet omissions are expensive. It turns “done” into runnable acceptance checks.",
"pt": "Use em builds autônomos grandes, auditorias e trabalho paralelo onde omissões custam caro. Transforma “pronto” em verificações executáveis."
},
"example": {
"en": "Gate: language toggle persists. Check: browser reload. Expect: pt-BR.",
"pt": "Gate: idioma persiste. Check: recarregar navegador. Esperado: pt-BR."
},
"caution": {
"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"
}