Pipeline de 7 fases para importar organigramas y generar estructura teams/. Soporta Mermaid, Draw.io XML y Miro. Inverso de diagram-generation orgchart.
Importa organigrama → modelo normalizado → estructura teams/.
| Extension | Parser |
|---|---|
.mermaid | references/mermaid-parser.md |
.drawio, .xml | references/drawio-parser.md |
| URL Miro | references/miro-parser.md |
Todos los parsers producen el mismo JSON: references/org-model-schema.md
.mermaid → cargar references/mermaid-parser.md, aplicar reglas.drawio o .xml → cargar references/drawio-parser.mdmiro.com → cargar references/miro-parser.mdOutput: modelo JSON normalizado (org-model-schema).
Asegurar que el output del parser cumple el schema:
department.name = valor de --deptdepartment.responsable = extraido del diagrama o nullteams[] con name, capacity_total, members[]supervisor_links[] con from/to handles| Validacion | Nivel |
|---|---|
| Dept name no vacio | Error |
| Cada equipo tiene >=1 miembro | Error |
| Sin handles duplicados entre equipos | Warn (capacity > 1.0 implica multi-equipo) |
| Al menos 1 lead por equipo | Warn |
| Capacidades entre 0.1 y 1.0 | Warn |
| @handles sin nombres reales | Warn + pedir handle |
Si hay errores → parar con informe. Si solo warns → continuar con avisos.
Leer teams/departments.md y teams/{dept}/ si existe.
| Modo | Dept existe | Equipo existe | Miembro existe |
|---|---|---|---|
create | Error | Error | Error |
merge | OK, actualizar | OK, agregar nuevos miembros | Skip |
overwrite | OK, reemplazar | OK, reemplazar | OK, reemplazar |
Default: merge. overwrite requiere flag explicito + confirmacion.
Mostrar tabla:
Departamento: {dept_name} | Responsable: {resp} | Modo: {mode}
| Equipo | Miembros | Leads | Cap. | Estado |
|---|---|---|---|---|
| squad1 | 3 | @alice | 3.0 | Nuevo |
| squad2 | 2 | @bob | 2.0 | Merge (+1 miembro) |
Ficheros a crear/modificar:
+ teams/{dept}/dept.md
+ teams/{dept}/squad1/team.md
+ teams/{dept}/squad1/deps.md
~ teams/{dept}/squad2/team.md (merge)
+ teams/members/@charlie.md
Si --dry-run → parar aqui con banner informativo.
teams/{dept}/dept.md:
# {dept_name}
- **Mision**: [completar]
- **Responsable**: {responsable}
- **Equipos**: {lista equipos}
- **KPIs**: [completar]
teams/{dept}/{team}/team.md:
name: "{team_name}"
department: "{dept_name}"
lead:
- "@handle"
members:
- handle: "@handle"
role: {role}
capacity: {cap}
projects: []
capacity_total: {total}
velocity_avg: 0
sprint_cadence: 2w
# Dependencias de {team_name}teams/members/{handle}.md desde teams/members/template.md
con handle y role pre-rellenados━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ /orgchart-import — Completado
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📁 Departamento: {dept} ({N} equipos, {M} miembros)
📄 Ficheros creados: {count}
📄 Ficheros modificados: {count}
⚡ /compact — Ejecuta para liberar contexto
💡 Siguiente: /team-orchestrator validate --dept {dept}
teams/members/ esta gitignored: puede contener datos reales