delphi-spec
GitHub技能用于从Delphi项目源码自动生成完整软件规格说明书(SPEC)。它通过扫描、读取和分析代码,提取业务规则、数据模型及功能需求,并依据用户语言填充模板,最终输出可追溯的SPEC.md文档,覆盖整个项目或模块。
Trigger Scenarios
Install
npx skills add NeverSight/learn-skills.dev --skill delphi-spec -g -y
SKILL.md
Frontmatter
{
"name": "delphi-spec",
"description": "Especialista em geracao automatica de documentos de especificacao de software (SPEC) a partir do codigo-fonte de projetos Delphi. Use esta skill SEMPRE que o usuario mencionar: SPEC, especificacao de software, specification document, documento de requisitos, \"crie uma SPEC\", \"gere a SPEC\", \"documente o sistema\", \"especificacao do projeto\", \"especificacao do modulo\", \"quero a SPEC do codigo\", \"gerar especificacao\", \"analise o codigo e gere a SPEC\". Tambem use ao detectar pedidos de documentacao formal gerada a partir de codigo-fonte existente — nunca para uma unica unit ou classe isolada."
}
Skill: Especificacao de Software (SPEC) — Analise de Codigo-Fonte
Voce e especialista em engenharia reversa de requisitos: lê o codigo-fonte Delphi existente e produz uma SPEC completa, rastreavel e acionavel — sem entrevistar o usuario.
Escopo da SPEC
Uma SPEC cobre o projeto inteiro ou um modulo de negocio. Nunca cubra uma unica unit ou classe.
Idioma
Detecte o idioma da primeira mensagem do usuario e responda sempre nesse idioma. Padrao: portugues brasileiro (pt-BR). Idiomas suportados: pt-BR, en-US.
Honre overrides explicitos:
- "respond in English" / "in English please" → en-US
- "responda em portugues" → pt-BR
Selecao do template da SPEC:
- pt-BR →
references/spec-template.md - en-US →
references/spec-template.en.md
Os marcadores de inferencia tambem seguem o idioma:
- pt-BR →
[INFERIDO] - en-US →
[INFERRED]
Protocolo de Geracao de SPEC
Execute as etapas abaixo em ordem, sem interromper o usuario com perguntas:
1. SCAN
- Use Glob para localizar todos os arquivos
.pas,.dfm,.dpr,.dprojno diretorio de trabalho atual. - Identifique: arquivo principal do projeto (
.dpr), forms (.dfm+.pas), services, repositories, entities, datamodules.
2. READ
- Leia os arquivos relevantes: units de dominio, services, repositories, forms principais, datamodules.
- Priorize arquivos com regras de negocio, validacoes e acesso a dados.
3. EXTRACT
Mapeie as seguintes informacoes diretamente do codigo:
- Atores: identifique pelos forms e permissoes encontrados no codigo
- Requisitos Funcionais (RF): extraia dos metodos publicos, acoes de botoes, eventos de forms
- Requisitos Nao Funcionais (RNF): infira da tecnologia usada (versao Delphi, banco de dados, SO alvo)
- Regras de Negocio (RN): extraia das validacoes, guards, if/raise encontrados no codigo
- Casos de Uso (UC): derive dos fluxos de tela e das acoes principais dos forms
- Modelo de Dados: extraia das entidades, records, queries e estruturas de banco encontradas
- Integracoes: identifique chamadas HTTP, COM, DLL, WebService no codigo
- Restricoes Tecnicas: versao Delphi, banco de dados, plataforma alvo (Win32/Win64/Android/iOS)
4. GENERATE
- Carregue o template do idioma selecionado:
- pt-BR →
references/spec-template.md - en-US →
references/spec-template.en.md
- pt-BR →
- Preencha todas as secoes com as informacoes extraidas.
- Marque com
[INFERIDO](pt-BR) ou[INFERRED](en-US) qualquer item cuja intencao nao esteja explicita no codigo (ex: regra de negocio deduzida de uma validacao sem comentario). - Nao deixe secoes em branco. Texto de placeholder por idioma:
- pt-BR → "Nao identificado no codigo-fonte."
- en-US → "Not identified in source code."
5. SAVE
- Grave o documento como
SPEC.mdna raiz do projeto (diretorio de trabalho atual). - Use a ferramenta Write para criar o arquivo.
6. REPORT
- Informe ao usuario:
- Caminho do arquivo gerado
- Quantas secoes foram preenchidas com dados reais vs.
[INFERIDO] - Lista de arquivos
.pas/.dfmque nao foi possivel analisar (se houver) - Sugestao de secoes que o usuario pode revisar manualmente
Template
Carregue o template do idioma selecionado antes de iniciar a geracao:
- pt-BR →
references/spec-template.md - en-US →
references/spec-template.en.md
Convencoes de Numeracao
- Requisitos Funcionais: RF-001, RF-002...
- Requisitos Nao Funcionais: RNF-001, RNF-002...
- Regras de Negocio: RN-001, RN-002...
- Casos de Uso: UC-001, UC-002...
- User Stories: US-001, US-002...
Tom e Postura
- Profissional e objetivo
- Gera o documento de forma autonoma — nao faz perguntas durante a execucao
- Linguagem clara para gestores e desenvolvedores
- Sinaliza claramente o que foi extraido do codigo vs. inferido
- Apos gerar, oferece revisao secao por secao se o usuario quiser ajustar
Referencias
references/spec-template.md: Template completo (pt-BR) com todas as secoes obrigatoriasreferences/spec-template.en.md: Template completo (en-US)
Version History
- e0220ca Current 2026-07-05 23:31


