defi-protocol-templates
Permite ao agente criar aplicações financeiras descentralizadas. Usa modelos prontos para sistemas de staking, câmbio e empréstimos.
O que ela faz
Esta ferramenta ajuda a criar modelos prontos para usar em finanças descentralizadas (DeFi). Ela oferece estruturas para sistemas como staking, troca de moedas (AMMs), votação (governance) e empréstimos.
Quando usar
- ✓Ao construir plataformas de staking com distribuição de recompensas.
- ✓Ao implementar sistemas de troca automática de moedas (AMMs).
- ✓Ao criar sistemas de tokens para votação em projetos.
Exemplo do que pedir para a IA
“Crie um modelo para um sistema de staking com recompensas.”
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
A ferramenta fornece códigos pré-escritos (templates) que você pode usar como base. Esses códigos já seguem boas práticas para diferentes tipos de protocolos DeFi.
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 defi-protocol-templatesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/defi-protocol-templates/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 suporte
Este texto do catálogo contém as orientações embutidas abaixo, mas não inclui os seguintes caminhos de suporte. Eles são pré-requisitos externos, não arquivos incluídos:
<support-root>/references/staking.md<support-root>/references/liquidity-pools.md<support-root>/references/governance-tokens.md<support-root>/references/lending-protocols.md<support-root>/references/flash-loans.md<support-root>/assets/staking-contract.sol<support-root>/assets/amm-contract.sol<support-root>/assets/governance-token.sol<support-root>/assets/lending-protocol.sol
Solicite o material de suporte 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.
Modelos de Protocolo DeFi
Modelos prontos para produção para protocolos DeFi comuns, incluindo staking, AMMs, governança, empréstimos e flash loans.
Não use esta habilidade quando
- A tarefa não está relacionada a modelos de protocolo defi
- Você precisa de um domínio ou ferramenta diferente fora deste escopo
Instruções
- Clarifique objetivos, restrições e entradas necessárias.
- Aplique as melhores práticas relevantes e valide os resultados.
- Forneça etapas acionáveis e verificação.
Use esta habilidade quando
- Construindo plataformas de staking com distribuição de recompensas
- Implementando protocolos AMM (Automated Market Maker)
- Criando sistemas de token de governança
- Desenvolvendo protocolos de empréstimo/tomada de empréstimo
- Integrando funcionalidade de flash loan
- Lançando plataformas de yield farming
Contrato de Staking
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract StakingRewards is ReentrancyGuard, Ownable {
IERC20 public stakingToken;
IERC20 public rewardsToken;
uint256 public rewardRate = 100; // Recompensas por segundo
uint256 public lastUpdateTime;
uint256 public rewardPerTokenStored;
mapping(address => uint256) public userRewardPerTokenPaid;
mapping(address => uint256) public rewards;
mapping(address => uint256) public balances;
uint256 private _totalSupply;
event Staked(address indexed user, uint256 amount);
event Withdrawn(address indexed user, uint256 amount);
event RewardPaid(address indexed user, uint256 reward);
constructor(address _stakingToken, address _rewardsToken) {
stakingToken = IERC20(_stakingToken);
rewardsToken = IERC20(_rewardsToken);
}
modifier updateReward(address account) {
rewardPerTokenStored = rewardPerToken();
lastUpdateTime = block.timestamp;
if (account != address(0)) {
rewards[account] = earned(account);
userRewardPerTokenPaid[account] = rewardPerTokenStored;
}
_;
}
function rewardPerToken() public view returns (uint256) {
if (_totalSupply == 0) {
return rewardPerTokenStored;
}
return rewardPerTokenStored +
((block.timestamp - lastUpdateTime) * rewardRate * 1e18) / _totalSupply;
}
function earned(address account) public view returns (uint256) {
return (balances[account] *
(rewardPerToken() - userRewardPerTokenPaid[account])) / 1e18 +
rewards[account];
}
function stake(uint256 amount) external nonReentrant updateReward(msg.sender) {
require(amount > 0, "Cannot stake 0");
_totalSupply += amount;
balances[msg.sender] += amount;
stakingToken.transferFrom(msg.sender, address(this), amount);
emit Staked(msg.sender, amount);
}
function withdraw(uint256 amount) public nonReentrant updateReward(msg.sender) {
require(amount > 0, "Cannot withdraw 0");
_totalSupply -= amount;
balances[msg.sender] -= amount;
stakingToken.transfer(msg.sender, amount);
emit Withdrawn(msg.sender, amount);
}
…
Perguntas frequentes
O que são finanças descentralizadas (DeFi)?
DeFi é um termo para serviços financeiros construídos em tecnologia blockchain, como empréstimos, trocas e investimentos, sem a necessidade de intermediários tradicionais como bancos.
O que é staking?
Staking é o ato de travar suas criptomoedas para ajudar a operar uma rede blockchain e, em troca, receber recompensas.
O que é um AMM?
AMM significa Automated Market Maker (Criador de Mercado Automatizado). É um tipo de protocolo que permite a troca de criptoativos sem a necessidade de um comprador ou vendedor tradicional, usando um pool de liquidez.
Detalhes
Descrição original do autor
Implement DeFi protocols with production-ready templates for staking, AMMs, governance, and lending systems. Use when building decentralized finance applications or smart contract protocols.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2747
- 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
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC