From forge
Configura canais Forge — cria canais com token do BotFather e instala o launcher `forge` no shell. Use quando o usuário colar um token, pedir para configurar o Forge, listar canais existentes, ou verificar o status de um canal.
How this skill is triggered — by the user, by Claude, or both
Slash command
/forge:configureThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Cada canal Forge é um bot Telegram independente com seu próprio token. Tokens e estado ficam em `~/.claude/channels/<nome>/`. O canal ativo em uma sessão é sempre informado explicitamente via `forge <nome>` (que seta `FORGE_CHANNEL=<nome>`). **Nada é gravado dentro de projetos** — nenhum marcador, nenhum arquivo em `./.claude/`.
Cada canal Forge é um bot Telegram independente com seu próprio token. Tokens e estado ficam em ~/.claude/channels/<nome>/. O canal ativo em uma sessão é sempre informado explicitamente via forge <nome> (que seta FORGE_CHANNEL=<nome>). Nada é gravado dentro de projetos — nenhum marcador, nenhum arquivo em ./.claude/.
O servidor MCP é declarado pelo próprio plugin (em .mcp.json), portanto esta skill não usa claude mcp add.
Argumentos recebidos: $ARGUMENTS
Parse $ARGUMENTS (trim whitespace).
~/.claude/channels/ (crie se não existir). Cada subdiretório é um canal..env (token, mascarado nos primeiros 10 chars) e access.json (política + contagem de permitidos)."Nenhum canal configurado. Execute
/forge:configure <nome> <token>para criar o primeiro."
/forge:voice.<nome> <token> — criar/atualizar canal e instalar launcher<nome> é o identificador do canal (ex: backend, dropflux-frontend, mobile). Valide: só [a-zA-Z0-9_-], rejeite se tiver /, .., espaço.
<token> é o token do BotFather (formato 123456789:AAH...).
Valide <nome> (regex ^[a-zA-Z0-9_-]+$). Se inválido, explique e pare.
Valide que <token> contém :. Se não, avise e pare.
mkdir -p ~/.claude/channels/<nome>
Leia ~/.claude/channels/<nome>/.env se houver; atualize/adicione a linha FORGE_BOT_TOKEN=<token>, preservando outras chaves. Escreva sem aspas.
chmod 600 ~/.claude/channels/<nome>/.env
Registre as ferramentas do Forge no allowlist do Claude Code (~/.claude/settings.json). Sem isso, cada chamada a forge_reply, forge_react, etc. abre um prompt de permissão que trava a entrega ao Telegram.
~/.claude/settings.json se não existir (conteúdo inicial: {}).permissions.allow seja um array. Adicione ao array (se ainda não presentes — idempotente) as 4 entradas:
mcp__forge__forge_replymcp__forge__forge_reactmcp__forge__forge_edit_messagemcp__forge__forge_download_attachmentJSON.stringify(obj, null, 2).Instale a função forge no shell do usuário (idempotente — atualiza se marcador antigo existir). Detecte o SO e trate conforme:
Linux / macOS (bash, zsh):
~/.bashrc, ~/.bash_profile, ~/.zshrc. No macOS o shell default é zsh desde Catalina, mas mantenha ambos se existirem. Se nenhum existir, crie ~/.bashrc no Linux e ~/.zshrc no macOS.# >>> forge launcher v2 >>>, pule (já atualizado).# >>> forge launcher >>> (sem v2), remova o bloco inteiro entre # >>> forge launcher >>> e # <<< forge launcher <<< e siga para o append abaixo.# >>> forge launcher v2 >>>
# Lança o Claude Code com o plugin Forge habilitado no canal informado.
# Lê ~/.claude/channels/<canal>/mode ("edit" => bypassPermissions).
# Uso: forge <canal> [args extras para claude]
forge() {
if [ -z "$1" ] || [ "${1#-}" != "$1" ]; then
echo "uso: forge <canal> [args extras]" >&2
return 1
fi
local _forge_ch="$1"; shift
local _forge_mode_file="$HOME/.claude/channels/$_forge_ch/mode"
local _forge_mode=""
if [ -r "$_forge_mode_file" ]; then
_forge_mode=$(tr -d '[:space:]' < "$_forge_mode_file")
fi
if [ "$_forge_mode" = "edit" ]; then
FORGE_CHANNEL="$_forge_ch" command claude --dangerously-load-development-channels plugin:forge@forge --permission-mode bypassPermissions "$@"
else
FORGE_CHANNEL="$_forge_ch" command claude --dangerously-load-development-channels plugin:forge@forge "$@"
fi
}
# <<< forge launcher <<<
source ~/.bashrc (ou ~/.zshrc) ou reabra o terminal."Windows (PowerShell):
pwsh -NoProfile -Command '$PROFILE.CurrentUserAllHosts' (ou powershell no Windows PowerShell 5.1). Se o diretório não existir, crie-o.# >>> forge launcher v2 >>>, pule.# >>> forge launcher >>> (sem v2), remova o bloco entre # >>> forge launcher >>> e # <<< forge launcher <<< e siga para o append.# >>> forge launcher v2 >>>
# Lanca o Claude Code com o plugin Forge habilitado no canal informado.
# Le ~/.claude/channels/<canal>/mode ("edit" => bypassPermissions).
# Uso: forge <canal> [args extras para claude]
function forge {
if ($args.Count -lt 1 -or $args[0].ToString().StartsWith('-')) {
Write-Error "uso: forge <canal> [args extras]"
return
}
$channel = $args[0]
$env:FORGE_CHANNEL = $channel
$modeFile = Join-Path $HOME ".claude/channels/$channel/mode"
$extra = if ($args.Count -gt 1) { $args[1..($args.Count-1)] } else { @() }
$mode = ''
if (Test-Path $modeFile) { $mode = (Get-Content $modeFile -Raw).Trim() }
if ($mode -eq 'edit') {
claude --dangerously-load-development-channels plugin:forge@forge --permission-mode bypassPermissions @extra
} else {
claude --dangerously-load-development-channels plugin:forge@forge @extra
}
}
# <<< forge launcher <<<
. $PROFILE para carregar o comando.".bashrc correspondente).Confirme: "Canal <nome> configurado. Use forge <nome> de qualquer diretório para abrir o Claude com o Forge. Reabra o terminal ou recarregue o profile para o comando ficar disponível."
Mostre o status do canal (token mascarado, política, permitidos).
TTS (áudio do Reporter): é opcional e gerenciado por uma skill dedicada. Informe: "Pra configurar voz do Reporter (engine, vozes, ativar/desativar áudio), rode /forge:voice." Não instale nada aqui.
Conduza a conversa (seção abaixo).
<nome> — status de um canal específico~/.claude/channels/<nome>/ existe. Se não, avise..env e access.json.<nome> clear — remover canalrm -rf ~/.claude/channels/<nome> (só após confirmação explícita).Após mostrar status:
/forge:configure <nome> <token> com o token do BotFather."pairing, ninguém permitido → "Rode forge <nome> em outro terminal; mande DM pro bot no Telegram; ele responde com código. Aprove com /forge:access pair <código>."pairing → "Travar acesso? /forge:access policy allowlist."allowlist → "Pronto. Rode forge <nome> e mande tarefas pelo Telegram."Gerenciado pela skill dedicada /forge:voice — engine (Edge / Piper / none), instalação de backends, download de modelos, overrides por canal, ativar/desativar áudio. Esta skill não toca nisso.
FORGE_STATE_DIR env (override completo) → FORGE_CHANNEL env → erro. O launcher forge sempre seta FORGE_CHANNEL, então em uso normal sempre cai nesse caminho.access.json ausente implica defaults — não é erro. Pretty-print JSON com 2 espaços..env é lido só no boot. Trocar token requer reiniciar o Claude Code.access.json é relido a cada mensagem — mudanças via /forge:access têm efeito imediato.claude mcp add / claude mcp remove — o plugin declara seu próprio server em .mcp.json. Instalações antigas podem ter entries órfãos forge-* em ~/.claude.json; oriente o usuário a remover com claude mcp remove forge-<nome> --scope user se notar.FORGE_CHANNEL (setado pelo launcher forge). Sem marker files, sem .claude/forge-channel.~/.claude/channels/<canal>/mode): contém edit ou ask. O launcher lê no boot — edit passa --permission-mode bypassPermissions ao claude. Troca via Telegram: /mode edit ou /mode ask (handlers do bot gravam o arquivo). Vale a partir da próxima sessão forge <canal>.Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub guilhermevang/forge-plugin --plugin forge