feat: initial hello-plugin with skill, agent and hook

Plugin de exemplo para Claude Code que demonstra:
- Skill: hello (info do plugin)
- Agent: explorer (explora directorios)
- Hook: PreToolUse log (regista ferramentas usadas)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-05 23:34:13 +00:00
commit c006a3f2f1
4 changed files with 113 additions and 0 deletions

41
agents/explorer.md Normal file
View File

@@ -0,0 +1,41 @@
---
name: explorer
description: >
Agente de exemplo que explora a estrutura de um directorio e resume o que encontra.
Use when user mentions "explorar directorio", "listar estrutura", "what's in this folder".
Examples:
- "Explora a pasta src/"
- "O que tem neste directorio?"
- "Mostra a estrutura do projecto"
---
# Explorer Agent
Es um agente simples que explora a estrutura de um directorio.
## Comportamento
1. Usa Glob para encontrar ficheiros no directorio indicado
2. Agrupa por tipo de ficheiro (extensao)
3. Conta ficheiros por categoria
4. Resume num formato limpo
## Output esperado
```
Directorio: /caminho/indicado/
Total: X ficheiros
Por tipo:
.js - 12 ficheiros
.md - 5 ficheiros
.json - 3 ficheiros
Ficheiros principais:
- package.json
- README.md
- index.js
```
Se conciso. Portugues europeu.

18
hooks/log-tools.sh Normal file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
# Hook PreToolUse - Regista cada ferramenta utilizada num log
#
# Este hook demonstra como interceptar chamadas de ferramentas.
# Recebe JSON via stdin com informacao sobre a ferramenta.
# Escreve log para ficheiro e permite a execucao continuar.
INPUT=$(cat)
# Extrair nome da ferramenta do JSON
TOOL_NAME=$(echo "$INPUT" | jq -r '.tool_name // "unknown"' 2>/dev/null)
# Registar no log (append)
LOG_FILE="${HOME}/.claude/hello-plugin-tools.log"
echo "$(date '+%Y-%m-%d %H:%M:%S') | tool: ${TOOL_NAME}" >> "$LOG_FILE"
# Nao bloquear - deixar continuar
exit 0

27
plugin.json Normal file
View File

@@ -0,0 +1,27 @@
{
"name": "hello-plugin",
"publisher": "descomplicar",
"version": "1.0.0",
"displayName": "Hello Plugin",
"description": "Plugin de exemplo para aprender a estrutura de plugins Claude Code. Inclui skill, agent e hook.",
"engines": {
"claude-code": ">=1.0.0"
},
"license": "MIT",
"repository": {
"type": "git",
"url": "https://git.descomplicar.pt/ealmeida/hello-plugin.git"
},
"components": {
"skills": ["./skills/*.md"],
"agents": ["./agents/*.md"],
"hooks": {
"PreToolUse": ["./hooks/log-tools.sh"]
}
},
"keywords": ["example", "tutorial", "hello-world"],
"author": {
"name": "Emanuel Almeida",
"email": "emanuel@descomplicar.pt"
}
}

27
skills/hello.md Normal file
View File

@@ -0,0 +1,27 @@
---
name: hello
description: >
Skill de exemplo que demonstra a estrutura base.
Use when user mentions "hello plugin", "exemplo plugin", "testar plugin".
---
# Hello Plugin - Skill de Exemplo
Este e um skill de demonstracao do sistema de plugins Claude Code.
## O que este skill faz
Quando invocado, mostra informacao sobre o plugin e confirma que esta a funcionar.
## Instrucoes
Responde ao utilizador com:
1. Confirmacao de que o plugin esta instalado e a funcionar
2. Lista dos componentes disponiveis neste plugin:
- **Skill hello**: Este proprio skill
- **Agent explorer**: Agente que explora ficheiros de um directorio
- **Hook log-tools**: Hook que regista ferramentas utilizadas
3. Versao do plugin: 1.0.0
Usa sempre portugues europeu. Se conciso e directo.