Meu nome é Rafael Ribeiro. Ocupo o cargo de CTO (direção de tecnologia) na Startse e também sou sócio. A Startse é uma empresa que ensina IA a executivos. Hoje vamos apresentar um pouco da história por trás do AI Tech Manager (gerente de tecnologia com IA).
Antes disso, vamos contextualizar o problema que nos levou a conceber o AI Tech Manager. Diante dos diversos desafios e das múltiplas ações estratégicas do dia a dia, é difícil saber, de forma atualizada, onde estão os esforços da equipe, acompanhá-los e manter o board (quadro) atualizado. Esse desafio não é recente na nossa trajetória em liderança de tecnologia; desde a atuação como Tech Manager (gestão de tecnologia), passando por Head (liderança) de Engenharia e, atualmente, como CTO, sempre foi complexo estar próximo da equipe, principalmente quando o time cresce.
Como supervisionar todo o contexto do que ocorre nas conversas das equipes, o que está acontecendo nos boards (quadros), se estão atualizados e se o alinhamento estratégico está coerente com o que é definido nas reuniões e no dia a dia das conversas, mesmo sem estarmos presentes? Com esse objetivo, construímos o AI Tech Manager para nos ajudar a manter o contexto sempre atualizado e acompanhar o time, mesmo sem participar das reuniões, permanecendo próximos do que é debatido e de tudo o que está registrado no board (quadro).
Diante desses desafios, integrar as ferramentas torna-se essencial, porque um agente isolado não cobriria os requisitos de atualização e alinhamento com a equipe. Por isso, decidimos utilizar as principais ferramentas que já fazem parte do nosso dia a dia. Escolher essas mesmas ferramentas reduz a fricção no time, pois conseguimos manter-nos atualizados usando o que já usaríamos manualmente, porém de forma automatizada.
Criar uma arquitetura e uma infraestrutura ao redor disso evita solicitações constantes e permite estabelecer rotinas automatizadas que executam diariamente. Passamos a responder questões como: qual percentual do esforço da equipe está direcionado a operações? Qual percentual está destinado à inovação e à engenharia de software com IA? Isso é muito interessante, porque antes não tínhamos uma visão clara: os dados eram gerados em conversas no Slack e no Teams, em reuniões e assim por diante. Não conseguíamos consolidar todo o contexto para tomar a melhor decisão.
Essa é uma diferença importante que temos hoje com o AI Tech Manager: não trabalhamos com contexto fragmentado, e sim com um contexto completo para a tomada de decisão. O AI Tech Manager consolida tudo de maneira ágil e prática, de modo que iniciamos o dia com um snapshot (visão instantânea) do que está ocorrendo na equipe e de onde devemos decidir, avaliando o que a IA está trazendo para qualificar nossas decisões com o time de tecnologia.
O primeiro ponto que o agente nos entrega diariamente é o grau de alinhamento entre as estratégias, as conversas do time, o que está no board (quadro) e as metas definidas em conjunto com a estratégia da empresa. Assim, vemos onde o esforço é maior e por que ocorreram mudanças nesse esforço. Mantemos um roadmap (roteiro) vivo, com atualização praticamente em tempo real, além de visões semanal e diária do que está acontecendo.
Por exemplo, se a equipe dedica 30% do esforço da semana a ações de segurança, quando definimos que 15% do esforço deveria estar direcionado a essa finalidade, algo não está coerente. Podemos tomar decisões; o julgamento e a decisão final continuam sendo nossos, mas o agente consolida da melhor forma tudo o que está ocorrendo e nos apresenta para a tomada de decisão. Essa é uma mudança fundamental: o agente não substitui a liderança de tecnologia, ele nos ajuda a ter mais contexto para decidir melhor.
Por isso, conectá-lo ao dia a dia com as ferramentas que geram menos fricção para o time é uma boa opção; tem funcionado muito bem no nosso cotidiano para avançarmos da melhor maneira.
Como CTO, além das obrigações, também lidamos com outros desafios. Ensinamos IA a executivos e nem sempre é simples estar próximos da equipe. Com o AI Tech Manager, conseguimos manter a visão do que está acontecendo, mesmo sem estarmos presentes nas reuniões.
Assim, conseguimos acompanhar se houve mudança de foco, algum incidente relevante ou impacto por alteração de prioridades. Junto com a equipe, analisamos da melhor maneira e discutimos a tomada de decisões. Este é um ponto importante. Nosso objetivo não é retirar a autonomia da equipe nem monitorá-la de forma rígida. O ponto principal é ter o contexto do todo, o que está acontecendo, para que possamos realmente tomar melhores decisões.
Antes, sem o AI Tech Manager (Gerente Técnico de IA), tomávamos decisões com base em um contexto que, muitas vezes, não era completo e, em outras, precisávamos envolver pessoas da equipe para entender o que estava acontecendo, ainda que isso já tivesse sido discutido em uma eventual reunião da qual não participamos e cujo contexto estava disponível, mas inacessível naquele momento. Com o AI Tech Manager, conseguimos consolidar e reunir todas as informações para tomar melhores decisões que antes não eram possíveis. Muitas vezes, precisávamos interromper outras pessoas da equipe; com essa mudança, ganhamos tempo para outras atividades, em vez de tentar consolidar contextos para decidir melhor.
Toda mudança, em alguma medida, gera desconforto. Trazer um agente de IA para supervisionar o que ocorre na equipe — considerando reuniões, o board (quadro), cobranças de prazo no Slack e no Teams — naturalmente causa algum incômodo. Entretanto, um alinhamento claro sobre a importância disso é essencial, porque ter as informações organizadas por meio de um AI Tech Manager ajuda não apenas a entender onde estão os principais gargalos, mas também a definir bons PDIs (Planos de Desenvolvimento Individual) alinhados à estratégia da empresa. Sempre tivemos dificuldade em criar PDIs de qualidade para a equipe, alinhados ao trabalho do dia a dia. Com as informações consolidadas, é possível acompanhar e demonstrar, a cada pessoa, o potencial de suas entregas, não só para o negócio, mas também para o desenvolvimento profissional. Este é um ponto muito relevante.
Essa mudança não aconteceu da noite para o dia. Como estratégia, adotamos o AI Tech Manager e criamos um board separado para a gestão. O único alinhamento com a equipe foi: continuar fazendo o trabalho e registrar ali as informações relevantes para que a IA pudesse organizar esse novo board da melhor maneira. Esse foi o único ajuste inicial. Com isso, fomos gerando contexto, mantendo boards mais atualizados e demonstrando o valor real dessa abordagem para a equipe.
Um ponto importante foi a comparação entre a gestão sem o AI Tech Manager e com o AI Tech Manager. De fato, em quatro anos e meio na função de CTO, nunca tivemos um board tão atualizado e tão alinhado quanto o que temos hoje na empresa. Eliminamos o gargalo da falta de contexto para a tomada de decisões, transferindo essa consolidação para um agente que nos apoia, enquanto a decisão final permanece conosco. A diferença é que não precisamos acionar o agente manualmente. Ao criar a arquitetura e a estrutura em torno desse agente, passamos a contar com rotinas automatizadas para que cheguemos às decisões em conjunto com ele.
Se hoje você lidera uma equipe de tecnologia ou é uma pessoa profissional de negócios que trabalha com tecnologia, é provável que enfrente desafios no dia a dia: tarefas manuais e operacionais que consomem tempo e que poderiam ser estratégicas, passíveis de delegação a um agente de IA. Talvez a resposta de ter um AI Tech Manager não seja a mesma para você, mas a pergunta permanece válida: há algo no seu cotidiano que consome tempo operacional e impede você de ser mais estratégico?
No nosso caso, ter o contexto do todo de forma organizada, com o board (quadro) atualizado em pontos estratégicos diariamente por meio de uma rotina automatizada com o agente de IA, fez a diferença. Procure identificar isso no seu dia a dia e conecte as soluções adequadas, independentemente de você ser uma pessoa profissional de tecnologia, uma liderança técnica ou uma liderança de negócios que explora o potencial da tecnologia para ser mais produtiva, alcançar melhores resultados e atuar de forma mais estratégica.
Agora que já entendemos a importância de um AI Tech Manager (gestor técnico de IA), é natural querermos construir o nosso. Vamos comentar como estruturamos esse AI Tech Manager, qual é a arquitetura adotada e como conectamos as ferramentas a esse agente ideal.
Antes de detalhar a arquitetura, é importante reforçar que, para cada contexto de negócio e para cada desafio do dia a dia, precisamos definir quais ferramentas devem ser conectadas ao agente orquestrador. Esse é um passo essencial. Quais ferramentas o seu time utiliza hoje que podem se conectar a um agente para apoiar na gestão?
Para começar, vamos falar da arquitetura. O primeiro passo foi entender quais ferramentas precisávamos conectar. Rafael, como CTO, hoje realiza a gestão usando Planner; em alguns casos também precisamos conectar GitHub Projects, e temos Jira. Ou seja, a ferramenta de gestão que representa nosso quadro de trabalho, o nosso board (quadro). Precisamos atribuir essa ferramenta ao agente.
Além disso, quais são as ferramentas de comunicação utilizadas pela empresa? Usamos Slack, usamos Microsoft Teams e outras. Onde ocorrem as conversas? Em Teams, e já temos as transcrições criadas lá. Precisamos dar ao agente a capacidade de acessar e buscar essas informações. Aqui já identificamos fontes de contexto importantes que o agente deve possuir e, de alguma forma, conectar para obter esses dados.
Para isso, utilizamos o MCP (Model Context Protocol), uma forma padronizada de agentes de IA se conectarem a ferramentas. No nosso caso, vamos usar como agente o Claude Code. É um agente de código, um harness (estrutura de orquestração), que pode funcionar como motor de orquestração dessas ferramentas.
Como esse agente trabalha com as ferramentas? Aqui entra um ponto importante: podemos criar skills (habilidades) ou simplesmente delegar via prompt (instrução). A recomendação é: paremos de escrever apenas prompts e passemos a escrever skills. Por que isso importa? Porque a skill representa diretrizes que determinamos para um fluxo de trabalho. É um contrato que estabelecemos com o motor de orquestração, com esse harness, para que execute uma tarefa específica.
Se existe uma tarefa repetitiva no dia a dia, algo operacional que repetimos com vários passos em prompts para o agente, devemos começar a criar essas habilidades. Isso é o que compõe o AI Tech Manager: um orquestrador com skills que determinam como interagir com as ferramentas. Por exemplo, ao pedirmos um relatório, o que o agente deve fazer? Quais pontos deve considerar? Como deve gerar esse relatório? Tudo isso é determinado via skill. Este é um passo fundamental.
Além disso, podemos criar um segundo cérebro, o second brain (segundo cérebro). Em resumo, é a ideia de fazer o agente evoluir a partir dos aprendizados e das interações do dia a dia. Muitas pessoas já conhecem skills e trabalham com skills, mas frequentemente as deixam estagnadas. Continuam interagindo via prompt sem fazer essa skill evoluir. Portanto, uma segunda recomendação importante: a partir das interações do cotidiano com a ferramenta e com as skills, pensemos em como melhorá-las. Podemos usar um prompt simples, como: melhorar a skill com base no que foi aprendido hoje. Esse é um passo essencial para que o agente siga evoluindo e atenda às expectativas.
Nós não deixamos de evoluir o nosso AI Tech Manager. Seguimos aprimorando as skills, identificando pontos em que o desempenho não está adequado, que exigem mais interação nossa, mais insumos do time, mais contexto nas dailies (reuniões diárias). Tudo isso contribui para ajustar o comportamento do AI Tech Manager até que atenda às expectativas; é uma evolução contínua. A ideia do second brain é trazer essa segunda memória para o agente e geri-la para que possamos tomar decisões futuras com base no histórico. Assim, criamos uma memória de longo prazo. Como organizá-la?
Sobre organização, Karpat definiu uma estrutura relevante para organizar esse second brain. Essa estrutura parte da ingestão de dados: de onde vamos coletar dados? Podemos, por exemplo, coletar dados das dailies de três squads do time. Vamos coletar dados de forma desorganizada, no formato de transcrição que o Microsoft Teams retorna. Mas, ao inserir essas informações em uma base organizada, que chamamos de WIC, nosso segundo pilar, conseguimos fazer com que o agente orquestrador pegue essa informação desorganizada e a indexe de modo estruturado, para consumir esse contexto da melhor forma depois.
Em seguida, temos os passos 3 e 4. O passo 3 é o agente consumir essas informações diretamente do WIC. O passo 4 é a parte de manutenção e auditoria do que está lá. Se quisermos modificar o formato de organização, podemos fazê-lo. Por meio de uma auditoria, podemos refazer toda a estrutura do nosso second brain. Em resumo: primeiro, coletamos informações desorganizadas; segundo, organizamos no WIC; terceiro, o agente consulta o WIC; e quarto, auditamos e mantemos a estrutura quando necessário.
Avançando para a prática: o Claude Code, ou qualquer agente de código, funciona como orquestrador. Gostamos da analogia com um celular: o celular é essencial, mas sem aplicativos se torna pouco útil. Os aplicativos são essenciais para que o celular seja útil no dia a dia. Nesse paralelo, os aplicativos são as skills e as ferramentas que conectamos ao orquestrador, ao “celular”. Precisamos entender quais skills são necessárias, criar skills e conectar ferramentas para alcançar os melhores resultados. Reforçando a recomendação: deixemos de escrever apenas prompts e passemos a escrever skills. Não significa deixar de usar prompts, mas, com as habilidades definidas, já estabelecemos diretrizes de trabalho para que o agente de código, o orquestrador, atenda às expectativas. Aqui usaremos o Claude Code, mas poderia ser qualquer orquestrador.
Vamos trabalhar com Teams, Slack e Planner, pois ali está a gestão das atividades do dia a dia. Basicamente, vamos obter mais contexto do que está sendo discutido no Teams, no Slack e nas dailies, e o agente vai nos ajudar a organizar o Planner, onde temos o board com as atividades. Ele vai consolidar tudo para entender situações como: há tarefas em andamento, mas o time está conversando sobre outra coisa. O que fazer? O julgamento final, a decisão final, continua sendo nossa, mas o agente traz os pontos-chave para que tomemos a decisão, para que nos ajude a decidir ou até a formular as perguntas corretas. Vamos conectar contexto com execução de forma prática.
Também deixamos de apenas enviar prompts para a IA e passamos a criar rotinas para que a IA coordene o que está acontecendo. Um exemplo: se alguém comenta na daily que está resolvendo a tarefa X, mas não deu um prazo, e se essa tarefa não está no board, o agente já tem uma diretriz na skill que diz: se a pessoa não informou prazo e a tarefa não está no board, criar a tarefa no board e enviar uma mensagem pelo Slack para a pessoa solicitando o prazo. É assim que as coisas começam a acontecer.
Para visualizar isso de modo mais prático, estamos com o Visual Studio Code apenas para facilitar — poderia ser qualquer outra ferramenta —, mas a ideia é ter o Claude Code instalado, com uma skill onde definimos as diretrizes do fluxo de trabalho. Para começar, vamos falar da importância das ferramentas. Vamos iniciar o Claude Code, conceder as permissões necessárias e mostrar as ferramentas disponíveis.
Se preferir iniciar o orquestrador via CLI, como aparece no vídeo, você pode fazer assim:
claude
Como adicionamos uma ferramenta no Claude Code? Temos algumas opções. Quem tem conta no Claude pode, pelo aplicativo de desktop ou pela web, configurar alguns conectores para toda a empresa, de modo que todas as pessoas da companhia tenham acesso a essas ferramentas. Se digitarmos /mcp, veremos uma lista de ferramentas habilitadas para a empresa.
Antes de listar as ferramentas via Claude Code, veja como o comando aparece no vídeo quando digitado no contexto do agente:
/mcp
Esse comando retorna os MCPs habilitados para o workspace atual no agente.
Para listar as ferramentas MCP disponíveis no Claude Code, utilizamos o comando:
/mcp
Entretanto, podemos adicionar ferramentas específicas para o contexto de Rafael. Cada uma exigirá autenticação. Por exemplo, ao conectar a ferramenta do Slack, será necessário autenticar a conta do Slack. Em geral, toda ferramenta adicionada via MCP requer autenticação para uso.
Outra forma é por meio de plugins (extensões). Com plugins, também podemos habilitar alguns MCPs e usá-los no agente orquestrador. Podemos acessar /plugins e buscar Slack para encontrar a ferramenta do Slack.
Para abrir a lista de plugins e procurar pelo Slack:
/plugins
Ao buscar pelo conector do Slack dentro da área de plugins, digitamos:
slack
No vídeo, ao confirmar a instalação, aparece também a forma abreviada de adicionar o plugin. Esse atalho pode ser usado para selecionar rapidamente o conector do Slack:
+ slack
Agora, reforçando a forma direta usada no vídeo para já pesquisar o plugin do Slack, veja o exemplo abaixo:
/plugins slack
Esse atalho combina o acesso ao menu de plugins com a busca direta pelo Slack, agilizando a instalação.
Após instalar um plugin, é comum precisar recarregar para que o MCP seja habilitado. Fazemos isso assim:
/reload-plugins
Depois do reload, validamos novamente a presença do plugin:
/plugins
E, se necessário, confirmamos os MCPs ativos uma vez mais:
/mcp
Na prática, caso não exista um MCP, hoje isso é raro, pois muitas empresas grandes estão padronizando o acesso de agentes às suas ferramentas por meio do MCP. Se buscarmos pelo MCP do Google Calendar ou do Microsoft Teams, provavelmente vamos encontrar várias opções. O conselho é: cuidado com MCPs não oficiais. Assim como alguém pode criar um MCP próprio, é possível que alguém crie um MCP dizendo ser do Microsoft Teams, com regras definidas por essa pessoa. Não é oficial, mas pode funcionar. Recomendamos sempre MCPs oficiais. Portanto, ao buscar o MCP da ferramenta utilizada no dia a dia, priorize o oficial.
Vamos adicionar o do Slack. Selecionamos o plugin do Slack. Podemos instalá-lo apenas para o nosso usuário, para todas as pessoas colaboradoras ou conforme as políticas internas. Vamos instalar apenas para o nosso usuário. Após instalado, ele aparecerá para nós. Precisaremos executar um “reload plugins” para recarregar o MCP. Verificando os plugins, já veremos o Slack, indicando que está conectado. Se não aparecer conectado, podemos clicar diretamente para abrir o navegador e autenticar na conta. Podemos também reautenticar, se necessário.
Quais são as ferramentas disponíveis? Pensemos no MCP como um hub (concentrador) de ferramentas do Slack às quais temos acesso. O que podemos fazer com isso? Enviar mensagens programadas, enviar mensagens imediatas, iniciar novas conversas etc. Neste exemplo, há 19 recursos disponíveis para esse plugin que podemos habilitar para o agente. Ele não usará todos; utilizará conforme a necessidade. E aqui conectamos com o que já mencionamos: as skills. As skills são as diretrizes, o contrato com o agente. O que ele deve fazer? Se pedirmos para enviar uma mensagem para alguém, qual ferramenta será usada? Se temos Teams e Slack, provavelmente o agente perguntará. Mas, se na skill estiver definido que a comunicação é sempre por Slack, ele enviará diretamente por lá. Ao trabalharmos a skill, ela se torna algo bastante específico para cobrir nossas necessidades, por isso vai evoluindo.
Com o MCP configurado, podemos criar uma nova skill. Para isso, há a opção “Create Skill”. Podemos pedir ao Claude Code que gere uma nova skill, chamada Tech Manager, e descrever o que queremos. Vamos mostrar uma skill configurada. Ela contém diversos elementos; tentamos simplificar ao máximo, mas foi evoluindo. É apenas um exemplo.
Para começar, definimos uma versão inicial da skill com nome, missão e o escopo de uso:
# AI Tech Manager
Você atua como um Tech Manager do time de IA Academy via Slack, Microsoft Teams e Planner. Lẽ conversas, extrai tarefas, reconcilia com o Planner para gerar relatórios executivos. Só usa quadros visuais ("manager", "setup manager", "tech manager", "relatório do time" ou pedir para atualizar o Planner com base em uma conversa.
## O time AI Academy
Em seguida, refinamos a descrição para deixar claro como a skill conecta as ferramentas e qual é o foco do time:
# AI Tech Manager
Você atua como um Tech Manager do time de IA Academy via Slack, Microsoft Teams e Planner. Lẽ conversas, extrai tarefas, reconcilia com o Planner para gerar relatórios executivos. Só usa quadros visuais ("manager", "setup manager", "tech manager", "relatório do time" ou pedir para atualizar o Planner com base em uma conversa.
## O time AI Academy
Conecta Slack, Teams e Planner para gerir o time AI Academy: lê conversas, extrai tarefas, atualiza o Planner e gera relatórios executivos.
## Time AI Academy
Para mostrar a evolução prática dessa mesma skill, registramos também a estrutura do time dentro do próprio documento em Markdown, incluindo uma tabela simples com membros e identificadores. Isso ajuda o orquestrador a entender destinatários e canais padrão:
# AI Tech Manager - Gerido do time AI Academy via Slack, Microsoft Teams e Planner. Lẽ conversas, extrai tarefas, reconcilia com o Planner e gera relatórios executivos. Use quando o usuário disser "manager", "tech manager", "relatório do time" ou pedir para atualizar o Planner com base em uma conversa.
# AI Tech Manager
## AI Tech Manager
Conecta Slack, Teams e Planner para gerir o time AI Academy: lê conversas, extrai tarefas, atualiza o Planner e gera relatórios executivos.
# Time AI Academy
| Nome | Função | Slack ID | MSMS User ID |
| --- | --- | --- | --- |
| Fernando de Araújo | Gestora do Time (Líder da BU) | U017BQVQ09F | dffb1e0d-6e2b-45e3-99a7-9ac121e428f8 |
| Tiago Merri | PM AI Journey | U02R81B1VE8 | d134ad8b-0173-4c75-8049-8eb80eb8d779 |
# Endereços do Time (recebe resumos e alertas): ao Fernando de Araújo ( U017BQVQ09F )
Como alternativa consolidada (e reforçando um pré-requisito operacional importante), aqui vai uma variação da mesma skill que também explicita a necessidade de ler variáveis do config.sh antes de executar qualquer ação:
# AI Tech Manager
**Nome:** AI Tech Manager - Gestão do Time AI Academy via Slack, Microsoft Teams e Planner. L0 conversar, extrair
tarefas, reconcilia com o planner e gera relatorio executivo. Use quando o usuário disser "manager", "tech manager", "tech
manager", "relatorio do time" ou pedir para atualizar o Planner com base em uma conversa.
---
# AI Tech Manager
Conecta Slack, Teams e Planner para gerir o time AI Academy: lê conversas, extrai tarefas, atualiza o Planner e gera relatórios executivos.
# Time AI Academy
| Nome | Função | Slack ID | MS Teams User ID |
| :--- | :--- | :--- | :--- |
| Fernanda de Araujo | Gestora do Time (Lider de BD | U05JBGHKBHY | d1fcbd60-4e2b-40e2-89a7-53b4c132d18f |
| Rafael Ribeiro | Tech Manager | U04D116Q733 | d9c6a0c0-681b-417b-8845-66ba8a9bd779 |
| Tiago Merli | PM AI Journey | U0269QJKW48 | a761b6b0-8c23-4c75-8049-5e19e078d697 |
| Wesley Mendes | Engenheiro IA | U05H1RCIEQY | df0de35c-cdcf-45fa-af28-ca65eb2b9a7a |
| Daniel Salum | Engenheiro de Software | U03K2S4SQP7 | |
| Daniel Gomes | Engenheiro de Software | U03L2H0L3K8 | |
**Endereços do Time (recebe resumos e alertas)** -> Fernanda de Araujo ( `U05JBGHKBHY` )
## Configuração inicial
**Obrigatório antes de qualquer ação:**
- A Skill DEVE ler as variáveis de ambiente em `config.sh` antes de executar qualquer passo.
Agora, para ilustrar de forma direta a versão inicial do documento de skill que aparece no vídeo, veja este exemplo prático com missão, escopo e mapeamento do time:
# AI Tech Manager
Projeto de automação de gestão do Time AI Academy via Slack, Microsoft Teams e Planner. Lê conversas, extrai tarefas, reconcilia com o Planner e gera relatórios executivos. Use quando o usuário disser "manager", "tech manager", "relatório do time" ou pedir para atualizar o Planner com base em uma conversa.
# AI Tech Manager
Conecta Slack, Teams e Planner para gerir o Time AI Academy: lê conversas, extrai tarefas, atualiza o Planner e gera relatórios executivos.
## Time AI Academy
| Nome | Função | Slack ID | MS MS User ID |
| :--- | :--- | :--- | :--- |
| Fernanda de Araujo | Gestora do Time (Lider BU) | U017B4EKD5Y | 4ff648a0-62e5-48a7-b1a4-c335a01018f4 |
| Tiago Merli | PO AI Journey | U02RH1D0T6B | a7c34b1b-dc75-41f6-b949-8eb6e0d8e779 |
* a líder do time (recebe resumos e alertas) é: Fernanda de Araújo ( <@U017B4EKD5Y> )
## Configuração Inicial
Para quem prefere manter a definição da skill em um formato serializável com cabeçalho e um prompt incorporado (como exibido no vídeo), uma versão YAML consolidada ficaria assim:
name: MANAGER
description: AI Tech Manager - Gerido do Time AI Academy via Slack, Microsoft Teams e Planner. LÊ conversas, extrai tarefas, reconcilia com o Planner e gera relatórios executivos. Use quando o usuário disser "manager", "setup manager", "tech manager", "relatório do time" ou pedir para atualizar o Planner com base em uma conversa.
prompt: |
# AI Tech Manager
Conecta Slack, Teams e Planner para gerir o time AI Academy: lê conversas, extrai tarefas, atualiza o Planner e gera relatórios executivos.
## Time AI Academy
| Nome | Função | Slack ID | MS Teams User ID |
| --- | --- | --- | --- |
| Fernanda de Araujo | Gestora do Time (Líder de Negócios) | U01H4AEKH2V | dcfb31a8-c2a8-44a6-89e7-51b6351d38f4 |
| Tiago Merri | PO AI Journey | U02J5U19VA8 | cfc2bd1b-1c75-4d76-8049-8e68e0d6d779 |
# Endereços do Time (recebe resumos e alertas): => Fernanda de Araujo ( U01H4AEKH2V )
Agora, para complementar com um rascunho de skill exatamente como mostrado no vídeo, incluímos a variação a seguir. Ela é útil para comparar e evoluir o documento de skill:
# AI Tech Manager
Atue como o gestor de tecnologia do AI Time na Academy via Slack, Microsoft Teams e Planner. Lë conversas, extrai tarefas, reconcilia com o Planner e gera relatórios executivos. Quando o usuário disser "manager", "tech manager", "relatório de time" ou pedir para atualizar o Planner com base em uma conversa.
## AI Tech Manager
Conecta Slack, Teams e Planner para gerir o time AI Academy: lê conversas, extrai tarefas, atualiza o Planner e gera relatórios executivos.
# Time AI Academy
| Nome | Função | Slack ID | MS Teams User ID |
|---|---|---|---|
| Fernando de Araújo | Gestora de Time Líder BD | U01G6N34XQV | 8f9b9ab2-8e10-410a-81a1-305ef7d7b4d3 |
| Thiago Mariz | PM AI Journey | U02R4129X4B | 57a3eab3-0c33-4f75-8049-8eabbed8d779 |
Como complemento do que foi mostrado acima e alinhado ao que aparece no vídeo, segue uma versão mínima da skill em YAML com cabeçalho e o início do conteúdo em Markdown, antes de evoluirmos para as variações mais completas:
name: MANAGER
description: Skill do AI Tech Manager - Gerido do Time AI Academy via Slack, Microsoft Teams e Planner. Lê conversas, extrai tarefas, reconcilia com o Planner e gera relatórios executivo. Use quando o usuário disser "manager", "setup manager", "tech manager", "relatório do time" ou pedir para atualizar o Planner com base em uma conversa.
# AI Tech Manager
## Tech Manager
Conecta Slack, Teams e Planner para gerir o time AI Academy: lê conversas, extrai tarefas, atualiza o Planner e gera relatórios executivos.
## Time AI Academy
Com essa skill, chamada Manager, podemos executar algumas ações. Por exemplo, pedir o relatório do dia do time: analisar o board combinando com a transcrição da daily de hoje, entre outras. Aqui, inicialmente, estamos fazendo prompts manuais para realizar ações, mas depois podemos criar rotinas específicas para essas ações pontuais. Esse é o ideal, pois não ficaremos apenas abrindo o Claude Code e interagindo o tempo todo.
Para conectar diretamente esse conteúdo com o que aparece no vídeo, segue a versão inicial e enxuta do cabeçalho da skill em Markdown — é exatamente o rascunho exibido na tela:
# AI Tech Manager
Você é um AI Tech Manager - focado no time de Academy via Slack, Microsoft Teams e Planner. Lê conversas, extrai tarefas, reconcilia com o Planner e gera relatórios executivos. Quando o usuário disser "manager", "setup manager", "tech manager", "relatório do time" ou pedir para atualizar o Planner com base em uma conversa.
# AI Tech Manager
Conecta Slack, Teams e Planner para gerir o time AI Academy: lê conversas, extrai tarefas, atualiza o Planner e gera relatórios executivos.
Logo em seguida, também registramos o quadro do time, como mostrado na sequência do vídeo:
## Time AI Academy
| Nome | Função | Slack ID | MSMS User ID |
| --- | --- | --- | --- |
| Fernando de Araújo | Gestora de Time Lider B2 | U05246DK08P | dcfb3e86-82b5-49a7-b50a-c21c32a018f4 |
| Tiago Merli | PO AI Journey | U02RNYB3H4B | af1368db-0c13-4c75-8049-8e0be6bd0779 |
| Wesley | Desenvolvedor | U05151R04B9 | c67bb1d3-6e29-4fc6-b8c8-b8034b0bd15b |
membros do Time (recados resumos e alertas): Fernando de Araújo ( U05246DK08P )
Em quais momentos faz sentido a interação direta? No acompanhamento do Plano de Desenvolvimento Individual (PDI) das pessoas do time. Como saber se o nível de uma pessoa coincide com as tarefas que está entregando? Com o Tech Manager, podemos associar o que a pessoa está entregando com o nível atual e identificar novos desafios ou próximos passos — pelo menos do ponto de vista de insights (percepções) — que podemos atribuir para que essa pessoa alcance a etapa seguinte na carreira. Torna-se algo muito mais dinâmico. Sempre vimos, ao longo da trajetória, desafios para alinhar o PDI com a estratégia da empresa. Uma ferramenta como essa, na qual construímos e entendemos o que cada um entrega, como se comunica (pois temos o registro das dailies) e o que pode melhorar, permite um PDI mais estratégico. Fica a recomendação, caso esse seja o seu desafio. Talvez o objetivo não seja a gestão do board, mas a criação de um PDI estratégico. Essa ferramenta também pode apoiar nisso.
O que compõe uma skill? Basicamente, os principais campos são “name” e “description”, porque a skill pode ser ativada de várias formas. Podemos ativá-la diretamente pelo nome definido — por exemplo, /manager —, e ela será reconhecida. Ou, durante interações com o Claude Code, ele pode detectar que precisa ativar aquela skill para resolver um desafio. Como ele sabe disso? Pela descrição definida. Portanto, a descrição é extremamente importante para que o Claude Code (ou o harness que utilizarmos) saiba que aquela habilidade deve ser adicionada ao contexto de trabalho.
Como exemplo mínimo desses metadados, o cabeçalho com name e description pode ser definido assim:
name: MANAGER
description: AI Tech Manager - Gerido do Time AI Academy via Slack, Microsoft Teams e Planner. Lê conversas, extrai
tarefas, recocilia com o Planner para gerar relatorios executivos. Use quando o usuário disser "manager", "tech manager",
"relatório do time" ou pedir para atualizar o Planner com base em uma conversa.
Com isso, a skill pode ser invocada explicitamente por nome (por exemplo, com /manager) e também ser detectada automaticamente pela descrição durante as interações.
Temos ainda uma descrição de equipe pequena — obviamente, não listamos todas as pessoas. Porém, há pontos de configuração necessários. Inclusive, mantemos uma skill para gerar um Tech Manager. Por quê? Porque há configurações necessárias. A skill não sabe quem são as pessoas do nosso time que estão no Slack. Poderíamos usar a ferramenta para listar as pessoas, mas isso traria toda a empresa; precisamos saber quem está em cada squad do nosso time. Precisamos definir essas regras. A forma mais simples encontrada foi ter uma skill ou mesmo usar um script (roteiro) para definir alguns itens.
Por exemplo, no Microsoft Planner temos o Planner ID, que é o ID do board; temos o nome do board; temos o tenant ID. Todas essas informações estão na URL do Planner. Se utilizarmos outra ferramenta, provavelmente não teremos exatamente esses campos (Planner ID etc.). Quais são os pontos principais necessários para construir a skill? No nosso caso, como usamos a API do Microsoft 365, geramos um client ID. Há outras informações também. Isso não foi feito manualmente; o próprio Claude Code auxilia na configuração. O que precisamos é saber quais são os principais valores que serão necessários. E, se não houver certeza, podemos pedir ao Claude Code que ajude.
Imagine que, para criar um novo Tech Manager (Gerente de Tecnologia) com essas ferramentas, deixamos algo vazio e pedimos ao Claude Code que nos ajude a preencher as informações necessárias. Ele apoia esse processo. As instruções estão no próprio ambiente. Este documento, este script, foi criado pelo próprio Claude Code; fornecemos apenas os prompts (instruções) necessários para que fosse gerado.
Para iniciar a jornada, não é necessário configurar muitas ferramentas. Podemos começar com algo mais simples. “Queremos testar a Skill (habilidade) com o Slack inicialmente.” Em alguns casos, é possível coordenar com o time para que a daily (reunião diária) ocorra pelo Slack. Se o plugin já estiver conectado, tudo funcionará por lá. A Skill terá como base de contexto as informações do Slack: conversas e transcrições das dailies que acontecem em canais específicos.
No entanto, será necessário, no Slack, coletar algumas informações: o identificador da pessoa, do canal, e assim por diante. Por exemplo, podemos abrir o perfil de uma pessoa e copiar o identificador do membro. Ao copiar esse identificador, definimos o identificador Slack da pessoa usuária Fernanda. Precisamos informar qual é esse identificador.
Para registrar e persistir esses identificadores no arquivo de configuração (por exemplo, config.sh), adicionamos:
export SLACK_USER_FERNANDA="U0112A6Q69T"
export MSMS_USER_FERNANDA="cfc2e4b0-68a2-4be7-b3a4-c13de01850f4"
No vídeo, isso também apareceu de forma direta, registrando apenas o identificador do Slack para a Fernanda:
export SLACK_USER_FERNANDA="U01H4AEKH2V"
Isso é necessário porque, em algum momento, o Claude Code solicitará essa informação. Supondo que não colocamos nada e queremos enviar uma mensagem para a Fernanda no Slack, ele indicará: “Não sei quem é Fernanda. Preciso do identificador.” Tentará obtê-lo. Dentro desse processo, obtém o identificador da Fernanda. Em seguida, podemos orientar: “Guarde isso em algum local para que esse contexto já esteja disponível na próxima interação.” Assim, vamos construindo uma dinâmica iterativa. Não é necessário começar definindo inúmeras variáveis. Conforme interagimos, entendemos o que é relevante ou não.
Com canais relevantes no Slack, o raciocínio é o mesmo. Temos o identificador de um canal, como o canal “AI Academy”, que é relevante para o nosso contexto. O mesmo vale para o Teams. No Teams, há o identificador de um chat (conversa) específico, e podemos registrar essa informação.
Para isso, comece registrando os canais e threads-chave no mesmo config.sh. Aqui estão dois exemplos que mapeiam o canal do Slack e a thread de chat do Teams para a daily:
# Slack - canais
# ==============================================================================
export CHANNEL_AI_ACADEMY="C06P4NZK2DL"
# Teams - Daily AI Academy
# ==============================================================================
# Chat thread da reunião recorrente (agendado pela Fernanda)
export DAILY_TEAMS_CHAT_ID="19:meeting_MGFiMzhmOTktYTU1Yi00MTYyLWE0MWItZmExMzliZTAyYzFl@thread.v2"
Outra variação do mapeamento do canal AI Academy (também exibida no vídeo) é:
export CHANNEL_AI_ACADEMY="C06MQ2E52JL"
Como complemento prático, segue também a variação que mapeia, no mesmo config.sh, os identificadores da Fernanda tanto no Slack quanto no Teams. Isso permite que a skill enderece as mensagens sem ambiguidade:
export SLACK_USER_FERNANDA="U01G6N34XQV"
export TEAMS_USER_FERNANDA="8f9b9ab2-8e10-410a-81a1-305ef7d7b4d3"
Ao cadastrar esses IDs, a skill consegue enviar resumos e cobranças para os destinos corretos, sem precisar perguntar a cada nova execução.
Quanto ao Planner, especificamente, utilizamos a API porque, no Microsoft 365, por enquanto não conseguimos usar o plugin do Microsoft 365 para comunicar com o Planner. Por isso, foi necessário adicionar via API. Usamos o Claude Code para nos ajudar a organizar as requisições necessárias para interagir com o board (quadro) do Planner. Por exemplo, ao fornecer o link do Planner para o Claude Code, ele consegue obter as informações contidas ali. Qual é o identificador do Planner? Extrai da URL. Qual é o tenant ID? Também extrai da URL.
Para deixar essas variáveis disponíveis ao orquestrador, registramos no arquivo de configuração:
# Microsoft Planner / Microsoft 365
export PLANNER_BOARD_URL="https://planner.cloud.microsoft/pt-br/plan/..."
Em seguida, complementamos com o ID do board:
# Microsoft Planner / Microsoft 365
export PLANNER_BOARD_URL="https://planner.cloud.microsoft/pt-br/plan/..."
export PLANNER_BOARD_ID="W2u_..."
E também os identificadores de tenant e da aplicação registrada no Azure AD (para a Graph API):
export TENANT_ID="0d2b..."
export MSMS_CLIENT_ID="af1d..."
Em uma configuração objetiva exibida no vídeo, registramos os IDs essenciais do tenant e da aplicação:
# Microsoft Planner / Microsoft 365
export TENANT_ID="0d2b93fc-0118-4a18-aecd-a33f1abeb093"
export CLIENT_ID="a4f10d6b-1766-4e15-b3e3-b3b40097a7a3"
Em seguida, reforçamos o Client ID para o fluxo de device code:
# App Registration - device code flow
export CLIENT_ID="a4f10d6b-1766-4e15-b3e3-b3b40097a7a3"
Na prática, convém consolidar esses itens em um esqueleto de config.sh que já antecipa buckets e a App Registration para o fluxo de Device Code. Um exemplo inicial seria:
#!/bin/bash
# ID do Planner/Microsoft 365
# ==============================================================================
export PLANNER_BASE_URL="https://planner.cloud.microsoft/rotes/plan/"
# App Registration - Device Code flow
# => https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/~/Overview/appId/aab71b05-c70d-4021-99ed-92
export MICROSOFT_CLIENT_ID="aa61b05-c70d-4021-99e4-92a5b06697d3"
# Bucket IDs - Pipeline
# ==============================================================================
export BUCKET_EXECUTING="tI9yIalv_keaHngy57qRfmQAFwUp"
export BUCKET_VALIDATION="K2nK5BwSvkepHngy57qRfmQACoew"
export BUCKET_DONE="0xWzPyt_KUGkL_pIu_O1eWQAFn2w"
export BUCKET_FROZEN="1H1e7fIe5EapgXhN4B3b3mQAFxPU"
Para consolidar, segue um exemplo de config.sh mais completo que centraliza variáveis do Planner, buckets, canais e o App Registration para Device Code Flow. Isso facilita a automação do orquestrador:
#!/bin/bash
# Microsoft Planner / Microsoft 365
export PLANNER_BASE_URL="https://planner.cloud.microsoft/pt-br/plan"
# App Registration - Device Code Flow
# https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/~/Overview/appId/e9f1a0b5-1746-48a1-93e3-51bb31d2ba50/isMSAApp~/false
export CLIENT_ID="e9f1a0b5-1746-48a1-93e3-51bb31d2ba50"
# Bucket IDs - Planner
export BUCKET_EXECUTING="tTgvL8jGykS_0FLUM_B2KskACHH_"
export BUCKET_VALIDATION="tTgvL8jGykS_0FLUM_B2KskACHH_"
export BUCKET_PENDING="tTgvL8jGykS_0FLUM_B2KskACHH_"
export BUCKET_FROZEN="tTgvL8jGykS_0FLUM_B2KskACHH_"
# Slack - canais
export CHANNEL_AI_ACADEMY="C06P4NZ1K8M"
# Teams - Daily AI Academy
# Chat thread da reunião recorrente (agendada pelo Fernando)
export DAILY_TEAMS_CHAT_ID="19:meeting_MGUyYTdkZTctMWEyNS00MzJjLTk2NWItNWQzYzU1ZWQzMzE2@thread.v2"
Como complemento prático (também mostrado no vídeo), segue outro exemplo de bloco de configuração com o App Registration e IDs de buckets do pipeline. Isso pode ser adicionado ao seu config.sh conforme sua estrutura:
# Microsoft Planner / Microsoft 365
# App Registration - device code flow
# https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/~/Overview/appId/e31dfa6b-178d-4e15-b3a3-62d1b33a01d3/isMSAApp~/false
export APP_CLIENT_ID="e31dfa6b-178d-4e15-b3a3-62d1b33a01d3"
# Bucket IDs - Pipeline
export BUCKET_DEV_ID="plans/kPL8N_ZFBucket"
export BUCKET_EXECUTING="E6rL3R_SGs2gVdgeB82U0ZpU"
export BUCKET_VALIDATING="t8n-4mI9-02j31x000m9s0k0d"
export BUCKET_FROZEN="5Rk8d-19m-02j31x000m9s0k0d"
Para finalizar essa etapa de configuração do Planner com os dados que aparecem no vídeo, mapeamos também os buckets do pipeline e o board:
# Bucket IDs - Pipeline
export BUCKET_BACKLOG="2F2zXpPjEky_GP1WqO3uQpcAFXv0"
export BUCKET_EXECUTING="lZy3lcjNykCqdI_0q8q4NpcAEUsw"
export BUCKET_VALIDATION="oVz99VlBJE-d07o9h_m-3ZcAEqEa"
export BUCKET_DONE="uH22L1m58ky2xP_4hH93O5cAHe0D"
export BUCKET_FROZEN="l6u1eD1jAEuzr2-iZ84LypcAFv1u"
E explicitamos o identificador do board do Planner:
export PLANNER_BOARD_ID="uH22L1m58ky2xP_4hH93O5cAHe0D"
Agora, acrescentando um exemplo objetivo de configuração essencial que aparece diretamente no vídeo (útil para quem está validando o fluxo de Device Code da Graph API), registramos a base do Planner e o Client ID da App Registration:
# Microsoft Planner / Microsoft 365
export PLANNER_BASE_URL="https://planner.cloud.microsoft/pt-br/plan/"
# App Registration -> Device code flow
# https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/~/Overview/appId/e1d51a6b-1766-4e15-93a3-63eb3a68d7d7
export MS_CLIENT_ID="e1d51a6b-1766-4e15-93a3-63eb3a68d7d7"
Além dessas variações já incluídas no corpo da explicação, o vídeo também mostra trechos complementares de configuração da daily e do calendário, que podem ser úteis se sua organização adota o fluxo de transcrições via Graph API. Aqui está o bloco correspondente:
# Chat thread da reunião recorrente (gerenciado pelo fernando)
export DAILY_MEETING_ID="19:meeting_MGU1YjZhNjItNzZhMy00YjVmLWExYzUtYTViMWNmYzQ1ZjI1@thread.v2"
# Keyword para localizar o evento no calendário (outlook_calendar_search)
export DAILY_CALENDAR_KEYWORD="Daily AI Academy"
# ID da reunião online recorrente - usado para buscar transcrições via graph API
export DAILY_ONLINE_MEETING_ID="MSpkYzU1YmRiZS1hN2Q2LTRmMTgtOWJmZC01M2Y1MDVlODcwNjgqMSpkYzU1YmRiZS1hN2Q2LTRmMTgtOWJmZC01M2Y1MDVlODcwNjg="
Na mesma sequência de configuração do vídeo, reforçamos a App Registration (client ID) utilizada no fluxo de device code:
# Microsoft Planner / Microsoft 365
# App Registration - device code flow
# https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/~/Overview/appId/eef145d5-1746-4a15-93e1-51bb020bd7d7
export APP_CLIENT_ID="eef145d5-1746-4a15-93e1-51bb020bd7d7"
E complementamos com a URL base do Planner e os URIs/buckets para armazenamento referencial exibidos no vídeo:
# URL base do Planner
export PLANNER_BASE_URL="https://planner.cloud.microsoft/pt-br/plan"
# URI de bucket para armazenar artefatos/relatórios do pipeline
export BUCKET_URI="s3://planner/plans/bPL00_Stbuckets"
# Bucket de execução do pipeline (exemplo)
export BUCKET_EXECUTION="s3://planner/plans/bPL00_Stbuckets/pipeline"
A configuração acontece como uma jornada de interação com o Claude Code, conforme surgem necessidades específicas. Se precisamos interagir com o Planner, quais são os caminhos? Usar um plugin? Usar a API? Ambos funcionam. Inicialmente, não foi possível usar o plugin para este cenário, mas, para muitas ferramentas, sempre teremos as duas opções. A recomendação é priorizar o caminho do plugin, do MCP (Model Context Protocol), por ser mais prático e simples de configurar. Se essa opção não existir, não ficamos desamparados: podemos usar a API e, quando o plugin estiver disponível, migrar para ele.
Para conectar com a prática mostrada no vídeo, consolidamos abaixo um bloco de variáveis de ambiente do Planner e de autenticação Microsoft Graph/365 que o orquestrador utilizará:
# Planner
export PLANNER_ROADMAP_ID="t8TlsJmSKEG0P28s1lZ1xWQAALuF"
export PLANNER_BACKLOG_ID="z-T-V3b_8UuX1W42VvQ72WQAADZ5"
export PLANNER_SPRINT_ID="Q3q_H2M_v0u4W42VvQ72WQAAL1B"
# Microsoft Planner / Microsoft 365
export MS_CLIENT_ID="af1368db-0c13-4c75-8049-8e0be6bd0779"
export MS_CLIENT_SECRET="<SECRET>"
export MS_TENANT_ID="<TENANT_ID>"
# App Registration - device code flow
# https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/~/Overview/appId/af1368db-0c13-4c75-8049-8e0be6bd0779
export BUCKET_S3="s3://planner/plans/$PLANNER_ROADMAP_ID/buckets"
# Bucket IDs - Pipeline
export BUCKET_BACKLOG="21L2b_H2M_v0u4W42VvQ72WQAADZ5"
export BUCKET_EXECUTING="21L2b_H2M_v0u4W42VvQ72WQAADZ5"
export BUCKET_VALIDATION="21L2b_H2M_v0u4W42VvQ72WQAADZ5"
export BUCKET_FROZEN="21L2b_H2M_v0u4W42VvQ72WQAADZ5"
export BUCKET_DONE="21L2b_H2M_v0u4W42VvQ72WQAADZ5"
Complementando as variáveis do pipeline, adicionamos também canais do Slack e a reunião da daily no Teams, conforme a gravação:
export BUCKET_EXECUTING="21L2b_H2M_v0u4W42VvQ72WQAADZ5"
export BUCKET_VALIDATION="21L2b_H2M_v0u4W42VvQ72WQAADZ5"
export BUCKET_FROZEN="21L2b_H2M_v0u4W42VvQ72WQAADZ5"
export BUCKET_DONE="21L2b_H2M_v0u4W42VvQ72WQAADZ5"
# Slack - canais
export CHANNEL_AI_ACADEMY="C04N1N1M12L"
# Teams - Daily AI Academy
export TEAMS_DAILY_MEETING_ID="19:meeting_MjQwMWMxZDItYTEwNy00YmU5LWIwMjUtZTFhM2M1YWI0YmI0@thread.v2"
# Keyword para localizar o evento no calendario (outlook_calendar_search)
export DAILY_CALENDAR_KEYWORD="Daily AI Academy"
Vamos observar o funcionamento. Conectamos o MCP do Slack via plugin. Assim, podemos interagir com o Slack. Para acionar nosso Tech Manager, podemos digitar Manager e solicitar algo, por exemplo: “Quais são as tarefas que precisam da minha atenção?” Ao escrevermos /Manager, a Skill do Tech Manager é carregada.
Para ativar a skill diretamente:
/manager
Ou já iniciar perguntando o que precisa de atenção:
/manager quais são as tarefas que precisam da minha atenção
Também é possível invocar a skill pelo próprio nome, em linguagem natural, sem a barra de comando:
manager quais são as tarefas que precisam da minha atenção
Outra forma direta, como aparece no vídeo, é usar a forma curta da pergunta:
manager quais as tarefas que precisam da minha atenção?
No vídeo, ao demonstrar a invocação pelo nome e a pergunta direta, os comandos aparecem assim no console do agente:
> manager
E, logo em seguida, a consulta que já pede o filtro de atenção:
> manager quais são as tarefas que precisam da minha atenção?
Nesse ponto, é feita uma verificação de acesso ao Microsoft 365 para checar se há um token (código de acesso) inválido. O sistema informa: “Parece que a sua sessão de autenticação com a conta Microsoft expirou.” E oferece a opção: “Acesse este link, use este código e autentique a sessão.” Enquanto isso, outras ações já ocorrem. O sistema lê o canal “Tech Academy” e apresenta o que está em aberto e pode exigir atenção.
Como estamos utilizando a Microsoft Graph API para dar suporte às operações (especialmente com o Planner), deixamos preparado no config.sh o fluxo de Device Code para autenticação interativa:
# App Registration -> Device code Flow
export URL="https://login.microsoftonline.com/$TENANT_ID/oauth2/v2.0/devicecode"
export SCOPES="https://graph.microsoft.com/.default"
Se preferirmos, também podemos registrar a URL de OAuth e reforçar o client ID de forma explícita:
# App Registration -> Device code Flow
export URL="https://login.microsoftonline.com/$TENANT_ID/oauth2/v2.0/devicecode"
export URL_OAUTH="https://login.microsoftonline.com/..."
export SCOPES="https://graph.microsoft.com/.default"
export MSMS_CLIENT_ID="af1d57e8-1700-4b13-93e3-6c0c20ab07e3"
Isso evidencia a importância de definir diretrizes via Skill. Na Skill, está definido: quando Rafael precisar consolidar atividades e pontos de atenção, verificar o que está sendo enviado no canal “Tech Academy”, as conversas no Teams e consolidar com o que há no board. Para acessar o board, o sistema também solicita que informemos “ok” quando concluirmos a autenticação. Abrimos a tela para inserir o código. Para mais informações sobre isso, estamos usando a Microsoft Graph API para essas interações; contudo, para interagir com o Teams, já existe o MCP do Microsoft 365, logo não é necessário adicionar a Graph API especificamente para o Teams. Prosseguimos com a autenticação. Com a sessão ativa, a interação ocorre normalmente. Confirmamos com “ok” e o sistema cruza as informações: o que há de tarefas, o que está sendo discutido nas dailies, o que existe no Microsoft To Do, o que está em progresso, e consolida tudo.
Podemos estar fazendo aqui uma sequência de prompts manualmente, mas é possível criar uma rotina: toda manhã, enviar os pontos de atenção do que foi falado nas dailies, as novas tarefas geradas e o percentual dedicado a cada frente definida (por exemplo, engenharia de software A, segurança, operações), comparando com o enquadramento estratégico definido (por exemplo, 15% no item 1, 20% no item 2). Assim, identificamos desvios de estratégia com agilidade graças às interações e informações disponíveis.
O sistema pode trazer tarefas de exemplo e perguntar se desejamos que alguma ação seja tomada. Simplificamos a Skill para demonstração, mas já é bastante interessante para trabalharmos. Por exemplo: “Deseja cobrar alguém pelo Slack? Deseja mover uma tarefa?” Podemos solicitar: “Gere um relatório estratégico e envie para a Fernanda no Teams.” Se houver várias pessoas chamadas Fernanda na empresa, como saber para qual enviar? Primeiro: como montar o relatório estratégico? Isso está definido na Skill. Segundo: qual Fernanda é mencionada por Rafael? É a Fernanda que está nas configurações definidas. O sistema pode informar que não há chat criado com ela, criar e enviar a mensagem. Ao verificar no Teams, vemos a mensagem com o que está em execução, em validação, itens atrasados, bloqueados, pendências abertas e pontos positivos. Esse fluxo manual também pode ser transformado em rotina: começar o dia com a visão estratégica do que foi falado nas dailies.
Para emitir esse comando ao agente, usamos algo como:
gerar um relatorio estratégico e envia para Fernanda no Teams
E, como aparece exatamente na gravação, o prompt curto foi digitado no console do agente desta forma:
> gerar um relatorio estratégico e envia para Fernanda no Teams
Eu, Rafael, como CTO, não consigo estar nas dailies de todas as squads, que muitas vezes ocorrem ao mesmo tempo (por exemplo, três dailies simultâneas entre 8h15 e 8h30). Não é possível estar presente em todas, mas com o Tech Manager podemos acompanhar todas e agir de forma estratégica. Podemos ainda pedir: “Cobre de todas as pessoas as tarefas sem prazo.” O sistema enviaria mensagens no Slack e se identificaria como “AI Tech Manager”. Isso vira um hábito e uma rotina no dia a dia.
É fundamental reunir tudo o que usamos nesse contexto em uma base de conhecimento. As conversas realizadas ajudam a melhorar a Skill e também a criar novas Skills. Não é necessário uma Skill única que faça tudo. É recomendável dividir em Skills menores. Podemos referenciar uma Skill dentro de outra e criar uma memória do que foi aprendido. Às vezes, o agente toma uma decisão não ideal. Por exemplo, tenta obter a transcrição de uma daily usando a ferramenta do Microsoft 365, mas essa ferramenta não tem a permissão habilitada. Automaticamente, decide ir por outro caminho: usar a Microsoft Graph API, que já dá acesso, e obter a transcrição. Está correto, mas, para a próxima ação, para que não repita a tentativa sem permissão, registramos o aprendizado gerando uma memória em Markdown (formatação de texto), em um arquivo de texto, com esses aprendizados, para ser usada sempre que houver essa solicitação específica de Rafael.
Esse arquivo de memória pode entrar diretamente no nosso cloud.md, para simplificar. O cloud.md, lembrando, é carregado no System Prompt. Esse é um ponto importante que ainda não tínhamos detalhado. O cloud.md é carregado a cada interação, chamando ou não a Skill. Precisamos determiná-lo. A Skill principal aqui foi definida como “manager”. E há a configuração no config.sh. Isso é importante porque, se tentarmos iniciar uma conversa, o sistema carregará essa configuração e poderá dizer: “Falta um arquivo de configuração” ou “O arquivo não está completo”. Em seguida, ele ajuda a completar: “Passe o identificador Slack da Fernanda.” O agente pedirá, obterá e guardará. A construção é a quatro mãos: o agente interage conosco para compor essa dinâmica.
No exemplo, definimos o time “AI Academy”, com três pessoas. Estão lá o identificador do Slack, o identificador do chat no Teams e quem é a pessoa gestora do time. Também definimos formatos de mensagem, ou seja, como deve reportar ou cobrar. Isso é bastante útil.
Um exemplo de registro dessa configuração de equipe, que pode estar num documento de apoio (Markdown) da própria skill:
| Nome | Função | Slack ID | MSMS User ID |
| :----------------- | :----------------------------- | :----------- | :------------------------------------ |
| Fernando de Araujo | Gestora do Time (Lider de IA) | U0112A6Q69T | cfc2e4b0-68a2-4be7-b3a4-c13de01850f4 |
| Tiago Merli | PO AI Journey | U029Q1QBV60 | a7ca14b3-0c15-4375-8049-8e8beddd5779 |
Gestora do Time (recebe resumos e alertas): Fernando de Araujo (`U0112A6Q69T`)
Para enriquecer as variações do documento de equipe exibidas no vídeo, segue também a tabela com membros e endereços padrão, na formatação que apareceu durante a demonstração:
## Time AI Academy
| Nome | Função | Slack ID | MS Teams User ID |
| :--- | :--- | :--- | :--- |
| Fernando de Araújo | Gestora de Time (Líder BA) | U0113A2H3EY | e0f4b1d6-d2a3-48e7-b2e4-cb1c11818df4 |
| Tiago Merri | PM AI Journey | U02R4U2BVD0 | a72cba00-8c75-41fd-8b45-66a9edd0d779 |
Endereço de Time (reuniões recados e alinhamentos) -> Fernando de Araujo ( U0113A2H3EY )
## Configuração Inicial
Para conectar rapidamente a skill à sua realidade (como mostrado no vídeo), mapeamos os identificadores principais das pessoas do time. Isso permite endereçar mensagens e relatórios sem ambiguidades:
export SLACK_USER_FERNANDA="U05246DK08P"
export MS_USER_FERNANDA="dcfb3e86-82b5-49a7-b50a-c21c32a018f4"
# Tiago Merli | PO AI Journey
export SLACK_USER_TIAGO="U02RNYB3H4B"
export MS_USER_TIAGO="af1368db-0c13-4c75-8049-8e0be6bd0779"
Vamos a um exemplo real do dia a dia: o Tech Roadmap Bot. O objetivo é dar visibilidade aos passos intermediários do que está acontecendo. Chegou ao Tiago Pereira; Tiago respondeu que um tema foi despriorizado por ora e o item dois foi ajustado. Basicamente, o Bot enviou uma cobrança que estava pendente, Tiago respondeu e o Bot ajustou automaticamente. Não houve intervenção de Rafael. Rafael pode perguntar algo ao Tech Manager ou consultar o board, que permanece atualizado.
Houve outro caso com Renato. Em vários itens é possível ver a atuação. Em um deles, o Bot enviou: “Fala, Passone”, atualizando o Roadmap com a daily de hoje, e identificou que determinada tarefa estava sem prazo, informando que já cobrou o Evandro. Para contextualizar: Vinícius Passone é Tech Lead. Evandro é uma pessoa desenvolvedora plena na squad do Passone. O Bot avisou ao Tech Lead: “Evandro comentou sobre um bug e não colocou prazo; já solicitei o prazo e estou apenas informando.” O potencial disso é claro: Passone poderia atualizar o board e cobrar o Evandro, e vice-versa, mas agora não precisa executar essas tarefas operacionais e pode atuar de forma mais estratégica. Não afirmamos que, por isso, a produtividade aumentará automaticamente, mas o essencial está garantido: um board atualizado e alinhado com o que é discutido, como temos enfatizado.
Podemos gerar relatórios, criar rotinas e obter resultados. Estamos explorando o PDI e o resultado ficou muito satisfatório, especialmente porque realizamos o trabalho com a liderança de Engenharia, que acompanha o time de perto. Observamos o quanto a análise se aproximou da visão que já tínhamos. Claro que há pontos a refinar, mas a visão ficou muito próxima à da liderança de Engenharia e à minha, como CTO. Por quê? Porque um contexto relevante está sendo construído desde o início do ano. Nosso AI Tech Manager está operando efetivamente neste semestre. Temos as comunicações, as transcrições, o que está sendo entregue, o que é falado e não cumprido, e até o que é entregue além do combinado. Perguntamos ao Tech Manager: “Quem é a pessoa que mais está se destacando? Justifique.” É impressionante como, muitas vezes, a avaliação fica alinhada com a percepção humana.
Um aviso importante: a decisão final segue sendo humana. Precisamos acompanhar as pessoas de perto, mas, por tempo e estratégia, não conseguimos estar em todos os lugares ao mesmo tempo. Para isso existe o AI Tech Manager, para nos ajudar nesse caminho.
Esperamos ter ampliado a visão sobre as possibilidades com esse AI Tech Manager. A ideia é evoluir as Skills junto com o Claude Code, usando-o como ferramenta de gestão. Tenham isso em mente. Aqui na StartSe, usamos Teams, Slack e Planner. Agora também está conectado ao GitHub Projects. E não temos apenas um AI Tech Manager: há o AI Tech Manager do Rafael, o AI Tech Manager da liderança de Engenharia e AI Tech Managers de lideranças de unidades de negócio. Pessoas que não são necessariamente de tecnologia, que não estão no dia a dia das sprints e das entregas, usam o Claude Code. Isso é impressionante. É possível. Não tenham receio de abrir um terminal.
Falamos de Skills. Inclusive, o pessoal da Anthropic criou o Cowork pensando nessa jornada. Por baixo disso está o Claude Code, cujo objetivo é facilitar a interface para quem não é técnico. Algumas partes podem ser mais complexas para quem não é da área, mas vale continuar explorando e avançando, porque é possível construir soluções muito boas e usar IA para ajudar nesse caminho. Como mencionamos, não construímos a Skill do zero sozinhos. Praticamente usamos o Claude Code como ferramenta para nos ajudar a construir, descrevendo qual era a dor e o problema.
Portanto, vale perguntar: qual é a sua dor operacional hoje? Criar um PDI estratégico? Ter um board totalmente alinhado com o que o time comunica? Gerar um relatório alinhado com a estratégia versus o que o time está combinando nas reuniões? Pense no desafio e construa a solução. Isso tende a mudar a perspectiva e abrir um leque de possibilidades.
Hoje usamos essa abordagem para obter um resumo dos blocos principais do dia a dia, alinhamento estratégico, e enviamos para os canais no Slack com perspectivas diferentes: um resumo para a rede de Engenharia e um resumo estratégico para o CTO. É essencial definir como queremos o relatório estratégico. Usamos o Claude Code para não apenas buscar informações dispersas em diversas fontes, mas também planejar e agir melhor, até construirmos confiança suficiente para deixá-lo coordenar algumas coisas.
Ao dizer “coordenar”, referimo-nos a executar o trabalho demonstrado: ir ao Tech Lead e avisar “cobrei tal pessoa do seu time para colocar prazo no bug reportado na daily; já está no card”. Quando a pessoa responde, o Bot atualiza o card e avisa o Tech Lead. É uma automação operacional que ajuda muito e evita informação desatualizada. Nunca tivemos um board tão alinhado e atualizado como agora. Isso abre um conjunto amplo de outras possibilidades, que certamente se abrirão para vocês também.
O valor muda conforme a perspectiva: pode ser para tecnologia, pode ser para liderança. Se você não for uma pessoa líder de tecnologia, ainda assim vale olhar para isso, pois ajuda a atuar de modo mais estratégico, deixando a parte operacional para o sistema agente que você está construindo. Construa mais Skills, orquestre essas Skills com o Claude Code para obter melhores resultados no negócio. O futuro não é apenas sobre modelos mais inteligentes; é sobre IA melhor conectada. O Claude Code como orquestrador, conhecendo as ferramentas e o time. Junte as peças e construa seu AI Tech Manager para ajudar na sua jornada e nos seus desafios.
O curso Case StartSe - AI Tech Manager possui 59 minutos de vídeos, em um total de 7 atividades. Gostou? Conheça nossos outros cursos de IA para Produto & Negócio em Inteligência Artificial, ou leia nossos artigos de Inteligência Artificial.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
O Plano Plus evoluiu: agora com Luri para impulsionar sua carreira com os melhores cursos e acesso à maior comunidade tech.
2 anos de Alura
Matricule-se no plano PLUS 24 e garanta:
Jornada de estudos progressiva que te guia desde os fundamentos até a atuação prática. Você acompanha sua evolução, entende os próximos passos e se aprofunda nos conteúdos com quem é referência no mercado.
Back-end, Dados, Front-end, DevOps, Mobile, Gestão & Negócios, UX & Design, Cibersegurança, Cloud, Inteligência Artificial
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
Acesso à inteligência artificial da Alura.
No Discord, você participa de eventos exclusivos, pode tirar dúvidas em estudos colaborativos e ainda conta com mentorias em grupo com especialistas de diversas áreas.
Catálogo de tecnologia para quem é da área de Marketing
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
20% de desconto na Pós Tech
Luri Vision chegou no Plano Pro: a IA da Alura que enxerga suas dúvidas, acelera seu aprendizado e conta também com o Alura Língua que prepara você para competir no mercado internacional.
2 anos de Alura
Todos os benefícios do PLUS 24 e mais vantagens exclusivas:
Acesso ao catálogo da Casa do Código e leitura dentro da plataforma
Chat, busca, exercícios abertos, revisão de aula, geração de legenda para certificado.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Para quem quer atingir seus objetivos mais rápido: Luri Vision ilimitado, vagas de emprego exclusivas e mentorias para acelerar cada etapa da jornada.
2 anos de Alura
Todos os benefícios do PRO 24 e mais vantagens exclusivas:
Catálogo de tecnologia para quem é da área de Marketing
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais de forma ilimitada.
Conecte-se ao mercado com mentoria individual personalizada, vagas exclusivas e networking estratégico que impulsionam sua carreira tech para o próximo nível.