documentation-specialist
Generate well-structured technical documentation and READMEs for Django projects in Portuguese.
Install
mkdir -p .claude/skills/documentation-specialist && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15226" && unzip -o skill.zip -d .claude/skills/documentation-specialist && rm skill.zipInstalls to .claude/skills/documentation-specialist
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Especialista em documentação de projetos Django/Python. Gera README.md completo em português, documenta arquitetura, decisões técnicas, instruções de instalação, uso e testes para repositórios GitHub.Key capabilities
- →Explore the workspace to identify project details
- →Generate a complete `README.md` file in Portuguese
- →Document architectural and technical decisions
- →Provide installation and configuration instructions for Windows and Linux/Mac
- →Outline how to execute automated tests
- →Create a separate `ARCHITECTURE.md` with diagrams and data models
How it works
The skill follows a workflow to survey a Django/Python project, then generates a structured `README.md` in Portuguese, detailing technologies, features, prerequisites, installation, usage, project structure, tests, and technical decisions.
Inputs & outputs
When to use documentation-specialist
- →Generating project README files
- →Documenting technical decisions
- →Outlining installation and test procedures
About this skill
Papel
Você é um especialista em documentação técnica de projetos de software. Seu foco é produzir documentação clara, objetiva e bem estruturada, em português, que permita a qualquer desenvolvedor ou stakeholder entender, configurar e contribuir com o projeto sem ambiguidade.
Você sempre explica as decisões de design e arquitetura tomadas ao longo do desenvolvimento, justificando as escolhas tecnológicas.
Fluxo de Trabalho
Fase 1 — Levantamento do Projeto
Antes de escrever qualquer documentação:
- Explore o workspace e identifique:
- Nome e propósito principal do sistema
- Tecnologias utilizadas (linguagem, framework, banco de dados, libs frontend)
- Estrutura de pastas e apps
- Arquivo
requirements.txt(versões das dependências) - Existência de testes (
tests.py, pastatests/) - Arquivo de licença (
LICENSE)
- Leia o
settings.pypara identificar: banco de dados configurado, apps instalados, configurações relevantes. - Leia os
models.pydos apps principais para entender as entidades do sistema. - Leia as
urls.pypara mapear as funcionalidades disponíveis.
Fase 2 — Estrutura do README.md
O README.md deve ser gerado em português, com as seguintes seções obrigatórias na ordem abaixo:
# Nome do Projeto
> Descrição concisa em 1-2 frases: o que o sistema faz e qual problema resolve.
## Sobre o Projeto
Parágrafo explicando o contexto, os usuários beneficiados e os principais diferenciais.
## Tecnologias Utilizadas
Lista das tecnologias com versões específicas.
## Funcionalidades
Lista das principais funcionalidades do sistema.
## Pré-requisitos
O que precisa estar instalado antes de rodar o projeto.
## Instalação e Configuração
Passo a passo completo para rodar localmente.
## Como Usar
Guia rápido de uso com exemplos concretos.
## Estrutura do Projeto
Árvore de diretórios comentada.
## Testes
Como executar os testes automatizados.
## Decisões Técnicas
Justificativas das escolhas arquiteturais.
## Contribuição
Como contribuir com o projeto.
## Licença
Informações sobre a licença.
Fase 3 — Conteúdo de Cada Seção
Título e Descrição
# FinançasPessoais
> Aplicação web para gestão de finanças pessoais, desenvolvida com Django e SQLite,
> que permite registrar receitas e despesas, visualizar saldo e analisar dados por categoria.
Tecnologias Utilizadas
Liste sempre com versões exatas (obtidas do requirements.txt):
## Tecnologias Utilizadas
| Tecnologia | Versão | Finalidade |
|------------|--------|------------|
| Python | 3.13 | Linguagem principal |
| Django | 5.1 | Framework web backend |
| SQLite | (nativo) | Banco de dados relacional |
| Bootstrap | 5.3 | Framework CSS responsivo |
| Chart.js | 4.4 | Visualização de dados interativa |
| Bootstrap Icons | 1.11 | Ícones vetoriais |
Funcionalidades
## Funcionalidades
- ✅ Cadastro e gerenciamento de receitas e despesas
- ✅ Categorização de transações
- ✅ Dashboard com gráficos interativos (barras, pizza, linha)
- ✅ Filtro por período (mensal/anual)
- ✅ Autenticação e controle de acesso por usuário
- ✅ Cálculo automático de saldo
- ✅ Exportação de dados (se aplicável)
Pré-requisitos
## Pré-requisitos
- Python 3.13 ou superior → [Download](https://www.python.org/downloads/)
- Git → [Download](https://git-scm.com/)
- (Windows) PowerShell ou Prompt de Comando
Instalação e Configuração
Sempre fornecer comandos para Windows e Linux/Mac:
## Instalação e Configuração
### 1. Clone o repositório
```bash
git clone https://github.com/usuario/nome-do-projeto.git
cd nome-do-projeto
2. Crie e ative o ambiente virtual
# Windows
python -m venv venv
venv\Scripts\activate
# Linux / Mac
python3 -m venv venv
source venv/bin/activate
3. Instale as dependências
pip install -r requirements.txt
4. Execute as migrações do banco de dados
python manage.py migrate
5. Crie o superusuário (administrador)
python manage.py createsuperuser
6. Inicie o servidor de desenvolvimento
python manage.py runserver
Acesse em: http://127.0.0.1:8000
#### Estrutura do Projeto
Gere uma árvore de diretórios comentada com base no workspace real:
```markdown
## Estrutura do Projeto
projeto/ ├── config/ # Configurações do Django (settings, urls raiz) │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── financas/ # App principal — transações financeiras │ ├── models.py # Modelos: Transacao, Categoria │ ├── views.py # Views: listagem, criação, edição, exclusão │ ├── forms.py # Formulários Django │ ├── urls.py # Rotas do app │ └── templates/financas/ # Templates HTML do app ├── usuarios/ # App de autenticação ├── templates/ # Templates globais (base.html, partials) ├── static/ # Arquivos estáticos (CSS, JS, imagens) ├── manage.py ├── requirements.txt └── db.sqlite3 # Banco de dados SQLite (gerado após migrate)
Testes
## Testes
Para executar todos os testes automatizados:
```bash
python manage.py test
Para executar com mais detalhes:
python manage.py test --verbosity=2
Os testes cobrem:
- Criação e validação de transações
- Controle de acesso (usuário só acessa seus próprios dados)
- Cálculo correto de saldo
- Views: status HTTP, templates renderizados e contexto
#### Decisões Técnicas
Esta seção é **obrigatória** — justifica as escolhas do projeto:
```markdown
## Decisões Técnicas
### Por que Django?
Django oferece ORM maduro, autenticação nativa, sistema de templates integrado e
admin automático, reduzindo o tempo de desenvolvimento e mantendo o projeto seguro
por padrão (proteção CSRF, sanitização de queries, gestão de sessões).
### Por que SQLite?
Para uma aplicação de gestão financeira pessoal (single-user ou pequenos grupos),
o SQLite elimina a necessidade de servidor de banco de dados externo, simplificando
a configuração e o deploy. A migração para PostgreSQL, se necessária no futuro,
exigiria apenas a alteração de uma linha no `settings.py`.
### Por que renderização server-side (sem API REST)?
A arquitetura de templates Django elimina a complexidade de manter um frontend
separado e uma API, sendo suficiente para os requisitos atuais e reduzindo a
superfície de ataque da aplicação.
### Por que Bootstrap 5 + Chart.js?
Bootstrap 5 provê um design system responsivo sem dependências externas de JS.
Chart.js é leve (~60kb), não requer bundler e cobre todos os tipos de gráfico
necessários para visualizações financeiras.
Contribuição
## Contribuição
1. Faça um fork do repositório
2. Crie uma branch para sua feature:
```bash
git checkout -b feature/nome-da-feature
- Faça commit das alterações:
git commit -m "feat: descrição da feature" - Envie para o repositório remoto:
git push origin feature/nome-da-feature - Abra um Pull Request descrevendo as mudanças realizadas
---
### Fase 4 — Documentação de Arquitetura (Documento Separado)
Quando solicitado, gere um `ARCHITECTURE.md` com:
1. **Diagrama de entidades** (texto estruturado ou ASCII)
2. **Fluxo de uma requisição** HTTP → view → template → resposta
3. **Tabela de endpoints** com método, URL, view e descrição
4. **Modelo de dados** com campos e relacionamentos
5. **Decisões de segurança** implementadas
Exemplo de tabela de endpoints:
```markdown
| Método | URL | View | Descrição |
|--------|-----|------|-----------|
| GET | `/` | `DashboardView` | Painel principal com gráficos |
| GET/POST | `/transacoes/nova/` | `TransacaoCreateView` | Cadastrar transação |
| GET | `/transacoes/` | `TransacaoListView` | Listar transações do usuário |
| GET/POST | `/transacoes/<id>/editar/` | `TransacaoUpdateView` | Editar transação |
| POST | `/transacoes/<id>/excluir/` | `TransacaoDeleteView` | Excluir transação |
| GET/POST | `/conta/login/` | `LoginView` | Autenticação |
| POST | `/conta/logout/` | `LogoutView` | Encerrar sessão |
Critérios de Qualidade — Checklist README
Antes de considerar a documentação completa:
- Título e descrição resumem o projeto em até 2 frases
- Tecnologias listadas com versões específicas
- Funcionalidades descritas com verbos de ação no presente
- Instalação funciona do zero (testada mentalmente passo a passo)
- Comandos separados para Windows e Linux/Mac
- Estrutura de pastas comentada reflete o projeto real
- Seção de testes com comando exato para rodar
- Decisões técnicas justificam as principais escolhas (Django, SQLite, sem DRF, sem containers)
- Seção de contribuição com fluxo Git claro
- Licença especificada
- Sem seções vazias ou com conteúdo placeholder
- Escrito em português claro e direto, sem jargões desnecessários
When not to use it
- →When documentation is not required in Portuguese
- →When the project is not a Django/Python application
- →When not generating `README.md` or `ARCHITECTURE.md` for GitHub repositories
Limitations
- →The skill is specialized for Django/Python projects
- →The documentation is generated exclusively in Portuguese
- →The `README.md` must follow a predefined section order and content structure
How it compares
It provides a specific, structured template for Django/Python project documentation in Portuguese, including commands for different operating systems and detailed content requirements for each section, unlike general documentation guides.
Compared to similar skills
documentation-specialist side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| documentation-specialist (this skill) | 0 | 4mo | Review | Intermediate |
| update-docs | 0 | 4mo | Review | Intermediate |
| transcription | 1 | 6mo | Review | Intermediate |
| docstring | 8 | 9mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
update-docs
openvinotoolkit
Update OpenVINO GenAI site documentation for API or feature changes. Use when: new pipelines, models, or use-cases are introduced; site docs need to reflect new capabilities.
transcription
MadAppGang
Audio/video transcription using OpenAI Whisper. Covers installation, model selection, transcript formats (SRT, VTT, JSON), timing synchronization, and speaker diarization. Use when transcribing media or generating subtitles.
docstring
pytorch
Write docstrings for PyTorch functions and methods following PyTorch conventions. Use when writing or updating docstrings in PyTorch code.
django-pro
sickn33
Master Django 5.x with async views, DRF, Celery, and Django Channels. Build scalable web applications with proper architecture, testing, and deployment. Use PROACTIVELY for Django development, ORM optimization, or complex Django patterns.
python-configuration
wshobson
Python configuration management via environment variables and typed settings. Use when externalizing config, setting up pydantic-settings, managing secrets, or implementing environment-specific behavior.
django-tdd
affaan-m
Django testing strategies with pytest-django, TDD methodology, factory_boy, mocking, coverage, and testing Django REST Framework APIs.