Communitygithub.com

tekton — sustrato compartido de arquitectura para codiseño

Tekton es un sustrato de arquitectura compartido que permite a humanos y agentes de IA codiseñar sistemas a través de un modelo YAML unificado, con seis vistas transversales, trazabilidad entre capas y un visor HTML interactivo.

¿Qué es tekton — sustrato compartido de arquitectura para codiseño?

Tekton es un sustrato de intención arquitectónica compartida para codiseñar sistemas con el agente. Se basa en un modelo YAML con tipado que abarca seis capas (sistema, journey, datos, infra, decisiones y cualidades), donde las vistas son consultas, no diagramas separados. El modelo es legible y editable tanto por humanos como por agentes, se renderiza a Mermaid (legible por el agente y nativo de GitHub) y a un visor HTML con pestañas autocontenido (visual para humanos). Proporciona trazabilidad entre capas mediante el comando `tekton query <from> <to>`, que responde preguntas como "¿qué infraestructura toca este paso del journey de usuario?" como una consulta de ruta. Está diseñado para sesiones de diseño profundo con el agente, cuando un documento HTML de Categoría C no es suficiente porque se necesita ver, editar y recorrer el diseño a través de las capas. No es adecuado para diagramas desechables (usar Mermaid en línea) o ADRs solo en prosa.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Tekton — codiseño de arquitectura sobre un modelo compartido

Qué es

Un sustrato para la asociación humano↔agente en arquitectura. El diseño vive en un solo modelo YAML que ambos editamos; git es el viaje de ida y vuelta. Tú ves el modelo (visor HTML); yo leo y escribo el mismo modelo. Pensamos sobre el mismo contexto.

El fallo que corrige: un documento HTML/SVG escrito a mano es una representación terminal — no se puede recorrer, consultar ni editar de vuelta, y sus diagramas no tienen significado. Tekton mueve el modelo vivo río arriba de la representación.

Motor

scripts/tekton.py (Python 3, pyyaml). Ontología en references/ontology.md.

python3 scripts/tekton.py validate <modelo.arch.yaml>       # verificación de integridad
python3 scripts/tekton.py lint     <modelo.arch.yaml>       # v0.2 — funciones de fitness; sale con 1 si hay violación
python3 scripts/tekton.py stats    <modelo.arch.yaml>       # conteos de nodos/aristas/estado/reglas
python3 scripts/tekton.py views                            # lista las 6 vistas
python3 scripts/tekton.py mermaid  <modelo.arch.yaml> <view># mermaid plano (para incrustar/agente)
python3 scripts/tekton.py render   <modelo.arch.yaml> [-o salida.html]  # visor HTML con la marca
python3 scripts/tekton.py query    <modelo.arch.yaml> <desde> <hasta>    # ruta entre capas

Mejoras de ontología v0.2 (desde la revisión de arquitectura)

  • Contención — parent: en cualquier nodo + tipo boundary; el visor renderiza grupos anidados, doble clic para colapsar/expandir (drill-down estilo C4).
  • Ciclo de vida — status: en nodos (current|target|deprecated; target se renderiza con línea discontinua = estado actual/objetivo en un mismo modelo) y campos completos de ADR Nygard en decisiones (context, consequences, status, supersedes).
  • Cualidades — bloque qualities:; los NFR constrains elementos; se muestran en el panel de detalles + vista dedicada.
  • Funciones de fitness — bloque rules: (forbid-dep, no-cycle, layer-order); tekton lint es integrable en CI (sale con 1). El verificador independiente del bucle de diseño.

Cómo lo usa el agente en una sesión de diseño

  1. Localizar/crear el modelo: <proyecto>/docs/design/<nombre>.arch.yaml (o examples/ para pruebas rápidas).
  2. Mutar mientras pensamos — añadir/ajustar nodos, aristas, decisiones directamente en el YAML a medida que la conversación revela componentes, flujos, datos, infraestructura y ADRs.
  3. validate + lint después de cada edición sustancial (referencias colgadas, tipos incorrectos, reglas de fitness).
  4. render, luego — ANTES de presentar el visor como correcto — ejecutar la auditoría geométrica: bash tests/visual-audit.sh <modelo.arch.yaml>. Renderiza cada vista sin cabeza y FALLA si hay solapamiento de nodos o capturas vacías. Afirmar que "el diagrama es correcto" sin esto es exactamente el fallo que detectó el primer dogfood (aristas desconectadas en grupos, nodos duplicados — invisibles para sondas de conteo DOM, detectados solo por geometría). Enlace profundo a una vista con #<view> en la URL.
  5. query para responder preguntas de trazabilidad ("¿qué toca esto?") en lugar de adivinar.
  6. Dirigir → repetir. El humano edita el YAML o la intención del visor; git diff es la transferencia.

Residuos cosméticos conocidos (no son fallos de auditoría): las aristas de bucle en journeys hacen que ELK rompa el ciclo en un paso arbitrario (un bucle debe romperse en algún lugar); las etiquetas de aristas paralelas adyacentes pueden quedar juntas en grupos densos.

Convenciones

  • Archivos de modelo: *.arch.yaml. Visor renderizado: *.view.html (gitignore o commit — decisión tuya).
  • Un modelo por sistema acotado; enlazar sistemas con nodos external + aristas uses.
  • Las decisiones (ADRs) son nodos de primera clase — fijarlas a lo que govern (gobiernan).
  • Los informes HTML de Categoría C se convierten en una exportación aguas abajo del modelo, no en la fuente de verdad.

Renderizado — por qué no Mermaid

El visor principal es un renderizador personalizado, no Mermaid. El techo de tematización de Mermaid no puede expresar el Sistema de Diseño de Broomva (eje azul OKLCH, tarjetas mate, cristal ganado, resplandor cometa) y su diseño dagre se degrada en grafos densos. En su lugar: elkjs calcula el diseño en el navegador (JS puro → la salida sigue siendo un único archivo HTML autocontenido), y los nodos se dibujan como tarjetas mate de Broomva (cristal reservado para el panel flotante de detalles, según la regla de "el cristal se gana" del DS). Los tokens de diseño se incrustan desde el Sistema de Diseño de Broomva. tekton mermaid se mantiene SOLO como un objetivo desechable para incrustar/agente.

Hoja de ruta (v0 → v2)

  • v0.2 (ahora): Modelo YAML · validate + lint (funciones de fitness) · 6 vistas · visor elkjs con la marca (colapsar/expandir contenedores, estado actual/objetivo, clic para rastrear, panel de detalles con cristal) · consulta entre capas · incrustación de respaldo Mermaid.
  • v1: ida y vuelta bidireccional (arrastrar/editar en el visor → serializar de vuelta a YAML); servidor MCP (mutaciones validadas para que el agente no pueda emitir un modelo inválido); incorporar el Sistema de Diseño completo de Broomva para un lienzo interactivo React-Flow.
  • v2: CRDT (loro) para coedición humano↔agente en tiempo real; sincronización en vivo con Prosopon como superficie.

Estado

dogfood v0 — herramienta interna de diseño. Skillificar (probar + registrar) una vez que el bucle de diseño se haya usado en ≥3 sistemas reales (regla de tres).

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'.

Skills relacionados