B2b Sdr Agent
iPythoning/b2b-sdr-agent-template
Open-source B2B AI SDR template. An agent skill from iPythoning/b2b-sdr-agent-template.
Guia para criar uma extensão do DeskcommCRM — o pacote declarativo — em vez de abrir um PR no núcleo.
$ npx skills add melgarafael/DeskcommCRM --skill deskcomm-extensao -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install melgarafael/DeskcommCRM deskcomm-extensao --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/melgarafael/DeskcommCRM.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/deskcomm-extensao .claude/skills/deskcomm-extensao && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "deskcomm-extensao" agent skill from https://github.com/melgarafael/DeskcommCRM/tree/main/.agents/skills/deskcomm-extensao into .claude/skills/deskcomm-extensao/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deskcomm-extensao", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/melgarafael/DeskcommCRM/tree/main/.agents/skills/deskcomm-extensaoType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add melgarafael/DeskcommCRM --skill deskcomm-extensao -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install melgarafael/DeskcommCRM deskcomm-extensao --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/melgarafael/DeskcommCRM.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/deskcomm-extensao .agents/skills/deskcomm-extensao && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "deskcomm-extensao" agent skill from https://github.com/melgarafael/DeskcommCRM/tree/main/.agents/skills/deskcomm-extensao into .agents/skills/deskcomm-extensao/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deskcomm-extensao", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add melgarafael/DeskcommCRM --skill deskcomm-extensao -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install melgarafael/DeskcommCRM deskcomm-extensao --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/melgarafael/DeskcommCRM.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/deskcomm-extensao .cursor/skills/deskcomm-extensao && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "deskcomm-extensao" agent skill from https://github.com/melgarafael/DeskcommCRM/tree/main/.agents/skills/deskcomm-extensao into .cursor/skills/deskcomm-extensao/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deskcomm-extensao", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/melgarafael/DeskcommCRM.git --path .agents/skills/deskcomm-extensao--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add melgarafael/DeskcommCRM --skill deskcomm-extensao -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install melgarafael/DeskcommCRM deskcomm-extensao --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/melgarafael/DeskcommCRM.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/deskcomm-extensao .gemini/skills/deskcomm-extensao && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "deskcomm-extensao" agent skill from https://github.com/melgarafael/DeskcommCRM/tree/main/.agents/skills/deskcomm-extensao into .gemini/skills/deskcomm-extensao/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deskcomm-extensao", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install melgarafael/DeskcommCRM deskcomm-extensaoInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add melgarafael/DeskcommCRM --skill deskcomm-extensao -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/melgarafael/DeskcommCRM.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/deskcomm-extensao .github/skills/deskcomm-extensao && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "deskcomm-extensao" agent skill from https://github.com/melgarafael/DeskcommCRM/tree/main/.agents/skills/deskcomm-extensao into .github/skills/deskcomm-extensao/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deskcomm-extensao", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add melgarafael/DeskcommCRM --skill deskcomm-extensao -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install melgarafael/DeskcommCRM deskcomm-extensao --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/melgarafael/DeskcommCRM.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/deskcomm-extensao .opencode/skills/deskcomm-extensao && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "deskcomm-extensao" agent skill from https://github.com/melgarafael/DeskcommCRM/tree/main/.agents/skills/deskcomm-extensao into .opencode/skills/deskcomm-extensao/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deskcomm-extensao", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
deskcomm-extensaoGuia para criar uma extensão do DeskcommCRM — o pacote declarativo — em vez de abrir um PR no núcleo.
Deskcomm Extensao is an agent skill from melgarafael/DeskcommCRM. Guia para criar uma extensão do DeskcommCRM — o pacote declarativo — em vez de abrir um PR no núcleo. Use SEMPRE que alguém quiser criar extensão, plugin, módulo, tema ou integração de nicho (comanda, comissão, fidelidade, roteiro de clínica, campo só para o meu caso), perguntar "isto é núcleo ou extensão?", "como publico no catálogo?", "dá para adicionar uma tela para o meu segmento?", ou quando a triagem mandar transformar um PR de nicho em extensão. Traz a régua de destino, o contrato do pacote campo a campo…
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/contrato-do-pacote.md` and `references/decidir-nucleo-ou-extensao.md`).
It sits in Sales & Support, covering Pull requests. It works with WhatsApp. The repository describes itself as: Open-source AI sales OS — self-hosted CRM with native AI agents + WhatsApp (WAHA). Open alternative to Kommo, Octadesk & Intercom for any business that sells by chat. MCP-ready… The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b3bd604. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
bashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Deskcomm Extensao loads about 2.7k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 174 tokens; SKILL.md has 1,409 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from melgarafael/DeskcommCRM at commit b3bd604, republished under its MIT licence (© melgarafael). 1,409 words, ~2,710 tokens.
.claude/skills/deskcomm-extensao/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.Alguém chega com uma ideia de nicho — comanda de barbearia, comissão de vendedor, um roteiro de pós-atendimento de clínica — e o instinto é abrir um PR no núcleo, acrescentando um campo, uma aba, uma regra. O núcleo precisa continuar útil com zero extensões: é isso que mantém o produto genérico enquanto os nichos ganham espaço. Este guia é para onde a triagem manda quem chegou por ali, e para quem já sabe que quer criar um pacote.
A lei é docs/doctrine/extensoes.md. O contrato em vigor é
lib/extensions/manifest.ts e lib/extensions/capacidades.ts. Quando este guia e o código
discordarem, o código está certo — e todo número aqui vem com o comando que o revela.
lib/extensions/, nunca de
memória.A pergunta que decide, e ela não é "isto serve a muita gente?":
Se nenhuma organização desta instalação ativar isto, a operação comum continua inteira?
Sim → pode ser extensão. Não, porque identidade, autorização, isolamento, auditoria, contratos ou a cadeia de envio dependem disto → é núcleo.
| Núcleo | Extensão |
|---|---|
| contatos, conversas, funis, agenda | comanda, comissão, fidelidade |
| papéis, permissão, isolamento entre organizações | tema visual, roteiro de um método de vendas |
| auditoria, recibos, cadeia de envio, opt-out | integração com um ERP de um segmento só |
| caixa: contas, formas de pagamento, plano de contas, lançamento avulso (decisão do dono, não dedução) | o que fica em cima do caixa |
| corrigir comportamento que já foi distribuído | jornada adicional que ninguém precisa ligar |
Os dois lados com mais exemplos, o destino "ambos" e o que fazer quando a régua diz extensão mas a
ferramenta ainda não existe: references/decidir-nucleo-ou-extensao.md.
O que ela faz: publica até 4 cards de orientação no hub do CRM. Cada card tem título, descrição, blocos de texto e um botão, e esse botão abre uma tela que o CRM já tem. Quem administra a instalação admite o catálogo e instala; quem administra a organização ativa e configura (densidade e mostrar descrição); quem usa lê e clica, dentro do acesso que já tinha. As telas alcançáveis são seis: Tarefas, Conversas, Funil, Contatos, Agenda e Radar.
O que ela não faz — e nenhuma dessas é "ainda não implementei":
| Não existe | Por quê |
|---|---|
| Código. O pacote é JSON. Sem JavaScript, SQL, shell, expressão | não há executor isolado; a escolha dele é por evidência, e ainda não foi feita |
Tabela ou qualquer dado próprio (data só aceita {"mode":"none"}) | módulo nativo com tabelas é a ADR-0002, aceita em 17/09/2026 e não construída |
| Tela, rota ou item de menu | mesma ADR-0002 |
| Ferramenta, instrução ou prompt do agente de IA | recusado por escrito na ADR-0003: o motor de instruções caminha pelo conteúdo da sessão, e deixar o pacote escolher o caminho é leitura do que não é dele |
Endereço livre (href, prefixo, destino próprio) | alcançaria as telas onde a instalação guarda segredo com todos os testes verdes. Recusado para sempre |
| Imagem, captura de tela, URL de qualquer tipo | endereço clicável dentro de pacote de terceiro é porta de engano; o ícone sai de uma lista de três |
| Ler dado do CRM — tarefa, conversa, contato | a capacidade abre uma porta que o núcleo já tem, com a autorização de sempre; ela não concede leitura |
| Depender de outra extensão | dependencies é [] |
| Marketplace, avaliação, download contado, telemetria | não existem, e a lei proíbe anunciá-los antes da prova |
Se a sua ideia precisa de uma linha desta tabela, pare aqui e vá para o Passo 6.
Comece pelo exemplo válido: references/pacote-de-exemplo.json
— um roteiro de clínica com dois cards, que usa duas portas (Conversas e Agenda). Copie, troque
os textos e os slugs, valide.
O esqueleto, com o que cada campo cobra:
{
"format_version": 1, "profile": "declarative",
"publisher": "slug-minusculo", "name": "slug-minusculo", "version": "1.0.0", "license": "MIT",
"host_api": { "min": 2, "max": 2 },
"permissions": ["navigation.inbox", "navigation.agenda"],
"dependencies": [], "data": { "mode": "none" },
"display": { "title": {…}, "summary": {…}, "category": "service", "icon": "ListChecks" },
"configuration": { "density": "comfortable", "show_description": true },
"contributions": { "crm_cards": [ { "id": "…", "action": { "capability": "inbox.open" } } ] }
}As três regras que mais recusam pacote:
inbox.open
sem declarar navigation.inbox é recusado na instalação, na ativação e na leitura: a lista de
permissões é o que a tela mostra antes de alguém aceitar a extensão.host_api é a janela que você garante. Um pacote que usa as portas novas declara min 2.
Confira o host: grep -n "HOST_API_VERSION =" lib/extensions/manifest.ts.Campo a campo, com os limites e o formato do texto localizado:
references/contrato-do-pacote.md. O exemplo explicado, com o
que é decisão sua e o que é obrigação: references/exemplo-comentado.md.
Quando o parser recusar e não disser por quê: references/erros-do-pacote.md.
bash .agents/skills/deskcomm-extensao/scripts/validar-pacote.sh caminho/do/pacote.jsonRoda parseManifest() e checkCompatibility() do host — não uma cópia das regras — e, quando
passa, imprime a entrada de catálogo com sha256 e byte_length calculados dos seus bytes. Sai 1
quando recusa.
Passar aqui é o piso: o schema não julga se o card vale uma instalação. Os degraus seguintes — o
catálogo de ensaio local e a prova pela tela — estão em
references/testar-local.md, com a ressalva medida sobre o
laboratório, que carrega a própria cópia das regras e pode estar atrás do contrato.
Por pull request, com revisão humana. Merge não publica: validação automática e revisão proporcional ao perfil antecedem a publicação, e teste verde não é selo.
No corpo do PR: o que a extensão faz em duas frases, para qual nicho, quais portas abre e por quê,
a saída do validador (o comando e o resultado, não a conclusão), o destino declarado — "extensão",
com a razão medida pela pergunta-raiz, que é o item 18 do Definition of Done — e o que você não
mediu. A mecânica de PR deste repositório (branch, identidade, fragmento em .changes/) está na
skill deskcomm-contribuir; carregue-a antes de abrir.
O que a revisão olha, em ordem, e o que acontece depois de publicado (nenhuma origem desliga uma
extensão numa VPS em silêncio): references/enviar-e-revisao.md.
Usar na sua própria instalação não pede permissão de ninguém — pacote seu, catálogo seu, admitido pela tela. O PR é só para entrar no catálogo oficial.
Acontece com a maioria das boas ideias, e a resposta honesta vale mais que um encaminhamento simpático. Na ordem:
publisher que se parece com marca alheia, ou texto que descreve uma extensão que o
pacote não é.© melgarafael, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files (scripts, references) in .agents/skills/deskcomm-extensao of melgarafael/DeskcommCRM.
Open the folder on GitHubat commit b3bd604
Deskcomm Extensao next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Deskcomm Extensao this skillmelgarafael/DeskcommCRM | 4.5k | — | ~2.7k | Automated safety check: Pass | MIT | |
| B2b Sdr AgentiPythoning/b2b-sdr-agent-template | 190 | — | ~744 | Automated safety check: Pass | MIT-0 | |
| Pulse Faq Syncevolution-foundation/evo-nexus | 545 | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| Lead DiscoveryiPythoning/b2b-sdr-agent-template | 190 | — | ~961 | Automated safety check: Pass | MIT | |
| Cashclaw Whatsapp Managerertugrulakben/cashclaw | 303 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Service Omni Channel Inventory Analyzeforcedotcom/sf-skills | 1.1k | — | ~1.2k | Automated safety check: Notes | Apache-2.0 |
iPythoning/b2b-sdr-agent-template
Open-source B2B AI SDR template. An agent skill from iPythoning/b2b-sdr-agent-template.
evolution-foundation/evo-nexus
Sync and update the community FAQ from Discord conversations, WhatsApp groups, and GitHub issues.
iPythoning/b2b-sdr-agent-template
AI-driven lead discovery for B2B export. An agent skill from iPythoning/b2b-sdr-agent-template.
ertugrulakben/cashclaw
Sets up and manages WhatsApp Business accounts including auto-response systems, client communication workflows, FAQ templates, and broadcast campaigns.
forcedotcom/sf-skills
A skill your agent uses to inventory configured Omni-Channel instances across Voice, Email, Chat, SMS, Facebook, WhatsApp, and In-App, including each channel's Queue, Flow, or Other routing target…
forcedotcom/sf-skills
Salesforce Marketing Cloud / Engagement 360 message preview and test-send.
melgarafael/DeskcommCRM
Guia de contribuição ao DeskcommCRM para quem vai mexer no código e abrir um pull request, sobretudo de um fork.
melgarafael/DeskcommCRM
Guia de análise das métricas de uma instalação do DeskcommCRM como um analista de dados experiente — conversão, funil, tempo de resposta, handoff, follow-ups, custo de IA, motivos de perda, horários…
melgarafael/DeskcommCRM
Doutrina de arquitetura do Sistema Vivo — o método para construir software em que nada morre por falta de resposta, resolução ou visibilidade.
melgarafael/DeskcommCRM
Guia para montar um cliente novo no DeskcommCRM por nicho — clínica, imobiliária, serviços/agência, curso/infoproduto, loja, escritório de advocacia — criando os agentes de IA, roteadores…
melgarafael/DeskcommCRM
Guia de operação diária do DeskcommCRM para quem já tem o sistema instalado e precisa encontrar telas, entender fluxos, configurar recursos correntes e resolver dúvidas de uso sem mexer no código.
melgarafael/DeskcommCRM
Guia para afinar o prompt de um agente de IA do DeskcommCRM que não está performando — como um engenheiro de prompt sênior de atendimento e vendas, com dados da operação, não achismo.
Works with
Categories
Guia para criar uma extensão do DeskcommCRM — o pacote declarativo — em vez de abrir um PR no núcleo. Deskcomm Extensao is an agent skill from melgarafael/DeskcommCRM. Guia para criar uma extensão do DeskcommCRM — o pacote declarativo — em vez de abrir um PR no núcleo.
Deskcomm Extensao fits situations like: tasks that involve Pull requests.
Run `npx skills add melgarafael/DeskcommCRM --skill deskcomm-extensao -a claude-code`. Or copy the skill folder (.agents/skills/deskcomm-extensao in melgarafael/DeskcommCRM) into .claude/skills/deskcomm-extensao in your project. Claude Code loads it when a task matches its description.
Run `npx skills add melgarafael/DeskcommCRM --skill deskcomm-extensao -a codex`. Or copy the skill folder (.agents/skills/deskcomm-extensao in melgarafael/DeskcommCRM) into .agents/skills/deskcomm-extensao in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add melgarafael/DeskcommCRM --skill deskcomm-extensao -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/deskcomm-extensao, .gemini/skills/deskcomm-extensao, .github/skills/deskcomm-extensao and .opencode/skills/deskcomm-extensao in your project.
Going by SKILL.md and its folder, Deskcomm Extensao needs a shell for the scripts in its folder and the command-line tools its instructions call (bash). Our summary lists: A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Deskcomm Extensao is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 8.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Deskcomm Extensao: B2b Sdr Agent (iPythoning/b2b-sdr-agent-template, 190 stars), Pulse Faq Sync (evolution-foundation/evo-nexus, 545 stars), Lead Discovery (iPythoning/b2b-sdr-agent-template, 190 stars) and Cashclaw Whatsapp Manager (ertugrulakben/cashclaw, 303 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
melgarafael (a GitHub user) maintains it in melgarafael/DeskcommCRM, which has 4,530 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 11, 2026.
Source: melgarafael/DeskcommCRM on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.