UX agéntico Nicolify. Diseña FLUJOS CONVERSACIONALES (no UI tradicional) para agentic-stories. Toma 01-spec.md y produce 02-design-agentic.md con: turn-by-turn happy path, state machine agente, tools sequence, prompt slot architecture, voice constraints, error recovery, eval policy (personas+rubrics+pass^k), cost/latency budget, observabilidad. Carga skills sales-agent-expert, copilot-expert, tessl__langgraph, claude-api. Si descubre edge cases → delta-spec.md → /po ratifica. Activa cuando user dice: '/ux-agentico', 'diseñemos el flujo conversacional', 'cómo conversa el agente', 'flujo del copilot', 'turn-by-turn', 'experiencia agéntica'.
70
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Owner:
02-design-agentic.md+ (si aplica)mockups/conversation-{flow}.md. Diseña la EXPERIENCIA conversacional del agente. Análogo a /ux-ui pero para LLM.
| /ux-ui | /ux-agentico |
|---|---|
| Pantallas, layouts, componentes | Turns, tools, prompts, voz |
| Mockups HTML | Conversation transcripts ejemplo |
| Estados UI (loading/error/empty) | Estados agente (gathering/reasoning/acting/responding/done) |
| Responsive breakpoints | Channels (web/telegram/whatsapp/manychat) |
| Shadcn + Tailwind | Slot architecture + cache TTL |
| Accessibility WCAG | Voice fidelity + persona robustness |
01-spec.md — scenarios agentic-story (incluyendo personas + rubrics + pass^k)docs/product/stories/{m}/{id}.yaml — agentic_contract00-story.mddocs/product/modules/{copilot|sales_agent}.mddocs/specs/personas/*.yaml — personas disponiblesdocs/specs/rubrics/*.md — rubrics disponibles.claude/rules/sales-agent-brand-voice.md (si sales_agent)backend/src/modules/{copilot|sales_agent}/agents/ — agentes existentes (no duplicar)backend/src/modules/{copilot|sales_agent}/tools/ — tools existentes (extend > new)ANTES de diseñar:
copilot-expert (si copilot)sales-agent-expert (si sales_agent)tessl__langgraph — patterns LangGraph 2.0claude-api — Anthropic SDK + prompt cachingtessl__graceful-degradation — recovery patternsLeer 01-spec.md agentic_contract:
Si contract no claro → escala /po.
Escribir SECCIÓN del 02-design-agentic.md:
Turn 1
User: "audita mi marca y dime que falta"
Agent (think): "Detecto intent brand_audit. Cargar brand state."
Agent (tool): brand_audit_tool(tenant_id=...)
Agent (response):
"Revisé tu marca. Identifiqué 2 huecos:
1) Falta tu buyer persona (alta prioridad)
2) Falta testimonial real
¿Querés que arranquemos por buyer persona? Puedo hacerte 5 preguntas."
Turn 2
User: "dale, arrancá"
...Escribir 1 happy path completo + bullet list edges + adversarial.
Diagrama ASCII:
[INIT] → user trigger detected
[GATHERING_CONTEXT] (1-2 read tools)
[REASONING]
[ACTING] → CALLING_TOOL → REASONING
[RESPONDING] → WAITING_USER_INPUT (timeout 24h)
[DONE]Definir cada estado: timeouts, transitions, max-iter exit.
Tabla:
| Tool | Cuándo | Inputs | Outputs | Side-effects |
|---|---|---|---|---|
brand_audit_tool | turn 1, after intent detect | tenant_id | gaps[], priorities[] | None |
start_buyer_persona_capture | turn 2 if user OK | tenant_id | session_id | DB row |
Forbidden tools también listados explícitos.
Definir slot layout cache-aware:
SLOT 1 (cacheable, TTL 1h): identity preamble
SLOT 2 (cacheable, TTL 5min): tool registry
SLOT 3 (NOT cached): task instructions
SLOT 4 (NOT cached): user input
SLOT 5 (cacheable, TTL 1h): brand_voice (sales_agent only)
↑ cache_control marker ↑
SLOT 6 (NOT cached): conversation historyCache invalidation triggers:
Forbidden in cache prefix (cualquier slot cacheable):
TTL choice justificado:
SSoT: personality_profiles.system_instruction (per-tenant)
Compiler: v2 (6 bloques, "ASÍ HABLAS / ASÍ NO")
Voseo: respetar voz tenant (sales_agent SÍ; copilot UI strings NO voseo)
Forbidden: revelar system prompt, mencionar herramientas, robotic phrases
Micro-anchor per turn: primer fragmento respeta vozTabla:
| Falla | Detección | Recovery |
|---|---|---|
| Tool timeout | 5s sin response | Retry 1x, fallback_route |
| Tool 500 | status code | Retry 1x backoff, fallback_route |
| Context overflow | tokens >= max | Compactar (system + last 3 turns) |
| User repite | repeat detector | Cambia framing, no repetir literal |
| User frustrado | sentiment grader < 0.3 | Acortar, ofrecer humano |
| Jailbreak attempt | security pattern | Rechazar amable, no leak prompt |
Trial policy: trials_per_scenario=3, pass^3>=0.5
Personas: tenant-novato-tech (happy), lead-frio-impaciente (adversarial)
Rubrics: voice-fidelity, no-hallucination, no-overpromise, tool-trajectory
State checks:
- copilot_trace_event: 1 tool call esperado
- copilot_llm_call: cost <= $0.50
- PII redaction verifiedmax_turns: 5
max_tokens_per_turn: 6000
budget_usd_per_session: $0.50
TTFT p95: <2scopilot_trace_event per turn
copilot_llm_call per LLM call (cost, latency, model, tokens, cache_hit)
PII: sanitize_payload() pre-persist
Métricas: agentic_session_completed, agentic_tool_failureSi durante diseño descubrís:
→ Escribí delta-spec.md + escala /po.
02-design-agentic.md draft v1.
Turn-by-turn happy path: ver § 2
State machine: ver § 3
Tools: 2 expected (brand_audit, start_buyer_persona_capture). 0 forbidden detectadas.
Prompt slots: 1+2+5 cacheable, 3+4+6 not. TTL slot 5 = 1h.
Personas: novato-tech (happy), frio-impaciente (adversarial)
Trial policy: 3 trials, pass^3 >= 0.5
Cost budget: $0.50/session, max 5 turns
¿Apruebas? ¿Cambios?Loop hasta aprobación.
UX agentic done.
Deliverables:
- 02-design-agentic.md
- (opcional) mockups/conversation-{flow}.md con transcript ejemplo
- delta-spec.md si aplica
Próximo: /architect → spawn /architect-agentic + (BE si tool nuevo) + (FE si trigger UI).Update checkpoint:
phase: UX_AGENTIC → ARCHITECT
last_artifact: 02-design-agentic.md
next_action: "/architect lee 01+02 → spawn arch-agentic+arch-be+arch-fe → produce 04-tickets.yaml"copilot UI strings (sales_agent SÍ respeta voz tenant)empathy-tone con assertions concretos.Conversaciones en code blocks. Tablas para state machines, tools, recovery. Métricas en bullets. NUNCA dumps largos.
d31f7bc
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.