Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions packages/design-squad/ANALYSIS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Squad Analysis: design-squad

**Generated:** 2026-03-16T01:46:04.528Z

## Overview

| Property | Value |
|----------|-------|
| Name | design-squad |
| Version | 1.0.0 |
| Author | Claudiney Oliveira |
| License | MIT |
| AIOX Min Version | 2.1.0 |

## Components

### agents/ (2)
- ui-agent.md
- ux-agent.md

### tasks/ (3)
- audit-interface.md
- design-components.md
- prototyping.md

### workflows/ (0)
*Empty*

### checklists/ (0)
*Empty*

### templates/ (0)
*Empty*

### tools/ (0)
*Empty*

### scripts/ (0)
*Empty*

### data/ (0)
*Empty*
Comment on lines +17 to +42
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Stale analysis document: component counts don't match squad.yaml.

The ANALYSIS.md shows 2 agents, 3 tasks, and empty workflows/checklists/templates/tools sections, but squad.yaml declares:

  • 4 agents (ux-agent, ui-agent, analytics-agent, lead-agent)
  • 5 tasks (audit-interface, design-components, prototyping, lead-agent-process-data, lead-agent-new-task)
  • 1 workflow, 1 checklist, 1 template, 1 tool

Consider regenerating this analysis to reflect the actual squad contents, or removing it if it's auto-generated during validation.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/design-squad/ANALYSIS.md` around lines 17 - 42, Update ANALYSIS.md
to reflect the actual squad.yaml contents: ensure the agents section lists
ux-agent, ui-agent, analytics-agent, lead-agent; update tasks to include
audit-interface, design-components, prototyping, lead-agent-process-data,
lead-agent-new-task; and populate workflows, checklists, templates, and tools
with the one item each declared in squad.yaml (or remove ANALYSIS.md if it's
autogenerated). Edit the ANALYSIS.md headings and bullet counts to match the
exact names in squad.yaml and validate there are no stale entries left (search
for the headings "agents/", "tasks/", "workflows/", "checklists/", "templates/",
"tools/").


## Coverage

| Category | Percentage | Details |
|----------|------------|---------|
| Agents | 0% | 0/2 with tasks |
| Tasks | 75% | 3 total |
| Directories | 25% | 2/8 populated |
| Config | 50% | - |

## Suggestions

1. **[HIGH]** Add tasks for 2 agent(s) without tasks
2. **[MEDIUM]** Create workflows to combine related tasks
3. **[MEDIUM]** Add validation checklists for quality assurance
4. **[LOW]** Add document templates for consistent output
8 changes: 8 additions & 0 deletions packages/design-squad/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Design Squad

Squad focado em design de produto, experiência do usuário (UX) e interface do usuário (UI), utilizando automação para acelerar auditorias e criação de componentes.

## Estrutura
- **UX Agent**: Responsável pela extração de necessidades de usuários e auditorias (Extração).
- **UI Agent**: Responsável pela transformação de conceitos em componentes visuais e protótipos (Transformação/Carga).
- **Tasks**: Fluxo que vai desde a auditoria de interface até a entrega de protótipos navegáveis.
6 changes: 6 additions & 0 deletions packages/design-squad/agents/analytics-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# analytics-agent

Agente focado em análise de dados de uso, métricas de conversão e performance de interface.

- Role: UX Data Analyst
- Persona: Precise, insight-driven, technical.
6 changes: 6 additions & 0 deletions packages/design-squad/agents/lead-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# lead-agent

Agente responsável pela coordenação técnica, definição de padrões de design e liderança do squad.

- Role: Design Lead & Coordinator
- Persona: Decisive, visionary, mentor.
6 changes: 6 additions & 0 deletions packages/design-squad/agents/ui-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# ui-agent

Agente focado em design visual, criação de componentes de design system e refinamento estético.

- Role: UI Designer & Visual Specialist
- Persona: Creative, precise, aesthetic-driven.
6 changes: 6 additions & 0 deletions packages/design-squad/agents/ux-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# ux-agent

Agente focado em análise de experiência, mapeamento de fluxos e auditorias de usabilidade.

- Role: UX Researcher & Architect
- Persona: Analytical, empathetic, user-centric.
1 change: 1 addition & 0 deletions packages/design-squad/checklists/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# .gitkeep
23 changes: 23 additions & 0 deletions packages/design-squad/checklists/quality-checklist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Design Quality Checklist

## ♿ Accessibility (WCAG)
- [ ] Contrast ratio is at least 4.5:1 for normal text.
- [ ] Focus states are clearly visible for all interactive elements.
- [ ] Text can be resized up to 200% without loss of content.
- [ ] Interactive elements have a minimum target size of 44x44px.

## 🎨 Visual Consistency
- [ ] Colors are within the approved Brand Palette.
- [ ] Typography follows the established hierarchy (H1, H2, Body, etc.).
- [ ] Spacing follows the defined grid or scale (e.g., 8pt grid).
- [ ] Icons use a consistent line weight and style.

## 🛠️ Design System Alignment
- [ ] Components use existing atoms/molecules from the DS.
- [ ] Token names follow the naming convention (kebab-case).
- [ ] Reusable components are documented with their respective states.

## 📱 Responsiveness
- [ ] Layout transitions smoothly between Mobile, Tablet, and Desktop.
- [ ] Navigation is functional across all screen sizes.
- [ ] Images and media scale correctly without distortion.
3 changes: 3 additions & 0 deletions packages/design-squad/config/coding-standards.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Design Coding Standards
- Acessibilidade WCAG.
- Design Atômico.
2 changes: 2 additions & 0 deletions packages/design-squad/config/source-tree.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Design Source Tree
- Root -> Design components and assets
3 changes: 3 additions & 0 deletions packages/design-squad/config/tech-stack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Design Tech Stack
- Figma
- Sharp
1 change: 1 addition & 0 deletions packages/design-squad/data/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# .gitkeep
11 changes: 11 additions & 0 deletions packages/design-squad/data/config-data.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
settings:
brand:
name: Vibe Code
primary_color: "#6200EE"
secondary_color: "#03DAC6"
thresholds:
min_contrast_ratio: 4.5
performance_budget_ms: 2000
endpoints:
figma_api: "https://api.figma.com/v1"
analytics_dashboard: "https://analytics.vibecode.io"
1 change: 1 addition & 0 deletions packages/design-squad/scripts/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# .gitkeep
20 changes: 20 additions & 0 deletions packages/design-squad/scripts/migration-helper.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/**
* Migration Helper Script
*
* assists in migrating design data between versions or squads.
*/

const fs = require('fs');
const path = require('path');

function migrate(source, target) {
console.log(`Starting migration from ${source} to ${target}...`);
// Logic for migrating files or transforming data
// This is a placeholder for actual migration logic
console.log('Migration completed successfully.');
}
Comment on lines +10 to +15
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Do not report successful migration when no migration occurs.

At Line 14, success is logged unconditionally even though no migration logic exists. This can mask operational failures.

Proposed minimal safe fix
 function migrate(source, target) {
   console.log(`Starting migration from ${source} to ${target}...`);
   // Logic for migrating files or transforming data
   // This is a placeholder for actual migration logic
-  console.log('Migration completed successfully.');
+  throw new Error('Migration logic not implemented yet.');
 }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
function migrate(source, target) {
console.log(`Starting migration from ${source} to ${target}...`);
// Logic for migrating files or transforming data
// This is a placeholder for actual migration logic
console.log('Migration completed successfully.');
}
function migrate(source, target) {
console.log(`Starting migration from ${source} to ${target}...`);
// Logic for migrating files or transforming data
// This is a placeholder for actual migration logic
throw new Error('Migration logic not implemented yet.');
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/design-squad/scripts/migration-helper.js` around lines 10 - 15, The
migrate function currently always logs "Migration completed successfully." even
when no work is performed; update migrate(source, target) to determine whether
any migration actions occurred (e.g., by tracking a changed/affected boolean or
a result count from the migration steps inside migrate) and only emit the
success log when that flag/result indicates work was done; if no changes were
required, log a different message or return a non-success status (or throw an
error on real failure) so callers can distinguish "no-op" from "successful
migration" while keeping the migration check and logging inside the migrate
function.


// Example usage:
// migrate('./old-assets', './new-assets');

module.exports = { migrate };
52 changes: 52 additions & 0 deletions packages/design-squad/squad.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: design-squad
version: 1.0.0
description: Squad focado em UX/UI, prototipagem, design system e experiência do usuário seguindo fluxo ETL.
author: Claudiney Oliveira
license: MIT
slashPrefix: design

aiox:
minVersion: "2.1.0"
type: squad

components:
tasks:
- audit-interface.md
- design-components.md
- prototyping.md
- lead-agent-process-data.md
- lead-agent-new-task.md
agents:
- ux-agent.md
- ui-agent.md
- analytics-agent.md
- lead-agent.md
workflows:
- daily-processing.yaml
checklists:
- quality-checklist.md
templates:
- report-template.md
tools:
- data-validator.js
scripts:
- migration-helper.js
data:
- config-data.yaml

config:
extends: extend
coding-standards: config/coding-standards.md
tech-stack: config/tech-stack.md
source-tree: config/source-tree.md

dependencies:
node: []
python: []
squads: []

tags:
- ux-ui
- product-design
- design-system
- automation
17 changes: 17 additions & 0 deletions packages/design-squad/tasks/audit-interface.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
task: Audit Interface
responsavel: "@ux-agent"
responsavel_type: agent
atomic_layer: task
Entrada: |
- interface_url_or_docs: Link ou docs da UI atual
Saida: |
- audit_report: Lista de problemas de usabilidade
Checklist:
- "[ ] Verificar heurísticas de Nielsen"
- "[ ] Analisar fluxos críticos de usuário"
- "[ ] Documentar pontos de fricção"
---
# audit-interface

Extração e análise de interfaces existentes para identificação de melhorias de usabilidade.
18 changes: 18 additions & 0 deletions packages/design-squad/tasks/design-components.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
task: Design Components
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Use a machine-friendly task id consistent with file/workflow slug.

At Line 2, task: Design Components should be a stable identifier (kebab-case), otherwise task resolution can become inconsistent across tooling.

Suggested fix
-task: Design Components
+task: design-components
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
task: Design Components
task: design-components
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/design-squad/tasks/design-components.md` at line 2, The task
identifier "task: Design Components" is not machine-friendly; replace it with a
stable kebab-case slug (e.g., "task: design-components") so tooling can reliably
resolve the task. Locate the YAML/metadata line containing the literal "task:
Design Components" and change the value to a lowercase, hyphen-separated
identifier that matches the file/workflow slug (preserve the "task:" key name).

responsavel: "@ui-agent"
responsavel_type: agent
atomic_layer: task
Entrada: |
- audit_report: Dados da auditoria de UX
- design_system_specs: Especificações do DS
Saida: |
- UI_components: Componentes desenhados
Checklist:
- "[ ] Criar variantes de botões"
- "[ ] Definir estados de inputs"
- "[ ] Alinhar com o design system"
---
# design-components

Transformação de requisitos funcionais em componentes visuais reutilizáveis.
17 changes: 17 additions & 0 deletions packages/design-squad/tasks/lead-agent-new-task.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
task: new-task
responsavel: "@lead-agent"
responsavel_type: agent
atomic_layer: task
Entrada: |
- placeholder_input: Descrição da entrada necessária
Saida: |
- placeholder_output: Descrição da saída esperada
Checklist:
- "[ ] Passo inicial da tarefa"
- "[ ] Revisão intermediária"
- "[ ] Finalização e entrega"
---
# new-task

Descrição detalhada da nova tarefa atribuída ao arquiteto líder.
17 changes: 17 additions & 0 deletions packages/design-squad/tasks/lead-agent-process-data.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
task: process-data
responsavel: "@lead-agent"
responsavel_type: agent
atomic_layer: task
Entrada: |
- raw_data: Dados brutos de design ou feedback
Saida: |
- processed_insights: Insights processados para o squad
Comment on lines +6 to +9
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Fix workflow I/O contract mismatch (audit_report vs raw_data).

Line 7 expects raw_data, but the upstream packages/design-squad/tasks/audit-interface.md emits audit_report. This breaks handoff semantics in the daily flow.

Proposed fix
 Entrada: |
-  - raw_data: Dados brutos de design ou feedback
+  - audit_report: Relatório de auditoria de usabilidade (saída do task audit-interface)
 Saida: |
   - processed_insights: Insights processados para o squad
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Entrada: |
- raw_data: Dados brutos de design ou feedback
Saida: |
- processed_insights: Insights processados para o squad
Entrada: |
- audit_report: Relatório de auditoria de usabilidade (saída do task audit-interface)
Saida: |
- processed_insights: Insights processados para o squad
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/design-squad/tasks/lead-agent-process-data.md` around lines 6 - 9,
The workflow I/O uses raw_data but upstream emits audit_report, causing a
mismatch; update the Entrada contract to accept audit_report (replace or add
audit_report in place of raw_data) so the task produces processed_insights
consistently, and ensure any references to raw_data in this document
(lead-agent-process-data.md) are renamed or mapped to audit_report to match the
audit-interface producer.

Checklist:
- "[ ] Revisar dados de entrada"
- "[ ] Cruzar informações com requisitos"
- "[ ] Documentar decisões de design"
---
# process-data

Tarefa de processamento de informações estratégicas para o squad.
17 changes: 17 additions & 0 deletions packages/design-squad/tasks/prototyping.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
task: Prototyping
responsavel: "@ui-agent"
responsavel_type: agent
atomic_layer: task
Entrada: |
- UI_components: Componentes finalizados
Saida: |
- interactive_prototype: Link do protótipo navegável
Checklist:
- "[ ] Criar conexões entre telas"
- "[ ] Definir microinterações"
- "[ ] Validar fluxos de navegação"
---
# prototyping

Carga final de componentes em fluxos interativos e protótipos de alta fidelidade.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix Portuguese compound hyphenation in task description.

Line 17 should use alta-fidelidade for correct spelling consistency.

Proposed fix
-Carga final de componentes em fluxos interativos e protótipos de alta fidelidade.
+Carga final de componentes em fluxos interativos e protótipos de alta-fidelidade.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Carga final de componentes em fluxos interativos e protótipos de alta fidelidade.
Carga final de componentes em fluxos interativos e protótipos de alta-fidelidade.
🧰 Tools
🪛 LanguageTool

[grammar] ~17-~17: Esta palavra é hifenizada.
Context: ...s em fluxos interativos e protótipos de alta fidelidade.

(PT_COMPOUNDS_PRE_REFORM_ALTA_FIDELIDADE)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/design-squad/tasks/prototyping.md` at line 17, Replace the phrase
"Carga final de componentes em fluxos interativos e protótipos de alta
fidelidade." with the hyphenated form "Carga final de componentes em fluxos
interativos e protótipos de alta-fidelidade." so the task description uses the
correct Portuguese compound hyphenation; locate the exact sentence in the file
(the line containing that full phrase) and update it accordingly.

1 change: 1 addition & 0 deletions packages/design-squad/templates/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# .gitkeep
24 changes: 24 additions & 0 deletions packages/design-squad/templates/report-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Design Report Template

## Executive Summary
{Provide a brief overview of the findings and decisions}

## 🔍 Audit Findings
- **Heuristic 1:** {Description}
- **Heuristic 2:** {Description}
- **Usability Gaps:** {List critical points}

## 🎨 Visual System Updates
- **Colors:** {New colors or modifications}
- **Typography:** {Changes in text styles}
- **Components:** {New components added}

## 📈 Data Insights (from Analytics)
{Key metrics from analytics-agent}

## ✅ Next Steps
1. {Next task 1}
2. {Next task 2}

---
*Generated by Design Squad*
1 change: 1 addition & 0 deletions packages/design-squad/tools/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# .gitkeep
44 changes: 44 additions & 0 deletions packages/design-squad/tools/data-validator.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/**
* Data Validator Tool for Design Squad
*
* Provides functions to validate design tokens, accessibility contrast,
* and data structures generated by agents.
*/

const DataValidator = {
/**
* Validates if a color contrast ratio meets WCAG standards.
* @param {number} ratio - The contrast ratio.
* @param {string} level - 'AA' or 'AAA'.
* @returns {boolean}
*/
validateContrast: (ratio, level = 'AA') => {
const min = level === 'AAA' ? 7 : 4.5;
return ratio >= min;
},

/**
* Validates design token names follow kebab-case.
* @param {string} name - Token name.
* @returns {boolean}
*/
validateTokenName: (name) => {
return /^[a-z]+(-[a-z0-9]+)*$/.test(name);
},

/**
* Checks for essential fields in a design report.
* @param {Object} data - The report data.
* @returns {Object} { valid: boolean, missing: string[] }
*/
validateReportFields: (data) => {
const required = ['title', 'findings', 'recommendations'];
const missing = required.filter(field => !data[field]);
return {
Comment on lines +34 to +37
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Guard against null/undefined report payloads.

At Line 36, data[field] will throw when data is null/undefined, causing validator crashes instead of validation results.

Suggested fix
-  validateReportFields: (data) => {
+  validateReportFields: (data = {}) => {
+    if (typeof data !== 'object' || data === null) {
+      return {
+        valid: false,
+        missing: ['title', 'findings', 'recommendations']
+      };
+    }
     const required = ['title', 'findings', 'recommendations'];
-    const missing = required.filter(field => !data[field]);
+    const missing = required.filter(field => data[field] == null || data[field] === '');
     return {
       valid: missing.length === 0,
       missing
     };
   }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/design-squad/tools/data-validator.js` around lines 34 - 37, The
validator currently accesses properties on the incoming payload in
validateReportFields which throws if data is null/undefined; add a guard to
ensure data is an object before filtering required fields (e.g. check if data is
falsy or not an object, and treat all required fields as missing) and replace
direct access of data[field] with a safe access (e.g. data && data[field] or
optional chaining data?.[field]); update the missing calculation and return path
so the function returns a validation result instead of throwing when the report
payload is null/undefined.

valid: missing.length === 0,
missing
};
}
};

module.exports = DataValidator;
1 change: 1 addition & 0 deletions packages/design-squad/workflows/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# .gitkeep
Loading