Communitygithub.com

Tekton — arrebitamento de arquitetura em co-design com o agente

Substrato de intenção arquitetônica compartilhada para co-projetar sistemas com o agente. Um grafo tipado em seis camadas (sistema / jornada / dados / infra / decisões / qualidades); visualizações são consultas, não diagramas separados. O artefato canônico é um modelo YAML amigável para diffs, que tanto humano quanto agente leem e escrevem; ele renderiza para Mermaid (legível por agente, nativo do GitHub) e um visualizador HTML tabulado autocontido (visual para humanos). Rastreabilidade entre camadas (`tekton query <de> <para>`) responde "qual infra essa etapa da jornada do usuário toca?" como uma consulta de caminho. USE QUANDO: projetar ou pensar profundamente sobre arquitetura, um sistema, um modelo de dados, jornadas/fluxos de usuário ou um plano técnico COM o agente; quando um documento HTML Categoria-C não é suficiente porque você precisa VER E EDITAR E PERCORRER o projeto entre camadas; "vamos projetar X", "arquitete isso", "modele o sistema", "desenhe o fluxo", "como isso se encaixa", "diagrame isso", "/tekton". NÃO PARA: um diagrama descartável único (use Mermaid inline); ADRs somente em prosa (escreva o ADR...

O que é Tekton — arrebitamento de arquitetura em co-design com o agente?

Tekton é uma ferramenta de design de arquitetura colaborativa entre humanos e agentes de IA, que centraliza o modelo de arquitetura em um único arquivo YAML editável por ambos. Ele resolve o problema de diagramas estáticos (HTML/SVG) que não podem ser consultados ou editados, movendo o modelo ativo para o upstream do renderizador. Suporta seis visões (sistema, jornada, dados, infraestrutura, decisões e qualidades), consultas transversais e renderização para Mermaid (para agentes) e para um visualizador HTML interativo e estilizado (para humanos). É ideal para sessões de design profundo, permitindo que o agente sugira, valide e documente mudanças na arquitetura em tempo real, com verificações de integridade e funções de aptidão (fitness functions).

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/broomva/skills/tree/HEAD/skills/design/tekton

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Tekton — co-design de arquitetura sobre um modelo compartilhado

O que é

Um substrato para a parceria humano↔agente em arquitetura. O design reside em um único modelo YAML que ambos editamos; o git é o caminho de ida e volta. Você vê (visualizador HTML); eu leio e escrevo o mesmo modelo. Pensamos sobre o mesmo contexto.

A falha que ele corrige: um documento HTML/SVG feito à mão é uma renderização terminal — você não pode percorrer, consultar ou editá-lo de volta, e seus diagramas não carregam significado. Tekton move o modelo ativo a montante da renderização.

Motor

scripts/tekton.py (Python 3, pyyaml). Ontologia em references/ontology.md.

python3 scripts/tekton.py validate <modelo.arch.yaml>       # verificação de integridade
python3 scripts/tekton.py lint     <modelo.arch.yaml>       # v0.2 — funções de aptidão; sai com 1 em violação
python3 scripts/tekton.py stats    <modelo.arch.yaml>       # contagens de nós/arestas/status/regras
python3 scripts/tekton.py views                            # lista as 6 visões
python3 scripts/tekton.py mermaid  <modelo.arch.yaml> <visão># mermaid bruto (embutir/agente)
python3 scripts/tekton.py render   <modelo.arch.yaml> [-o saida.html]  # visualizador HTML na marca
python3 scripts/tekton.py query    <modelo.arch.yaml> <de> <para>      # caminho entre camadas

Atualizações da ontologia v0.2 (da revisão de arquitetura)

  • Contenção — parent: em qualquer nó + tipo boundary; o visualizador renderiza grupos aninhados, clique duplo para recolher/expandir (drill-down estilo C4).
  • Ciclo de vida — status: nos nós (current|target|deprecated; target renderiza tracejado = como-está/como-deveria-ser em um modelo) e campos ADR completos de Nygard nas decisões (context, consequences, status, supersedes).
  • Qualidades — bloco qualities:; NFRs constrains elementos; exibido no painel de detalhes
    • visão dedicada.
  • Funções de aptidão — bloco rules: (forbid-dep, no-cycle, layer-order); tekton lint é integrável em CI (saída 1). O verificador independente do loop de design.

Como o agente usa em uma sessão de design

  1. Localizar/criar o modelo: <projeto>/docs/design/<nome>.arch.yaml (ou examples/ para rascunho).
  2. Mutar enquanto pensamos — adicionar/ajustar nós, arestas, decisões diretamente no YAML conforme a conversa revela componentes, fluxos, dados, infraestrutura e ADRs.
  3. validate + lint após cada edição substancial (referências pendentes, tipos ruins, regras de aptidão).
  4. render, então — ANTES de apresentar o visualizador como correto — execute a auditoria geométrica: bash tests/visual-audit.sh <modelo.arch.yaml>. Ele renderiza cada visão em modo headless e FALHA em sobreposições de nós ou capturas vazias. Afirmar que "o diagrama está correto" sem isso é exatamente a falha que o primeiro dogfood detectou (arestas desconectadas em grupos, nós duplicados — invisíveis a sondas de contagem de DOM, detectadas apenas pela geometria). Vincule profundamente uma visão com #<visão> na URL.
  5. query para responder perguntas de rastreabilidade ("o que isso toca?") em vez de adivinhar.
  6. Direcionar → repetir. O humano edita o YAML ou a intenção do visualizador; o diff do git é a entrega.

Resíduos cosméticos conhecidos (não falhas de auditoria): arestas de loop de jornada fazem o ELK quebrar o ciclo em uma etapa arbitrária (um loop deve quebrar em algum lugar); rótulos de arestas paralelas adjacentes podem ficar próximos em grupos densos.

Convenções

  • Arquivos de modelo: *.arch.yaml. Visualizador renderizado: *.view.html (gitignore ou commit — você decide).
  • Um modelo por sistema delimitado; vincule sistemas com nós external + arestas uses.
  • Decisões (ADRs) são nós de primeira classe — fixe-as ao que elas govern.
  • Relatórios HTML Categoria-C tornam-se uma exportação a jusante de um modelo, não a fonte da verdade.

Renderização — por que não Mermaid

O visualizador principal é um renderizador personalizado, não Mermaid. O teto de tematização do Mermaid não consegue expressar o Sistema de Design Broomva (eixo azul OKLCH, cartões foscos, vidro merecido, brilho de cometa) e seu layout dagre degrada em grafos densos. Em vez disso: elkjs calcula o layout no navegador (JS puro → a saída continua sendo um único arquivo HTML autocontido), e os nós são desenhados como cartões foscos Broomva (vidro reservado para o painel de detalhes flutuante, conforme a regra de "vidro é merecido" do DS). Os tokens de design são embutidos a partir do Sistema de Design Broomva. tekton mermaid permanece APENAS como um alvo descartável para embutir/legível por agente.

Roteiro (v0 → v2)

  • v0.2 (agora): Modelo YAML · validar + lint (funções de aptidão) · 6 visões · visualizador elkjs na marca (recolher/expandir contenção, como-está/como-deveria-ser, clique para rastrear, painel de detalhes em vidro) · consulta entre camadas · fallback Mermaid para embutir.
  • v1: ida e volta bidirecional (arrastar/editar no visualizador → serializar de volta para YAML); servidor MCP (mutações validadas para que o agente não possa emitir um modelo inválido); fornecer o Sistema de Design Broomva completo para uma tela interativa React-Flow.
  • v2: CRDT (loro) co-edição humano↔agente em tempo real; sincronização ao vivo no Prosopon como uma superfície.

Status

v0 dogfood — ferramenta de design interna. Skillify (testada + registrada) assim que o loop de design tiver sido usado em ≥3 sistemas reais (regra-de-três).

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

broomva/skills

Local TTS, voice cloning, voice design, and video dubbing via the OmniVoice Studio MCP server (open-source ElevenLabs alternative; nothing leaves the machine, runs on MPS/CUDA/CPU). Use when: (1) generating speech from text in any of 646 languages, (2) cloning a voice from a 3-second reference clip, (3) designing a voice by gender/age/accent/pitch/style, (4) dubbing a video into another language, (5) listing voice profiles or personality presets, (6) producing narration where privacy, cost, or absent API keys matter, (7) non-English narration where Edge TTS/kokoro fall short, (8) batch audio for blog posts or content pipelines. Triggers: 'omnivoice', 'voice clone', 'clone this voice', 'tts', 'narrate', 'generate speech', 'voice synthesis', 'dub video', 'voice design', 'local tts', 'multilingual voice', 'narrate this post', 'elevenlabs alternative'.

broomva/skills

>- Speak an explanation out loud while working in any project — tiered text-to-speech with a pluggable backend (ElevenLabs by default and quota-guarded, macOS `say` via `--fast` for free instant local speech, local OmniVoice as an unlimited private tier). Markdown-aware, so code fences, URLs and deep paths collapse to short spoken placeholders instead of being dictated character by character, while snake_case identifiers survive intact so the listener can still search for them. Every utterance is saved to disk for later replay. Also carries a **talk mode** toggle: turn it on and the agent speaks a full readback of every turn, for as long as that session lasts — the whole response, not a summary of it, with `brief` and `marker` levels for when you want less. Talk mode is off by default and scoped to the single session that enabled it, so parallel agents in other worktrees stay silent. Use when the user asks to hear something rather than read it — an explanation of a change, a walkthrough of what just happen...

broomva/skills

Shop Tiendas D1 (Colombia, d1.com.co) from the command line — search the catalogue, resolve your nearest physical store, price a basket against that store's real stock, and quote delivery. D1 runs VTEX IO (account `d1tiendas`), so this drives its public storefront API with no admin key at all — catalogue and cart work fully anonymously, and a one-time emailed code unlocks order history. Handles the two traps that make naive D1 automation wrong — availability is regionalized (an unregioned query reports a national catalogue nobody can actually buy from) and prices arrive in two different units (search reports whole pesos, checkout reports hundredths, a silent 100x). Builds and prices baskets; it deliberately cannot pay, handing a checkout URL to a human instead. USE WHEN the user wants to find D1 products or prices, check whether D1 delivers somewhere, build or cost a D1 grocery basket, compare D1 items, or review their D1 orders. NOT FOR other Colombian retailers (Éxito, Jumbo, Ara, Alkosto), and not for c...

broomva/skills

Stateful, local-first household toxics inventory + swap engine. Identify the items in a home that carry endocrine disruptors and persistent chemicals (BPA/BPS, phthalates, PFAS/PTFE, parabens, flame retardants, VOCs, microplastics), score each by *real* exposure (severity x presence x how it's used x condition), and track the swap to a safer alternative from "flagged" -> "sourced" -> "swapped". Ships a grounded, cited knowledge graph of ~20 hazards, ~40 item-classes, and ~40 alternatives. Hands sourcing off to the `procurer` skill. The skill's state is the source of truth — the agent is the app.

broomva/skills

Generate a polished Remotion video and X thread showcasing the full agent skills inventory. Use when creating social media content about skills, rendering category-based skill visualizations, or producing animated showcases of agent capabilities. Triggers on "skills video", "showcase skills", "skills thread", "render skills", "social content for skills", or requests to visualize the skills inventory.

broomva/skills

OpenCaptions extension for Content Engine — adds intent-driven CWI (Caption With Intent) captions to the post-production pipeline. Hooks into the grade → caption → final stage. Generates captions that understand video intent (pitch, volume, emotion, emphasis) and style themselves accordingly with variable font weight, size, and color. Uses the OpenCaptions CLI or MCP server. Triggers on: 'add captions', 'opencaptions', 'CWI captions', 'intent captions'.

broomva/skills

Produce polished product launch videos using the Liquid Glass aesthetic — dark void backgrounds, 3D perspective floating UI panels, particle effects, spring animations, and cinematic pacing. Built on Remotion with Imagen 4.0 for frames and Veo 3.1 for B-roll. Use when: (1) creating a product demo or launch video, (2) showcasing a UI/app/tool with cinematic polish, (3) building a social-ready video from screenshots and renders, (4) applying the liquid glass floating panel style, (5) composing Remotion videos with 3D transforms and spring animations. Triggers on: 'launch video', 'product video', 'liquid glass video', 'demo video', 'showcase video', 'remotion video', 'floating panel', 'glass aesthetic'.

Habilidades Relacionadas