Communitygithub.com

BackboneNeo/ai-skills-cad-engineering

Skill Codex reutilizável para fluxos de trabalho confiáveis de engenharia CAD com FreeCAD

O que é ai-skills-cad-engineering?

Este skill orienta agentes de IA (como Codex) na execução sistemática de tarefas de engenharia CAD, com foco em FreeCAD e no uso de arquivos nativos .FCStd. Ele estabelece um contrato claro antes de qualquer edição, exigindo a leitura de guias de projeto, snapshots de desenhos e issues, além da identificação de baseline imutável, sistemas de coordenadas e unidades, e inventário de componentes. A implementação segue o princípio da menor alteração completa, preservando fontes exatas de componentes, evitando reparos aditivos em geometria legada e mantendo a editabilidade paramétrica. A validação é feita em camadas, com recomputação, verificação de corpos sólidos, colisões e exportação de STL/STEP, utilizando scripts como run_inspect_fcstd.py e compare_fcstd_reports.py. O skill também gerencia o ciclo de liberação (digital CAD vs. produto fisicamente qualificado) e exige relatórios honestos, distinguindo entre bloquear, concluir ou indicar que nenhuma mudança é necessária, sem inventar critérios de aceitação.

Funciona com~Claude Code✓Codex CLI~Cursor
npx skills add BackboneNeo/ai-skills-cad-engineering

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Fluxo de trabalho de engenharia CAD

Trate as instruções do repositório e os validadores de propriedade do repositório como autoritários. Use este skill para tornar o trabalho sistemático; nunca substitua requisitos específicos do projeto por suposições genéricas.

1. Estabelecer o contrato

  1. Leia todo AGENTS.md aplicável, o guia completo do projeto, o snapshot ativo do desenho e a Issue solicitada antes de escrever.
  2. Identifique a tag de baseline imutável, o caminho CAD, SHA-256, sistema de coordenadas, sistema de unidades, inventário atual de componentes, corpos imprimíveis esperados e o alvo de liberação.
  3. Pare antes de editar se as fontes de verdade entrarem em conflito ou se o baseline não puder ser verificado.
  4. Separe o resultado solicitado do contexto de Issues relacionadas. Não absorva um backlog na tarefa.
  5. Selecione a trilha de liberação declarada pela Issue, pela política do repositório ou pelo usuário: CAD/digital (digital CAD/drawing) ou produto fisicamente qualificado (physically qualified product). Uma liberação de desenho não implica qualificação do produto.
  6. Classifique cada critério de aceitação como computacional, visual, físico ou apenas operador, de acordo com esse contrato autoritário. Para uma trilha de desenho, termos como ajuste, instalação, remoção, clip, atuação, roteamento ou acesso significam validação geométrica/de caminho digital, a menos que o contrato exija explicitamente uma amostra fabricada ou teste prático. Nunca promova um risco genérico de engenharia a uma gate obrigatória, e nunca relate um critério físico como aprovado apenas com base na geometria.

Leia baseline-and-source-truth.md ao selecionar ou validar um baseline. Leia failure-patterns.md antes de reparar um candidato falho existente.

2. Inspecionar antes de modificar

  1. Abra o documento CAD nativo existente e inspecione sua árvore, tipos de objeto, expressões, propriedades, posicionamentos, grupos, sólidos, visibilidade e estado de recomputação.

  2. Registre um relatório de baseline legível por máquina. Quando FreeCAD estiver disponível, execute:

    python scripts/run_inspect_fcstd.py --freecad FreeCADCmd.exe --file <baseline.FCStd> --output <baseline-report.json>

  3. Não reconstrua um documento nativo existente a partir de mesh, STEP, screenshots, snapshots ou geradores de bootstrap.

  4. Não sobrescreva posicionamentos, cores, visibilidade, expressões ou edições manuais salvos pelo usuário, a menos que a tarefa exija explicitamente essas alterações exatas.

  5. Trabalhe em um novo caminho versionado quando as regras do repositório tornarem as liberações históricas imutáveis.

3. Implementar a menor alteração completa de engenharia

  1. Use fontes exatas e fixadas de componentes. Preserve a fonte editável, o artefato importado exato, a revisão de proveniência e o SHA-256 juntos.
  2. Coloque componentes externos no grupo de fonte incorporada (embedded-source) do repositório e derive a geometria de montagem do modelo verificado.
  3. Substitua geometria legada em seu recurso upstream nativo. Nunca oculte um furo, bolso, alívio ou recurso de montagem obsoleto fundindo um patch, placa, plugue, pele, enchimento ou reparo coplanar em um corpo finalizado downstream.
  4. Se o corpo pré-recurso nativo ou a cadeia de construção editável não puderem ser recuperados, pare com um bloqueador. Não substitua por geometria de reparo aditiva apenas para obter o envelope final solicitado.
  5. Mantenha a geometria de controle editável e totalmente restrita quando o repositório exigir controle baseado em Sketcher.
  6. Conecte cada recurso de controle ao corpo imprimível final por meio de uma cadeia de dependência inspecionável ou booleana sequencial. A existência de um sketch ou cortador não prova integração.
  7. Remova cortes, alívios, etiquetas, fontes incorporadas ativas e remanescentes downstream obsoletos específicos do componente ao substituir um componente.
  8. Limite alterações colaterais. Preserve posicionamentos de componentes não relacionados, corpos imprimíveis, sistemas de coordenadas, aparência e estrutura do documento.

Para cada substituição ou abertura redimensionada, leia e siga native-feature-replacement.md. Leia component-integration.md para trabalho com componentes e parametric-geometry.md para modelagem nativa e operações booleanas.

4. Validar em camadas

Execute a validação após cada grupo de geometria significativo, não apenas no final.

  1. Recompute e rejeite erros do documento.
  2. Salve, feche, reabra, recompute, salve e reabra novamente.
  3. Confirme a contagem esperada de corpos imprimíveis, contagem de sólidos, limites, volume e topologia.
  4. Prove que os recursos solicitados afetam o corpo final pretendido.
  5. Para uma substituição, prove que o sólido local afetado é igual ao recurso nativo não modificado com apenas a nova operação pretendida aplicada. Rejeite contornos legados residuais, dependências de reparo aditivo, limites coplanares extras e corpos de enchimento ocultos.
  6. Verifique colisões e contatos necessários separadamente. Um contato de montagem necessário não é uma colisão indesejada.
  7. Verifique a ordem de montagem, caminho de remoção, caminho de inserção do conector, eixo do fixador, envelope da ferramenta, acesso ao terminal, espaço para fiação, raio de curvatura e alívio de tensão digitalmente, quando aplicável. Rotule esta evidência como geométrica; não reivindique ajuste físico, força ou durabilidade.
  8. Teste a editabilidade paramétrica em uma cópia descartável e, em seguida, restaure o parâmetro original.
  9. Exporte os artefatos STL e STEP necessários e reabra cada exportação de forma independente.
  10. Renderize close-ups com o componente mostrado e oculto, para que a abertura nativa e a parede circundante sejam revisáveis.
  11. Renderize o FCStd salvo, não um modelo paralelo aproximado.
  12. Execute cada teste de propriedade do repositório exatamente conforme controlado pelo runner.

Gere um relatório de candidato com run_inspect_fcstd.py e compare-o com o baseline usando:

python scripts/compare_fcstd_reports.py --baseline <baseline-report.json> --candidate <candidate-report.json>

Leia validation-matrix.md para a evidência exigida por cada gate.

5. Montar um candidato a liberação coerente

  1. Mantenha CAD nativo, fontes incorporadas, exportações, visualização, layout, manifesto, snapshot, nota de versão e índice ativo mutuamente consistentes.
  2. Recompute SHA-256 somente após a geração final do artefato. Execute novamente a validação após qualquer alteração em arquivos com hash.
  3. Prove a imutabilidade do baseline histórico com um diff ou hashes armazenados.
  4. Mantenha formatos manuais vazios quando a política do projeto proibir a geração automatizada.
  5. Não crie ou aprove uma tag ou liberação quando qualquer gate obrigatória estiver incompleta.
  6. Permita uma liberação de desenho quando suas gates digitais necessárias passarem, mesmo se a qualificação física opcional futura não tiver sido executada. Nunca a rotule como pronta para produção ou fisicamente qualificada.
  7. Crie uma liberação qualificada para produto apenas a partir de um commit de desenho exato, após a construção física necessária, medição, montagem e aprovação do engenheiro.

Leia release-lifecycle.md para selecionar a trilha de liberação e a política de tags. Leia release-gate.md antes de declarar conclusão.

6. Relatar com veracidade

  • Retorne completed quando todas as gates exigidas pela tarefa para a trilha de liberação selecionada passarem.
  • Retorne blocked com o candidato completo preservado somente quando uma fonte autoritária de tarefa ou repositório exigir explicitamente uma gate física ou de operador incompleta.
  • Retorne no_change_needed somente após provar que o estado solicitado já existe.
  • Registre testes físicos não solicitados (corpo de prova, ciclo, vibração, pinagem, fiação ou outros) como recomendações de acompanhamento, não bloqueadores. Não invente critérios de aceitação.
  • Liste cada bloqueador separadamente com evidências e um próximo passo acionável.
  • Diferencie not_run, failed e passed. Nunca converta ausência de evidência em sucesso.
  • Não esconda bloqueadores de liberação em riscos ou texto de resumo.

Habilidades Relacionadas