Pular para o conteúdo
Skillpedia
Tarefas e projetos51 mil · #1879

get-available-resources

Ajuda seu agente a entender os recursos do sistema disponíveis. Ele verifica CPU, memória e disco para planejar tarefas eficientemente.

O que ela faz

Esta ferramenta verifica os recursos do seu computador (como processador, memória e disco) que estão disponíveis para um programa específico. Ela cria um resumo seguro e simples desses recursos para ajudar no planejamento.

Quando usar

  • ✓Quando você precisa planejar um programa que usa muitos recursos.
  • ✓Antes de executar uma tarefa que pode consumir muita memória ou processamento.
  • ✓Para entender os limites de recursos de um ambiente de computação.

Exemplo do que pedir para a IA

“Verifique os recursos disponíveis para planejar minha tarefa.”

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

https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/get-available-resources/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/get-available-resources/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta analisa o ambiente atual do programa, verificando limites de CPU, memória, disco e outros recursos. Ela gera um relatório em formato de dados (JSON) que mostra o que está disponível, sem testar os limites.

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 K-Dense-AI/scientific-agent-skills --skill get-available-resources

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/get-available-resources/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Obter Recursos Disponíveis

Crie uma imagem conservadora dos recursos disponíveis para o processo atual. Mantenha o inventário do host, afinidade de processo, limites de cgroup/container, alocação do agendador e usabilidade do tempo de execução do acelerador separados.

Contrato de segurança

Siga estas regras:

  • Execute a detecção quando o usuário solicitar ou uma carga de trabalho específica precisar de planejamento de recursos. Não persista uma impressão digital para cada tarefa científica.
  • Use stdout por padrão. Persista apenas quando o usuário escolher um nome de arquivo local genérico explícito.
  • Não execute testes de estresse, benchmarks, alocações grandes, sondas de escrita, reinicializações de dispositivo, instalação de driver ou alterações de clock/energia.
  • Não despeje o ambiente. Leia apenas as variáveis nomeadas do Slurm e do acelerador implementadas pelo detector.
  • Não relate nomes de host, caminhos absolutos, caminhos de cgroup, IDs de trabalho, UUIDs de dispositivo, endereços PCI ou valores brutos de variáveis de visibilidade.
  • Trate uma observação ausente como desconhecida. Nunca converta desconhecido em ilimitado.
  • Nunca infira que uma CPU de host visível, pool de memória ou GPU é utilizável dentro de uma alocação de agendador ou contêiner.

O detector empacotado usa apenas tuplas fixas de executável/argumento, sem shell, tempos limite curtos, stdout/stderr limitados e avisos de falha parcial.

Início rápido

Execute a partir deste diretório de skill.

Snapshot efêmero de stdout

python scripts/detect_resources.py

O comando emite apenas JSON para stdout. Redirecione-o apenas quando as permissões comuns do shell forem aceitáveis.

Arquivo privado explícito

python scripts/detect_resources.py --output resource-snapshot.json

A saída explícita é restrita a um nome de arquivo .json no diretório atual, usa o modo 0600 no POSIX, rejeita links simbólicos e travessia de caminho, e recusa sobrescrever a menos que --force seja fornecido. A saída forçada também rejeita links físicos e arquivos não regulares. A privacidade do Windows depende adicionalmente do ACL do diretório.

Melhoria opcional do psutil

O detector da biblioteca padrão funciona sem instalação. Para uma cobertura mais ampla de núcleos físicos, afinidade, memória disponível, swap e disco entre plataformas:

uv run --no-project --with "psutil==7.2.2" python scripts/detect_resources.py

A importação é preguiçosa. A falha ao importar psutil se torna um aviso, não um erro fatal.

Ignorar sondas de ferramenta de gerenciamento

python scripts/detect_resources.py --skip-accelerators

Use isso quando a latência de descoberta do acelerador for indesejável. O detector ainda resume a presença e o estado das variáveis de visibilidade permitidas sem retornar seus valores.

Interpretação necessária

CPU

Leia estes como fatos diferentes:

  • cpu.host.logical: unidades de agendamento visíveis pelo sistema.
  • cpu.host.physical: topologia física, ou nulo; nunca inferido da contagem lógica.
  • cpu.process.affinity_logical: tamanho do conjunto de afinidade atual quando suportado.
  • cpu.cgroup_v2.cpuset_logical: tamanho efetivo do cpuset do cgroup.
  • cpu.cgroup_v2.quota_cores: capacidade finita de cpu.max, possivelmente fracionária.
  • scheduler.allocation.cpu_per_process: interpretação finita por tarefa do Slurm quando o escopo é claro.
  • cpu.effective.capacity_cores: restrição positiva mínima observada.
  • cpu.effective.worker_ceiling: limite conservador para workers de processo de CPU.

Uma cota de 1,5 é capacidade de tempo de CPU, não 1,5 núcleos físicos. Afinidade e cpusets restringem a colocação; a cota restringe a largura de banda.

Memória

Mantenha estes separados:

  • memória total/disponível do host;
  • uso atual do cgroup, memory.max rígido e capacidade hierárquica restante;
  • memory.high, que é um limite de pressão/throttling em vez de um limite rígido;
  • alocação de memória do agendador e seu escopo; e
  • limite rígido efetivo conservador e estimativa disponível.

Em Apple silicon, memory.model é unified_cpu_gpu. Não adicione memória de GPU integrada à RAM nem a descreva como VRAM separada.

Aceleradores

Cada dispositivo é um candidato de backend:

  • GPU NVIDIA → candidato CUDA;
  • GPU AMD → candidato ROCm;
  • GPU integrada Apple → candidato Metal.

A visibilidade da consulta de gerenciamento não estabelece:

  1. permissão de agendador/contêiner;
  2. acesso ao nó do dispositivo;
  3. compatibilidade de driver/tempo de execução;
  4. compatibilidade de pacote de framework; ou
  5. suporte a operador/tipo de dados.

Portanto, runtime_usable_devices permanece nulo e cada dispositivo diz runtime_compatibility: not_tested. As contagens de visibilidade/alocação restringem os registros de gerenciamento observados, não o número de dispositivos de framework. A enumeração de partição MIG e AMD pode diferir.

…

Perguntas frequentes

O que são 'recursos' neste contexto?

São os componentes do computador que um programa usa para funcionar, como a capacidade do processador (CPU), a memória (RAM) e o espaço em disco.

Por que o relatório é 'seguro' e 'simples'?

Ele evita coletar informações sensíveis ou detalhadas demais (como nomes de arquivos exatos ou IDs de sistema) e foca apenas nos limites de recursos para não sobrecarregar ou expor o sistema.

O que significa 'planejamento' de recursos?

Significa usar as informações sobre os recursos disponíveis para decidir como executar uma tarefa de forma eficiente, garantindo que ela não falhe por falta de capacidade ou que não atrapalhe outros programas.

Detalhes

Descrição original do autor

Detects host inventory and effective CPU, memory, disk, scheduler, container, and accelerator limits when a user asks for resource-aware planning or before a clearly resource-sensitive local workload. Produces a redacted JSON snapshot and conservative planning helpers without stress tests or assuming visible host hardware is usable.

repo: K-Dense-AI/scientific-agent-skills

Popularidade

Estrelas no GitHub
51 mil
Posição no ranking
#1879
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas