GreenWich-art/agent-skills

Normalização de referências bibliográficas conforme GB/T 7714-2015 e verificação em lote da acessibilidade de links URL/DOI/PMID/PMC com identificação de 'falsas falhas'.

O que é agent-skills?

Este skill automatiza a padronização de referências bibliográficas de acordo com a norma chinesa GB/T 7714-2015, incluindo a formatação de tipos de documentos, regras de autoria (mais de 3 autores) e a inclusão de datas de acesso para documentos eletrônicos. Além disso, oferece um script reutilizável (`scripts/check_refs.py`) que verifica em lote a acessibilidade de links de URL, DOI, PMID e PMC, distinguindo entre links realmente quebrados e bloqueios temporários por mecanismos anti-raspagem (como 403, 429, 503). O skill é útil para pesquisadores, estudantes e profissionais que precisam entregar listas de referências formatadas corretamente e com links funcionais, sendo executável em ambientes com Python 3 e ferramentas como curl.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/GreenWich-art/agent-skills/tree/HEAD/skills/gbt7714-reference-check

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

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

Documentação

Normalização de Referências Bibliográficas GB/T 7714-2015 e Verificação de Links

1. Por que vale a pena ter isso como um skill separado

Este trabalho tem três características: muitos detalhes nas regras (identificadores de tipo de documento, datas de citação para documentos eletrônicos, formatação de mais de três autores variam), fácil de errar e não reporta erro (um erro em dezenas de strings é difícil de detectar) e um erro, uma vez escrito, é difícil de detectar visualmente. Portanto, o foco não é "decorar as regras", mas sim um fluxo de escrita programática + verificação de retorno + verificação de links.

2. Pontos-chave da formatação GB/T 7714-2015

Estrutura básica

[Número] Responsável principal. Título[Identificador de tipo de documento/suporte]. Fonte, ano, volume(número): páginas.

Identificadores de tipo comuns

TipoIdentificadorForma eletrônica
Livro comum[M][M/OL]
Artigo de periódico[J][J/OL]
Artigo de jornal[N][N/OL]
Tese/Dissertação[D][D/OL]
Relatório[R][R/OL]
Norma[S]—
Comunicado eletrônico[EB/OL]—
Patente[P][P/OL]

Três regras essenciais

  1. Documentos eletrônicos devem incluir a data de acesso e o caminho de acesso – conforme exigido pela seção 4.9 da GB/T 7714-2015. Para documentos com URL/DOI, a forma padrão deve ser [J/OL]. Nome do periódico, ano, volume(número): páginas[data de acesso]. https://.... Por outro lado, se a revista/instituição alvo não exigir, pode-se omitir a data de acesso, mas é preciso saber que isso é uma escolha deliberada.
  2. Quando houver mais de 3 responsáveis, para documentos em chinês escreva "Responsável principal, et al." e para ocidentais "Responsável principal, et al.". A norma permite listar todos, mas deve ser consistente em todo o documento.
  3. Nomes ocidentais: sobrenome primeiro, iniciais do nome abreviadas depois: Büller HR, Verhamme P, Weitz JI. Não copie diretamente o Buller HR do PubMed perdendo as letras com diacríticos, nem escreva HR Büller.

3. Verificação de Links (Ferramenta principal)

# Um por linha: URL / DOI / PMID / Número PMC, o script detecta automaticamente o tipo
python3 scripts/check_refs.py refs.txt

# Entrada JSON, suporta especificação explícita de tipo
python3 scripts/check_refs.py refs.json --timeout 20 --workers 8

Código de saída: 0 = nenhum link claramente quebrado; 1 = existem links quebrados.

Formatos de entrada suportados:

EntradaResultado da interpretação
10.1056/NEJMoa2513880 ou https://doi.org/...Link DOI
25482425 (apenas números)Link PubMed
PMC2909362Link PMC
https://... ou domínio puroAcessa diretamente

Lógica de decisão (importante)

O script classifica os resultados em três categorias, não considere um link quebrado automaticamente se não receber HTTP 200:

CategoriaCondiçãoAção
Acessível diretamente200 / 203 / 30xAprovado
Suspeita de anti-raspagem403 / 412 / 429 / 503 / 000 (erro não fatal)Revisar com navegador, não é erro de link
Suspeita de quebradocurl reporta explicitamente could not resolve host ou erros de DNS/certificadoConfirmar e substituir ou remover o link

Duas armadilhas já testadas:

  • PubMed retorna 203, o que não é falha. Anteriormente tratávamos 203 como falha, perdendo tempo de verificação
  • curl -s silencia erros de DNS, fazendo com que situações completamente diferentes como "domínio não existe" e "rede bloqueada" resultem em código 000. O script agora usa -sS para distinguir via stderr

Características de acesso de sites comuns

SiteCaracterística
nhc.gov.cn (Comissão Nacional de Saúde)curl frequentemente retorna 412 (anti-raspagem), navegador consegue abrir normalmente
Domínio med. da WanfangTem anti-raspagem, pode-se usar d.wanfangdata.com.cn/periodical/<xxx> como alternativa
CNKIGeralmente não fornece links diretos; se o artigo for encontrável na busca, não precisa forçar um URL
NEJM / LancetPaywall, curl frequentemente retorna 403; ter o DOI é suficiente

4. Processo de escrita: evitar erros de caracteres

Este é o ponto mais negligenciado e potencialmente mais prejudicial deste skill.

Não use heredocs longos para escrever listas de referências diretamente em arquivos docx / json / py. Na prática, já ocorreram erros de caracteres: prefixo de DOI escrito errado (10.7723 escrito como 10.19546), nomes de autores com erros, numeração de políticas com caracteres corrompidos, e o processo de escrita não reporta erro.

Abordagem correta:

# 1) Construa a lista de referências como estrutura de dados Python, escreva programaticamente em bloco
refs = [
    {"id": 1, "text": "Büller HR, ...", "url": "https://...", "doi": "10.1056/..."},
    ...
]

# 2) Defina listas de verificação
must_have = ["25482425", "10.1056/NEJMoa2513880", "国卫医发", "Büller"]
bads      = ["10.7723", "理相指南", "ERUOIMMUON"]

# 3) Após escrever, leia de volta e verifique imediatamente
content = read_back()
missing = [s for s in must_have if s not in content]
leaked  = [s for s in bads if s in content]
assert not missing and not leaked, (missing, leaked)

must_have deve conter identificadores-chave (PMID, DOI, números de documentos, nomes próprios difíceis). bads deve conter formas incorretas conhecidas. Ambos são necessários: o primeiro evita perda de conteúdo, o segundo evita introdução de erros.

5. Lista de erros comuns (verifique um por um)

ErroExemploForma correta
Combinar números de fontes diferentesJuntar "2-4% (RCT)" e "2-5% (mundo real)" em um único númeroManter a distinção de fontes, escrever separadamente
Volume/número/páginas erradosBüller escrito como 2009;361:1722O correto é NEJM 2015;372:232-240
Citação indireta tratada como diretaCitar um número de uma revisão secundária, mas referenciar o RCT originalRastrear até o original, ou escrever claramente "citado de"
Documento político sem referênciaCorpo do texto cita 5 documentos, mas a lista de referências não tem nenhumCada política/relatório citado no texto deve estar na lista
Título da referência diferente do realO título da referência[1] não corresponde ao artigo publicadoVerificar título por título
Erro de ortografia em nome próprioEUROIMMUN escrito como ERUOIMMUONVerificar visualmente nome por nome

6. Relacionado a Zotero / CSL

Ao ajustar o estilo de citação do Zotero, modificar diretamente o arquivo .csl oferece mais controle do que usar plugins. Por exemplo, no estilo numérico GB/T 7714-2015, cada referência termina com [data de acesso]. Encontre a macro accessed-date e esvazie seu corpo para <group/> para desativá-lo globalmente (uma única alteração). Altere também id / title / updated para evitar conflito com estilos oficiais.

Mas lembre-se: a GB/T 7714-2015 exige a data de acesso para documentos eletrônicos (seção 4.9). Removê-la pode tornar o trabalho inadequado para submissão formal a periódicos/teses. É uma escolha do usuário, e você deve informar claramente essa compensação, em vez de removê-la silenciosamente.

O atributo accessed mantido na macro issued-year é razoável (quando issued está ausente, usa-se o ano de acesso como substituto). Não o remova junto.

7. Lista de verificação

  • O identificador de tipo de cada referência é consistente com a presença ou não de /OL
  • O tratamento de mais de 3 autores é consistente ao longo do documento
  • Nomes ocidentais: sobrenome primeiro, iniciais do nome; letras com diacríticos preservadas
  • Documentos eletrônicos têm data de acesso (a menos que explicitamente descartada) e caminho de acesso
  • Prefixo de DOI correto, sem misturar maiúsculas/minúsculas ou largura total/parcial
  • Links verificados com check_refs.py; itens "suspeita de anti-raspagem" revisados com navegador
  • Verificação de retorno must_have / bads aprovada após escrita
  • Cada referência citada no texto aparece na lista de referências, e vice-versa

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

GreenWich-art/agent-skills

桌面 GUI 操作的统一编排入口。当用户要求操作一个只有图形界面的应用(改设置、点按钮、填表单、操作无 CLI/连接器的软件)时使用此 skill。提供四级能力:①路由决策——判断任务该走连接器、浏览器控制、Office 技能、命令行还是 computer use 桌面接管;②授权引导——检测并引导用户完成 macOS 辅助功能/屏幕录制权限授权,处理授权不生效等常见坑;③任务派发与验证——按目标/边界/失败处理三段式描述派发 GUI 任务,并以最终截图为准确认结果;④AX 兜底层——内置 axctl 工具做元素级无障碍读写(AXPress 语义点击,不碰鼠标不抢焦点),适用于 computer use 不可用或轻量场景。台前调度全场景实测(macOS 15 + 27.0.1 复检)。触发词:操控电脑、操作某个软件、点某个按钮、GUI 操作、电脑设置。

GreenWich-art/agent-skills

按学术论文规范(小三黑体一级标题/四号黑体二级/小四正文宋体1.5倍行距/三线表/中西文混排Times New Roman/统计量斜体) 批量重整 Markdown 或已有 docx 的格式。用户说"按学术格式排版""三线表""小三号黑体标题""1.5倍行距" "数字英文用Times New Roman""P值斜体"时使用。基于 python-docx 直接生成 docx,不走逐段插入。 不适用:高校课程论文/作业的字体字号约定(标准不同);党政机关公文国标 GB/T 9704 (又是另一套标准)。三套标准不可混用。

GreenWich-art/agent-skills

Local OCR using the macOS Vision framework. Triggers: OCR, 识别图片文字, 提取截图内容, 扫描件转文字, 图片转文字, 扫描版PDF转文字, read text from image/screenshot/photo/scanned PDF. Local-first and offline; prefer it over cloud OCR whenever data is sensitive or the machine is offline.

GreenWich-art/agent-skills

Download open-access biomedical article PDFs from PMC with offline Proof-of-Work solving. Triggers: 下载文献PDF, PMC PDF, 403/404 on PDF link, Preparing to download, reCAPTCHA page, OA full text, supplementary files, download paper PDF.

Habilidades Relacionadas