robius-event-action
Faz seu agente lidar com eventos e ações dentro do sistema Robius. Ele entende como as interações do usuário e do sistema funcionam.
O que ela faz
Esta ferramenta ajuda a organizar como diferentes partes de um programa de computador se comunicam. Ela define padrões para que as ações (como clicar em um botão) e eventos (como receber uma mensagem) sejam tratados de forma organizada.
Quando usar
- ✓Ao criar novas ações personalizadas em um programa.
- ✓Quando você precisa que diferentes partes do programa reajam a eventos.
- ✓Para gerenciar a comunicação entre elementos visuais (widgets).
Exemplo do que pedir para a IA
“Como posso configurar o programa para que, ao clicar em um botão, ele envie uma mensagem específica?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ela funciona definindo 'ações' que podem ser disparadas por eventos. Essas ações são então processadas em um local centralizado no programa, garantindo que tudo seja tratado de maneira consistente.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill robius-event-actionOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/robius-event-action/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Disponibilidade de Material de Apoio
Esta cópia do catálogo contém as orientações inline abaixo, mas não inclui os seguintes caminhos de suporte. Eles são pré-requisitos externos, não arquivos incluídos:
<support-root>/references/action-patterns.md<support-root>/references/event-handling.md<support-root>/references/moly-action-patterns.md
Solicite o material de apoio original ou uma instalação existente antes de usar uma etapa que dependa desses caminhos; este catálogo não identifica uma fonte de download verificada para eles. Resolva cada caminho em relação a essa instalação, inspecione seu conteúdo e verifique quaisquer licenças aplicáveis e pré-requisitos de execução. Não execute um comando nem afirme que um procedimento referenciado foi seguido até que seu arquivo necessário exista. Não fabrique os scripts ausentes nem trate um arquivo não relacionado com o mesmo nome como equivalente. Etapas independentes totalmente documentadas aqui podem prosseguir dentro do escopo autorizado do usuário; relate qualquer etapa dependente como indisponível.
Skill de Padrões de Eventos e Ações Robius
Melhores práticas para tratamento de eventos e padrões de ações em aplicativos Makepad baseados em bases de código Robrix e Moly.
Bases de código fonte:
- Robrix: Cliente de chat Matrix - MessageAction, RoomsListAction, AppStateAction
- Moly: Aplicativo de chat de IA - StoreAction, ChatAction, NavigationAction, padrões de Timer
Quando Usar
Use esta skill quando:
- Implementar ações personalizadas em Makepad
- Tratar eventos em widgets
- Centralizar o tratamento de ações em App
- Comunicação de widget para widget
- Palavras-chave: makepad action, makepad event, widget action, handle_actions, cx.widget_action
Padrão de Ação Personalizada
Definindo Ações Específicas do Domínio
use makepad_widgets::*;
/// Actions emitted by the Message widget
#[derive(Clone, DefaultNone, Debug)]
pub enum MessageAction {
/// User wants to react to a message
React { details: MessageDetails, reaction: String },
/// User wants to reply to a message
Reply(MessageDetails),
/// User wants to edit a message
Edit(MessageDetails),
/// User wants to delete a message
Delete(MessageDetails),
/// User requested to open context menu
OpenContextMenu { details: MessageDetails, abs_pos: DVec2 },
/// Required default variant
None,
}
/// Data associated with a message action
#[derive(Clone, Debug)]
pub struct MessageDetails {
pub room_id: OwnedRoomId,
pub event_id: OwnedEventId,
pub content: String,
pub sender_id: OwnedUserId,
}
Emitindo Ações de Widgets
impl Widget for Message {
fn handle_event(&mut self, cx: &mut Cx, event: &Event, scope: &mut Scope) {
self.view.handle_event(cx, event, scope);
let area = self.view.area();
match event.hits(cx, area) {
Hit::FingerDown(_fe) => {
cx.set_key_focus(area);
}
Hit::FingerUp(fe) => {
if fe.is_over && fe.is_primary_hit() && fe.was_tap() {
// Emit widget action
cx.widget_action(
self.widget_uid(),
&scope.path,
MessageAction::Reply(self.get_details()),
);
}
}
Hit::FingerLongPress(lpe) => {
cx.widget_action(
self.widget_uid(),
&scope.path,
MessageAction::OpenContextMenu {
details: self.get_details(),
abs_pos: lpe.abs,
},
);
}
_ => {}
}
}
}
Tratamento Centralizado de Ações em App
Usando o Trait MatchEvent
impl MatchEvent for App {
fn handle_startup(&mut self, cx: &mut Cx) {
// Chamado uma vez na inicialização do aplicativo
self.initialize(cx);
}
fn handle_actions(&mut self, cx: &mut Cx, actions: &Actions) {
for action in actions {
// Padrão 1: Downcast direto para ações não de widget
if let Some(action) = action.downcast_ref::<LoginAction>() {
match action {
LoginAction::LoginSuccess => {
self.app_state.logged_in = true;
self.update_ui_visibility(cx);
}
LoginAction::LoginFailure(error) => {
self.show_error(cx, error);
}
}
…
Perguntas frequentes
O que são 'ações' e 'eventos'?
Ações são coisas que o programa faz em resposta a uma instrução (ex: 'salvar arquivo'). Eventos são coisas que acontecem e que o programa pode detectar (ex: 'o mouse clicou').
O que é 'Makepad'?
Makepad é uma ferramenta usada para construir interfaces de usuário para aplicativos.
Por que é importante ter padrões para ações e eventos?
Ter padrões ajuda a manter o código organizado, mais fácil de entender e menos propenso a erros, especialmente em programas grandes e complexos.
Detalhes
Descrição original do autor
CRITICAL: Use for Robius event and action patterns. Triggers on: custom action, MatchEvent, post_action, cx.widget_action, handle_actions, DefaultNone, widget action, event handling, 事件处理, 自定义动作
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4028
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC